Re: GDB 17 build failure with musl
Chris Packham via Gdb <[email protected]> Thu, 5 Feb 2026 13:35:25 +1300
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CAFOYHZCbHSSyGHS7aR2V5StsO_d5D2tsiB3EBoVupuMA874sqA@mail.gmail.com> |
On Wed, Feb 4, 2026 at 5:11 PM Thiago Jung Bauermann <[email protected]> wrote: > > Chris Packham <[email protected]> writes: > > > On Tue, Feb 3, 2026 at 4:10 PM Thiago Jung Bauermann > > <[email protected]> wrote: > >> > >> Do you have reproduction instructions for this problem? I'd like to > >> experiment a bit and see if I can come up with a solution. > > > > The only reproduction I have right now is to build crosstool-ng then > > use ct-ng to build the aarch64-unknown-linux-musl sample. You'd need > > to build from crosstool-ng commit be7fafbc7b6435 as I ended up > > reverting the update for now to unblock some builds. > > > > For the intrepid: > > > > git clone https://github.com/crosstool-ng/crosstool-ng.git > > cd crosstool-ng > > git checkout -B gdb-17-build be7fafbc7b6435 > > ./bootstrap && ./configure --enable-local && make > > ./ct-ng aarch64-unknown-linux-musl > > ./ct-ng build > > # go get a coffee this part can take a while > > > > I have been meaning to come up with a better reproduction. At the very > > least you could disable the gdb options in ./ct-ng menuconfig and use > > the resulting toolchain & sysroot to build gdb rather than having to > > sit through a full build to try something out (ct-ng does also have > > various options for restarting a build from a particular step). > > Thank you! This got me started. I suspect I'll have to add a configure > test for availability of struct user_gcs. I don't see any macro in > <asm/ptrace.h> itself which is correlated to the presence of that > struct. I'll let you know when I have a patch. > I came to the same conclusion although I had a hard time getting the configure result into a place that could actually use it. If it helps here is the configure check I wrote # Check for `struct user_gcs` AC_CACHE_CHECK( [for struct user_gcs], [gdb_cv_struct_user_gcs], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [#include <sys/ptrace.h> #include <asm/ptrace.h>], [struct user_gcs u;] )], [gdb_cv_struct_user_gcs=yes], [gdb_cv_struct_user_gcs=no] )] ) if test "$gdb_cv_struct_user_gcs" = yes; then AC_DEFINE(HAVE_STRUCT_USER_GCS, 1, [Define to 1 if your system has struct user_gcs.]) fi > > > I actually suspect you could probably see the problem on a musl based > > distro on an aarch64 host (or docker multiarch) but I haven't looked > > into that. > > Ah, that's true. I'll also test on Alpine Linux to make sure the patch > works there. > > -- > Thiago