[AArch64] Enable overflow check for TLSLE_MOVW_TPREL_G2
bfd/ * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check for TLSLE_MOVW_TPREL_G2. ld/testsuite/ * ld-aarch64/tprel_g2_overflow.s: New testcase. * ld-aarch64/tprel_g2_overflow.d: New expectation file. * ld-aarch64/aarch64-elf.exp: Run new testcase.
This commit is contained in:
parent
bab91cce20
commit
0172429c3b
6 changed files with 41 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2015-01-13 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
|
||||
for TLSLE_MOVW_TPREL_G2.
|
||||
|
||||
2015-01-13 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
PR ld/17415
|
||||
|
|
|
@ -968,7 +968,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
|
|||
12, /* bitsize */
|
||||
FALSE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_dont, /* complain_on_overflow */
|
||||
complain_overflow_unsigned, /* complain_on_overflow */
|
||||
bfd_elf_generic_reloc, /* special_function */
|
||||
AARCH64_R_STR (TLSLE_MOVW_TPREL_G2), /* name */
|
||||
FALSE, /* partial_inplace */
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2015-01-13 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* ld-aarch64/tprel_g2_overflow.s: New testcase.
|
||||
* ld-aarch64/tprel_g2_overflow.d: New expectation file.
|
||||
* ld-aarch64/aarch64-elf.exp: Run new testcase.
|
||||
|
||||
2015-01-13 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
PR ld/17415
|
||||
|
|
|
@ -131,6 +131,7 @@ run_dump_test "gc-plt-relocs"
|
|||
run_dump_test "gc-relocs-257-dyn"
|
||||
run_dump_test "gc-relocs-257"
|
||||
run_dump_test "pr17415"
|
||||
run_dump_test "tprel_g2_overflow"
|
||||
|
||||
# ifunc tests
|
||||
run_dump_test "ifunc-1"
|
||||
|
|
6
ld/testsuite/ld-aarch64/tprel_g2_overflow.d
Normal file
6
ld/testsuite/ld-aarch64/tprel_g2_overflow.d
Normal file
|
@ -0,0 +1,6 @@
|
|||
#name: TLS offset out of range - TPREL_G2
|
||||
#source: tprel_g2_overflow.s
|
||||
#as:
|
||||
#ld: -e0
|
||||
#error: .*\(.text\+0x\d+\): relocation truncated to fit: R_AARCH64_TLSLE_MOVW_TPREL_G2 against symbol `i' .*
|
||||
|
22
ld/testsuite/ld-aarch64/tprel_g2_overflow.s
Normal file
22
ld/testsuite/ld-aarch64/tprel_g2_overflow.s
Normal file
|
@ -0,0 +1,22 @@
|
|||
.cpu generic
|
||||
.global ff
|
||||
.section .tbss,"awT",%nobits
|
||||
.align 3
|
||||
.type ff, %object
|
||||
.size ff, 562949953421312
|
||||
ff:
|
||||
.zero 562949953421312
|
||||
.global i
|
||||
.align 2
|
||||
.type i, %object
|
||||
.size i, 4
|
||||
i:
|
||||
.zero 4
|
||||
.text
|
||||
.align 2
|
||||
.global main
|
||||
.type main, %function
|
||||
main:
|
||||
movz x0, #:tprel_g2:i
|
||||
ret
|
||||
.size main, .-main
|
Loading…
Reference in a new issue