This is the mail archive of the binutils-cvs@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]

[binutils-gdb] Stop the generation of mapping symbols in the debug sections of ARM and AArch64 binaries.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e8d84ca1b46f899b0b140fdd146fc7b14515267b

commit e8d84ca1b46f899b0b140fdd146fc7b14515267b
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jul 24 11:32:57 2017 +0100

    Stop the generation of mapping symbols in the debug sections of ARM and AArch64 binaries.
    
    	PR 21809
    	* config/tc-aarch64.c (aarch64_init_frag): Do not set a mapping
    	state for frags in debug sections.
    	* config/tc-arm.c (arm_init_frag): Likewise.

Diff:
---
 gas/ChangeLog           | 7 +++++++
 gas/config/tc-aarch64.c | 5 +++++
 gas/config/tc-arm.c     | 7 ++++++-
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 17bdf52..f8fc64f 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2017-07-24  Nick Clifton  <nickc@redhat.com>
+
+	PR 21809
+	* config/tc-aarch64.c (aarch64_init_frag): Do not set a mapping
+	state for frags in debug sections.
+	* config/tc-arm.c (arm_init_frag): Likewise.
+
 2017-07-24  Hans-Peter Nilsson  <hp@bitrange.com>
 
 	* dwarf2dbg.c (dwarf2dbg_final_check): Rename local variable exp
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index cdbe1ef..6a23f21 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -6991,6 +6991,11 @@ aarch64_init_frag (fragS * fragP, int max_chars)
   if (!fragP->tc_frag_data.recorded)
     fragP->tc_frag_data.recorded = 1;
 
+  /* PR 21809: Do not set a mapping state for debug sections
+     - it just confuses other tools.  */
+  if (bfd_get_section_flags (NULL, now_seg) & SEC_DEBUGGING)
+    return;
+
   switch (fragP->fr_type)
     {
     case rs_align_test:
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index a036b1a..a885efe 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -22005,13 +22005,18 @@ arm_init_frag (fragS * fragP, int max_chars ATTRIBUTE_UNUSED)
 void
 arm_init_frag (fragS * fragP, int max_chars)
 {
-  int frag_thumb_mode;
+  bfd_boolean frag_thumb_mode;
 
   /* If the current ARM vs THUMB mode has not already
      been recorded into this frag then do so now.  */
   if ((fragP->tc_frag_data.thumb_mode & MODE_RECORDED) == 0)
     fragP->tc_frag_data.thumb_mode = thumb_mode | MODE_RECORDED;
 
+  /* PR 21809: Do not set a mapping state for debug sections
+     - it just confuses other tools.  */
+  if (bfd_get_section_flags (NULL, now_seg) & SEC_DEBUGGING)
+    return;
+
   frag_thumb_mode = fragP->tc_frag_data.thumb_mode ^ MODE_RECORDED;
 
   /* Record a mapping symbol for alignment frags.  We will delete this


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