binutils-gdb/ld/testsuite/ld-avr
Senthil Kumar Selvaraj 7622049e0b Fix PR 24571 - Relaxation does not shorten jmp or call to target at pc-relative range boundary
The range check done to transform an absolute call/jump to a pc-relative one is
off-by-one, and that causes this shortening optimization to be missed if the
branch target is right at the range boundary.

In the non-shrinkable case, the range is what is mentioned in the ISA - -4094
bytes in the backward direction, and 4096 bytes in the positive direction.

In the shrinkable case, the forward jump range increases by two bytes (deleted
because of the shortening from call/jmp to rcall/rjmp), and therefore, the
range is -4094 in the reverse, and 4098 in the positive direction.

Fix the ranges for !shrinkable and shrinkable cases, and add a test caes to
ensure jumps to max forward and backward ranges get relaxed to rjmp.
2019-05-21 12:48:06 +05:30
..
avr-prop-1.d
avr-prop-1.s
avr-prop-2.d
avr-prop-2.s
avr-prop-3.d
avr-prop-3.s
avr-prop-4.d
avr-prop-4.s
avr-prop-5.d Fix PR 20221 - adjust syms and relocs only if relax shrunk section. 2016-06-09 19:17:43 +03:00
avr-prop-5.s Fix PR 20221 - adjust syms and relocs only if relax shrunk section. 2016-06-09 19:17:43 +03:00
avr-prop-6.d Fix PR ld/20254 2016-06-15 12:47:46 +05:30
avr-prop-6.s Fix PR ld/20254 2016-06-15 12:47:46 +05:30
avr-prop-7.d Fix PR ld/20545 - relaxation bugs in avr backend 2016-09-06 12:28:37 +05:30
avr-prop-7.s Fix PR ld/20545 - relaxation bugs in avr backend 2016-09-06 12:28:37 +05:30
avr-prop-8.d Fix PR ld/20545 - relaxation bugs in avr backend 2016-09-06 12:28:37 +05:30
avr-prop-8.s Fix PR ld/20545 - relaxation bugs in avr backend 2016-09-06 12:28:37 +05:30
avr.exp Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
gc-section-debugline.d Fix more fallout from 17f6ade235 2018-09-21 09:55:38 +09:30
lds-mega.d Print symbol names in comments for LDS/STS disassembly. 2016-06-09 19:00:57 +03:00
lds-mega.s Print symbol names in comments for LDS/STS disassembly. 2016-06-09 19:00:57 +03:00
lds-tiny.d Print symbol names in comments for LDS/STS disassembly. 2016-06-09 19:00:57 +03:00
lds-tiny.s Print symbol names in comments for LDS/STS disassembly. 2016-06-09 19:00:57 +03:00
norelax_diff.d
per-function-debugline.s
pr13402.d Fix PR 13402 2017-06-27 14:47:02 +05:30
pr13402.s Fix PR 13402 2017-06-27 14:47:02 +05:30
pr20789.d Fix PR20789 - relaxation with negative valued diff relocs 2016-11-16 16:11:46 +05:30
pr20789.s Fix PR20789 - relaxation with negative valued diff relocs 2016-11-16 16:11:46 +05:30
pr21404-1.d Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-1.s Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-2.d Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-2.s Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-3.d Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-3.s Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-4.d Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-4.s Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-5.d Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-5.s Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-6.d Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-6.s Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-7.d Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-7.s Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-8.d Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
pr21404-8.s Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
region_overflow.d
region_overflow.s
relax_diff.d
relax-02.d
relax-02.s
relax-03.d
relax-03.s
relax-elf-flags-01.d
relax-elf-flags-02.d
relax-elf-flags-03.d
relax-elf-flags-04.d
relax-elf-flags-05.d
relax-elf-flags-06.d
relax-elf-flags-07.d
relax-elf-flags-08.d
relax-elf-flags-a.s
relax-elf-flags-b.s
relax-insn-at-range-boundary.d Fix PR 24571 - Relaxation does not shorten jmp or call to target at pc-relative range boundary 2019-05-21 12:48:06 +05:30
relax-insn-at-range-boundary.s Fix PR 24571 - Relaxation does not shorten jmp or call to target at pc-relative range boundary 2019-05-21 12:48:06 +05:30
relax.s
wraparound-range-boundary.d Fix PR 24564 - link fails for some rcalls/rjmps with wraparound 2019-05-21 12:34:22 +05:30
wraparound-range-boundary.s Fix PR 24564 - link fails for some rcalls/rjmps with wraparound 2019-05-21 12:34:22 +05:30