This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Replace ROUND with ALIGN_UP by p_align [BZ #22370]
On Sat, Nov 11, 2017 at 7:07 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> On Nov 11 2017, "H.J. Lu" <hjl.tools@gmail.com> wrote:
>
>> The full text is
>>
>> ---
>> Note Section
>>
>> Sometimes a vendor or system builder needs to mark an object file with
>> special information that other programs will check for conformance,
>> compatibility, etc. Sections of type SHT_NOTE and program header
>> elements of type PT_NOTE can be used for this purpose. The note
>> information in sections and program header elements holds a variable
>> amount of entries. In 64-bit objects (files with e_ident[EI_CLASS]
>> equal to ELFCLASS64), each entry is an array of 8-byte words in the
>> format of the target processor. In 32-bit objects (files with
>> e_ident[EI_CLASS] equal to ELFCLASS32), each entry is an array of
>> 4-byte words in the format of the target processor. Labels appear
>> below to help explain note information organization, but they are not
>> part of the specification.
>> ---
>>
>> You tell me what note alignment in PT_NOTE segment is.
>
> I still don't see any reference to the segment alignment.
>
> Andreas.
>
If .note.ABI-tag and .note.gnu.build-id notes followed the gABI, they should
have been aligned to 8 bytes in 64-bit objects and we could have assumed
all notes in PT_NOTE segments in 64-bit objects are aligned to 8 bytes. But
.note.ABI-tag and .note.gnu.build-id notes don't follow the gABI.
p_align in program header is the the maximum alignment of notes in PT_NOTE
segment and linker groups notes with the same alignment in one PT_NOTE
segment. p_align of PT_NOTE program header is the note alignment.
--
H.J.