https://sourceware.org/bugzilla/show_bug.cgi?id=18829
Bug ID: 18829 Summary: Add the ability to sort PLT entries Product: binutils Version: 2.26 (HEAD) Status: NEW Severity: enhancement Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: gregory.d.bentley at intel dot com Target Milestone: --- Created attachment 8524 --> https://sourceware.org/bugzilla/attachment.cgi?id=8524&action=edit binutils patch to add -z sortplt The jump instructions in the Procedure Linkage Table which effect the jump into shared library functions are laid out in more or less random order. While one can use a linker script to get more cache friendly layout of functions within an executable, there is currently no way to explicitly specify the order of the PLT entries. This means you can get into the situation where you have only 1 jump instruction (6 bytes) being "hot" on a 64 byte cache line. The attached patch allows a user to specify a file which lists the names of hot shared library functions. The PLT entries for those functions will be placed into the table first, with any unspecified functions following. The syntax is -z sortplt=<filename> (As a side note, -z bndplt also gives more cache friendly code as it splits the cold (first call) code from the hot (every call) code.) -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils