|
|
@ -36,6 +36,17 @@ enum { |
|
|
REL_TPOFF, |
|
|
REL_TPOFF, |
|
|
REL_TPOFF_NEG, |
|
|
REL_TPOFF_NEG, |
|
|
REL_TLSDESC, |
|
|
REL_TLSDESC, |
|
|
|
|
|
REL_FUNCDESC, |
|
|
|
|
|
REL_FUNCDESC_VAL, |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
struct fdpic_loadseg { |
|
|
|
|
|
uintptr_t addr, p_vaddr, p_memsz; |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
struct fdpic_loadmap { |
|
|
|
|
|
unsigned short version, nsegs; |
|
|
|
|
|
struct fdpic_loadseg segs[]; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
#include "reloc.h" |
|
|
#include "reloc.h" |
|
|
@ -44,6 +55,11 @@ enum { |
|
|
(R_TYPE(x) == REL_RELATIVE) || \ |
|
|
(R_TYPE(x) == REL_RELATIVE) || \ |
|
|
(R_TYPE(x) == REL_SYM_OR_REL && !R_SYM(x)) ) |
|
|
(R_TYPE(x) == REL_SYM_OR_REL && !R_SYM(x)) ) |
|
|
|
|
|
|
|
|
|
|
|
#define IS_FDPIC_RELATIVE(x,s) ( ( \ |
|
|
|
|
|
(R_TYPE(x) == REL_FUNCDESC_VAL) || \ |
|
|
|
|
|
(R_TYPE(x) == REL_SYMBOLIC) ) \ |
|
|
|
|
|
&& (((s)[R_SYM(x)].st_info & 0xf) == STT_SECTION) ) |
|
|
|
|
|
|
|
|
#ifndef NEED_MIPS_GOT_RELOCS |
|
|
#ifndef NEED_MIPS_GOT_RELOCS |
|
|
#define NEED_MIPS_GOT_RELOCS 0 |
|
|
#define NEED_MIPS_GOT_RELOCS 0 |
|
|
#endif |
|
|
#endif |
|
|
|