* [PATCH V3] gdb: Upgrade 16.3 -> 17.1
@ 2026-02-23 11:50 sunilkumar.dora
2026-02-24 9:44 ` [OE-core] " Mathieu Dubois-Briand
0 siblings, 1 reply; 4+ messages in thread
From: sunilkumar.dora @ 2026-02-23 11:50 UTC (permalink / raw)
To: openembedded-core; +Cc: sunilkumar.dora, Sundeep.Kokkonda
From: Sunil Dora <sunilkumar.dora@windriver.com>
GDB 17.1 includes the following changes and enhancements:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=gdb-17.1-release
* x86-64 CET shadow stack support
* Debugging Linux programs that use AArch64 Guarded Control Stacks
* GDB record feature now supports rv64gc architectures
* 'info threads' command support for two new options '-stopped' and '-running'
to limit the list of displayed threads.
* On Linux and FreeBSD, the addresses shown by the 'info sharedlibrary' command
are now for the full memory range allocated to the shared library.
* Linux checkpoints now work with multiple inferiors
* Improved linker namespace support
* Warnings and error messages now start with an emoji (warning sign,
or cross mark) if supported by the host charset. Configurable.
* Built-in support for TLS on Linux as backup when libthread_db is not
available. Supported on the x86_64, aarch64, ppc64, s390x, and riscv
architectures, when compiled with GLIBC or MUSL.
* New command "set riscv numeric-register-names" to display risc-v
registers using their numeric names instead of their ABI names.
* The Alpha target now supports target descriptions.
* Python API enhancements
* Support for Python versions older than 3.4 has been removed.
Dropped 0009-Readline-8.3-alpha-release.patch
Added 0009-PR-gdb-33747-gdb-ser-unix-Avoid-musl-build-failure-w.patch
Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Co-authored-by: Sundeep Kokkonda <Sundeep.Kokkonda@windriver.com>
---
changes in v3:
- Added musl build fix patch (PR gdb/33747)
- musl currently does not expose c_ospeed/c_ispeed or Linux termios2/BOTHER interfaces
- Ref: [https://www.openwall.com/lists/musl/2026/02/12/1]
changes in v2:
- gdb: Upgrade 16.3 -> 17.1
...ian_16.3.bb => gdb-cross-canadian_17.1.bb} | 0
.../{gdb-cross_16.3.bb => gdb-cross_17.1.bb} | 0
meta/recipes-devtools/gdb/gdb.inc | 4 +-
...-ser-unix-Avoid-musl-build-failure-w.patch | 190 ++++++++++++++++++
.../gdb/0009-Readline-8.3-alpha-release.patch | 164 ---------------
.../gdb/{gdb_16.3.bb => gdb_17.1.bb} | 0
6 files changed, 192 insertions(+), 166 deletions(-)
rename meta/recipes-devtools/gdb/{gdb-cross-canadian_16.3.bb => gdb-cross-canadian_17.1.bb} (100%)
rename meta/recipes-devtools/gdb/{gdb-cross_16.3.bb => gdb-cross_17.1.bb} (100%)
create mode 100644 meta/recipes-devtools/gdb/gdb/0009-PR-gdb-33747-gdb-ser-unix-Avoid-musl-build-failure-w.patch
delete mode 100644 meta/recipes-devtools/gdb/gdb/0009-Readline-8.3-alpha-release.patch
rename meta/recipes-devtools/gdb/{gdb_16.3.bb => gdb_17.1.bb} (100%)
diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian_16.3.bb b/meta/recipes-devtools/gdb/gdb-cross-canadian_17.1.bb
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb-cross-canadian_16.3.bb
rename to meta/recipes-devtools/gdb/gdb-cross-canadian_17.1.bb
diff --git a/meta/recipes-devtools/gdb/gdb-cross_16.3.bb b/meta/recipes-devtools/gdb/gdb-cross_17.1.bb
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb-cross_16.3.bb
rename to meta/recipes-devtools/gdb/gdb-cross_17.1.bb
diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
index a36f78fe67..08c0e70ccd 100644
--- a/meta/recipes-devtools/gdb/gdb.inc
+++ b/meta/recipes-devtools/gdb/gdb.inc
@@ -13,6 +13,6 @@ SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \
file://0006-Fix-invalid-sigprocmask-call.patch \
file://0007-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \
file://0008-Add-fix-for-packages-that-are-not-compatible-with-C2.patch \
- file://0009-Readline-8.3-alpha-release.patch \
+ file://0009-PR-gdb-33747-gdb-ser-unix-Avoid-musl-build-failure-w.patch \
"
-SRC_URI[sha256sum] = "bcfcd095528a987917acf9fff3f1672181694926cc18d609c99d0042c00224c5"
+SRC_URI[sha256sum] = "14996f5f74c9f68f5a543fdc45bca7800207f91f92aeea6c2e791822c7c6d876"
diff --git a/meta/recipes-devtools/gdb/gdb/0009-PR-gdb-33747-gdb-ser-unix-Avoid-musl-build-failure-w.patch b/meta/recipes-devtools/gdb/gdb/0009-PR-gdb-33747-gdb-ser-unix-Avoid-musl-build-failure-w.patch
new file mode 100644
index 0000000000..823fd79f60
--- /dev/null
+++ b/meta/recipes-devtools/gdb/gdb/0009-PR-gdb-33747-gdb-ser-unix-Avoid-musl-build-failure-w.patch
@@ -0,0 +1,190 @@
+From d3c2bf20ea6afc6a02151d06fa93b4c767986815 Mon Sep 17 00:00:00 2001
+From: Sunil Dora <sunilkumar.dora@windriver.com>
+Date: Mon, 23 Feb 2026 00:57:35 -0800
+Subject: [PATCH] PR gdb/33747: gdb/ser-unix: Avoid musl build failure when
+ setting custom baud rates
+
+The Linux custom baud rate implementation accessed the struct termios
+members c_ispeed and c_ospeed directly. These fields are provided by
+glibc but are not exposed by musl, which causes the build to fail on
+musl-based systems.
+
+Adjust set_custom_baudrate_linux to use a capability-based approach.
+The Autoconf check HAVE_NUMERIC_BAUD_RATES determines whether
+B-constants match numeric baud rates. If they do, use the standard
+POSIX cfsetispeed and cfsetospeed interfaces. Otherwise, fall back
+to the Linux-specific termios2 interface (TCGETS2) to support
+arbitrary baud rates.
+
+This preserves existing behavior on glibc systems while restoring
+build compatibility with musl.
+
+Upstream-Status: Submitted [https://sourceware.org/pipermail/gdb-patches/2026-February/225251.html]
+
+Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
+---
+ gdb/config.in | 3 +++
+ gdb/configure | 39 +++++++++++++++++++++++++++++++++++++++
+ gdb/configure.ac | 19 +++++++++++++++++++
+ gdb/ser-unix.c | 42 ++++++++++++++++++++++++++----------------
+ 4 files changed, 87 insertions(+), 16 deletions(-)
+
+diff --git a/gdb/config.in b/gdb/config.in
+index efc3100cb9e..a6561c03ee6 100644
+--- a/gdb/config.in
++++ b/gdb/config.in
+@@ -343,6 +343,9 @@
+ /* Define to 1 if you have the <nlist.h> header file. */
+ #undef HAVE_NLIST_H
+
++/* Define if termios B-constants match their numeric baud rate */
++#undef HAVE_NUMERIC_BAUD_RATES
++
+ /* Define to 1 if you have the `pipe' function. */
+ #undef HAVE_PIPE
+
+diff --git a/gdb/configure b/gdb/configure
+index d0bdba6eb36..407104fc420 100755
+--- a/gdb/configure
++++ b/gdb/configure
+@@ -27336,6 +27336,45 @@ if test "$ac_res" != no; then :
+ fi
+
+
++# Check whether termios B-constants match their numeric baud rate.
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether termios B-constants are numeric" >&5
++$as_echo_n "checking whether termios B-constants are numeric... " >&6; }
++if ${gdb_cv_termios_numeric_baud+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include <termios.h>
++int
++main ()
++{
++
++ #if B9600 != 9600
++ #error B-constants are not numeric symbols
++ #endif
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ gdb_cv_termios_numeric_baud=yes
++else
++ gdb_cv_termios_numeric_baud=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_termios_numeric_baud" >&5
++$as_echo "$gdb_cv_termios_numeric_baud" >&6; }
++
++if test "$gdb_cv_termios_numeric_baud" = yes; then
++
++$as_echo "#define HAVE_NUMERIC_BAUD_RATES 1" >>confdefs.h
++
++fi
++
+
+
+ # Check whether --with-jit-reader-dir was given.
+diff --git a/gdb/configure.ac b/gdb/configure.ac
+index 52924106bca..ac45d22e4bf 100644
+--- a/gdb/configure.ac
++++ b/gdb/configure.ac
+@@ -733,6 +733,25 @@ AC_CONFIG_FILES([jit-reader.h:jit-reader.in])
+
+ AC_SEARCH_LIBS(dlopen, dl)
+
++# Check whether termios B-constants match their numeric baud rate.
++AC_CACHE_CHECK([whether termios B-constants are numeric],
++ [gdb_cv_termios_numeric_baud], [
++ AC_COMPILE_IFELSE(
++ [AC_LANG_PROGRAM([[#include <termios.h>]],
++ [[
++ #if B9600 != 9600
++ #error B-constants are not numeric symbols
++ #endif
++ ]])],
++ [gdb_cv_termios_numeric_baud=yes],
++ [gdb_cv_termios_numeric_baud=no])
++])
++
++if test "$gdb_cv_termios_numeric_baud" = yes; then
++ AC_DEFINE([HAVE_NUMERIC_BAUD_RATES], [1],
++ [Define if termios B-constants match their numeric baud rate])
++fi
++
+ GDB_AC_WITH_DIR([JIT_READER_DIR], [jit-reader-dir],
+ [directory to load the JIT readers from],
+ [${libdir}/gdb])
+diff --git a/gdb/ser-unix.c b/gdb/ser-unix.c
+index 6f2766518be..abd04c898f5 100644
+--- a/gdb/ser-unix.c
++++ b/gdb/ser-unix.c
+@@ -513,31 +513,41 @@ set_baudcode_baudrate (struct serial *scb, int baud_code)
+ static void
+ set_custom_baudrate_linux (int fd, int rate)
+ {
+-#ifdef TCGETS2
+- struct termios2 tio;
+- const unsigned long req_get = TCGETS2;
+- const unsigned long req_set = TCSETS2;
+-#else
++#if defined (HAVE_NUMERIC_BAUD_RATES)
+ struct termios tio;
+- const unsigned long req_get = TCGETS;
+- const unsigned long req_set = TCSETS;
+-#endif
+
+- if (ioctl (fd, req_get, &tio) < 0)
++ if (tcgetattr (fd, &tio) < 0)
++ perror_with_name (_("Can not get current baud rate"));
++
++ cfsetispeed (&tio, rate);
++ cfsetospeed (&tio, rate);
++
++ if (tcsetattr (fd, TCSANOW, &tio) < 0)
++ perror_with_name (_("Can not set custom baud rate"));
++
++#elif defined (TCGETS2)
++ /* Use the kernel-level termios2 structure. */
++ struct termios2 tio2;
++
++ if (ioctl (fd, TCGETS2, &tio2) < 0)
+ perror_with_name (_("Can not get current baud rate"));
+
+ /* Clear the current output baud rate and fill a new value. */
+- tio.c_cflag &= ~CBAUD;
+- tio.c_cflag |= BOTHER;
+- tio.c_ospeed = rate;
++ tio2.c_cflag &= ~CBAUD;
++ tio2.c_cflag |= BOTHER;
++ tio2.c_ospeed = rate;
+
+ /* Clear the current input baud rate and fill a new value. */
+- tio.c_cflag &= ~(CBAUD << IBSHIFT);
+- tio.c_cflag |= BOTHER << IBSHIFT;
+- tio.c_ispeed = rate;
++ tio2.c_cflag &= ~(CBAUD << IBSHIFT);
++ tio2.c_cflag |= BOTHER << IBSHIFT;
++ tio2.c_ispeed = rate;
+
+- if (ioctl (fd, req_set, &tio) < 0)
++ if (ioctl (fd, TCSETS2, &tio2) < 0)
+ perror_with_name (_("Can not set custom baud rate"));
++
++#else
++ perror_with_name (_("Custom baud rate not supported on this platform"));
++#endif
+ }
+
+ #elif HAVE_CUSTOM_BAUDRATE_SUPPORT && defined(IOSSIOSPEED)
+--
+2.49.0
+
diff --git a/meta/recipes-devtools/gdb/gdb/0009-Readline-8.3-alpha-release.patch b/meta/recipes-devtools/gdb/gdb/0009-Readline-8.3-alpha-release.patch
deleted file mode 100644
index 206b4baaf0..0000000000
--- a/meta/recipes-devtools/gdb/gdb/0009-Readline-8.3-alpha-release.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From 8807681557d9f30aac819186369ee62f4f8d1d96 Mon Sep 17 00:00:00 2001
-From: Chet Ramey <chet.ramey@case.edu>
-Date: Mon, 22 Apr 2024 10:41:37 -0400
-Subject: [PATCH] Readline-8.3-alpha release
-
-Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/readline.git/commit/tcap.h?h=readline-8.3-testing&id=69e5c5e4c9778bf86c3d1c6b058ddece70854de8]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ...ap-Add-function-parameter-prototypes.patch | 37 ++++++++++
- ...d=cef614441f99b7b6e444ba601d8465a6e88f5a98 | 67 +++++++++++++++++++
- readline/readline/tcap.h | 14 ++--
- 3 files changed, 111 insertions(+), 7 deletions(-)
- create mode 100644 readline/readline/0001-tcap-Add-function-parameter-prototypes.patch
- create mode 100644 readline/readline/index.html?id=cef614441f99b7b6e444ba601d8465a6e88f5a98
-
-diff --git a/readline/readline/0001-tcap-Add-function-parameter-prototypes.patch b/readline/readline/0001-tcap-Add-function-parameter-prototypes.patch
-new file mode 100644
-index 00000000000..f28e31fd0e0
---- /dev/null
-+++ b/readline/readline/0001-tcap-Add-function-parameter-prototypes.patch
-@@ -0,0 +1,37 @@
-+From 0c16af6ebf0bf81138c973e5e6a7c4ebf71f2489 Mon Sep 17 00:00:00 2001
-+From: Khem Raj <raj.khem@gmail.com>
-+Date: Wed, 30 Apr 2025 10:41:12 -0700
-+Subject: [PATCH] tcap: Add function parameter prototypes
-+
-+GCC-15 with C23 dilect defaults expects full function signature
-+
-+Signed-off-by: Khem Raj <raj.khem@gmail.com>
-+---
-+ readline/readline/tcap.h | 14 ++++++--------
-+ 1 file changed, 6 insertions(+), 8 deletions(-)
-+
-+diff --git a/readline/readline/tcap.h b/readline/readline/tcap.h
-+index 859e6ee..2b22ff7 100644
-+--- a/readline/readline/tcap.h
-++++ b/readline/readline/tcap.h
-+@@ -46,14 +46,12 @@ extern char *UP, *BC;
-+
-+ extern short ospeed;
-+
-+-extern int tgetent ();
-+-extern int tgetflag ();
-+-extern int tgetnum ();
-+-extern char *tgetstr ();
-+-
-+-extern int tputs ();
-+-
-+-extern char *tgoto ();
-++extern int tgetent(char*, const char*);
-++extern int tgetflag(const char*);
-++extern int tgetnum(const char*);
-++extern char *tgetstr(const char*, char**);
-++extern char *tgoto(const char*, int, int);
-++extern int tputs(const char*, int, int (*)(int));
-+
-+ #endif /* HAVE_TERMCAP_H */
-+
-diff --git a/readline/readline/index.html?id=cef614441f99b7b6e444ba601d8465a6e88f5a98 b/readline/readline/index.html?id=cef614441f99b7b6e444ba601d8465a6e88f5a98
-new file mode 100644
-index 00000000000..02e665b143b
---- /dev/null
-+++ b/readline/readline/index.html?id=cef614441f99b7b6e444ba601d8465a6e88f5a98
-@@ -0,0 +1,67 @@
-+From cef614441f99b7b6e444ba601d8465a6e88f5a98 Mon Sep 17 00:00:00 2001
-+From: Chet Ramey <chet.ramey@case.edu>
-+Date: Sun, 14 Jan 2024 15:19:37 -0500
-+Subject: Readline-8.2 patch 8: add missing function prototypes
-+
-+---
-+ bind.c | 4 +---
-+ patchlevel | 2 +-
-+ rltty.c | 3 +--
-+ text.c | 3 +--
-+ 4 files changed, 4 insertions(+), 8 deletions(-)
-+
-+diff --git a/bind.c b/bind.c
-+index 971116a..2596006 100644
-+--- a/bind.c
-++++ b/bind.c
-+@@ -1167,9 +1167,7 @@ _rl_init_file_error (va_alist)
-+ /* **************************************************************** */
-+
-+ static int
-+-parse_comparison_op (s, indp)
-+- const char *s;
-+- int *indp;
-++parse_comparison_op (const char *s, int *indp)
-+ {
-+ int i, peekc, op;
-+
-+diff --git a/patchlevel b/patchlevel
-+index e340b58..6c10f12 100644
-+--- a/patchlevel
-++++ b/patchlevel
-+@@ -1,3 +1,3 @@
-+ # Do not edit -- exists only for use by patch
-+
-+-7
-++8
-+diff --git a/rltty.c b/rltty.c
-+index 882a3d4..a4863ac 100644
-+--- a/rltty.c
-++++ b/rltty.c
-+@@ -80,8 +80,7 @@ static int ksrflow;
-+ /* Dummy call to force a backgrounded readline to stop before it tries
-+ to get the tty settings. */
-+ static void
-+-set_winsize (tty)
-+- int tty;
-++set_winsize (int tty)
-+ {
-+ #if defined (TIOCGWINSZ)
-+ struct winsize w;
-+diff --git a/text.c b/text.c
-+index 91c3f33..30fdaa1 100644
-+--- a/text.c
-++++ b/text.c
-+@@ -1764,8 +1764,7 @@ _rl_char_search (int count, int fdir, int bdir)
-+
-+ #if defined (READLINE_CALLBACKS)
-+ static int
-+-_rl_char_search_callback (data)
-+- _rl_callback_generic_arg *data;
-++_rl_char_search_callback (_rl_callback_generic_arg *data)
-+ {
-+ _rl_callback_func = 0;
-+ _rl_want_redisplay = 1;
-+--
-+cgit v1.1
-+
-diff --git a/readline/readline/tcap.h b/readline/readline/tcap.h
-index 859e6eed5aa..467ea60e903 100644
---- a/readline/readline/tcap.h
-+++ b/readline/readline/tcap.h
-@@ -1,6 +1,6 @@
- /* tcap.h -- termcap library functions and variables. */
-
--/* Copyright (C) 1996-2015 Free Software Foundation, Inc.
-+/* Copyright (C) 1996-2015,2023 Free Software Foundation, Inc.
-
- This file is part of the GNU Readline Library (Readline), a library
- for reading lines of text with interactive input and history editing.
-@@ -46,14 +46,14 @@ extern char *UP, *BC;
-
- extern short ospeed;
-
--extern int tgetent ();
--extern int tgetflag ();
--extern int tgetnum ();
--extern char *tgetstr ();
-+extern int tgetent (char *, const char *);
-+extern int tgetflag (const char *);
-+extern int tgetnum (const char *);
-+extern char *tgetstr (const char *, char **);
-
--extern int tputs ();
-+extern int tputs (const char *, int, int (*)(int));
-
--extern char *tgoto ();
-+extern char *tgoto (const char *, int, int);
-
- #endif /* HAVE_TERMCAP_H */
-
diff --git a/meta/recipes-devtools/gdb/gdb_16.3.bb b/meta/recipes-devtools/gdb/gdb_17.1.bb
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb_16.3.bb
rename to meta/recipes-devtools/gdb/gdb_17.1.bb
--
2.49.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [OE-core] [PATCH V3] gdb: Upgrade 16.3 -> 17.1
2026-02-23 11:50 [PATCH V3] gdb: Upgrade 16.3 -> 17.1 sunilkumar.dora
@ 2026-02-24 9:44 ` Mathieu Dubois-Briand
2026-02-24 19:07 ` Dora, Sunil Kumar
0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Dubois-Briand @ 2026-02-24 9:44 UTC (permalink / raw)
To: SunilKumar.Dora, openembedded-core; +Cc: sunilkumar.dora, Sundeep.Kokkonda
On Mon Feb 23, 2026 at 12:50 PM CET, Sunil Kumar via lists.openembedded.org Dora wrote:
> From: Sunil Dora <sunilkumar.dora@windriver.com>
>
> GDB 17.1 includes the following changes and enhancements:
> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=gdb-17.1-release
>
> * x86-64 CET shadow stack support
> * Debugging Linux programs that use AArch64 Guarded Control Stacks
> * GDB record feature now supports rv64gc architectures
> * 'info threads' command support for two new options '-stopped' and '-running'
> to limit the list of displayed threads.
> * On Linux and FreeBSD, the addresses shown by the 'info sharedlibrary' command
> are now for the full memory range allocated to the shared library.
> * Linux checkpoints now work with multiple inferiors
> * Improved linker namespace support
> * Warnings and error messages now start with an emoji (warning sign,
> or cross mark) if supported by the host charset. Configurable.
> * Built-in support for TLS on Linux as backup when libthread_db is not
> available. Supported on the x86_64, aarch64, ppc64, s390x, and riscv
> architectures, when compiled with GLIBC or MUSL.
> * New command "set riscv numeric-register-names" to display risc-v
> registers using their numeric names instead of their ABI names.
> * The Alpha target now supports target descriptions.
> * Python API enhancements
> * Support for Python versions older than 3.4 has been removed.
>
> Dropped 0009-Readline-8.3-alpha-release.patch
> Added 0009-PR-gdb-33747-gdb-ser-unix-Avoid-musl-build-failure-w.patch
>
> Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
> Co-authored-by: Sundeep Kokkonda <Sundeep.Kokkonda@windriver.com>
> ---
Hi Sunil,
Thanks for the new version.
It looks like we still have a musl issue, but specifically while
building for qemuarm64 machine:
ERROR: gdb-17.1-r0 do_compile: Execution of '/srv/pokybuild/yocto-worker/musl-qemuarm64/build/build/tmp/work/cortexa57-poky-linux-musl/gdb/17.1/temp/run.do_compile.2065169' failed with exit code 1
...
| In file included from ../../sources/gdb-17.1/gdbserver/linux-aarch64-low.cc:42:
| ../../sources/gdb-17.1/gdbserver/../gdb/arch/aarch64-gcs-linux.h:35:8: error: redefinition of 'struct user_gcs'
| 35 | struct user_gcs
| | ^~~~~~~~
| In file included from ../../sources/gdb-17.1/gdbserver/linux-aarch64-low.cc:35:
| /srv/pokybuild/yocto-worker/musl-qemuarm64/build/build/tmp/work/cortexa57-poky-linux-musl/gdb/17.1/recipe-sysroot/usr/include/asm/ptrace.h:329:8: note: previous definition of 'struct user_gcs'
| 329 | struct user_gcs {
| | ^~~~~~~~
https://autobuilder.yoctoproject.org/valkyrie/#/builders/111/builds/1970
Can you have a look at it?
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH V3] gdb: Upgrade 16.3 -> 17.1
2026-02-24 9:44 ` [OE-core] " Mathieu Dubois-Briand
@ 2026-02-24 19:07 ` Dora, Sunil Kumar
2026-02-26 4:31 ` Dora, Sunil Kumar
0 siblings, 1 reply; 4+ messages in thread
From: Dora, Sunil Kumar @ 2026-02-24 19:07 UTC (permalink / raw)
To: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 1781 bytes --]
On Tue, Feb 24, 2026 at 03:14 PM, Mathieu Dubois-Briand wrote:
>
> Hi Sunil,
>
> Thanks for the new version.
>
> It looks like we still have a musl issue, but specifically while
> building for qemuarm64 machine:
>
> ERROR: gdb-17.1-r0 do_compile: Execution of
> '/srv/pokybuild/yocto-worker/musl-qemuarm64/build/build/tmp/work/cortexa57-poky-linux-musl/gdb/17.1/temp/run.do_compile.2065169'
> failed with exit code 1
> ...
> | In file included from
> ../../sources/gdb-17.1/gdbserver/linux-aarch64-low.cc:42:
> | ../../sources/gdb-17.1/gdbserver/../gdb/arch/aarch64-gcs-linux.h:35:8:
> error: redefinition of 'struct user_gcs'
> | 35 | struct user_gcs
> | | ^~~~~~~~
> | In file included from
> ../../sources/gdb-17.1/gdbserver/linux-aarch64-low.cc:35:
> |
> /srv/pokybuild/yocto-worker/musl-qemuarm64/build/build/tmp/work/cortexa57-poky-linux-musl/gdb/17.1/recipe-sysroot/usr/include/asm/ptrace.h:329:8:
> note: previous definition of 'struct user_gcs'
> | 329 | struct user_gcs {
> | | ^~~~~~~~
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/111/builds/1970
>
> Can you have a look at it?
Hi Mathieu,
Thanks for the report.
I’ve checked the failure. It’s another musl-specific issue with the new AArch64 GCS support in GDB 17.1.
struct user_gcs is now provided by musl via <asm/ptrace.h> , while GDB still has its own fallback definition
in aarch64-gcs-linux.h , which causes the duplicate definition error.
GDB has guards around the fallback definition, but they don’t work correctly with musl’s header layout.
This does not happen with glibc due to different header inclusion behavior.
I’m working on a fix and will send an updated patch shortly.
Thanks,
Sunil
>
>
> Thanks,
> Mathieu
[-- Attachment #2: Type: text/html, Size: 3785 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH V3] gdb: Upgrade 16.3 -> 17.1
2026-02-24 19:07 ` Dora, Sunil Kumar
@ 2026-02-26 4:31 ` Dora, Sunil Kumar
0 siblings, 0 replies; 4+ messages in thread
From: Dora, Sunil Kumar @ 2026-02-26 4:31 UTC (permalink / raw)
To: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 301 bytes --]
I’ve filed a bug upstream(GDB) to track it:
https://sourceware.org/bugzilla/show_bug.cgi?id=33926
The discussion is ongoing there, and a fix is already being worked on for mainline.
I’ll follow up here once we have either an upstream patch or a suitable backport for 17.1.
Thanks,
Sunil
[-- Attachment #2: Type: text/html, Size: 542 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-02-26 4:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-23 11:50 [PATCH V3] gdb: Upgrade 16.3 -> 17.1 sunilkumar.dora
2026-02-24 9:44 ` [OE-core] " Mathieu Dubois-Briand
2026-02-24 19:07 ` Dora, Sunil Kumar
2026-02-26 4:31 ` Dora, Sunil Kumar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox