7a9823f1a9
* bfd-in.h (bfd_h8300_pad_address): Declare. * bfd-in2.h: Regenerate. * cpu-h8300.c (bfd_h8300_pad_address): New function. * coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize addresses before checking whether they can be relaxed. (h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check. Don't complain about overflows in general 8-bit relocations. * elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address. Fix handling of R_H8_DIR24A8. ld/testsuite/ * ld-h8300/relax-3{.s,.d,-coff.d}: New test. * ld-h8300/h8300.exp: Run it.
33 lines
542 B
ArmAsm
33 lines
542 B
ArmAsm
.h8300s
|
|
.globl _start
|
|
_start:
|
|
# s3-s6 aren't valid 16-bit addresses.
|
|
mov.b @s1:16,r0l
|
|
mov.b @s2:16,r0l
|
|
mov.b @s7:16,r0l
|
|
mov.b @s8:16,r0l
|
|
mov.b @s9:16,r0l
|
|
mov.b @s10:16,r0l
|
|
|
|
mov.b @s1:32,r0l
|
|
mov.b @s2:32,r0l
|
|
mov.b @s3:32,r0l
|
|
mov.b @s4:32,r0l
|
|
mov.b @s5:32,r0l
|
|
mov.b @s6:32,r0l
|
|
mov.b @s7:32,r0l
|
|
mov.b @s8:32,r0l
|
|
mov.b @s9:32,r0l
|
|
mov.b @s10:32,r0l
|
|
|
|
.equ s1,0
|
|
.equ s2,0x7fff
|
|
.equ s3,0x8000
|
|
.equ s4,0xff00
|
|
.equ s5,0xffff00
|
|
.equ s6,0xffff7fff
|
|
.equ s7,0xffff8000
|
|
.equ s8,0xfffffeff
|
|
.equ s9,0xffffff00
|
|
.equ s10,0xffffffff
|