diff options
author | Jiong Wang <jiong.wang@arm.com> | 2014-08-26 15:48:47 +0100 |
---|---|---|
committer | Jiong Wang <jiong.wang@arm.com> | 2014-08-26 15:48:47 +0100 |
commit | 614b09cefb3bafa840fe5ed06c58024b0ff9c1cb (patch) | |
tree | 8f81648e5f08f7309aeb9a379e38e78a3b14ae56 /ld/testsuite/ld-aarch64/aarch64-elf.exp | |
parent | 2836a869c4607fd1200b928986092ffed20c1d32 (diff) | |
download | gdb-614b09cefb3bafa840fe5ed06c58024b0ff9c1cb.zip gdb-614b09cefb3bafa840fe5ed06c58024b0ff9c1cb.tar.gz gdb-614b09cefb3bafa840fe5ed06c58024b0ff9c1cb.tar.bz2 |
[AArch64] Improve copy relocation support on four absolute relocation types
2014-08-26 Jiong Wang <jiong.wang@arm.com>
bfd/
* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref
properly for MOVW_G0/1/2_NC and MOVW_G3. Reject them when linking
shared library.
(elfNN_aarch64_gc_sweep_hook): Add check on these relocs.
ld/testsuite/
* ld-aarch64/copy-relocs-so.s: New test file.
* ld-aarch64/copy-relocs-exe.s: Likewise.
* ld-aarch64/copy-relocs.d: New expectation file.
* ld-aarch64/emit-relocs-264-bad.d: New test file.
* ld-aarch64/emit-relocs-266-bad.d: Likewise.
* ld-aarch64/emit-relocs-268-bad.d: Likewise.
* ld-aarch64/emit-relocs-269-bad.d: Likewise.
* ld-aarch64/aarch64-elf.exp: Run new added test.
Diffstat (limited to 'ld/testsuite/ld-aarch64/aarch64-elf.exp')
-rw-r--r-- | ld/testsuite/ld-aarch64/aarch64-elf.exp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/ld/testsuite/ld-aarch64/aarch64-elf.exp b/ld/testsuite/ld-aarch64/aarch64-elf.exp index 36babf3..b3f6eb5 100644 --- a/ld/testsuite/ld-aarch64/aarch64-elf.exp +++ b/ld/testsuite/ld-aarch64/aarch64-elf.exp @@ -51,11 +51,15 @@ run_dump_test "emit-relocs-260-be" run_dump_test "emit-relocs-262" run_dump_test "emit-relocs-263" run_dump_test "emit-relocs-264" +run_dump_test "emit-relocs-264-bad" run_dump_test "emit-relocs-265" run_dump_test "emit-relocs-266" +run_dump_test "emit-relocs-266-bad" run_dump_test "emit-relocs-267" run_dump_test "emit-relocs-268" +run_dump_test "emit-relocs-268-bad" run_dump_test "emit-relocs-269" +run_dump_test "emit-relocs-269-bad" run_dump_test "emit-relocs-270" run_dump_test "emit-relocs-270-bad" run_dump_test "emit-relocs-271" @@ -163,3 +167,12 @@ run_dump_test "ifunc-21" run_dump_test "ifunc-22" run_dump_test "relasz" + +set aarch64elflinktests { + {"ld-aarch64/so with global symbol" "-shared" "" "" {copy-reloc-so.s} + {} "copy-reloc-so.so"} + {"ld-aarch64/exe with copy relocation" "-e0 tmpdir/copy-reloc-so.so" "" "" + {copy-reloc-exe.s} {{objdump -R copy-reloc.d}} "copy-reloc"} +} + +run_ld_link_tests $aarch64elflinktests |