diff options
author | Jan Beulich <jbeulich@suse.com> | 2023-09-15 09:55:34 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2023-09-15 09:55:34 +0200 |
commit | b44fef84a9696d3e571f79aea3e0adea0b4ae02d (patch) | |
tree | 844f091a0b000970fe876f3751ef5dbc0da6b876 /gas | |
parent | f8bf778c811236ea93c1b325bb9a2f38f9276104 (diff) | |
download | gdb-b44fef84a9696d3e571f79aea3e0adea0b4ae02d.zip gdb-b44fef84a9696d3e571f79aea3e0adea0b4ae02d.tar.gz gdb-b44fef84a9696d3e571f79aea3e0adea0b4ae02d.tar.bz2 |
x86: re-order update_code_flag()
Do checks before updating state, and bail upon failure of either of the
checks. While moving the code, eliminate some redundancy.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/config/tc-i386.c | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index e8ec296..1208e30 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -2609,7 +2609,21 @@ add_prefix (unsigned int prefix) static void update_code_flag (int value, int check) { - PRINTF_LIKE ((*as_error)); + PRINTF_LIKE ((*as_error)) = check ? as_fatal : as_bad; + + if (value == CODE_64BIT && !cpu_arch_flags.bitfield.cpulm ) + { + as_error (_("64bit mode not supported on `%s'."), + cpu_arch_name ? cpu_arch_name : default_arch); + return; + } + + if (value == CODE_32BIT && !cpu_arch_flags.bitfield.cpui386) + { + as_error (_("32bit mode not supported on `%s'."), + cpu_arch_name ? cpu_arch_name : default_arch); + return; + } flag_code = (enum flag_code) value; if (flag_code == CODE_64BIT) @@ -2622,24 +2636,7 @@ update_code_flag (int value, int check) cpu_arch_flags.bitfield.cpu64 = 0; cpu_arch_flags.bitfield.cpuno64 = 1; } - if (value == CODE_64BIT && !cpu_arch_flags.bitfield.cpulm ) - { - if (check) - as_error = as_fatal; - else - as_error = as_bad; - (*as_error) (_("64bit mode not supported on `%s'."), - cpu_arch_name ? cpu_arch_name : default_arch); - } - if (value == CODE_32BIT && !cpu_arch_flags.bitfield.cpui386) - { - if (check) - as_error = as_fatal; - else - as_error = as_bad; - (*as_error) (_("32bit mode not supported on `%s'."), - cpu_arch_name ? cpu_arch_name : default_arch); - } + stackop_size = '\0'; } |