-
- Downloads
gold: Properly align the NT_GNU_PROPERTY_TYPE_0 note
The NT_GNU_PROPERTY_TYPE_0 note should be aligned to 8 bytes for 64-bit ELF as specified by gABI. A note section can be only placed in a PT_NOTE segment with the same alignment. PR gold/22914 PR gold/23535 * layout.cc (Layout::attach_allocated_section_to_segment): Place a note section in a PT_NOTE segment with the same alignment. Set the alignment of the PT_NOTE segment from the alignment of the note section. (Layout::create_note): Align the NT_GNU_PROPERTY_TYPE_0 note to 8 bytes for 64-bit ELF. (Layout::segment_precedes): Place segments with larger alignments first. * output.cc (Output_segment::Output_segment): Initialize align_. * output.h (Output_segment): Add align, set_align and align_. * testsuite/Makefile.am (gnu_property_test.stdout): Pass -lhSWn to $(TEST_READELF). (gnu_property_test): Pass --build-id to ld. * testsuite/Makefile.in: Regenerated. * testsuite/gnu_property_test.sh (check_alignment): New. Use check_alignment to check the NT_GNU_PROPERTY_TYPE_0 note alignment. Verify that there are 2 PT_NOTE segments.
Showing
- gold/ChangeLog 22 additions, 0 deletionsgold/ChangeLog
- gold/layout.cc 14 additions, 1 deletiongold/layout.cc
- gold/output.cc 1 addition, 0 deletionsgold/output.cc
- gold/output.h 12 additions, 0 deletionsgold/output.h
- gold/testsuite/Makefile.am 2 additions, 2 deletionsgold/testsuite/Makefile.am
- gold/testsuite/Makefile.in 2 additions, 2 deletionsgold/testsuite/Makefile.in
- gold/testsuite/gnu_property_test.sh 20 additions, 0 deletionsgold/testsuite/gnu_property_test.sh
Loading
Please register or sign in to comment