[binutils-gdb] [ARM] Use frag's thumb_mode information when available
Jiong Wang
jiwang@sourceware.org
Thu Jun 4 08:37:00 GMT 2015
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b968d18a6d3df13b92c98e813f3d2fb3bbd3d4ee
commit b968d18a6d3df13b92c98e813f3d2fb3bbd3d4ee
Author: Jiong Wang <jiong.wang@arm.com>
Date: Thu Jun 4 09:36:35 2015 +0100
[ARM] Use frag's thumb_mode information when available
2015-06-04 Renlin Li <renlin.li@arm.com>
* config/tc-arm.c (arm_init_frag): Use frag's thumb_mode information
when available.
Diff:
---
gas/ChangeLog | 5 +++++
gas/config/tc-arm.c | 8 ++++++--
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 57fc30a..96c1b32 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-04 Renlin Li <renlin.li@arm.com>
+
+ * config/tc-arm.c (arm_init_frag): Use frag's thumb_mode information
+ when available.
+
2015-06-03 Matthew Wahab <matthew.wahab@arm.com>
* config/tc-arm.c (arm_archs): Add "armv8.1-a".
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index b57f85c..7ad55bf 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -21065,10 +21065,14 @@ arm_init_frag (fragS * fragP, int max_chars ATTRIBUTE_UNUSED)
void
arm_init_frag (fragS * fragP, int max_chars)
{
+ int 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;
+ fragP->tc_frag_data.thumb_mode = thumb_mode | MODE_RECORDED;
+
+ frag_thumb_mode = fragP->tc_frag_data.thumb_mode ^ MODE_RECORDED;
/* Record a mapping symbol for alignment frags. We will delete this
later if the alignment ends up empty. */
@@ -21080,7 +21084,7 @@ arm_init_frag (fragS * fragP, int max_chars)
mapping_state_2 (MAP_DATA, max_chars);
break;
case rs_align_code:
- mapping_state_2 (thumb_mode ? MAP_THUMB : MAP_ARM, max_chars);
+ mapping_state_2 (frag_thumb_mode ? MAP_THUMB : MAP_ARM, max_chars);
break;
default:
break;
More information about the Binutils-cvs
mailing list