mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 01:50:24 +08:00
* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
forced-local symbols like other locals. Don't create relocations against STN_UNDEF in irix objects.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2003-07-09 Richard Sandiford <rsandifo@redhat.com>
|
||||||
|
|
||||||
|
* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
|
||||||
|
forced-local symbols like other locals. Don't create relocations
|
||||||
|
against STN_UNDEF in irix objects.
|
||||||
|
|
||||||
2003-07-09 Richard Sandiford <rsandifo@redhat.com>
|
2003-07-09 Richard Sandiford <rsandifo@redhat.com>
|
||||||
|
|
||||||
* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
|
* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
|
||||||
|
@ -3893,13 +3893,12 @@ mips_elf_create_dynamic_relocation (output_bfd, info, rel, h, sec,
|
|||||||
in the relocation. */
|
in the relocation. */
|
||||||
if (h != NULL
|
if (h != NULL
|
||||||
&& (! info->symbolic || (h->root.elf_link_hash_flags
|
&& (! info->symbolic || (h->root.elf_link_hash_flags
|
||||||
& ELF_LINK_HASH_DEF_REGULAR) == 0))
|
& ELF_LINK_HASH_DEF_REGULAR) == 0)
|
||||||
{
|
|
||||||
indx = h->root.dynindx;
|
|
||||||
/* h->root.dynindx may be -1 if this symbol was marked to
|
/* h->root.dynindx may be -1 if this symbol was marked to
|
||||||
become local. */
|
become local. */
|
||||||
if (indx == -1)
|
&& h->root.dynindx != -1)
|
||||||
indx = 0;
|
{
|
||||||
|
indx = h->root.dynindx;
|
||||||
if (SGI_COMPAT (output_bfd))
|
if (SGI_COMPAT (output_bfd))
|
||||||
defined_p = ((h->root.elf_link_hash_flags
|
defined_p = ((h->root.elf_link_hash_flags
|
||||||
& ELF_LINK_HASH_DEF_REGULAR) != 0);
|
& ELF_LINK_HASH_DEF_REGULAR) != 0);
|
||||||
@ -3937,7 +3936,12 @@ mips_elf_create_dynamic_relocation (output_bfd, info, rel, h, sec,
|
|||||||
section-relative relocations. It's not like they're
|
section-relative relocations. It's not like they're
|
||||||
useful, after all. This should be a bit more efficient
|
useful, after all. This should be a bit more efficient
|
||||||
as well. */
|
as well. */
|
||||||
indx = 0;
|
/* ??? Although this behavior is compatible with glibc's ld.so,
|
||||||
|
the ABI says that relocations against STN_UNDEF should have
|
||||||
|
a symbol value of 0. Irix rld honors this, so relocations
|
||||||
|
against STN_UNDEF have no effect. */
|
||||||
|
if (!SGI_COMPAT (output_bfd))
|
||||||
|
indx = 0;
|
||||||
defined_p = TRUE;
|
defined_p = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user