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]

Re: Enable 0x10 alignment for aarch64 symbols as is done for x86_64


> I am currently utilizing gold to align program symbols as well as
> library symbols of newlib into the binary I am producing.
>
> I see that symbols are grabbed from object files and stored in Symtab
> (this->table_) without the 0x10 alignment and then get lost in the
> code until they are already in Output_section::Input_section_list
> (this->input_sections) where their final address is set (using
> function set_address_and_file_offset)WITH an alignment to make sure
> the next symbol is mod 16 (0x10)
>
> Where is this non-input section element being placed into the
> input_sections_list???
>
> I realize there are arch specific files (aarch64.cc, x86_64.cc) but
> cannot find where this 0x10 offset or additional padding option is
> within the x86_64.cc file
>
> Any help would be nice. Thank you for your time in advance!

I'm going to need a little more information about what you're trying
to do. I don't know what you are referring to when you say "this
non-input section element". And what "0x10 alignment" are you talking
about?

Symbols don't have an alignment; sections do. When we layout an input
section, we adjust its offset within the output section to the
required alignment, and also adjust the output section's alignment to
the largest required alignment of its input sections. Symbols (except
for absolute symbols) merely have a value relative to the input
section where they are defined.

-cary


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