diff options
author | Nick Clifton <nickc@redhat.com> | 2017-07-24 11:32:57 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2017-07-24 11:32:57 +0100 |
commit | e8d84ca1b46f899b0b140fdd146fc7b14515267b (patch) | |
tree | 29858c691bda3334c5c4fa9e63cb26357e89f7da /gas | |
parent | 47aeb64c10ec9c9f06d2d2f4451f417d63b023e1 (diff) | |
download | gdb-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/ChangeLog | 7 | ||||
-rw-r--r-- | gas/config/tc-aarch64.c | 5 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 7 |
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 |