39623e120c
bfd/ * elf32-arm.c (elf32_arm_howto_table_1): Fix bitmasks for MOVW and MOVT relocations. (elf32_arm_final_link_relocate): Fix off by one MOVW/MOVT sign extension. (elf32_arm_relocate_section): Handle MOVW and MOVT relocations. Improve safety check for other weird relocations. (elf32_arm_check_relocs): Only set h->needs_plt for branch/call relocations. gas/ * config/tc-arm.c (md_apply_fix): Use correct offset range. ld/testsuite/ * ld-arm/arm-elf.exp (armelftests): Add movw-merge and arm-app-movw. * ld-arm/arm-app-movw.s: New test. * ld-arm/arm-app.r: Update expected output. * ld-arm/movw-merge.d: New test. * ld-arm/movw-merge.s: New test.
20 lines
343 B
ArmAsm
20 lines
343 B
ArmAsm
.arch armv7-a
|
|
.syntax unified
|
|
.text
|
|
.global _start
|
|
.type _start, %function
|
|
_start:
|
|
movw r0, #:lower16:.LC0
|
|
movt r0, #:upper16:.LC0
|
|
.thumb
|
|
.global tfunc
|
|
.type tfunc, %function
|
|
tfunc:
|
|
movw r0, #:lower16:.LC0
|
|
movt r0, #:upper16:.LC0
|
|
|
|
.section .rodata.str1.4,"aMS",%progbits,1
|
|
.align 2
|
|
.ascii "pad"
|
|
.LC0:
|
|
.ascii "inner: cont \000"
|