projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix Sparc, s390 and AArch64 targets so that they can handle relocs against ifunc...
[deliverable/binutils-gdb.git]
/
bfd
/
elfnn-aarch64.c
diff --git
a/bfd/elfnn-aarch64.c
b/bfd/elfnn-aarch64.c
index beef91a22d083ac711375ec10ceddb9322e1ced5..c1986b72f2aa1ef63ed841ef4c94259561705ff9 100644
(file)
--- a/
bfd/elfnn-aarch64.c
+++ b/
bfd/elfnn-aarch64.c
@@
-5110,6
+5110,11
@@
elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
if ((input_section->flags & SEC_ALLOC) == 0)
{
if ((input_section->flags & SEC_ALLOC) == 0)
{
+ /* If this is a SHT_NOTE section without SHF_ALLOC, treat
+ STT_GNU_IFUNC symbol as STT_FUNC. */
+ if (elf_section_type (input_section) == SHT_NOTE)
+ goto skip_ifunc;
+
/* Dynamic relocs are not propagated for SEC_DEBUGGING
sections because such sections are not SEC_ALLOC and
thus ld.so will not process them. */
/* Dynamic relocs are not propagated for SEC_DEBUGGING
sections because such sections are not SEC_ALLOC and
thus ld.so will not process them. */
@@
-5305,6
+5310,7
@@
bad_ifunc_reloc:
}
}
}
}
+ skip_ifunc:
resolved_to_zero = (h != NULL
&& UNDEFWEAK_NO_DYNAMIC_RELOC (info, h));
resolved_to_zero = (h != NULL
&& UNDEFWEAK_NO_DYNAMIC_RELOC (info, h));
This page took
0.024316 seconds
and
4
git commands to generate.