This is the mail archive of the binutils@sourceware.org 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] |
Attached is a starting point for 32-bit PowerPC Linux ABI secure-plt PLT support. The attached patch is broken in many ways and I primarily want to use it as a strawman to understand gold internals better and figure out how to implement the necessary functionality for the PowerPC ABI. The revised 32-bit PowerPC Linux ABI allows the GOT to be non-executable. The new PLT is composed of three parts: an array of function pointers, call stubs that load the addresses, and code supporting dynamic linking (glink). I am trying to understand how to map this to gold. Does Output_data_space and add_output_section_data create a new section or create a new view within a section? Can Output_data_plt_powerpc::do_write() use the different spaces to materialize all three pieces of the new PLT with a single iteration through the PLT entires or should the PLT be a single, undifferentiated blob that do_write() iterates through -- appending the different pieces manually with three, separate loops over the PLT entries? Thanks, David
Attachment:
powerpcplt-diff
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |