diff options
author | Andrew Waterman <andrew@sifive.com> | 2017-01-09 09:22:33 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2017-01-09 09:22:33 +0000 |
commit | 011561117eeaff00862eb5f465c3470f29e8a9a9 (patch) | |
tree | 4990224deb802c8e86ffe356cab713aa4bde8087 | |
parent | 3254d32c4b47f17a7d609f25394fbfb2313f09ff (diff) | |
download | binutils-011561117eeaff00862eb5f465c3470f29e8a9a9.zip binutils-011561117eeaff00862eb5f465c3470f29e8a9a9.tar.gz binutils-011561117eeaff00862eb5f465c3470f29e8a9a9.tar.bz2 |
RISC-V/GAS: Correct branch relaxation for weak symbols.
* config/tc-riscv.c (relaxed_branch_length): Use the long
sequence when the target is a weak symbol.
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-riscv.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index c93a61b..00f6d1a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2017-01-09 Andrew Waterman <andrew@sifive.com> + + * config/tc-riscv.c (relaxed_branch_length): Use the long + sequence when the target is a weak symbol. + 2017-01-04 Szabolcs Nagy <szabolcs.nagy@arm.com> * config/tc-aarch64.c (aarch64_features): Add rcpc. diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index 1f61730..b8da6ce 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -360,6 +360,7 @@ relaxed_branch_length (fragS *fragp, asection *sec, int update) if (fragp->fr_symbol != NULL && S_IS_DEFINED (fragp->fr_symbol) + && !S_IS_WEAK (fragp->fr_symbol) && sec == S_GET_SEGMENT (fragp->fr_symbol)) { offsetT val = S_GET_VALUE (fragp->fr_symbol) + fragp->fr_offset; |