Accept and ignore @fptr() directives for 4-byte fixups.
This commit is contained in:
parent
7f67d4c98a
commit
87e6234853
@ -1,3 +1,8 @@
|
||||
2004-10-18 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/tc-xstormy16.c (xstormy16_cons_fix_new): Accept and
|
||||
ignore @fptr() directives for 4-byte fixups.
|
||||
|
||||
2004-10-15 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* Makefile.am: Run "make dep-am"
|
||||
|
@ -206,13 +206,29 @@ xstormy16_cons_fix_new (f, where, nbytes, exp)
|
||||
|
||||
if (exp->X_op == O_fptr_symbol)
|
||||
{
|
||||
if (nbytes != 2)
|
||||
switch (nbytes)
|
||||
{
|
||||
case 4:
|
||||
/* This can happen when gcc is generating debug output.
|
||||
For example it can create a stab with the address of
|
||||
a function:
|
||||
|
||||
.stabs "foo:F(0,21)",36,0,0,@fptr(foo)
|
||||
|
||||
Since this does not involve switching code pages, we
|
||||
just allow the reloc to be generated without any
|
||||
@fptr behaviour. */
|
||||
exp->X_op = O_symbol;
|
||||
code = BFD_RELOC_32;
|
||||
break;
|
||||
case 2:
|
||||
exp->X_op = O_symbol;
|
||||
code = BFD_RELOC_XSTORMY16_FPTR16;
|
||||
break;
|
||||
default:
|
||||
as_bad ("unsupported fptr fixup size %d", nbytes);
|
||||
return;
|
||||
}
|
||||
exp->X_op = O_symbol;
|
||||
code = BFD_RELOC_XSTORMY16_FPTR16;
|
||||
}
|
||||
else if (nbytes == 1)
|
||||
code = BFD_RELOC_8;
|
||||
|
Loading…
x
Reference in New Issue
Block a user