aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>2010-11-25 09:33:54 +0000
committerAndreas Krebbel <Andreas.Krebbel@de.ibm.com>2010-11-25 09:33:54 +0000
commit1e8766d7c9c6cfa35b4c057998fa7f31f6c3b450 (patch)
treec300c57f6e7b37854a9b5818c37349fb450ffdab /gas/config
parent1de34e0afe0fa7c5227f8d7bf51498cada63f583 (diff)
downloadgdb-1e8766d7c9c6cfa35b4c057998fa7f31f6c3b450.zip
gdb-1e8766d7c9c6cfa35b4c057998fa7f31f6c3b450.tar.gz
gdb-1e8766d7c9c6cfa35b4c057998fa7f31f6c3b450.tar.bz2
2010-11-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/tc-s390.c (current_cpu): Initialize with latest CPU. (init_default_arch): Default to z/Architecture mode if CPU provides it. Remove the check setting the CPU default. 2010-11-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * opcode/s390.h (enum s390_opcode_cpu_val): Add S390_OPCODE_MAXCPU.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-s390.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index 273ddd6..ca7ad3b 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -38,8 +38,11 @@ static char *default_arch = DEFAULT_ARCH;
/* Either 32 or 64, selects file format. */
static int s390_arch_size = 0;
+/* If no -march option was given default to the highest available CPU.
+ Since with S/390 a newer CPU always supports everything from its
+ predecessors this will accept every valid asm input. */
+static unsigned int current_cpu = S390_OPCODE_MAXCPU - 1;
static unsigned int current_mode_mask = 0;
-static unsigned int current_cpu = -1U;
/* Whether to use user friendly register names. Default is TRUE. */
#ifndef TARGET_REG_NAMES_P
@@ -328,18 +331,12 @@ init_default_arch (void)
if (current_mode_mask == 0)
{
- if (s390_arch_size == 32)
+ /* Default to z/Architecture mode if the CPU supports it. */
+ if (current_cpu < S390_OPCODE_Z900)
current_mode_mask = 1 << S390_OPCODE_ESA;
else
current_mode_mask = 1 << S390_OPCODE_ZARCH;
}
- if (current_cpu == -1U)
- {
- if (current_mode_mask == (1 << S390_OPCODE_ESA))
- current_cpu = S390_OPCODE_G5;
- else
- current_cpu = S390_OPCODE_Z900;
- }
}
/* Called by TARGET_FORMAT. */