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...