diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2019-04-25 15:06:53 +0100 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2019-05-24 15:07:42 +0100 |
commit | f166ae0188dcb89c5ae925034260a708a254ab2f (patch) | |
tree | 8826f08fe24117fe6cd3d747c50b69c8d890e263 /gas/testsuite | |
parent | 2301ed1c9af1316b4bad3747d2b03f7d44940f87 (diff) | |
download | gdb-f166ae0188dcb89c5ae925034260a708a254ab2f.zip gdb-f166ae0188dcb89c5ae925034260a708a254ab2f.tar.gz gdb-f166ae0188dcb89c5ae925034260a708a254ab2f.tar.bz2 |
aarch64: handle .variant_pcs directive in gas
In ELF objects the specified symbol is marked with STO_AARCH64_VARIANT_PCS.
gas/ChangeLog:
* config/tc-aarch64.c (s_variant_pcs): New function.
* doc/c-aarch64.texi: Document .variant_pcs.
* testsuite/gas/aarch64/symbol-variant_pcs-1.d: New test.
* testsuite/gas/aarch64/symbol-variant_pcs-1.s: New test.
* testsuite/gas/aarch64/symbol-variant_pcs-2.d: New test.
* testsuite/gas/aarch64/symbol-variant_pcs-2.s: New test.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/gas/aarch64/symbol-variant_pcs-1.d | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/symbol-variant_pcs-1.s | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/symbol-variant_pcs-2.d | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/symbol-variant_pcs-2.s | 4 |
4 files changed, 31 insertions, 0 deletions
diff --git a/gas/testsuite/gas/aarch64/symbol-variant_pcs-1.d b/gas/testsuite/gas/aarch64/symbol-variant_pcs-1.d new file mode 100644 index 0000000..6257ce1 --- /dev/null +++ b/gas/testsuite/gas/aarch64/symbol-variant_pcs-1.d @@ -0,0 +1,10 @@ +#objdump: -t + +.*: file format .* + +SYMBOL TABLE: +0+ l d \.text 0+ \.text +0+ l d \.data 0+ \.data +0+ l d \.bss 0+ \.bss +0+ l \.text 0+ func +0+ \*UND\* 0+ 0x80 foobar diff --git a/gas/testsuite/gas/aarch64/symbol-variant_pcs-1.s b/gas/testsuite/gas/aarch64/symbol-variant_pcs-1.s new file mode 100644 index 0000000..aecb9bd --- /dev/null +++ b/gas/testsuite/gas/aarch64/symbol-variant_pcs-1.s @@ -0,0 +1,8 @@ +.text +.variant_pcs foobar +func: + bl foobar + b foobar + +.data +.xword foobar diff --git a/gas/testsuite/gas/aarch64/symbol-variant_pcs-2.d b/gas/testsuite/gas/aarch64/symbol-variant_pcs-2.d new file mode 100644 index 0000000..d9b60ac --- /dev/null +++ b/gas/testsuite/gas/aarch64/symbol-variant_pcs-2.d @@ -0,0 +1,9 @@ +#objdump: -t + +.*: file format .* + +SYMBOL TABLE: +0+ l d \.text 0+ \.text +0+ l d \.data 0+ \.data +0+ l d \.bss 0+ \.bss +0+ l \.text 0+ 0x80 foo diff --git a/gas/testsuite/gas/aarch64/symbol-variant_pcs-2.s b/gas/testsuite/gas/aarch64/symbol-variant_pcs-2.s new file mode 100644 index 0000000..820733b --- /dev/null +++ b/gas/testsuite/gas/aarch64/symbol-variant_pcs-2.s @@ -0,0 +1,4 @@ +.text +.variant_pcs foo +foo: + ret |