[binutils-gdb] [aarch64] Add support for pointer authentication B key

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

[binutils-gdb] [aarch64] Add support for pointer authentication B key

sergiodj+buildbot-2
*** TEST RESULTS FOR COMMIT 3a67e1a6b4430374f3073e51bb19347d4c421cfe ***

Author: Sam Tebbs <[hidden email]>
Branch: master
Commit: 3a67e1a6b4430374f3073e51bb19347d4c421cfe

[aarch64] Add support for pointer authentication B key

Armv8.3-A has another key used in pointer authentication called the
B-key (other than the A-key that is already supported). In order for
stack unwinders to work it is necessary to be able to identify frames
that have been signed with the B-key rather than the A-key and it was
felt that keeping this as an augmentation character in the CIE was the
best bet. The DWARF extensions for ARM therefore propose to add a new
augmentation character 'B' to the CIE augmentation string and the
corresponding cfi directive ".cfi_b_key_frame". I've made the relevant
changes to GAS and LD to add support for B-key unwinding, which required
modifying LD to check for 'B' in the augmentation string, adding the
".cfi_b_key_frame" directive to GAS and adding a "pauth_key" field to
GAS's fde_entry and cie_entry structs.

The pointer authentication instructions will behave as NOPs on
architectures that don't support them, and so a check for the
architecture being assembled for is not necessary since there will be no
behavioural difference between augmentation strings with and without the
'B' character on such architectures.

2018-12-05  Sam Tebbs  <[hidden email]>

bfd/
        * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Add check for 'B'.

gas/
        * dw2gencfi.c (struct cie_entry): Add tc_cie_entry_extras invocation.
        (alloc_fde_entry): Add tc_fde_entry_init_extra invocation.
        (output_cie): Add tc_output_cie_extra invocation.
        (select_cie_for_fde): Add tc_cie_fde_equivalent_extra and
        tc_cie_entry_init_extra invocation.
        (frch_cfi_data, cfa_save_data): Move to dwgencfi.h.
        * config/tc-aarch64.c (s_aarch64_cfi_b_key_frame): Declare.
        (md_pseudo_table): Add "cfi_b_key_frame".
        * config/tc-aarch64.h (tc_fde_entry_extras, tc_cie_entry_extras,
        tc_fde_entry_init_extra, tc_output_cie_extra,
        tc_cie_fde_equivalent_extra, tc_cie_entry_init_extra): Define.
        * dw2gencfi.h (struct fde_entry): Add tc_fde_entry_extras invocation.
        (pointer_auth_key): Define.
        (frch_cfi_data, cfa_save_data): Move from dwgencfi.c.
        * doc/c-aarch64.texi (.cfi_b_key_frame): Add documentation.
        * testsuite/gas/aarch64/(pac_ab_key.d, pac_ab_key.s): New file.
Reply | Threaded
Open this post in threaded view
|

Failures on RHEL-s390x-m64, branch master

sergiodj+buildbot-2
Buildslave:
        rhel-7_1-s390x-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/RHEL-s390x-m64/builds/8883>

Commit(s) tested:
        3a67e1a6b4430374f3073e51bb19347d4c421cfe

Author(s) (in the same order as the commits):
        Sam Tebbs <[hidden email]>

Subject:
        [aarch64] Add support for pointer authentication B key

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/RHEL-s390x-m64/3a/3a67e1a6b4430374f3073e51bb19347d4c421cfe/>

*** Diff to previous build ***
============================
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=17: wait for stops
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=0: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=1: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/RHEL-s390x-m64/xfails/master/xfail?id=e8b4bade>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/RHEL-s390x-m64/xfails/master/xfail.table?id=e8b4bade>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-i686, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-3

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-i686/builds/11596>

Commit(s) tested:
        3a67e1a6b4430374f3073e51bb19347d4c421cfe

Author(s) (in the same order as the commits):
        Sam Tebbs <[hidden email]>

Subject:
        [aarch64] Add support for pointer authentication B key

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-i686/3a/3a67e1a6b4430374f3073e51bb19347d4c421cfe/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=1: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=0: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-i686/xfails/master/xfail?id=d9b5a952>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-i686/xfails/master/xfail.table?id=d9b5a952>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-cc-with-index, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-cc-with-index/builds/11510>

Commit(s) tested:
        3a67e1a6b4430374f3073e51bb19347d4c421cfe

Author(s) (in the same order as the commits):
        Sam Tebbs <[hidden email]>

Subject:
        [aarch64] Add support for pointer authentication B key

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-cc-with-index/3a/3a67e1a6b4430374f3073e51bb19347d4c421cfe/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=1: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-cc-with-index/xfails/master/xfail?id=b0ba036e>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-cc-with-index/xfails/master/xfail.table?id=b0ba036e>



Reply | Threaded
Open this post in threaded view
|

Failures on Debian-s390x-native-extended-gdbserver-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        debian-jessie-s390x-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Debian-s390x-native-extended-gdbserver-m64/builds/7189>

Commit(s) tested:
        3a67e1a6b4430374f3073e51bb19347d4c421cfe

Author(s) (in the same order as the commits):
        Sam Tebbs <[hidden email]>

