This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Gold linker patch to provide plugin support for mapping some text sections to an unique ELF segment.


  This patch allows plugins to specify that a subset of sections are
to be mapped to an unique segment.  This is useful, for instance, when
a set of functions that are determined to be hot can be placed in an
unique segment which can then be mapped to huge text pages. It has
been found for some Google applications that mapping functions to huge
pages, along with function layout, provides a significant performance
benefit and this feature can take this further by only mapping certain
functions to huge pages, which requires that they be placed in an
unique segment.

The plugin needs to specify a list of sections that have to mapped to
an unique segment.  The plugin can also specify any additional segment
flags to be set. The segment flag bits 3 to 19 seem to be available
and can be set to mark some segments which can later be mapped to huge
pages.  The flags which would be set by default, bits 0-2, cannot be
unset by the plugin.


Patch attached.


Attachment: segment_patch.txt
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]