[ARC] Disable warning on absolute relocs when symbol is local.
R_ARC_32 and R_ARC_32_ME cannot be generated as dynamic relocs. However, a warning message and check_relocs was aborting when this type of reloc was being resolved to a local symbol. This is wrong as local symbols are resolvable at link time. bfd/ChangeLog: Cupertino Miranda <cmiranda@synopsys.com> * elf32-arc.c (elf_arc_check_relocs): Added condition to disable warning and "Bad value" for local symbols ARC_32 or ARC_32_ME relocs.
This commit is contained in:
parent
be9e3704f9
commit
9d5c718b7a
|
@ -1,3 +1,8 @@
|
|||
2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
|
||||
|
||||
* elf32-arc.c (elf_arc_check_relocs): Added condition to disable
|
||||
warning and "Bad value" for local symbols ARC_32 or ARC_32_ME relocs.
|
||||
|
||||
2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
|
||||
|
||||
* elf32-arc.c (ADD_RELA): Changed to only work when dynamic
|
||||
|
|
|
@ -1938,7 +1938,8 @@ elf_arc_check_relocs (bfd * abfd,
|
|||
and the dynamic linker can not resolve these. However
|
||||
the error should not occur for e.g. debugging or
|
||||
non-readonly sections. */
|
||||
if ((bfd_link_dll (info) && !bfd_link_pie (info))
|
||||
if (h != NULL
|
||||
&& (bfd_link_dll (info) && !bfd_link_pie (info))
|
||||
&& (sec->flags & SEC_ALLOC) != 0
|
||||
&& (sec->flags & SEC_READONLY) != 0
|
||||
&& ((sec->flags & SEC_CODE) != 0
|
||||
|
|
Loading…
Reference in New Issue