Message ID | 20250622011811.371949-1-thiago.bauermann@linaro.org |
---|---|
Headers | show |
Series | AArch64 Guarded Control Stack support | expand |
Hi Thiago, Thanks for the updates. On 6/22/25 02:18, Thiago Jung Bauermann wrote: > Hello, > > This version addresses review comments from Eli and Luis. There are only > small changes in patches 5, 8 and 9. The individual patches have changelogs > pointing out the differences. > > As with v2, the first 3 patches are from Christina's CET shadow stack v4 > series and are included in this series so that the CI can apply and test > it. > > For convenience, I pushed the branch users/bauermann/gcs-v3 to the GDB repo > containing the whole stack. > > v2 can be found here: > https://inbox.sourceware.org/gdb-patches/20250618055445.709416-1-thiago.bauermann@linaro.org/ > > v1 can be found here: > https://inbox.sourceware.org/gdb-patches/20250608010338.2234530-1-thiago.bauermann@linaro.org/ > > Christina Schimpe (3): > GDB: Linux: Add function linux_address_in_shadow_stack_mem_range > gdb, gdbarch: Enable inferior calls for shadow stack support. > gdb, gdbarch: Introduce gdbarch method to get the shadow stack > pointer. > > Thiago Jung Bauermann (6): > bfd/aarch64-linux: Support reading and writing the GCS core file note > GDB, gdbserver: aarch64-linux: Initial Guarded Control Stack support > GDB: aarch64-linux: GCS support in Linux signals > GDB: aarch64-linux: Implement GCS support in displaced stepping > GDB: aarch64-linux: Support unwinding the GCSPR > GDB: doc: Document Linux AArch64 support for Guarded Control Stacks > > bfd/elf.c | 31 +++ > gdb/NEWS | 3 + > gdb/aarch64-linux-nat.c | 79 +++++++ > gdb/aarch64-linux-tdep.c | 195 +++++++++++++++++- > gdb/aarch64-tdep.c | 156 +++++++++++++- > gdb/aarch64-tdep.h | 25 +++ > gdb/arch-utils.c | 10 + > gdb/arch-utils.h | 5 + > gdb/arch/aarch64-gcs-linux.h | 44 ++++ > gdb/arch/aarch64.c | 8 + > gdb/arch/aarch64.h | 10 +- > gdb/doc/gdb.texinfo | 83 ++++++++ > gdb/features/Makefile | 2 + > gdb/features/aarch64-gcs-linux.c | 21 ++ > gdb/features/aarch64-gcs-linux.xml | 18 ++ > gdb/features/aarch64-gcs.c | 14 ++ > gdb/features/aarch64-gcs.xml | 11 + > gdb/gdbarch-gen.c | 54 +++++ > gdb/gdbarch-gen.h | 24 +++ > gdb/gdbarch_components.py | 31 +++ > gdb/infcall.c | 14 +- > gdb/linux-tdep.c | 47 +++++ > gdb/linux-tdep.h | 18 ++ > gdb/testsuite/gdb.arch/aarch64-gcs-core.c | 124 +++++++++++ > gdb/testsuite/gdb.arch/aarch64-gcs-core.exp | 107 ++++++++++ > .../gdb.arch/aarch64-gcs-disp-step.c | 140 +++++++++++++ > .../gdb.arch/aarch64-gcs-disp-step.exp | 90 ++++++++ > gdb/testsuite/gdb.arch/aarch64-gcs-return.c | 105 ++++++++++ > gdb/testsuite/gdb.arch/aarch64-gcs-return.exp | 132 ++++++++++++ > .../aarch64-gcs-tdesc-without-linux.xml | 65 ++++++ > .../gdb.arch/aarch64-gcs-wrong-tdesc.c | 26 +++ > .../gdb.arch/aarch64-gcs-wrong-tdesc.exp | 48 +++++ > gdb/testsuite/gdb.arch/aarch64-gcs.c | 168 +++++++++++++++ > gdb/testsuite/gdb.arch/aarch64-gcs.exp | 78 +++++++ > gdb/testsuite/lib/gdb.exp | 68 +++++- > gdbserver/linux-aarch64-low.cc | 46 +++++ > include/elf/common.h | 3 + > 37 files changed, 2082 insertions(+), 21 deletions(-) > create mode 100644 gdb/arch/aarch64-gcs-linux.h > create mode 100644 gdb/features/aarch64-gcs-linux.c > create mode 100644 gdb/features/aarch64-gcs-linux.xml > create mode 100644 gdb/features/aarch64-gcs.c > create mode 100644 gdb/features/aarch64-gcs.xml > create mode 100644 gdb/testsuite/gdb.arch/aarch64-gcs-core.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-gcs-core.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-gcs-disp-step.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-gcs-disp-step.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-gcs-return.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-gcs-return.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-gcs-tdesc-without-linux.xml > create mode 100644 gdb/testsuite/gdb.arch/aarch64-gcs-wrong-tdesc.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-gcs-wrong-tdesc.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-gcs.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-gcs.exp > This series is OK in v3. Approved-By: Luis Machado <luis.machado@arm.com> I suppose we need to get the Intel CET feature through for this one to be applied on top, right?