aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2015-07-24 16:44:27 +0100
committerNick Clifton <nickc@redhat.com>2015-07-24 16:44:27 +0100
commitaff1a65ecb5cfcf1abfb23ea0e0f37f39e75683e (patch)
tree06e40b920daf39a9f55075b40106bb2d074ba362 /binutils
parent5826e159863b6cd69953dc01faf7c20414409909 (diff)
downloadfsf-binutils-gdb-aff1a65ecb5cfcf1abfb23ea0e0f37f39e75683e.zip
fsf-binutils-gdb-aff1a65ecb5cfcf1abfb23ea0e0f37f39e75683e.tar.gz
fsf-binutils-gdb-aff1a65ecb5cfcf1abfb23ea0e0f37f39e75683e.tar.bz2
Fix the evaluation of RL78 complex relocs, by making immediate values be computed relative to a new absolute symbol.
gas * config/tc-rl78.c (rl78_abs_sym): New local variable. (md_begin): Initialise the new symbol. (OPIMM): Define the value to be relative to the new symbol and not the absolute section symbol. ld * emulparams/elf32rl78.sh (OTHER_SECTIONS): Provide a value for the _-rl78_abs__ symbol. tests * gas/all/struct.d: Allow for extra symbols in the output. * gas/macros/test1.d: Likewise. * gas/elf/elf.exp: Add an rl78 machine. * gas/elf/sections2e-rl78: New file. tests * binutils-all/localize-hidden-1.d: Allow for extra symbols in the output. * binutils-all/strip-11.d: Skip for the RL78.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/testsuite/ChangeLog6
-rw-r--r--binutils/testsuite/binutils-all/localize-hidden-1.d1
-rw-r--r--binutils/testsuite/binutils-all/strip-11.d2
3 files changed, 9 insertions, 0 deletions
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog
index 5f4fbc3..a0fb962 100644
--- a/binutils/testsuite/ChangeLog
+++ b/binutils/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2015-07-24 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/localize-hidden-1.d: Allow for extra symbols in the
+ output.
+ * binutils-all/strip-11.d: Skip for the RL78.
+
2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
* binutils-all/compress.exp: Update.
diff --git a/binutils/testsuite/binutils-all/localize-hidden-1.d b/binutils/testsuite/binutils-all/localize-hidden-1.d
index a5286ed..60dc556 100644
--- a/binutils/testsuite/binutils-all/localize-hidden-1.d
+++ b/binutils/testsuite/binutils-all/localize-hidden-1.d
@@ -12,6 +12,7 @@
0+2300 l .*\*ABS\* 0+ \.internal Ginternal
0+3200 l .*\*ABS\* 0+ \.hidden Whidden
0+3300 l .*\*ABS\* 0+ \.internal Winternal
+#...
0+2100 g .*\*ABS\* 0+ Gdefault
0+2400 g .*\*ABS\* 0+ \.protected Gprotected
0+3100 w.*\*ABS\* 0+ Wdefault
diff --git a/binutils/testsuite/binutils-all/strip-11.d b/binutils/testsuite/binutils-all/strip-11.d
index 04c47ab..92a6b6b 100644
--- a/binutils/testsuite/binutils-all/strip-11.d
+++ b/binutils/testsuite/binutils-all/strip-11.d
@@ -3,6 +3,8 @@
#strip: -g
#readelf: -S --wide
#name: strip -g empty file
+# The RL78 linker scripts always PROVIDE a __rl78_abs__ symbol so the stripped symbol table is never empty.
+#not-target: rl78-*-*
#...
\[ 0\] +NULL +0+ .*