aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <jimw@sifive.com>2019-11-12 15:50:48 -0800
committerJim Wilson <jimw@sifive.com>2019-11-12 15:53:22 -0800
commitc6261a00c3e70dd8e508062ea43a1bcb6d547621 (patch)
treeb7267edb54f7535ff9913d2394ad867d14717b3b /bfd/ChangeLog
parentgdb: Support printf 'z' size modifier (diff)
downloadbinutils-gdb-c6261a00c3e70dd8e508062ea43a1bcb6d547621.tar.gz
binutils-gdb-c6261a00c3e70dd8e508062ea43a1bcb6d547621.tar.bz2
binutils-gdb-c6261a00c3e70dd8e508062ea43a1bcb6d547621.zip
RISC-V: Fix ld relax failure with calls and align directives.
Make _bfd_riscv_relax_call handle section alignment padding same as the _bfd_riscv_relax_lui and _bfd_riscv_relax_pc functions already do. Use the max section alignment if section boundaries are crossed, otherwise the alignment of the containing section. bfd/ PR 25181 * elfnn-riscv.c (_bfd_riscv_relax_call): Always add max_alignment to foff. If sym_sec->output_section and sec->output_section are the same and not *ABS* then set max_alignment to that section's alignment. ld/ PR 25181 * testsuite/ld-riscv-elf/call-relax-0.s: New file. * testsuite/ld-riscv-elf/call-relax-1.s: New file. * testsuite/ld-riscv-elf/call-relax-2.s: New file. * testsuite/ld-riscv-elf/call-relax-3.s: New file. * testsuite/ld-riscv-elf/call-relax.d: New test. * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run call-relax test. Change-Id: Iaf65cee52345abf1955f36e8e72c4f6cc0db8d9a
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 07eb053c846..9370b7a8d04 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2019-11-12 Jim Wilson <jimw@sifive.com>
+
+ PR 25181
+ * elfnn-riscv.c (_bfd_riscv_relax_call): Always add max_alignment to
+ foff. If sym_sec->output_section and sec->output_section are the same
+ and not *ABS* then set max_alignment to that section's alignment.
+
2019-11-07 Alan Modra <amodra@gmail.com>
* cpu-cr16c.c: Delete.