From: Andrew Waterman Date: Mon, 9 Jan 2017 09:22:33 +0000 (+0000) Subject: RISC-V/GAS: Correct branch relaxation for weak symbols. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=011561117eeaff00862eb5f465c3470f29e8a9a9;p=binutils-gdb.git 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. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index c93a61bc19d..00f6d1aa8e3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2017-01-09 Andrew Waterman + + * config/tc-riscv.c (relaxed_branch_length): Use the long + sequence when the target is a weak symbol. + 2017-01-04 Szabolcs Nagy * config/tc-aarch64.c (aarch64_features): Add rcpc. diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index 1f617303493..b8da6ce390b 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;