diff options
author | John Darrington <john@darrington.wattle.id.au> | 2019-05-21 10:11:40 +0200 |
---|---|---|
committer | John Darrington <john@darrington.wattle.id.au> | 2019-05-21 10:29:15 +0200 |
commit | e2d1595531b62487749e1af680d8f0c48c684feb (patch) | |
tree | 1fa82c246269596f8b761e726779c788a9451289 /gas/config | |
parent | 7622049e0bef81fab900860400838bc977449892 (diff) | |
download | fsf-binutils-gdb-e2d1595531b62487749e1af680d8f0c48c684feb.zip fsf-binutils-gdb-e2d1595531b62487749e1af680d8f0c48c684feb.tar.gz fsf-binutils-gdb-e2d1595531b62487749e1af680d8f0c48c684feb.tar.bz2 |
GAS: Replace macro LITERAL_PREFIXDOLLAR_HEX with a runtime value.
In an upcoming commit, I need to be able to set the prefix used
to introduce hexadecimal literal constants using a command line
flag. This is not currently possible, because the switch which
determines this (LITERAL_PREFIXDOLLAR_HEX) is a macro set at
build time.
This change substitutes it for a variable to be set at start up.
gas/ChangeLog:
* expr.c (literal_prefix_dollar_hex): New variable.
(operand)[case '$']: Use the new variable instead of the old macro.
Also, move this instance of "case '$'" next to the other one, and
enable it only in the complementary proprocessor case.
* expr.h (literal_prefix_dollar_hex): Declare it.
* config/tc-epiphany.c (md_begin): Assign literal_prefix_dollar_hex.
* config/tc-ip2k.c: ditto
* config/tc-mt.c: ditto
* config/tc-epiphany.h (LITERAL_PREFIXDOLLAR_HEX): Remove macro definition.
* config/tc-ip2k.h: ditto
* config/tc-mt.h: ditto
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-epiphany.c | 2 | ||||
-rw-r--r-- | gas/config/tc-epiphany.h | 1 | ||||
-rw-r--r-- | gas/config/tc-ip2k.c | 2 | ||||
-rw-r--r-- | gas/config/tc-ip2k.h | 1 | ||||
-rw-r--r-- | gas/config/tc-mt.c | 2 | ||||
-rw-r--r-- | gas/config/tc-mt.h | 1 |
6 files changed, 6 insertions, 3 deletions
diff --git a/gas/config/tc-epiphany.c b/gas/config/tc-epiphany.c index ca24520..3117918 100644 --- a/gas/config/tc-epiphany.c +++ b/gas/config/tc-epiphany.c @@ -145,6 +145,8 @@ md_begin (void) /* Set the machine type. */ bfd_default_set_arch_mach (stdoutput, bfd_arch_epiphany, bfd_mach_epiphany32); + + literal_prefix_dollar_hex = TRUE; } valueT diff --git a/gas/config/tc-epiphany.h b/gas/config/tc-epiphany.h index ace8f36..695b970 100644 --- a/gas/config/tc-epiphany.h +++ b/gas/config/tc-epiphany.h @@ -37,7 +37,6 @@ /* We don't need to handle .word strangely. */ #define WORKING_DOT_WORD -#define LITERAL_PREFIXDOLLAR_HEX #define LITERAL_PREFIXPERCENT_BIN #define DOUBLESLASH_LINE_COMMENTS diff --git a/gas/config/tc-ip2k.c b/gas/config/tc-ip2k.c index ab00b05..0fcc000 100644 --- a/gas/config/tc-ip2k.c +++ b/gas/config/tc-ip2k.c @@ -160,6 +160,8 @@ md_begin (void) /* Set the machine type. */ bfd_default_set_arch_mach (stdoutput, bfd_arch_ip2k, ip2k_mach); + + literal_prefix_dollar_hex = TRUE; } diff --git a/gas/config/tc-ip2k.h b/gas/config/tc-ip2k.h index 0b38c9dc..ae9510d 100644 --- a/gas/config/tc-ip2k.h +++ b/gas/config/tc-ip2k.h @@ -38,7 +38,6 @@ /* We don't need to handle .word strangely. */ #define WORKING_DOT_WORD -#define LITERAL_PREFIXDOLLAR_HEX #define LITERAL_PREFIXPERCENT_BIN #define DOUBLESLASH_LINE_COMMENTS diff --git a/gas/config/tc-mt.c b/gas/config/tc-mt.c index b93a53e..bd51854 100644 --- a/gas/config/tc-mt.c +++ b/gas/config/tc-mt.c @@ -178,6 +178,8 @@ md_begin (void) /* Set the machine type. */ bfd_default_set_arch_mach (stdoutput, bfd_arch_mt, mt_mach); + + literal_prefix_dollar_hex = TRUE; } void diff --git a/gas/config/tc-mt.h b/gas/config/tc-mt.h index 111dadd..8a96d2c 100644 --- a/gas/config/tc-mt.h +++ b/gas/config/tc-mt.h @@ -41,7 +41,6 @@ /* All mt instructions are multiples of 32 bits. */ #define DWARF2_LINE_MIN_INSN_LENGTH 4 -#define LITERAL_PREFIXDOLLAR_HEX #define LITERAL_PREFIXPERCENT_BIN #define md_apply_fix mt_apply_fix |