aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@rr.iij4u.or.jp>2002-11-30 14:09:12 +0000
committerKaz Kojima <kkojima@rr.iij4u.or.jp>2002-11-30 14:09:12 +0000
commit0174e383ca06a8115b179428d4f68a7bdd3e08f2 (patch)
tree90e25a156954b571ff0218560104bafa799c456b
parent08a1b063ad62ecc1d30f920adf32d46cdc04b1d7 (diff)
downloadgdb-0174e383ca06a8115b179428d4f68a7bdd3e08f2.zip
gdb-0174e383ca06a8115b179428d4f68a7bdd3e08f2.tar.gz
gdb-0174e383ca06a8115b179428d4f68a7bdd3e08f2.tar.bz2
* config/tc-sh.c (md_apply_fix3): Take account of fx_offset
for BFD_RELOC_32_PLT_PCREL. * sh/gas/sh/pic.s: Add a test for ".long foo@PLT+.-2-label". * sh/gas/sh/pic.d: Add expected output.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-sh.c2
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/sh/pic.d3
-rw-r--r--gas/testsuite/gas/sh/pic.s2
5 files changed, 16 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 31bc8e1..ef0ae72 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2002-11-30 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * config/tc-sh.c (md_apply_fix3): Take account of fx_offset
+ for BFD_RELOC_32_PLT_PCREL.
+
2002-11-30 Alan Modra <amodra@bigpond.net.au>
* dwarf2dbg.c, write.c, config/obj-aout.c, config/obj-coff.c,
diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c
index 74b7593..e9b5d0d 100644
--- a/gas/config/tc-sh.c
+++ b/gas/config/tc-sh.c
@@ -3516,7 +3516,7 @@ md_apply_fix3 (fixP, valP, seg)
/* Make the jump instruction point to the address of the operand. At
runtime we merely add the offset to the actual PLT entry. */
* valP = 0xfffffffc;
- val = 0;
+ val = fixP->fx_offset;
if (fixP->fx_subsy)
val -= S_GET_VALUE (fixP->fx_subsy);
fixP->fx_addnumber = val;
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 396a852..3a7f205 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2002-11-30 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * sh/gas/sh/pic.s: Add a test for ".long foo@PLT+.-2-label".
+ * sh/gas/sh/pic.d: Add expected output.
+
2002-11-29 Nick Clifton <nickc@redhat.com>
* gas/arm/arch5tej.s: Replace "nop"s with tests of breakpoint
diff --git a/gas/testsuite/gas/sh/pic.d b/gas/testsuite/gas/sh/pic.d
index f4ac775..9a2d0ce 100644
--- a/gas/testsuite/gas/sh/pic.d
+++ b/gas/testsuite/gas/sh/pic.d
@@ -38,3 +38,6 @@ Disassembly of section \.text:
0x00000040 00 00 \.word 0x0000
40: R_SH_PLT32 foo
0x00000042 00 14 mov\.b r1,@\(r0,r0\)
+0x00000044 00 00 \.word 0x0000
+ 44: R_SH_PLT32 foo
+0x00000046 00 1e mov\.l @\(r0,r1\),r0
diff --git a/gas/testsuite/gas/sh/pic.s b/gas/testsuite/gas/sh/pic.s
index 6e0c53e..bb9551c 100644
--- a/gas/testsuite/gas/sh/pic.s
+++ b/gas/testsuite/gas/sh/pic.s
@@ -39,3 +39,5 @@
.long foo@PLT + . - (.LPLTcall_old + 2)
.Lfooplt_new:
.long foo@PLT - (.LPLTcall_new + 2 - .)
+.Lfooplt_old2:
+ .long foo@PLT + . - 2 - .LPLTcall_old