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]

[gold] PowerPC PLT


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]