mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 22:07:58 +08:00
* elf32-sparc.c (elf32_sparc_relocate_section): Don't clear
relocations in non-alloced sections against global symbols defined in shared library being built. * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
2001-11-23 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* elf32-sparc.c (elf32_sparc_relocate_section): Don't clear
|
||||||
|
relocations in non-alloced sections against global symbols
|
||||||
|
defined in shared library being built.
|
||||||
|
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||||||
|
|
||||||
2001-11-23 Jakub Jelinek <jakub@redhat.com>
|
2001-11-23 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* elf.c (_bfd_elf_rela_local_sym): New.
|
* elf.c (_bfd_elf_rela_local_sym): New.
|
||||||
|
@ -1221,7 +1221,15 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section,
|
|||||||
|| ((r_type == R_SPARC_PC10
|
|| ((r_type == R_SPARC_PC10
|
||||||
|| r_type == R_SPARC_PC22)
|
|| r_type == R_SPARC_PC22)
|
||||||
&& strcmp (h->root.root.string,
|
&& strcmp (h->root.root.string,
|
||||||
"_GLOBAL_OFFSET_TABLE_") != 0))))
|
"_GLOBAL_OFFSET_TABLE_") != 0))
|
||||||
|
&& ((input_section->flags & SEC_ALLOC) != 0
|
||||||
|
/* DWARF will emit R_SPARC_32 relocations in its
|
||||||
|
sections against symbols defined externally
|
||||||
|
in shared libraries. We can't do anything
|
||||||
|
with them here. */
|
||||||
|
|| ((input_section->flags & SEC_DEBUGGING) != 0
|
||||||
|
&& (h->elf_link_hash_flags
|
||||||
|
& ELF_LINK_HASH_DEF_DYNAMIC) != 0))))
|
||||||
{
|
{
|
||||||
/* In these cases, we don't need the relocation
|
/* In these cases, we don't need the relocation
|
||||||
value. We check specially because in some
|
value. We check specially because in some
|
||||||
|
@ -2053,7 +2053,15 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
|||||||
if (info->shared
|
if (info->shared
|
||||||
&& ((!info->symbolic && h->dynindx != -1)
|
&& ((!info->symbolic && h->dynindx != -1)
|
||||||
|| !(h->elf_link_hash_flags
|
|| !(h->elf_link_hash_flags
|
||||||
& ELF_LINK_HASH_DEF_REGULAR)))
|
& ELF_LINK_HASH_DEF_REGULAR))
|
||||||
|
&& ((input_section->flags & SEC_ALLOC) != 0
|
||||||
|
/* DWARF will emit R_SPARC_{32,64} relocations in
|
||||||
|
its sections against symbols defined externally
|
||||||
|
in shared libraries. We can't do anything
|
||||||
|
with them here. */
|
||||||
|
|| ((input_section->flags & SEC_DEBUGGING) != 0
|
||||||
|
&& (h->elf_link_hash_flags
|
||||||
|
& ELF_LINK_HASH_DEF_DYNAMIC) != 0)))
|
||||||
skip_it = true;
|
skip_it = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user