diff options
Diffstat (limited to 'libc/misc/internals/reloc_static_pie.c')
-rw-r--r-- | libc/misc/internals/reloc_static_pie.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libc/misc/internals/reloc_static_pie.c b/libc/misc/internals/reloc_static_pie.c index ce42cb9b3..3bbdef18e 100644 --- a/libc/misc/internals/reloc_static_pie.c +++ b/libc/misc/internals/reloc_static_pie.c @@ -21,7 +21,7 @@ #include <dl-elf.h> #include <ldso.h> -#ifdef __mips__ +#if defined(__m68k__) || defined(__mips__) || defined(__xtensa__) #include <dl-startup.h> #endif @@ -53,6 +53,9 @@ reloc_static_pie(ElfW(Addr) load_addr) PERFORM_BOOTSTRAP_GOT(tpnt); #endif +#if !defined(__FDPIC__) + DL_RELOCATE_RELR(tpnt); +#endif #if defined(ELF_MACHINE_PLTREL_OVERLAP) # define INDX_MAX 1 @@ -104,6 +107,8 @@ reloc_static_pie(ElfW(Addr) load_addr) PERFORM_BOOTSTRAP_RELOC(rpnt, reloc_addr, symbol_addr, load_addr, sym); } } +#else + (void)rel_size; #endif } _dl_load_base = load_addr; |