summaryrefslogtreecommitdiff
path: root/ldso
diff options
context:
space:
mode:
Diffstat (limited to 'ldso')
-rw-r--r--ldso/ldso/dl-elf.c1
-rw-r--r--ldso/ldso/ldso.c3
-rw-r--r--ldso/libdl/libdl.c3
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) {