소스 검색

rtld: Avoid FUNCDESC relocation on _start

	* ldso/ldso/ldso.c (_start): Fix definition for __FDPIC__.

Signed-off-by: Mickaël Guêné <mickael.guene@st.com>
Signed-off-by: Christophe Lyon <christophe.lyon@st.com>
Christophe Lyon 6 년 전
부모
커밋
4f0132e337
1개의 변경된 파일6개의 추가작업 그리고 0개의 파일을 삭제
  1. 6 0
      ldso/ldso/ldso.c

+ 6 - 0
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>