aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-avr
diff options
context:
space:
mode:
authorSenthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>2016-06-15 12:25:30 +0530
committerSenthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>2016-06-15 12:47:46 +0530
commit31eef93e717c59975b3e6f37619ab956302ca37a (patch)
tree194d4aa078d127efbca0a794f15ce043e3d3fc23 /ld/testsuite/ld-avr
parent2a1d8bb3471a074ce35eb8ab9d8eb2093a5ecdb5 (diff)
downloadbinutils-31eef93e717c59975b3e6f37619ab956302ca37a.zip
binutils-31eef93e717c59975b3e6f37619ab956302ca37a.tar.gz
binutils-31eef93e717c59975b3e6f37619ab956302ca37a.tar.bz2
Fix PR ld/20254
This patch fixes another edge case related to alignment property records - reloc offsets adjacent to property record offsets were not getting adjusted during relaxation. bfd/ PR ld/20254 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc offsets until reloc_toaddr. ld/ PR ld/20254 * testsuite/ld-avr/avr-prop-6.d: New test. * testsuite/ld-avr/avr-prop-6.s: New test.
Diffstat (limited to 'ld/testsuite/ld-avr')
-rw-r--r--ld/testsuite/ld-avr/avr-prop-6.d14
-rw-r--r--ld/testsuite/ld-avr/avr-prop-6.s9
2 files changed, 23 insertions, 0 deletions
diff --git a/ld/testsuite/ld-avr/avr-prop-6.d b/ld/testsuite/ld-avr/avr-prop-6.d
new file mode 100644
index 0000000..1bf8aa1
--- /dev/null
+++ b/ld/testsuite/ld-avr/avr-prop-6.d
@@ -0,0 +1,14 @@
+#name: AVR .avr.prop, single .align sym at end of section test.
+#as: -mavrxmega2 -mlink-relax
+#ld: -mavrxmega2 --relax
+#source: avr-prop-6.s
+#objdump: -S
+#target: avr-*-*
+
+#...
+ 0: 00 c0 rjmp .+0 ; 0x2 <dest>
+
+00000002 <dest>:
+ 2: 00 00 nop
+ 4: fe cf rjmp .-4 ; 0x2 <dest>
+#...
diff --git a/ld/testsuite/ld-avr/avr-prop-6.s b/ld/testsuite/ld-avr/avr-prop-6.s
new file mode 100644
index 0000000..4aa3e67
--- /dev/null
+++ b/ld/testsuite/ld-avr/avr-prop-6.s
@@ -0,0 +1,9 @@
+ .text
+ .global _start, dest
+_start:
+ jmp dest
+ .align 1
+dest:
+ nop
+ rjmp dest
+