This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! IA-32 and ARM define ELF_MACHINE_NO_RELA if RTLD_BOOTSTRAP (because ld.so on those arches really never needs to handle RELA relocations), so the 2003-03-14 change means that although prelinking could be used, ld.so would do the relocation processing on IA-32 and ARM anyway. 2003-04-06 Jakub Jelinek <jakub at redhat dot com> * elf/rtld.c: Revert 2003-03-14 change. * elf/dl-conflict.c (_dl_resolve_conflicts): Move #if ! ELF_MACHINE_NO_RELA conditional into the routine. --- libc/elf/rtld.c.jj 2003-03-20 05:58:48.000000000 -0500 +++ libc/elf/rtld.c 2003-04-06 14:45:41.000000000 -0400 @@ -1444,7 +1444,6 @@ cannot allocate TLS data structures for _dl_printf ("\nprelink checking: %s\n", prelinked ? "ok" : "failed"); } -#if ! ELF_MACHINE_NO_RELA /* We don't REL-only prelink. */ if (prelinked) { struct link_map *l; @@ -1477,7 +1476,6 @@ cannot allocate TLS data structures for _dl_sysdep_start_cleanup (); } else -#endif { /* Now we have all the objects loaded. Relocate them all except for the dynamic linker itself. We do this in reverse order so that copy --- libc/elf/dl-conflict.c.jj 2003-03-20 05:58:48.000000000 -0500 +++ libc/elf/dl-conflict.c 2003-04-06 14:46:12.000000000 -0400 @@ -28,11 +28,11 @@ #include <sys/types.h> #include "dynamic-link.h" -#if ! ELF_MACHINE_NO_RELA void _dl_resolve_conflicts (struct link_map *l, ElfW(Rela) *conflict, ElfW(Rela) *conflictend) { +#if ! ELF_MACHINE_NO_RELA if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_RELOC, 0)) _dl_printf ("\nconflict processing: %s\n", l->l_name[0] ? l->l_name : rtld_progname); @@ -64,5 +64,5 @@ _dl_resolve_conflicts (struct link_map * for (; conflict < conflictend; ++conflict) elf_machine_rela (l, conflict, NULL, NULL, (void *) conflict->r_offset); } -} #endif +} Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |