aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2017-07-24 11:32:57 +0100
committerNick Clifton <nickc@redhat.com>2017-07-24 11:32:57 +0100
commite8d84ca1b46f899b0b140fdd146fc7b14515267b (patch)
tree29858c691bda3334c5c4fa9e63cb26357e89f7da /gas
parent47aeb64c10ec9c9f06d2d2f4451f417d63b023e1 (diff)
downloadgdb-e8d84ca1b46f899b0b140fdd146fc7b14515267b.zip
gdb-e8d84ca1b46f899b0b140fdd146fc7b14515267b.tar.gz
gdb-e8d84ca1b46f899b0b140fdd146fc7b14515267b.tar.bz2
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.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-aarch64.c5
-rw-r--r--gas/config/tc-arm.c7
3 files changed, 18 insertions, 1 deletions
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