adapt static dl_iterate_phdr not to depend on !defined(SHARED)
authorRich Felker <dalias@aerifal.cx>
Tue, 26 Jan 2016 00:12:41 +0000 (19:12 -0500)
committerRich Felker <dalias@aerifal.cx>
Tue, 26 Jan 2016 00:12:41 +0000 (19:12 -0500)
like elsewhere, use a weak alias that the dynamic linker will override
with a more complete version capable of handling shared libraries.

src/ldso/dl_iterate_phdr.c

index 49b321a0203cb53e198506dac9a827878b24f459..c141fd9b4f27ff4f3315c848cdb4aeeffe251720 100644 (file)
@@ -1,12 +1,10 @@
-#ifndef SHARED
-
 #include <elf.h>
 #include <link.h>
 #include "libc.h"
 
 #define AUX_CNT 38
 
-int dl_iterate_phdr(int(*callback)(struct dl_phdr_info *info, size_t size, void *data), void *data)
+static int static_dl_iterate_phdr(int(*callback)(struct dl_phdr_info *info, size_t size, void *data), void *data)
 {
        unsigned char *p;
        ElfW(Phdr) *phdr, *tls_phdr=0;
@@ -40,4 +38,5 @@ int dl_iterate_phdr(int(*callback)(struct dl_phdr_info *info, size_t size, void
        }
        return (callback)(&info, sizeof (info), data);
 }
-#endif
+
+weak_alias(static_dl_iterate_phdr, dl_iterate_phdr);