* elf32-mips.c (mips_elf_calculate_relocation): Restore

_DYNAMIC_LINK handling and handling of undefined symbols in shared
	libraries.
This commit is contained in:
Mark Mitchell 1999-08-03 16:58:26 +00:00
parent 18069efc88
commit 3811169e5f
2 changed files with 19 additions and 0 deletions

View File

@ -1,3 +1,9 @@
1999-08-03 Mark Mitchell <mark@codesourcery.com>
* elf32-mips.c (mips_elf_calculate_relocation): Restore
_DYNAMIC_LINK handling and handling of undefined symbols in shared
libraries.
1999-08-03 Ian Lance Taylor <ian@zembu.com> 1999-08-03 Ian Lance Taylor <ian@zembu.com>
* elf32-ppc.c (ppc_elf_relocate_section): Don't use the relocation * elf32-ppc.c (ppc_elf_relocate_section): Don't use the relocation

View File

@ -5877,6 +5877,19 @@ mips_elf_calculate_relocation (abfd,
and check to see if they exist by looking at their and check to see if they exist by looking at their
addresses. */ addresses. */
symbol = 0; symbol = 0;
else if (info->shared && !info->symbolic && !info->no_undefined)
relocation = 0;
else if (strcmp (h->root.root.root.string, "_DYNAMIC_LINK") == 0)
{
/* If this is a dynamic link, we should have created a
_DYNAMIC_LINK symbol in mips_elf_create_dynamic_sections.
Otherwise, we should define the symbol with a value of 0.
FIXME: It should probably get into the symbol table
somehow as well. */
BFD_ASSERT (! info->shared);
BFD_ASSERT (bfd_get_section_by_name (abfd, ".dynamic") == NULL);
relocation = 0;
}
else else
{ {
(*info->callbacks->undefined_symbol) (*info->callbacks->undefined_symbol)