diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | elf/dl-load.c | 4 | ||||
-rw-r--r-- | ports/ChangeLog.tile | 5 | ||||
-rw-r--r-- | ports/sysdeps/tile/dl-machine.h | 4 | ||||
-rw-r--r-- | ports/sysdeps/tile/dl-runtime.c | 4 |
5 files changed, 15 insertions, 5 deletions
@@ -1,5 +1,8 @@ 2012-10-30 Chris Metcalf <cmetcalf@tilera.com> + * elf/dl-load.c (_dl_map_object_from_fd): Call DL_AFTER_LOAD + if defined. + * nss/nsswitch.h (nss_interface_function): Provide new macro for use with NSS functions. * grp/initgroups.c: Use new macro. diff --git a/elf/dl-load.c b/elf/dl-load.c index 4b57879b9d..a6955561f3 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -1580,6 +1580,10 @@ cannot enable executable stack as shared object requires"); add_name_to_object (l, ((const char *) D_PTR (l, l_info[DT_STRTAB]) + l->l_info[DT_SONAME]->d_un.d_val)); +#ifdef DL_AFTER_LOAD + DL_AFTER_LOAD (l); +#endif + /* Now that the object is fully initialized add it to the object list. */ _dl_add_to_namespace_list (l, nsid); diff --git a/ports/ChangeLog.tile b/ports/ChangeLog.tile index 63ca021a5c..1f04349bc6 100644 --- a/ports/ChangeLog.tile +++ b/ports/ChangeLog.tile @@ -1,5 +1,10 @@ 2012-10-30 Chris Metcalf <cmetcalf@tilera.com> + * sysdeps/tile/dl-machine.h: Use new DL_AFTER_LOAD macro + and rename _dl_arch_map_object to _dl_after_load. + * sysdeps/tile/dl-runtime.c: Rename _dl_arch_map_object + to _dl_after_load and remove spurious DL_UNMAP definition. + * sysdeps/unix/sysv/linux/tile/init-first.c: Use better #include. * sysdeps/unix/sysv/linux/tile/gettimeofday.c: Use gettimeofday aliases that match existing tile ABI. diff --git a/ports/sysdeps/tile/dl-machine.h b/ports/sysdeps/tile/dl-machine.h index c4413f9e8a..09a2993582 100644 --- a/ports/sysdeps/tile/dl-machine.h +++ b/ports/sysdeps/tile/dl-machine.h @@ -253,8 +253,8 @@ elf_machine_plt_value (struct link_map *map, const ElfW(Rela) *reloc, } /* Support notifying the simulator about new objects. */ -void internal_function _dl_arch_map_object (struct link_map *l); -#define _dl_arch_map_object _dl_arch_map_object +void internal_function _dl_after_load (struct link_map *l); +#define DL_AFTER_LOAD _dl_after_load /* Names of the architecture-specific auditing callback functions. */ #define ARCH_LA_PLTENTER tile_gnu_pltenter diff --git a/ports/sysdeps/tile/dl-runtime.c b/ports/sysdeps/tile/dl-runtime.c index 0aa211db17..6864c3ac96 100644 --- a/ports/sysdeps/tile/dl-runtime.c +++ b/ports/sysdeps/tile/dl-runtime.c @@ -30,7 +30,7 @@ /* Support notifying the simulator about new objects. */ void internal_function -_dl_arch_map_object (struct link_map *l) +_dl_after_load (struct link_map *l) { int shift; @@ -75,5 +75,3 @@ _dl_unmap (struct link_map *l) __munmap ((void *) l->l_map_start, l->l_map_end - l->l_map_start); } - -#define DL_UNMAP(map) _dl_unmap (map) |