aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-elf.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-07-30 06:15:49 +0000
committerAlan Modra <amodra@gmail.com>2001-07-30 06:15:49 +0000
commit468cced8b997b43359f2610c43a223d907a9bea7 (patch)
treedb2276f7ee47ee5acfadd658dbc8086d7b59e142 /gas/config/obj-elf.c
parent5b2e4f117fa00ecf3846da58cf8756ec2e956052 (diff)
downloadfsf-binutils-gdb-468cced8b997b43359f2610c43a223d907a9bea7.zip
fsf-binutils-gdb-468cced8b997b43359f2610c43a223d907a9bea7.tar.gz
fsf-binutils-gdb-468cced8b997b43359f2610c43a223d907a9bea7.tar.bz2
* config/obj-elf.c (obj_elf_symver): Temporarily modify lex_type
to include '@' in symbol names when parsing versioned symbols rather than calling get_symbol_end multiple times. * config/tc-i370.c (register_name): Format fixes. Don't call get_symbol_end after parsing number. * config/tc-mn10200.c (data_register_name): Format fixes. Hoist code out of conditional. (address_register_name): Likewise. (other_register_name): Likewise. * config/tc-mn10300.c (r_register_name): Likewise. (xr_register_name): Likewise. (data_register_name): Likewise. (address_register_name): Likewise. (other_register_name): Likewise. * config/tc-ppc.c (register_name): Likewise. * config/tc-s390.c (register_name): Likewise.
Diffstat (limited to 'gas/config/obj-elf.c')
-rw-r--r--gas/config/obj-elf.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 2510f4b..8c59479 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -1132,6 +1132,7 @@ obj_elf_symver (ignore)
{
char *name;
char c;
+ char old_lexat;
symbolS *sym;
name = input_line_pointer;
@@ -1151,13 +1152,12 @@ obj_elf_symver (ignore)
++input_line_pointer;
name = input_line_pointer;
- while (1)
- {
- c = get_symbol_end ();
- if (c != ELF_VER_CHR)
- break;
- *input_line_pointer++ = c;
- }
+
+ /* Temporarily include '@' in symbol names. */
+ old_lexat = lex_type[(unsigned char) '@'];
+ lex_type[(unsigned char) '@'] |= LEX_NAME;
+ c = get_symbol_end ();
+ lex_type[(unsigned char) '@'] = old_lexat;
if (symbol_get_obj (sym)->versioned_name == NULL)
{