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?
Hello Luis, Luis Machado <luis.machado@arm.com> writes: > Hi Thiago, > > Thanks for the updates. Thank you for the quick review! > 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? That's the better option. Another alternative would be to also commit patches 1-3 (with your and Tromey's review comments applied) and the Intel CET series would be rebased on top. Also, the BFD patch wasn't approved yet. I'll ping it.