Re: [PATCH v4 0/6] GDB: aarch64-linux: Some header fixes

Luis
2026-03-10T14:21:54Z

[-- Attachment #1: Type: text/plain, Size: 3574 bytes --]

Thanks. I think v4 is good.

On Wed, Mar 4, 2026, 00:52 Thiago Jung Bauermann <
thiago.bauermann@linaro.org> wrote:

> Hello Simon,
>
> Simon Marchi <simark@simark.ca> writes:
>
> > On 2026-03-03 00:06, Thiago Jung Bauermann wrote:
> >> v4 adds two new patches, reorganizing MTE and SME definitions.
> >>
> >> With this series, I think the AArch64 definitions are correctly
> organized
> >> between the headers in gdb/arch/ and gdb/nat/.
> >>
> >> if the series is approved I will propose a version of the last patch for
> >> the GDB 17 branch which doesn't depend on the previous patches, so that
> the
> >> build failure on aarch64-linux-musl can be fixed with minimal changes.
> >>
> >> I didn't include Luis' Approved-by to patches, since they have some
> changes
> >> in them.
> >>
> >> I also build-tested this version on aarch64-freebsd14.3 in addition to
> >> aarch64-linux-gnu and aarch64-linux-musl.
> >>
> >> Previous versions of the patches:
> >>
> >> v1:
> https://inbox.sourceware.org/gdb-patches/20260211045853.1436881-1-thiago.bauermann@linaro.org/
> >> v2:
> https://inbox.sourceware.org/gdb-patches/20260214045504.361392-1-thiago.bauermann@linaro.org/
> >> v3:
> https://inbox.sourceware.org/gdb-patches/20260217060106.1906312-1-thiago.bauermann@linaro.org/
> >
> > I skimmed the code and read the commit messages, it looks good to me,
> > but I will leave Luis give the approval. Thanks for the cleanup, I
> > think things are organized in a systematic and predictable way now.
>
> Thanks! and thank you for the prompt review.
>
> > Here are some things that copilot had to say, I checked and they seemed
> > true:
>
> They are true indeed.
>
> > - gdb/nat/aarch64-pauth-linux.h: HWCAP_PACA is defined unconditionally,
> > unlike every other HWCAP fallback in the series (HWCAP2_MTE,
> > HWCAP2_FPMR, HWCAP2_SME, HWCAP_GCS) which all use #ifndef guards. On
> > any modern aarch64 Linux system HWCAP_PACA is already defined by
> > <asm/hwcap.h>, so including this header after any header that pulls
> > it in will cause a redefinition error. Wrap it in #ifndef HWCAP_PACA
> > / #endif.
>
> Ah, I missed that. Fixed locally.
>
> > (Simon: not sure it will necessarily be a error, I think it's
> possible to
> > redefine macros if they have exactly the same value, but still it
> > would be good to add the #ifndef.)
>
> I tested and you are correct. There's a build error only if the
> definitions differ.
>
> In the process of testing this, I noticed that the #ifndef implies that
> <asm/hwcap.h> is included, so I amended the nat/*.h files that define
> HWCAP macros to also include it explicitly. And also <asm/ptrace.h> in
> the case of one header which defines a couple of ptrace constants. I'll
> detail it in the respective patches.
>
> > - FPMR: the commit message appears to be a copy-paste of the pauth one
> > that wasn't updated — it references AARCH64_HWCAP2_FPRM, HWCAP2_FPRM,
> > and gdb/arch/aarch64-pauth-linux.h / gdb/nat/aarch64-pauth-linux.h,
> > when all four should refer to the FPMR variants.
>
> Argh. Fixed.
>
> > (Simon: notice the FPRM -> FPMR typos in there)
>
> Argh again. Fixed again.
>
> > - GCS: the commit message says "create
> > gdb/nat/aarch64-gcs-linux-ptrace.h" but the file actually created is
> > gdb/nat/aarch64-gcs-linux.h.
>
> Yes, I originally called the file ...-ptrace.h but then I changed my
> mind and forgot to adjust the commit message. Fixed.
>
> --
> Thiago
>

[-- Attachment #2: Type: text/html, Size: 4842 bytes --]