mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
1058c7532d
R_XTENSA_DIFF relocation offsets are in fact signed. Treat them as such. Add testcase that examines ld behaviour on R_XTENSA_DIFF relocation changing sign during relaxation. 2014-05-02 Volodymyr Arbatov <arbatov@cadence.com> David Weatherford <weath@cadence.com> Max Filippov <jcmvbkbc@gmail.com> bfd/ * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as signed. gas/ * config/tc-xtensa.c (md_apply_fix): mark BFD_RELOC_XTENSA_DIFF* fixups as signed. ld/testsuite/ * ld-xtensa/diff_overflow.exp, * ld-xtensa/diff_overflow1.s, * ld-xtensa/diff_overflow2.s: Add test for DIFF* relocation signedness and overflow checking.
23 lines
277 B
ArmAsm
23 lines
277 B
ArmAsm
.section .text.f1,"axG",@progbits,f1,comdat
|
|
.literal_position
|
|
.literal .L5, 0
|
|
.align 4
|
|
f4:
|
|
entry a1, 32
|
|
.Lf4:
|
|
l32r a2, .L5
|
|
l32r a2, .L5
|
|
nop
|
|
nop
|
|
retw
|
|
|
|
.section .text
|
|
f5:
|
|
entry a1, 32
|
|
.Lf5:
|
|
retw
|
|
|
|
.section .debug_frame,"",@progbits
|
|
.byte .Lf4 - f4
|
|
.byte .Lf5 - f5
|