dynamic-linked TLS support for everything but dlopen'd libs
currently, only i386 is tested. x86_64 and arm should probably work. the necessary relocation types for mips and microblaze have not been added because I don't understand how they're supposed to work, and I'm not even sure if it's defined yet on microblaze. I may be able to reverse engineer the requirements out of gcc/binutils output.
This commit is contained in:
parent
c91aa03d24
commit
9c74856af7
6 changed files with 121 additions and 43 deletions
|
|
@ -6,7 +6,11 @@
|
|||
#define IS_COPY(x) ((x)==R_MIPS_COPY)
|
||||
#define IS_PLT(x) 1
|
||||
|
||||
static inline void do_single_reloc(size_t *reloc_addr, int type, size_t sym_val, size_t sym_size, unsigned char *base_addr, size_t addend)
|
||||
static inline void do_single_reloc(
|
||||
struct dso *self, unsigned char *base_addr,
|
||||
size_t *reloc_addr, int type, size_t addend,
|
||||
Sym *sym, size_t sym_size,
|
||||
struct symdef def, size_t sym_val)
|
||||
{
|
||||
switch(type) {
|
||||
case R_MIPS_JUMP_SLOT:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue