mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 14:39:09 +08:00
2005-12-30 Eric Christopher <echristo@apple.com>
* elfxx-mips.c (mips_elf_record_global_got_symbol): Add assert to verify we have a got. (_bfd_mips_elf_check_relocs): Add R_MIPS_TLS_GOTTPREL to relocs needing a GOT.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
2005-12-30 Eric Christopher <echristo@apple.com>
|
||||||
|
|
||||||
|
* elfxx-mips.c (mips_elf_record_global_got_symbol): Add assert
|
||||||
|
to verify we have a got.
|
||||||
|
(_bfd_mips_elf_check_relocs): Add R_MIPS_TLS_GOTTPREL to relocs
|
||||||
|
needing a GOT.
|
||||||
|
|
||||||
2005-12-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
2005-12-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||||
|
|
||||||
* configure.host (hppa*64*-*-hpux*): Set host64 to true.
|
* configure.host (hppa*64*-*-hpux*): Set host64 to true.
|
||||||
@ -106,7 +113,7 @@
|
|||||||
to make it clear that parameter ABFD is not used.
|
to make it clear that parameter ABFD is not used.
|
||||||
(hpux_core_core_file_matches_executable_p): Delete, replaced
|
(hpux_core_core_file_matches_executable_p): Delete, replaced
|
||||||
by macro pointing to generic_core_file_matches_executable_p.
|
by macro pointing to generic_core_file_matches_executable_p.
|
||||||
|
|
||||||
* aix386-core.c: Replace core_file_matches_executable_p null
|
* aix386-core.c: Replace core_file_matches_executable_p null
|
||||||
implementation by generic_core_file_matches_executable_p by
|
implementation by generic_core_file_matches_executable_p by
|
||||||
using a macro.
|
using a macro.
|
||||||
|
@ -2637,6 +2637,9 @@ mips_elf_record_global_got_symbol (struct elf_link_hash_entry *h,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Make sure we have a GOT to put this entry into. */
|
||||||
|
BFD_ASSERT (g != NULL);
|
||||||
|
|
||||||
entry.abfd = abfd;
|
entry.abfd = abfd;
|
||||||
entry.symndx = -1;
|
entry.symndx = -1;
|
||||||
entry.d.h = (struct mips_elf_link_hash_entry *) h;
|
entry.d.h = (struct mips_elf_link_hash_entry *) h;
|
||||||
@ -3980,7 +3983,7 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
|
|||||||
|
|
||||||
if (gnu_local_gp_p)
|
if (gnu_local_gp_p)
|
||||||
symbol = gp;
|
symbol = gp;
|
||||||
|
|
||||||
/* Figure out what kind of relocation is being performed. */
|
/* Figure out what kind of relocation is being performed. */
|
||||||
switch (r_type)
|
switch (r_type)
|
||||||
{
|
{
|
||||||
@ -5997,6 +6000,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
|
|||||||
case R_MIPS_GOT_PAGE:
|
case R_MIPS_GOT_PAGE:
|
||||||
case R_MIPS_GOT_OFST:
|
case R_MIPS_GOT_OFST:
|
||||||
case R_MIPS_GOT_DISP:
|
case R_MIPS_GOT_DISP:
|
||||||
|
case R_MIPS_TLS_GOTTPREL:
|
||||||
case R_MIPS_TLS_GD:
|
case R_MIPS_TLS_GD:
|
||||||
case R_MIPS_TLS_LDM:
|
case R_MIPS_TLS_LDM:
|
||||||
if (dynobj == NULL)
|
if (dynobj == NULL)
|
||||||
@ -8852,7 +8856,7 @@ _bfd_elf_mips_get_relocated_section_contents
|
|||||||
input_section, relocatable,
|
input_section, relocatable,
|
||||||
data, gp);
|
data, gp);
|
||||||
else
|
else
|
||||||
r = bfd_perform_relocation (input_bfd, *parent, data,
|
r = bfd_perform_relocation (input_bfd, *parent, data,
|
||||||
input_section,
|
input_section,
|
||||||
relocatable ? abfd : NULL,
|
relocatable ? abfd : NULL,
|
||||||
&error_message);
|
&error_message);
|
||||||
@ -9005,7 +9009,7 @@ _bfd_mips_elf_final_link (bfd *abfd, struct bfd_link_info *info)
|
|||||||
&& !(*bed->elf_backend_omit_section_dynsym) (abfd, info, p))
|
&& !(*bed->elf_backend_omit_section_dynsym) (abfd, info, p))
|
||||||
++ dynsecsymcount;
|
++ dynsecsymcount;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! mips_elf_sort_hash_table (info, dynsecsymcount + 1))
|
if (! mips_elf_sort_hash_table (info, dynsecsymcount + 1))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user