aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2005-12-31 05:02:22 +0000
committerEric Christopher <echristo@gmail.com>2005-12-31 05:02:22 +0000
commit86324f906be18f6b17e9e5fa027803a231769e9e (patch)
tree4f0811a37e19b8096b00888eea35b6f9cfb0a967
parent193802ef6523c224ee82b739a932e08946191315 (diff)
downloadgdb-86324f906be18f6b17e9e5fa027803a231769e9e.zip
gdb-86324f906be18f6b17e9e5fa027803a231769e9e.tar.gz
gdb-86324f906be18f6b17e9e5fa027803a231769e9e.tar.bz2
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.
-rw-r--r--bfd/ChangeLog9
-rw-r--r--bfd/elfxx-mips.c10
2 files changed, 15 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 69f6512..027d5a7 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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>
* configure.host (hppa*64*-*-hpux*): Set host64 to true.
@@ -106,7 +113,7 @@
to make it clear that parameter ABFD is not used.
(hpux_core_core_file_matches_executable_p): Delete, replaced
by macro pointing to generic_core_file_matches_executable_p.
-
+
* aix386-core.c: Replace core_file_matches_executable_p null
implementation by generic_core_file_matches_executable_p by
using a macro.
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 6849048..99a0def 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -2637,6 +2637,9 @@ mips_elf_record_global_got_symbol (struct elf_link_hash_entry *h,
return FALSE;
}
+ /* Make sure we have a GOT to put this entry into. */
+ BFD_ASSERT (g != NULL);
+
entry.abfd = abfd;
entry.symndx = -1;
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)
symbol = gp;
-
+
/* Figure out what kind of relocation is being performed. */
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_OFST:
case R_MIPS_GOT_DISP:
+ case R_MIPS_TLS_GOTTPREL:
case R_MIPS_TLS_GD:
case R_MIPS_TLS_LDM:
if (dynobj == NULL)
@@ -8852,7 +8856,7 @@ _bfd_elf_mips_get_relocated_section_contents
input_section, relocatable,
data, gp);
else
- r = bfd_perform_relocation (input_bfd, *parent, data,
+ r = bfd_perform_relocation (input_bfd, *parent, data,
input_section,
relocatable ? abfd : NULL,
&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))
++ dynsecsymcount;
}
-
+
if (! mips_elf_sort_hash_table (info, dynsecsymcount + 1))
return FALSE;