summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ldso/ldso/ldso.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c
index 17818b5fd..c62575797 100644
--- a/ldso/ldso/ldso.c
+++ b/ldso/ldso/ldso.c
@@ -109,7 +109,13 @@ static unsigned char *_dl_mmap_zero = NULL; /* Also used by _dl_malloc */
static struct elf_resolve **init_fini_list;
static struct elf_resolve **scope_elem_list;
static unsigned int nlist; /* # items in init_fini_list */
+#ifdef __FDPIC__
+/* We need to take the address of _start instead of its FUNCDESC:
+ declare it as void* to control the relocation emitted. */
+extern void *_start;
+#else
extern void _start(void);
+#endif
#ifdef __UCLIBC_HAS_SSP__
# include <dl-osinfo.h>