aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d
diff options
context:
space:
mode:
authorNelson Chu <nelson.chu@sifive.com>2020-05-29 16:56:36 +0800
committerNelson Chu <nelson.chu@sifive.com>2020-06-05 12:20:53 +0800
commit412857647fecd41c45fab0d9c45198a0d2cbf6d5 (patch)
tree6d7dac8aa992b1ece6b59ad0be9a95929f73d41f /ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d
parent3fc6c3dc2af2283bd89f1b1278b39922416e8d1b (diff)
downloadgdb-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/attr-merge-priv-spec-failed-01.d')
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d5
1 files changed, 5 insertions, 0 deletions
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d
new file mode 100644
index 0000000..c52ebac
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d
@@ -0,0 +1,5 @@
+#source: attr-merge-priv-spec-a.s
+#source: attr-merge-priv-spec-c.s
+#as:
+#ld: -r
+#error: .*use privilege spec version 1.11.0 but the output use version 1.9.1.