Page MenuHomeFreeBSD

[PowerPC] Add .iplt to powerpc linker scripts
AcceptedPublic

Authored by bdragon on Dec 14 2019, 11:53 PM.
Referenced Files
F148773899: D22818.diff
Fri, Mar 20, 3:57 AM
Unknown Object (File)
Tue, Mar 17, 12:11 PM
Unknown Object (File)
Tue, Mar 17, 6:25 AM
Unknown Object (File)
Tue, Mar 17, 4:33 AM
Unknown Object (File)
Jan 15 2026, 5:17 PM
Unknown Object (File)
Jan 10 2026, 5:20 AM
Unknown Object (File)
Jan 10 2026, 5:01 AM
Unknown Object (File)
Jan 10 2026, 4:57 AM

Details

Summary

In some situations, the link editor needs to generate a secondary PLT table for ifuncs, which is initialized by .rela.dyn R_PPC_IRELATIVE relocs instead of .rela.plt R_PPC_JMP_SLOT relocs.

Ensure the .iplt section is emitted to prevent future confusion when we start using ifuncs in powerpc kernels.

Noticed while discussing https://reviews.llvm.org/D71509 with meowray in IRC.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

This revision is now accepted and ready to land.Jan 22 2020, 5:56 PM

Is this still needed? We've had ifuncs for a year now, with no problems.

It ended up being not entirely necessary due to the linker behavior of forcing required sections into whatever segment is a natural fit for them, unless we explicitly break it with /DISCARD/.