about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--elf/dl-load.c4
-rw-r--r--ports/ChangeLog.tile5
-rw-r--r--ports/sysdeps/tile/dl-machine.h4
-rw-r--r--ports/sysdeps/tile/dl-runtime.c4
5 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index e65ea2354e..e9a2794a53 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)