gdb: update to version 16.2

This commit is contained in:
Dee HY 2025-07-19 20:20:08 +08:00 committed by GitHub
parent 7c7de9858d
commit 3a9ecb5f3c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 72 additions and 103 deletions

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=gdb
PKG_VERSION:=12.1
PKG_RELEASE:=$(AUTORELEASE)
PKG_VERSION:=16.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/gdb
PKG_HASH:=0e1793bf8f2b54d53f46dea84ccfd446f48f81b297b28c4f7fc017b818d69fed
PKG_HASH:=4002cb7f23f45c37c790536a13a720942ce4be0402d929c9085e92f10d480119
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
@ -33,11 +33,11 @@ endef
define Package/gdb
$(call Package/gdb/Default)
TITLE:=GNU Debugger
DEPENDS+=+libreadline +libncurses +zlib +libgmp
DEPENDS+=+libreadline +libncurses +zlib +libgmp +libmpfr
endef
define Package/gdb/description
GDB, the GNU Project debugger, allows you to see what is going on `inside'
GDB, the GNU Project debugger, allows you to see what is going on 'inside'
another program while it executes -- or what another program was doing at the
moment it crashed.
endef
@ -58,13 +58,12 @@ CONFIGURE_ARGS+= \
--with-system-zlib \
--without-expat \
--without-lzma \
--without-zstd \
--disable-unit-tests \
--disable-ubsan \
--disable-sim \
--disable-werror \
--disable-source-highlight \
--without-mpc \
--without-mpfr \
--without-isl \
--without-xxhash \
--with-libgmp-prefix=$(STAGING_DIR)/usr

View File

@ -1,31 +0,0 @@
From 1add37b567a7dee39d99f37b37802034c3fce9c4 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@linux-m68k.org>
Date: Sun, 20 Mar 2022 14:01:54 +0100
Subject: [PATCH] Add support for readline 8.2
In readline 8.2 the type of rl_completer_word_break_characters changed to
include const.
---
gdb/completer.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/gdb/completer.c
+++ b/gdb/completer.c
@@ -36,7 +36,7 @@
calling a hook instead so we eliminate the CLI dependency. */
#include "gdbcmd.h"
-/* Needed for rl_completer_word_break_characters() and for
+/* Needed for rl_completer_word_break_characters and for
rl_filename_completion_function. */
#include "readline/readline.h"
@@ -2011,7 +2011,7 @@ gdb_completion_word_break_characters_thr
rl_basic_quote_characters = NULL;
}
- return rl_completer_word_break_characters;
+ return (char *) rl_completer_word_break_characters;
}
char *

View File

@ -1,16 +0,0 @@
See http://sourceware.org/bugzilla/show_bug.cgi?id=14523
--- a/gdbsupport/signals.cc
+++ b/gdbsupport/signals.cc
@@ -348,6 +348,11 @@ gdb_signal_from_host (int hostsig)
else if (64 <= hostsig && hostsig <= 127)
return (enum gdb_signal)
(hostsig - 64 + (int) GDB_SIGNAL_REALTIME_64);
+ else if (hostsig == 128)
+ /* Some platforms, such as Linux MIPS, have NSIG == 128, in which case
+ signal 128 is the highest realtime signal. There is no constant for
+ that though. */
+ return GDB_SIGNAL_UNKNOWN;
else
error (_("GDB bug: target.c (gdb_signal_from_host): "
"unrecognized real-time signal"));

View File

@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
@@ -1314,13 +1314,13 @@ if test -z "$LD"; then
@@ -1410,13 +1410,13 @@ if test -z "$LD"; then
fi
fi
@ -17,7 +17,7 @@
AC_LANG_PUSH(C++)
AC_LINK_IFELSE([AC_LANG_SOURCE([
#if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
@@ -1719,7 +1719,7 @@ AC_ARG_WITH(stage1-ldflags,
@@ -1847,7 +1847,7 @@ AC_ARG_WITH(stage1-ldflags,
# trust that they are doing what they want.
if test "$with_static_standard_libraries" = yes -a "$stage1_libs" = "" \
-a "$have_static_libs" = yes; then
@ -26,18 +26,18 @@
fi])
AC_SUBST(stage1_ldflags)
@@ -1748,7 +1748,7 @@ AC_ARG_WITH(boot-ldflags,
@@ -1876,7 +1876,7 @@ AC_ARG_WITH(boot-ldflags,
# statically. But if the user explicitly specified the libraries to
# use, trust that they are doing what they want.
if test "$poststage1_libs" = ""; then
- poststage1_ldflags="-static-libstdc++ -static-libgcc"
+ poststage1_ldflags="-static-libstdc++"
fi])
AC_SUBST(poststage1_ldflags)
case $target in
*-darwin2* | *-darwin1[[56789]]*)
--- a/configure
+++ b/configure
@@ -5275,14 +5275,14 @@ if test -z "$LD"; then
@@ -5428,14 +5428,14 @@ if test -z "$LD"; then
fi
fi
@ -56,7 +56,7 @@
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -6167,7 +6167,7 @@ else
@@ -9247,7 +9247,7 @@ else
# trust that they are doing what they want.
if test "$with_static_standard_libraries" = yes -a "$stage1_libs" = "" \
-a "$have_static_libs" = yes; then
@ -65,7 +65,7 @@
fi
fi
@@ -6203,7 +6203,7 @@ else
@@ -9283,7 +9283,7 @@ else
# statically. But if the user explicitly specified the libraries to
# use, trust that they are doing what they want.
if test "$poststage1_libs" = ""; then

View File

@ -27,7 +27,7 @@ gdb/ChangeLog:
--- a/gdbsupport/signals-state-save-restore.cc
+++ b/gdbsupport/signals-state-save-restore.cc
@@ -38,7 +38,7 @@ save_original_signals_state (bool quiet)
@@ -37,7 +37,7 @@ save_original_signals_state (bool quiet)
int i;
int res;

View File

@ -1,35 +0,0 @@
From 63df98fa78c8a6e12b40ebdc5c155838d2bf8b5f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 29 Nov 2018 18:00:23 -0800
Subject: [PATCH 11/11] gdbserver ctrl-c handling
This problem was created by the upstream commit 78708b7c8c
After applying the commit, it will send SIGINT to the process
group(-signal_pid).
But if we use gdbserver send SIGINT, and the attached process is not a
process
group leader, then the "kill (-signal_pid, SIGINT)" returns error and
fails to
interrupt the attached process.
Upstream-Status: Submitted
[https://sourceware.org/bugzilla/show_bug.cgi?id=18945]
Author: Josh Gao
Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
gdbserver/linux-low.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/gdbserver/linux-low.cc
+++ b/gdbserver/linux-low.cc
@@ -5496,7 +5496,7 @@ linux_process_target::request_interrupt
{
/* Send a SIGINT to the process group. This acts just like the user
typed a ^C on the controlling terminal. */
- ::kill (-signal_pid, SIGINT);
+ ::kill (signal_pid, SIGINT);
}
bool

View File

@ -19,7 +19,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
--- a/gdb/mips-linux-nat.c
+++ b/gdb/mips-linux-nat.c
@@ -31,7 +31,7 @@
@@ -30,7 +30,7 @@
#include "gdb_proc_service.h"
#include "gregset.h"

View File

@ -18,7 +18,7 @@ Upstream-Status: Pending
--- a/gdb/mips-linux-nat.c
+++ b/gdb/mips-linux-nat.c
@@ -42,6 +42,11 @@
@@ -41,6 +41,11 @@
#define PTRACE_GET_THREAD_AREA 25
#endif

View File

@ -7,12 +7,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=gdb
PKG_VERSION:=14.1
PKG_VERSION:=16.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/gdb
PKG_HASH:=d66df51276143451fcbff464cc8723d68f1e9df45a6a2d5635a54e71643edb80
PKG_HASH:=4002cb7f23f45c37c790536a13a720942ce4be0402d929c9085e92f10d480119
PKG_CPE_ID:=cpe:/a:gnu:gdb
GDB_DIR:=$(PKG_NAME)-$(PKG_VERSION)

View File

@ -1,6 +1,6 @@
--- a/gdbserver/configure
+++ b/gdbserver/configure
@@ -2674,7 +2674,7 @@ $as_echo "$as_me: error: \`$ac_var' was
@@ -2698,7 +2698,7 @@ $as_echo "$as_me: error: \`$ac_var' was
ac_cache_corrupted=: ;;
,);;
*)

View File

@ -0,0 +1,52 @@
From 0a084bb6c04e453183530c3e20727be1cc55ff9a Mon Sep 17 00:00:00 2001
From: Georgi Valkov <gvalkov@gmail.com>
Date: Mon, 14 Apr 2025 15:18:00 +0300
Subject: [PATCH] zlib: fix build error with Xcode 16.3
Xcode 16.3 defines TARGET_OS_MAC, it was not defined in prior versions.
zutil.h conditionally defines fdopen as NULL when this macro is defined,
resulting in the following build error:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:318:7: error: expected identifier or '('
318 | FILE *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(fdopen));
| ^
./zutil.h:147:33: note: expanded from macro 'fdopen'
147 | # define fdopen(fd,mode) NULL /* No fdopen() */
In Xcode 16.2 and earlier, TARGET_OS_MAC was not defined so this entire
block was ignored, gcc and gdb used to compile and work fine.
This may have been used for compatibility with older versions of macOS,
but is no longer needed. By pure luck, the build worked fine for a long
time, because it did not properly detect macOS.
Fixed by removing the check for TARGET_OS_MAC.
Note that since Xcode 16.3, an entire set of TARGET_OS macros
are now defined, most of which are set to 0:
TARGET_OS_LINUX 0
TARGET_OS_MAC 1
TARGET_OS_OSX 1
[1] https://github.com/openwrt/openwrt/pull/18467
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
---
zlib/zutil.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/zlib/zutil.h b/zlib/zutil.h
index d9a20ae1bf4..183e51b96b6 100644
--- a/zlib/zutil.h
+++ b/zlib/zutil.h
@@ -137,7 +137,7 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
# endif
#endif
-#if defined(MACOS) || defined(TARGET_OS_MAC)
+#if defined(MACOS)
# define OS_CODE 7
# ifndef Z_SOLO
# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
--
2.49.0