diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-12-20 09:29:29 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-12-20 09:29:29 +0100 |
commit | a65dd355fb80a05215e15ae97649de52aec885e3 (patch) | |
tree | 81701bb0c6b648630f2bf1729a85d7f5eb49e67b /elf/rtld.c | |
parent | 296a5732f94abe4d5699dc981e4ccfb950b48cee (diff) | |
parent | b4578bab30f72cddd2cf38abfb39f9c8dc892249 (diff) |
Merge branch 'baseline' into refs/top-bases/tschwinge/Roger_Whittaker
Diffstat (limited to 'elf/rtld.c')
-rw-r--r-- | elf/rtld.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/elf/rtld.c b/elf/rtld.c index a0bda1d165..30cd6bb3dd 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -816,8 +816,8 @@ do_preload (char *fname, struct link_map *main_map, const char *where) if (__builtin_expect (err_str != NULL, 0)) { _dl_error_printf ("\ -ERROR: ld.so: object '%s' from %s cannot be preloaded: ignored.\n", - fname, where); +ERROR: ld.so: object '%s' from %s cannot be preloaded (%s): ignored.\n", + fname, where, err_str); /* No need to call free, this is still before the libc's malloc is used. */ } @@ -1118,6 +1118,9 @@ of this helper program; chances are you did not intend to run this program.\n\ case AT_ENTRY: av->a_un.a_val = *user_entry; break; + case AT_EXECFN: + av->a_un.a_val = (uintptr_t) _dl_argv[0]; + break; } #endif } @@ -2217,10 +2220,6 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", _dl_start_profile (); } -#ifndef NONTLS_INIT_TP -# define NONTLS_INIT_TP do { } while (0) -#endif - if (!was_tls_init_tp_called && GL(dl_tls_max_dtv_idx) > 0) ++GL(dl_tls_generation); |