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]
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Andreas Schwab <schwab at linux-m68k dot org>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Sat, 11 Nov 2017 06:35:27 -0800
- Subject: Re: [PATCH] Replace ROUND with ALIGN_UP by p_align [BZ #22370]
- Authentication-results: sourceware.org; auth=none
- References: <20171031125622.GA18905@gmail.com> <87shdzxw8z.fsf@linux-m68k.org> <CAMe9rOp1Jy5Ei5wKVepMk=mqjSkLHFuM-QOnswD4y_TszXs8hw@mail.gmail.com> <CAMe9rOputmar8qk6P0ictDQn8thWyor8PQ4=LfQ7d-7kmb-x5Q@mail.gmail.com> <87po8p56s8.fsf@linux-m68k.org>
On Sat, Nov 11, 2017 at 4:39 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> On Nov 10 2017, "H.J. Lu" <hjl.tools@gmail.com> wrote:
>
>> All notes in a PT_NOTE segment have the same alignment, Otherwise,
>> one can't parse PT_NOTE segment.
>
> But the ABI says that the name and data size is always aligned to the
> word size. That is independent of the padding between notes.
>
The gABI says:
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.
Since .note.ABI-tag and .note.gnu.build-id notes are aligned to 4
bytes in 64-bit object while .note.gnu.property notes are aligned
to 8 bytes in 64-bit object, we have to check p_align in program
header for note alignment in PT_NOTE segments.
--
H.J.