search for: gnu_ifunc

Displaying 3 results from an estimated 3 matches for "gnu_ifunc".

2018 Jan 25
0
Adding a new target to 'llvm-lld'
...ype. If your target can get something basic working without implementing custom or advanced features then it is possible to get something up and running quickly and without many lines of code. For example for Arm, I was able to pick an Arm state only (no interworking) dynamically linked (no TLS or GNU_IFUNC support) hello world up and running by just implementing the PLT sequences and the relocations that I needed. What happens next depends on how close your target is to an existing one, both in how it implements general features like TLS, and whether it needs custom linker generated content such as...
2018 Jan 25
4
Adding a new target to 'llvm-lld'
Hi LLVM-Devs, I am considering switching to using 'llvm-lld' instead of Gnu 'ld' in a future revision of our out-of-tree target, and I am wondering is there a getting started guide for how to go about extending 'llvm-lld' to support an additional target. Thanks, MartinO -------------------------------------------------------------- Intel Research and Development
2018 Aug 21
7
[lld] avoid emitting PLT entries for ifuncs
.... Currently lld will emit a PLT entry for each ifunc, so ifunc calls are more expensive that those of regular functions. In our kernel, this overhead isn't really necessary: if lld instead emits PC-relative relocations for each ifunc call site, where each relocation references a symbol of type GNU_IFUNC, then during boot we can resolve each call site and apply the relocation before mapping the kernel text read-only. Then, ifunc calls have the same overhead as regular function calls. To implement this optimization, I wrote an lld patch to add "-z ifunc-noplt". When this option is speci...