diff options
author | Nelson Chu <nelson.chu@sifive.com> | 2020-05-29 16:56:36 +0800 |
---|---|---|
committer | Nelson Chu <nelson.chu@sifive.com> | 2020-06-05 12:20:53 +0800 |
commit | 412857647fecd41c45fab0d9c45198a0d2cbf6d5 (patch) | |
tree | 6d7dac8aa992b1ece6b59ad0be9a95929f73d41f /ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp | |
parent | 3fc6c3dc2af2283bd89f1b1278b39922416e8d1b (diff) | |
download | gdb-412857647fecd41c45fab0d9c45198a0d2cbf6d5.zip gdb-412857647fecd41c45fab0d9c45198a0d2cbf6d5.tar.gz gdb-412857647fecd41c45fab0d9c45198a0d2cbf6d5.tar.bz2 |
RISC-V: The object without priv spec attributes can be linked with any object.
bfd/
* elfnn-riscv.c (riscv_merge_attributes): Add new boolean
priv_may_conflict, in_priv_zero and out_priv_zero to decide whether
the object can be linked according to it's priv attributes. The object
without any priv spec attributes can be linked with others. If the first
input object doesn't contain any priv attributes, then we need to copy
the setting from the next input one. Also report more detailed error
messages to user.
ld/
* testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Rename to
attr-merge-priv-spec-01.d.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-c.s: Set priv spec
to 1.11.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-d.s: Empty priv spec
setting.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-02.d: New testcase.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-03.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-02.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-03.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-04.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-05.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-06.d: Likewise.
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.
Diffstat (limited to 'ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp')
-rw-r--r-- | ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp index 0e9750e..1a0c68f 100644 --- a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp +++ b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp @@ -35,9 +35,17 @@ if [istarget "riscv*-*-*"] { run_dump_test "attr-merge-strict-align-04" run_dump_test "attr-merge-strict-align-05" run_dump_test "attr-merge-stack-align" - run_dump_test "attr-merge-priv-spec" + run_dump_test "attr-merge-priv-spec-01" + run_dump_test "attr-merge-priv-spec-02" + run_dump_test "attr-merge-priv-spec-03" run_dump_test "attr-merge-arch-failed-01" run_dump_test "attr-merge-stack-align-failed" + run_dump_test "attr-merge-priv-spec-failed-01" + run_dump_test "attr-merge-priv-spec-failed-02" + run_dump_test "attr-merge-priv-spec-failed-03" + run_dump_test "attr-merge-priv-spec-failed-04" + run_dump_test "attr-merge-priv-spec-failed-05" + run_dump_test "attr-merge-priv-spec-failed-06" run_ld_link_tests { { "Weak reference 32" "-T weakref.ld -melf32lriscv" "" "-march=rv32i -mabi=ilp32" {weakref32.s} |