aboutsummaryrefslogtreecommitdiff
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)