about summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-06-12 04:00:32 +0000
committerRoland McGrath <roland@gnu.org>1996-06-12 04:00:32 +0000
commit463e148b7581de66898a9675fc7dd5dfc88f8b0e (patch)
tree2d98d77cb503cd6aabd4bcd80a09da21924ae62e /elf
parent8d6468d0c8aa55b319ba70a83d3b092c292ef0b1 (diff)
downloadglibc-463e148b7581de66898a9675fc7dd5dfc88f8b0e.tar.gz
glibc-463e148b7581de66898a9675fc7dd5dfc88f8b0e.tar.xz
glibc-463e148b7581de66898a9675fc7dd5dfc88f8b0e.zip
Tue Jun 11 23:23:30 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
	* Makerules (LDFLAGS-c.so): Use __libc_main instead of
	__libc_print_version as entry point for shared object.
	* version.c [HAVE_ELF] (__libc_main): New function.

	* elf/dl-load.c (_dl_map_object_from_fd): Relocate l_entry with the
	load address.
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-load.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c
index b9f4aa184b..48210731cc 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -357,6 +357,8 @@ _dl_map_object_from_fd (const char *name, int fd, char *realname,
     l->l_phdr = (void *) ((const ElfW(Ehdr) *) l->l_addr)->e_phoff;
   (ElfW(Addr)) l->l_phdr += l->l_addr;
 
+  l->l_entry += l->l_addr;
+
   elf_get_dynamic_info (l->l_ld, l->l_info);
   if (l->l_info[DT_HASH])
     _dl_setup_hash (l);