From aff1a65ecb5cfcf1abfb23ea0e0f37f39e75683e Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 24 Jul 2015 16:44:27 +0100 Subject: 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. --- binutils/testsuite/ChangeLog | 6 ++++++ binutils/testsuite/binutils-all/localize-hidden-1.d | 1 + binutils/testsuite/binutils-all/strip-11.d | 2 ++ 3 files changed, 9 insertions(+) (limited to 'binutils') 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 + + * 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 * 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+ .* -- cgit v1.1