x86: add IS_ELF to check whether to resolve @size reloc

This may not be strictly needed, as BFD_RELOC_SIZE* shouldn't appear
from elsewhere for non-ELF, but let's be on the safe side.
This commit is contained in:
Jan Beulich 2021-04-26 10:39:45 +02:00
parent d965814fb6
commit 8fb8824599
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2021-04-26 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (tc_gen_reloc): Check IS_ELF for
BFD_RELOC_SIZE*.
2021-04-26 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (tc_gen_reloc): Limit BFD_RELOC_SIZE32

View File

@ -14205,7 +14205,8 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
case BFD_RELOC_SIZE32:
case BFD_RELOC_SIZE64:
if (S_IS_DEFINED (fixp->fx_addsy)
if (IS_ELF
&& S_IS_DEFINED (fixp->fx_addsy)
&& !S_IS_EXTERNAL (fixp->fx_addsy))
{
/* Resolve size relocation against local symbol to size of