[PATCH] D71143: [ELF][Hexagon] Add support for TLS IE relocations
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 6 11:55:23 PST 2020
MaskRay added a comment.
I'd like to ask some questions which can help understand the situation better.
- Does Hexagon have a binutils port or an alternative linker?
- Is -pie and -shared used a lot on Hexagon?
- How is Hexagon's dynamic loader ld.so implemented? Is the source code available?
- How is TLS going to be used on Hexagon?
- Is text relocations acceptable?
- Is it really impossible to use a PC-relative GOT address load on Hexagon? `R_GOT` on EM_386 has severe limitations. `EM_X86_64` fixed these issues. (I don't want to see newer architectures behave like it.)
I shall also mention that this is unfortunate.
> bool canRelax = config->emachine != EM_ARM &&
> config->emachine != EM_RISCV;
RISC-V TLS has several problems. Its design/implementation was copied from ARM/MIPS. The two architectures really do not provide the best reference for TLS implementations. The RISC-V TLS implementation has several defects. I've reported a few bugs on the binutils bugzilla.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71143/new/
https://reviews.llvm.org/D71143
More information about the llvm-commits
mailing list