mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-06 07:28:44 +08:00
* config/tc-ppc.c (ppc_elf_suffix): Undo part of last change so that
x@toc+off works.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2003-02-06 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
|
* config/tc-ppc.c (ppc_elf_suffix): Undo part of last change so that
|
||||||
|
x@toc+off works.
|
||||||
|
|
||||||
2003-02-05 Alan Modra <amodra@bigpond.net.au>
|
2003-02-05 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* config/tc-ppc.c (mapping): Handle new TLS reloc specs.
|
* config/tc-ppc.c (mapping): Handle new TLS reloc specs.
|
||||||
|
@ -1580,31 +1580,29 @@ ppc_elf_suffix (str_p, exp_p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!ppc_obj64)
|
if (!ppc_obj64)
|
||||||
|
if (exp_p->X_add_number != 0
|
||||||
|
&& (reloc == (int) BFD_RELOC_16_GOTOFF
|
||||||
|
|| reloc == (int) BFD_RELOC_LO16_GOTOFF
|
||||||
|
|| reloc == (int) BFD_RELOC_HI16_GOTOFF
|
||||||
|
|| reloc == (int) BFD_RELOC_HI16_S_GOTOFF))
|
||||||
|
as_warn (_("identifier+constant@got means identifier@got+constant"));
|
||||||
|
|
||||||
|
/* Now check for identifier@suffix+constant. */
|
||||||
|
if (*str == '-' || *str == '+')
|
||||||
{
|
{
|
||||||
if (exp_p->X_add_number != 0
|
char *orig_line = input_line_pointer;
|
||||||
&& (reloc == (int) BFD_RELOC_16_GOTOFF
|
expressionS new_exp;
|
||||||
|| reloc == (int) BFD_RELOC_LO16_GOTOFF
|
|
||||||
|| reloc == (int) BFD_RELOC_HI16_GOTOFF
|
|
||||||
|| reloc == (int) BFD_RELOC_HI16_S_GOTOFF))
|
|
||||||
as_warn (_("identifier+constant@got means identifier@got+constant"));
|
|
||||||
|
|
||||||
/* Now check for identifier@suffix+constant. */
|
input_line_pointer = str;
|
||||||
if (*str == '-' || *str == '+')
|
expression (&new_exp);
|
||||||
|
if (new_exp.X_op == O_constant)
|
||||||
{
|
{
|
||||||
char *orig_line = input_line_pointer;
|
exp_p->X_add_number += new_exp.X_add_number;
|
||||||
expressionS new_exp;
|
str = input_line_pointer;
|
||||||
|
|
||||||
input_line_pointer = str;
|
|
||||||
expression (&new_exp);
|
|
||||||
if (new_exp.X_op == O_constant)
|
|
||||||
{
|
|
||||||
exp_p->X_add_number += new_exp.X_add_number;
|
|
||||||
str = input_line_pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (&input_line_pointer != str_p)
|
|
||||||
input_line_pointer = orig_line;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (&input_line_pointer != str_p)
|
||||||
|
input_line_pointer = orig_line;
|
||||||
}
|
}
|
||||||
*str_p = str;
|
*str_p = str;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user