about summary refs log tree commit diff
path: root/ports
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2012-10-30 14:16:18 -0400
committerChris Metcalf <cmetcalf@tilera.com>2012-10-30 14:16:18 -0400
commit47cc1490e0a610bd74a31c6699a3859a823da9b3 (patch)
tree11ae0f161ebcae7547f3914a08259b0e513ef903 /ports
parent017678433caae358b1782a2438b10e1ed510a8ad (diff)
downloadglibc-47cc1490e0a610bd74a31c6699a3859a823da9b3.tar.gz
glibc-47cc1490e0a610bd74a31c6699a3859a823da9b3.tar.xz
glibc-47cc1490e0a610bd74a31c6699a3859a823da9b3.zip
Invoke DL_AFTER_LOAD if defined
This hook is useful for any arch-specific functionality that
should be done on loaded objects.  For the tile architecture,
the hook is already provided (though we switch to using the new
macro name with this commit) and implements a simulator notifier
so that the simulator can load Elf symbols to match the object
and generate better error messages for PC's.

Also, remove a spurious definition of DL_UNMAP in dl-runtime.c
Diffstat (limited to 'ports')
-rw-r--r--ports/ChangeLog.tile5
-rw-r--r--ports/sysdeps/tile/dl-machine.h4
-rw-r--r--ports/sysdeps/tile/dl-runtime.c4
3 files changed, 8 insertions, 5 deletions
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)