Browse Source

fix dl_iterate_phdr() for FDPIC systems

The dlpi_addr isn't a simple Elf_Addr type for FDPIC systems, so we can't
just assign 0 to it to initialize.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger 15 years ago
parent
commit
d5f4f963a2
1 changed files with 5 additions and 0 deletions
  1. 5 0
      libc/misc/elf/dl-iterate-phdr.c

+ 5 - 0
libc/misc/elf/dl-iterate-phdr.c

@@ -62,7 +62,12 @@ dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info,
       /* This entry describes this statically-linked program itself.  */
       struct dl_phdr_info info;
       int ret;
+#ifdef __FDPIC__
+      info.dlpi_addr.map = NULL;
+      info.dlpi_addr.got_value = NULL;
+#else
       info.dlpi_addr = 0;
+#endif
       info.dlpi_name = "";
       info.dlpi_phdr = _dl_phdr;
       info.dlpi_phnum = _dl_phnum;