diff options
Diffstat (limited to 'ldso')
-rw-r--r-- | ldso/ldso/dl-elf.c | 1 | ||||
-rw-r--r-- | ldso/ldso/ldso.c | 3 | ||||
-rw-r--r-- | ldso/libdl/libdl.c | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c index 241d0222a..954f68126 100644 --- a/ldso/ldso/dl-elf.c +++ b/ldso/ldso/dl-elf.c @@ -797,6 +797,7 @@ void _dl_parse_dynamic_info(ElfW(Dyn) *dpnt, unsigned long dynamic_info[], void /* we want this in ldso.so and libdl.a but nowhere else */ #ifdef __USE_GNU #if defined IS_IN_rtld || (defined IS_IN_libdl && ! defined SHARED) +extern __typeof(dl_iterate_phdr) __dl_iterate_phdr; int __dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info, size_t size, void *data), void *data) { diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index b1d3d8009..c3538426b 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -74,7 +74,8 @@ static int _dl_suid_ok(void); * can set an internal breakpoint on it, so that we are notified when the * address mapping is changed in some way. */ -void _dl_debug_state(void) +void _dl_debug_state(void); +void _dl_debug_state() { } diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c index 37b1c3abd..5c542e8ad 100644 --- a/ldso/libdl/libdl.c +++ b/ldso/libdl/libdl.c @@ -125,7 +125,8 @@ static const char *dl_error_names[] = { "Unable to resolve symbol" }; -void __attribute__ ((destructor)) dl_cleanup(void) +void dl_cleanup(void) __attribute__ ((destructor)); +void dl_cleanup(void) { struct dyn_elf *d; for (d = _dl_handles; d; d = d->next_handle) { |