summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2006-08-14 12:19:20 +0000
committerThiemo Seufer <ths@networkno.de>2006-08-14 12:19:20 +0000
commit4b189986af509ae50e4e34a7b845dd33e6819107 (patch)
treeb1520e2c5dea8dbb441c9c5d46abea4e5d18df61
parentbf7d2fcf2a530aa224d284a6b4a180500ae70e50 (diff)
downloadgdb-4b189986af509ae50e4e34a7b845dd33e6819107.tar.gz
* elfxx-mips.c (_bfd_mips_elf_symbol_processing,
_bfd_mips_elf_add_symbol_hook): Don't try to place small common TLS symbols in .scommon.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elfxx-mips.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4c7c224a25b..1ee68b9f217 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2006-08-14 Thiemo Seufer <ths@mips.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_symbol_processing,
+ _bfd_mips_elf_add_symbol_hook): Don't try to place small common TLS
+ symbols in .scommon.
+
2006-08-11 Thiemo Seufer <ths@mips.com>
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Set
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 726c45835c1..8ebd2f9450b 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -5095,6 +5095,7 @@ _bfd_mips_elf_symbol_processing (bfd *abfd, asymbol *asym)
/* Common symbols less than the GP size are automatically
treated as SHN_MIPS_SCOMMON symbols on IRIX5. */
if (asym->value > elf_gp_size (abfd)
+ || ELF_ST_TYPE (elfsym->internal_elf_sym.st_info) == STT_TLS
|| IRIX_COMPAT (abfd) == ict_irix6)
break;
/* Fall through. */
@@ -5735,6 +5736,7 @@ _bfd_mips_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
/* Common symbols less than the GP size are automatically
treated as SHN_MIPS_SCOMMON symbols. */
if (sym->st_size > elf_gp_size (abfd)
+ || ELF_ST_TYPE (sym->st_info) == STT_TLS
|| IRIX_COMPAT (abfd) == ict_irix6)
break;
/* Fall through. */