aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2011-05-31 13:40:04 +0000
committerPaul Brook <paul@codesourcery.com>2011-05-31 13:40:04 +0000
commit6e7ce2cdd34f7e3ad720e1d43a19635d79ce17b4 (patch)
treed8a159765825d07d54e8c5480dff705e6d356b1f /ld
parent12352d3f854285aaaecf6bc89df80e6247968a63 (diff)
downloadgdb-6e7ce2cdd34f7e3ad720e1d43a19635d79ce17b4.zip
gdb-6e7ce2cdd34f7e3ad720e1d43a19635d79ce17b4.tar.gz
gdb-6e7ce2cdd34f7e3ad720e1d43a19635d79ce17b4.tar.bz2
2011-05-31 Paul Brook <paul@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com> gas/ * config/tc-arm.c (fix_new_arm): Create an absolute symbol for pc-relative fixes to constants. * config/tc-arm.h (TC_FORCE_RELOCATATION_ABS): Define. ld/testsuite/ * ld-arm/abs-call-1.d: New. * ld-arm/abs-call-1.s: New. * ld-arm/arm-elf.exp: Add it.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog7
-rw-r--r--ld/testsuite/ld-arm/abs-call-1.d9
-rw-r--r--ld/testsuite/ld-arm/abs-call-1.s8
-rw-r--r--ld/testsuite/ld-arm/arm-elf.exp3
4 files changed, 27 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index a652cde..586356e 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,4 +1,11 @@
2011-05-31 Paul Brook <paul@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+
+ * ld-arm/abs-call-1.d: New.
+ * ld-arm/abs-call-1.s: New.
+ * ld-arm/arm-elf.exp: Add it.
+
+2011-05-31 Paul Brook <paul@codesourcery.com>
* ld-arm/tls-longplt.d: Update expected output.
* ld-arm/tls-thumb1.d: Ditto.
diff --git a/ld/testsuite/ld-arm/abs-call-1.d b/ld/testsuite/ld-arm/abs-call-1.d
new file mode 100644
index 0000000..4482beb
--- /dev/null
+++ b/ld/testsuite/ld-arm/abs-call-1.d
@@ -0,0 +1,9 @@
+.*: file format elf32-.*
+
+
+Disassembly of section .text:
+
+00008000 <arm>:
+ 8000: eb03dffe bl 100000 <foo>
+ 8004: ea03dffd b 100000 <foo>
+ 8008: eb03dffc bl 100000 <foo>
diff --git a/ld/testsuite/ld-arm/abs-call-1.s b/ld/testsuite/ld-arm/abs-call-1.s
new file mode 100644
index 0000000..c0a66b4
--- /dev/null
+++ b/ld/testsuite/ld-arm/abs-call-1.s
@@ -0,0 +1,8 @@
+
+ .type foo, %function
+ .set foo, 0x100000
+
+arm: bl 0x100000
+ b 0x100000
+ bl foo
+
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
index 95959f8..a8c51c2 100644
--- a/ld/testsuite/ld-arm/arm-elf.exp
+++ b/ld/testsuite/ld-arm/arm-elf.exp
@@ -413,6 +413,9 @@ set armelftests {
{objdump {-s -j.data -j.got} ifunc-16.gd}
{readelf -r ifunc-16.rd}}
"ifunc-16"}
+ {"abs call" "-T arm.ld" "" {abs-call-1.s}
+ {{objdump -d abs-call-1.d}}
+ "abs-call-1"}
}
run_ld_link_tests $armelftests