adapt static dl_iterate_phdr not to depend on !defined(SHARED)

like elsewhere, use a weak alias that the dynamic linker will override
with a more complete version capable of handling shared libraries.
This commit is contained in:
Rich Felker 2016-01-25 19:12:41 -05:00
parent 4058795d49
commit 16f70388d4

View File

@ -1,12 +1,10 @@
#ifndef SHARED
#include <elf.h> #include <elf.h>
#include <link.h> #include <link.h>
#include "libc.h" #include "libc.h"
#define AUX_CNT 38 #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; unsigned char *p;
ElfW(Phdr) *phdr, *tls_phdr=0; 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); return (callback)(&info, sizeof (info), data);
} }
#endif
weak_alias(static_dl_iterate_phdr, dl_iterate_phdr);