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]

Commit: Combine .gnu.build.attributes.* sections into .gnu.build.attributes


Hi Guys,

  I recently updated the annobin plugin for gcc so that it will now
  generate .gnu.build.attributes.<foo> sections whenever a function
  is placed into its own section (called <foo>).  The patch below
  tells the linkers (gold and bfd) to combine these sections back into
  the main .gnu.build.attributes section during linking.

Cheers
  Nick

gold/ChangeLog
2018-07-30  Nick Clifton  <nickc@redhat.com>

	* layout.cc (section_name_mapping): Add an entry for
	.gnu.build.attributes.

ld/ChangeLog
2018-07-30  Nick Clifton  <nickc@redhat.com>

	* scripttempl/elf.sc: Place .gnu.build.attributes sections with
	other read-only sections.

diff --git a/gold/layout.cc b/gold/layout.cc
index 0df7ed37f0..66162a253d 100644
--- a/gold/layout.cc
+++ b/gold/layout.cc
@@ -5429,6 +5429,7 @@ const Layout::Section_name_mapping Layout::section_name_mapping[] =
   MAPPING_INIT(".gnu.linkonce.armextab.", ".ARM.extab"),
   MAPPING_INIT(".ARM.exidx", ".ARM.exidx"),
   MAPPING_INIT(".gnu.linkonce.armexidx.", ".ARM.exidx"),
+  MAPPING_INIT(".gnu.build.attributes.", ".gnu.build.attributes"),
 };
 
 // Mapping for ".text" section prefixes with -z,keep-text-section-prefix.
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index 444aef2942..6bf6936362 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -564,6 +564,7 @@ cat <<EOF
   ${CREATE_SHLIB-${SDATA2}}
   ${CREATE_SHLIB-${SBSS2}}
   ${OTHER_READONLY_SECTIONS}
+  .gnu.build.attributes : { *(.gnu.build.attributes .gnu.build.attributes.*) }
   .eh_frame_hdr : { *(.eh_frame_hdr) ${RELOCATING+*(.eh_frame_entry .eh_frame_entry.*)} }
   .eh_frame     ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) ${RELOCATING+*(.eh_frame.*)} }
   .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table


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