* config/tc-i386.c (lex_got): Don't scan past a comma.

This commit is contained in:
Alan Modra
2007-08-24 04:18:37 +00:00
parent c3d65c1ced
commit 67c11a9b99
2 changed files with 11 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2007-08-24 Anders Waldenborg <anders@0x63.nu>
Alan Modra <amodra@bigpond.net.au>
* config/tc-i386.c (lex_got): Don't scan past a comma.
2007-08-23 Ben Elliston <bje@au.ibm.com> 2007-08-23 Ben Elliston <bje@au.ibm.com>
* config/tc-ppc.c (parse_cpu): Handle "750cl". * config/tc-ppc.c (parse_cpu): Handle "750cl".

View File

@ -4485,7 +4485,7 @@ lex_got (enum bfd_reloc_code_real *reloc,
return NULL; return NULL;
for (cp = input_line_pointer; *cp != '@'; cp++) for (cp = input_line_pointer; *cp != '@'; cp++)
if (is_end_of_line[(unsigned char) *cp]) if (is_end_of_line[(unsigned char) *cp] || *cp == ',')
return NULL; return NULL;
for (j = 0; j < sizeof (gotrel) / sizeof (gotrel[0]); j++) for (j = 0; j < sizeof (gotrel) / sizeof (gotrel[0]); j++)
@ -4519,12 +4519,12 @@ lex_got (enum bfd_reloc_code_real *reloc,
first = cp - input_line_pointer; first = cp - input_line_pointer;
/* The second part goes from after the reloc token until /* The second part goes from after the reloc token until
(and including) an end_of_line char. Don't use strlen (and including) an end_of_line char or comma. */
here as the end_of_line char may not be a NUL. */
past_reloc = cp + 1 + len; past_reloc = cp + 1 + len;
for (cp = past_reloc; !is_end_of_line[(unsigned char) *cp++]; ) cp = past_reloc;
; while (!is_end_of_line[(unsigned char) *cp] && *cp != ',')
second = cp - past_reloc; ++cp;
second = cp + 1 - past_reloc;
/* Allocate and copy string. The trailing NUL shouldn't /* Allocate and copy string. The trailing NUL shouldn't
be necessary, but be safe. */ be necessary, but be safe. */