Skip to content
  • Cary Coutant's avatar
    Add support for .note.gnu.property sections. · 6c04fd9b
    Cary Coutant authored
    elfcpp/
    	PR gold/22914
    	* elfcpp.h (NT_GNU_PROPERTY_TYPE_0): New note type.
    	(GNU_PROPERTY_*): New Gnu property types.
    	* x86_64.h (GNU_PROPERTY_X86_FEATURE_1_IBT)
    	(GNU_PROPERTY_X86_FEATURE_1_SHSTK): New x86 feature bits.
    
    gold/
    	PR gold/22914
    	* layout.cc (Layout::Layout): Initialize gnu_properties_.
    	(read_sized_value, write_sized_value): New functions.
    	(Layout::layout_gnu_property): New method.
    	(Layout::create_notes): Call create_gnu_properties_note.
    	(Layout::create_gnu_properties_note): New method.
    	* layout.h (Layout::layout_gnu_property): New method.
    	(Layout::create_gnu_properties_note): New method.
    	(Layout::Gnu_property, Layout::Gnu_properties): New types.
    	(Layout::gnu_properties_): New data member.
    	* object.cc (Sized_relobj_file::layout_gnu_property_section): New
    	method.
    	(Sized_relobj_file::do_layout): Handle .note.gnu.property sections.
    	* object.h (Sized_relobj_file::layout_gnu_property_section): New
    	method.
    	* target.h (Target::merge_gnu_property): New method.
    	(Target::do_merge_gnu_property): New virtual method.
    	* x86_64.cc (Target_x86_64::do_merge_gnu_property): New method.
    	* testsuite/Makefile.am (gnu_property_test): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/gnu_property_a.S: New source file.
    	* testsuite/gnu_property_b.S: New source file.
    	* testsuite/gnu_property_c.S: New source file.
    	* testsuite/gnu_property_main.c: New source file.
    	* testsuite/gnu_property_test.sh: New test script.
    6c04fd9b
To find the state of this project's repository at the time of any of these versions, check out the tags.