Subject:
        [aarch64] Add support for pointer authentication B key

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Debian-s390x-native-extended-gdbserver-m64/3a/3a67e1a6b4430374f3073e51bb19347d4c421cfe/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.base/reread-readsym.exp: source reread-readsym.gdb 2
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Debian-s390x-native-extended-gdbserver-m64/xfails/master/xfail?id=7e6e0858>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Debian-s390x-native-extended-gdbserver-m64/xfails/master/xfail.table?id=7e6e0858>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-extended-gdbserver-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-4

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-native-extended-gdbserver-m64/builds/11546>

Commit(s) tested:
        3a67e1a6b4430374f3073e51bb19347d4c421cfe

Author(s) (in the same order as the commits):
        Sam Tebbs <[hidden email]>

Subject:
        [aarch64] Add support for pointer authentication B key

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-native-extended-gdbserver-m64/3a/3a67e1a6b4430374f3073e51bb19347d4c421cfe/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-native-extended-gdbserver-m64/xfails/master/xfail?id=ed344788>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-native-extended-gdbserver-m64/xfails/master/xfail.table?id=ed344788>



Reply | Threaded
Open this post in threaded view
|

Failures on Debian-s390x-native-gdbserver-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        debian-jessie-s390x-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Debian-s390x-native-gdbserver-m64/builds/7046>

Commit(s) tested:
        3a67e1a6b4430374f3073e51bb19347d4c421cfe

Author(s) (in the same order as the commits):
        Sam Tebbs <[hidden email]>

Subject:
        [aarch64] Add support for pointer authentication B key

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Debian-s390x-native-gdbserver-m64/3a/3a67e1a6b4430374f3073e51bb19347d4c421cfe/>

*** Diff to previous build ***
============================
new UNRESOLVED: gdb.mi/mi-break.exp: mi-mode=separate:
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Debian-s390x-native-gdbserver-m64/xfails/master/xfail?id=19e746c0>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Debian-s390x-native-gdbserver-m64/xfails/master/xfail.table?id=19e746c0>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-extended-gdbserver-m32, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-2

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-native-extended-gdbserver-m32/builds/11275>

Commit(s) tested:
        3a67e1a6b4430374f3073e51bb19347d4c421cfe

Author(s) (in the same order as the commits):
        Sam Tebbs <[hidden email]>

Subject:
        [aarch64] Add support for pointer authentication B key

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-native-extended-gdbserver-m32/3a/3a67e1a6b4430374f3073e51bb19347d4c421cfe/>

*** Diff to previous build ***
============================
new FAIL: gdb.base/corefile.exp: core-file warning-free
PASS -> FAIL: gdb.base/foll-exec-mode.exp: same,continue,no_infswitch: use correct executable
PASS -> FAIL: gdb.base/foll-exec-mode.exp: same,next,no_infswitch: use correct executable
PASS -> FAIL: gdb.base/multi-forks.exp: info inferior 3
PASS -> FAIL: gdb.base/multi-forks.exp: run to exit 3
new UNRESOLVED: gdb.linespec/explicit.exp: delete all breakpoints in delete_breakpoints
FAIL -> UNRESOLVED: gdb.mi/mi-exec-run.exp: inferior-tty=main: mi=main: force-fail=1: run failure detected
FAIL -> UNRESOLVED: gdb.mi/mi-exec-run.exp: inferior-tty=main: mi=separate: force-fail=1: run failure detected
FAIL -> UNRESOLVED: gdb.mi/mi-exec-run.exp: inferior-tty=separate: mi=main: force-fail=1: run failure detected
FAIL -> UNRESOLVED: gdb.mi/mi-exec-run.exp: inferior-tty=separate: mi=separate: force-fail=1: run failure detected
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-native-extended-gdbserver-m32/xfails/master/xfail?id=d39bf374>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-native-extended-gdbserver-m32/xfails/master/xfail.table?id=d39bf374>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-gdbserver-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-3

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-native-gdbserver-m64/builds/11511>

Commit(s) tested:
        3a67e1a6b4430374f3073e51bb19347d4c421cfe

Author(s) (in the same order as the commits):
        Sam Tebbs <[hidden email]>

Subject:
        [aarch64] Add support for pointer authentication B key

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-native-gdbserver-m64/3a/3a67e1a6b4430374f3073e51bb19347d4c421cfe/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-native-gdbserver-m64/xfails/master/xfail?id=0fc024e7>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-native-gdbserver-m64/xfails/master/xfail.table?id=0fc024e7>



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-Aarch64-native-extended-gdbserver-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        ubuntu16-aarch64

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Ubuntu-Aarch64-native-extended-gdbserver-m64/builds/239>

Commit(s) tested:
        3a67e1a6b4430374f3073e51bb19347d4c421cfe

Author(s) (in the same order as the commits):
        Sam Tebbs <[hidden email]>

Subject:
        [aarch64] Add support for pointer authentication B key

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-Aarch64-native-extended-gdbserver-m64/3a/3a67e1a6b4430374f3073e51bb19347d4c421cfe/>




Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-Aarch64-native-gdbserver-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        ubuntu16-aarch64

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Ubuntu-Aarch64-native-gdbserver-m64/builds/4608>

Commit(s) tested:
        3a67e1a6b4430374f3073e51bb19347d4c421cfe

Author(s) (in the same order as the commits):
        Sam Tebbs <[hidden email]>

Subject:
        [aarch64] Add support for pointer authentication B key

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-Aarch64-native-gdbserver-m64/3a/3a67e1a6b4430374f3073e51bb19347d4c421cfe/>