From bf184ddc059f5a0da39aa929255223c2372d295b Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Mon, 9 Jan 2017 09:22:33 +0000 Subject: [PATCH] RISC-V/GAS: Correct branch relaxation for weak symbols. gas/ChangeLog 2017-01-09 Andrew Waterman * config/tc-riscv.c (relaxed_branch_length): Use the long sequence when the target is a weak symbol. --- gas/ChangeLog | 34 ++++++++++++++++++++++++++++++++++ gas/config/tc-riscv.c | 1 + 2 files changed, 35 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index bcd25a2869d..72c9db2e93a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -11,6 +11,40 @@ * testsuite/gas/i386/x86-64-avx512_vpopcntdqd.d: Ditto. * testsuite/gas/i386/x86-64-avx512_vpopcntdqd.s: Ditto. +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. + * doc/c-aarch64.texi (AArch64 Extensions): Document rcpc. + * testsuite/gas/aarch64/ldst-exclusive-armv8_3.d: Rename to ... + * testsuite/gas/aarch64/ldst-rcpc.d: This. + * testsuite/gas/aarch64/ldst-exclusive-armv8_3.s: Rename to ... + * testsuite/gas/aarch64/ldst-rcpc.s: This. + * testsuite/gas/aarch64/ldst-rcpc-armv8_2.d: New test. + +2017-01-04 Norm Jacobs + + PR gas/20992 + * configure.tgt: Treat sparcv9 as sparc64. + +2017-01-03 Kito Cheng + + * config/tc-riscv.c (riscv_set_arch): Whitelist the "q" ISA + extension. + (riscv_after_parse_args): Set FLOAT_ABI_QUAD when the Q ISA is + enabled and no other ABI is specified. + +2017-01-03 Dimitar Dimitrov + + * config/tc-pru.c (md_number_to_chars): Fix parameter to be + valueT, as declared in tc.h. + (md_apply_fix): Fix to work on 32-bit hosts. +>>>>>>> 0115611... RISC-V/GAS: Correct branch relaxation for weak symbols. + 2017-01-02 Alan Modra Update year range in copyright notice of all files. diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index 7f3b6cf2bef..3fe9e63a392 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -354,6 +354,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; -- 2.47.2