aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@rr.iij4u.or.jp>2002-11-28 23:57:59 +0000
committerKaz Kojima <kkojima@rr.iij4u.or.jp>2002-11-28 23:57:59 +0000
commit2bba414012707d7c1267005b9dd9cd12c200fa87 (patch)
tree2556a5bc3afe2f345ed89141a17dd29759a589b7
parent7925dd68c97aa972e07c286047dc646cff33fada (diff)
downloadgdb-2bba414012707d7c1267005b9dd9cd12c200fa87.zip
gdb-2bba414012707d7c1267005b9dd9cd12c200fa87.tar.gz
gdb-2bba414012707d7c1267005b9dd9cd12c200fa87.tar.bz2
* config/tc-sh.c (md_apply_fix3): Call S_SET_THREAD_LOCAL
for TLS relocations.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-sh.c10
2 files changed, 12 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 72d741b..2925f13 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2002-11-29 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * config/tc-sh.c (md_apply_fix3): Call S_SET_THREAD_LOCAL
+ for TLS relocations.
+
2002-11-29 Jakub Jelinek <jakub@redhat.com>
* config/tc-ia64.c (md_apply_fix3): Add default case.
diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c
index 5c62303..eac7fc1 100644
--- a/gas/config/tc-sh.c
+++ b/gas/config/tc-sh.c
@@ -3544,18 +3544,22 @@ md_apply_fix3 (fixP, valP, seg)
md_number_to_chars (buf, val, 4);
break;
- case BFD_RELOC_32_GOT_PCREL:
- case BFD_RELOC_SH_GOTPLT32:
case BFD_RELOC_SH_TLS_GD_32:
case BFD_RELOC_SH_TLS_LD_32:
case BFD_RELOC_SH_TLS_IE_32:
+ S_SET_THREAD_LOCAL (fixP->fx_addsy);
+ /* Fallthrough */
+ case BFD_RELOC_32_GOT_PCREL:
+ case BFD_RELOC_SH_GOTPLT32:
* valP = 0; /* Fully resolved at runtime. No addend. */
md_number_to_chars (buf, 0, 4);
break;
- case BFD_RELOC_32_GOTOFF:
case BFD_RELOC_SH_TLS_LDO_32:
case BFD_RELOC_SH_TLS_LE_32:
+ S_SET_THREAD_LOCAL (fixP->fx_addsy);
+ /* Fallthrough */
+ case BFD_RELOC_32_GOTOFF:
md_number_to_chars (buf, val, 4);
break;
#endif