From 668b27eacf911204998fe203a610d4d101f45d06 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 20 Nov 2012 08:37:52 +0000 Subject: [PATCH] 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. --- gas/ChangeLog | 6 ++++++ gas/config/tc-sparc.c | 14 +++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index f1e62076839..bce371f280a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2012-11-20 David S. Miller + + * 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 * 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 fe7f8b01cc1..d35b1882043 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. */ -- 2.30.2