aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorDavid S. Miller <davem@redhat.com>2012-11-20 08:37:52 +0000
committerDavid S. Miller <davem@redhat.com>2012-11-20 08:37:52 +0000
commit668b27eacf911204998fe203a610d4d101f45d06 (patch)
treea465a8e7e4bfe4f27c9f5d1f7b97e3e4bd3387f9 /gas
parentbd0cfc4d46e8ad3ddaebc2dd3d8c7f93b1da751d (diff)
downloadfsf-binutils-gdb-668b27eacf911204998fe203a610d4d101f45d06.zip
fsf-binutils-gdb-668b27eacf911204998fe203a610d4d101f45d06.tar.gz
fsf-binutils-gdb-668b27eacf911204998fe203a610d4d101f45d06.tar.bz2
Fix sparc bitness overrides in GAS. Noticed by Eric Botcazou.
gas/ * config/tc-sparc.c (md_parse_option): Only certain arch specifications should override the object to be 32-bit or 64-bit.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-sparc.c14
2 files changed, 17 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f1e6207..bce371f 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2012-11-20 David S. Miller <davem@davemloft.net>
+
+ * config/tc-sparc.c (md_parse_option): Only certain arch
+ specifications should override the object to be 32-bit
+ or 64-bit.
+
2012-11-14 David Holsgrove <david.holsgrove@xilinx.com>
* config/tc-microblaze.c (md_assemble): Add support for INST_TYPE_IMM5
diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c
index fe7f8b0..d35b188 100644
--- a/gas/config/tc-sparc.c
+++ b/gas/config/tc-sparc.c
@@ -480,10 +480,18 @@ md_parse_option (int c, char *arg)
case OPTION_XARCH:
#ifdef OBJ_ELF
- if (strncmp (arg, "v9", 2) != 0)
- md_parse_option (OPTION_32, NULL);
- else
+ if (!strncmp (arg, "v9", 2))
md_parse_option (OPTION_64, NULL);
+ else
+ {
+ if (!strncmp (arg, "v8", 2)
+ || !strncmp (arg, "v7", 2)
+ || !strncmp (arg, "v6", 2)
+ || !strcmp (arg, "sparclet")
+ || !strcmp (arg, "sparclite")
+ || !strcmp (arg, "sparc86x"))
+ md_parse_option (OPTION_32, NULL);
+ }
#endif
/* Fall through. */