Date: Mon, 20 Sep 2021 20:47:05 GMT From: John Baldwin <jhb@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 242d3697fdfa - main - devel/gdb: Update to 11.1. Message-ID: <202109202047.18KKl5DB048832@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by jhb (doc, src committer): URL: https://cgit.FreeBSD.org/ports/commit/?id=242d3697fdfac13de43f86843d9412ea1c2bd956 commit 242d3697fdfac13de43f86843d9412ea1c2bd956 Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2021-09-20 20:46:02 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2021-09-20 20:46:02 +0000 devel/gdb: Update to 11.1. This also pulls in some updates to libcxx-gdbpy to add pretty printers for std::deque<>, std::stack<>, and std::unordered_map<> Reviewed by: pizzamig (maintainer) Differential Revision: https://reviews.freebsd.org/D32000 --- devel/gdb/Makefile | 11 +- devel/gdb/distinfo | 10 +- devel/gdb/files/extrapatch-kgdb | 133 ++++++++++------------ devel/gdb/files/kgdb/aarch64-fbsd-kern.c | 8 +- devel/gdb/files/kgdb/amd64fbsd-kern.c | 7 +- devel/gdb/files/kgdb/arm-fbsd-kern.c | 8 +- devel/gdb/files/kgdb/fbsd-kld.c | 46 +++----- devel/gdb/files/kgdb/fbsd-kthr.c | 1 - devel/gdb/files/kgdb/fbsd-kvm.c | 23 ++-- devel/gdb/files/kgdb/i386fbsd-kern.c | 8 +- devel/gdb/files/kgdb/kgdb-main.c | 3 +- devel/gdb/files/kgdb/kgdb.h | 1 - devel/gdb/files/kgdb/mipsfbsd-kern.c | 7 +- devel/gdb/files/kgdb/ppcfbsd-kern.c | 7 +- devel/gdb/files/kgdb/riscv-fbsd-kern.c | 8 +- devel/gdb/files/kgdb/sparc64fbsd-kern.c | 24 ++-- devel/gdb/files/patch-gdb_amd64-bsd-nat.c | 16 +-- devel/gdb/files/patch-gdb_configure | 16 --- devel/gdb/files/patch-gdb_python_python-config.py | 16 +-- 19 files changed, 151 insertions(+), 202 deletions(-) diff --git a/devel/gdb/Makefile b/devel/gdb/Makefile index b2afab9118ad..010dd16305bc 100644 --- a/devel/gdb/Makefile +++ b/devel/gdb/Makefile @@ -1,8 +1,7 @@ # Created by: Steven Kreuzer <skreuzer@FreeBSD.org> PORTNAME= gdb -DISTVERSION= 10.2 -PORTREVISION= 1 +DISTVERSION= 11.1 CATEGORIES= devel MASTER_SITES= GNU @@ -15,7 +14,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING3 # untested on sparc64, might work NOT_FOR_ARCHS= sparc64 -LIB_DEPENDS= libmpfr.so:math/mpfr +LIB_DEPENDS= libgmp.so:math/gmp \ + libmpfr.so:math/mpfr TEST_DEPENDS= runtest:misc/dejagnu USES= compiler:c++11-lang cpe gmake libtool makeinfo pkgconfig tar:xz @@ -34,8 +34,7 @@ CONFIGURE_ARGS= --program-suffix=${DISTVERSION:S/.//g} \ --without-libunwind-ia64 --with-system-zlib CONFIGURE_OUTSOURCE= yes CFLAGS:= ${CFLAGS:C/ +$//} # blanks at EOL creep in sometimes -CFLAGS+= -DRL_NO_COMPAT -Wno-unused-function -Wno-unused-variable -CFLAGS+= -Wno-unknown-warning-option +CFLAGS+= -DRL_NO_COMPAT EXCLUDE= dejagnu expect sim texinfo intl EXTRACT_AFTER_ARGS= ${EXCLUDE:S/^/--exclude /} LIB_DEPENDS+= libexpat.so:textproc/expat2 @@ -97,7 +96,7 @@ USE_GITHUB= nodefault GH_ACCOUNT= bsdjhb:libcxx GH_PROJECT= libcxx-gdbpy:libcxx -GH_TAGNAME= 229610a:libcxx +GH_TAGNAME= 03d0d9b:libcxx # Workaround USE_GITHUB preventing the default DISTFILES DISTFILES= ${DISTNAME}${EXTRACT_SUFX} diff --git a/devel/gdb/distinfo b/devel/gdb/distinfo index 0b9714e177cd..81d7eafa5e93 100644 --- a/devel/gdb/distinfo +++ b/devel/gdb/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1619544553 -SHA256 (gdb-10.2.tar.xz) = aaa1223d534c9b700a8bec952d9748ee1977513f178727e1bee520ee000b4f29 -SIZE (gdb-10.2.tar.xz) = 21518900 -SHA256 (bsdjhb-libcxx-gdbpy-229610a_GH0.tar.gz) = d4235f98b71c4d5e3f01744de279e64808229dd46c0f00cac6a12fdeb3a998a1 -SIZE (bsdjhb-libcxx-gdbpy-229610a_GH0.tar.gz) = 5299 +TIMESTAMP = 1631890421 +SHA256 (gdb-11.1.tar.xz) = cccfcc407b20d343fb320d4a9a2110776dd3165118ffd41f4b1b162340333f94 +SIZE (gdb-11.1.tar.xz) = 22040696 +SHA256 (bsdjhb-libcxx-gdbpy-03d0d9b_GH0.tar.gz) = 2c1563f361d4fb59b54b1b39bff5cdf609d73962758eb05a8cdfe2c22551b259 +SIZE (bsdjhb-libcxx-gdbpy-03d0d9b_GH0.tar.gz) = 6052 diff --git a/devel/gdb/files/extrapatch-kgdb b/devel/gdb/files/extrapatch-kgdb index 9fd4bdc03c63..f94bb3a49699 100644 --- a/devel/gdb/files/extrapatch-kgdb +++ b/devel/gdb/files/extrapatch-kgdb @@ -1,8 +1,8 @@ diff --git gdb/Makefile.in gdb/Makefile.in -index 4808357e65..982af063b8 100644 +index b8729ed7b2e..660476c11e2 100644 --- gdb/Makefile.in +++ gdb/Makefile.in -@@ -665,6 +665,7 @@ TARGET_OBS = @TARGET_OBS@ +@@ -677,6 +677,7 @@ TARGET_OBS = @TARGET_OBS@ # All target-dependent objects files that require 64-bit CORE_ADDR # (used with --enable-targets=all --enable-64-bit-bfd). ALL_64_TARGET_OBS = \ @@ -10,31 +10,31 @@ index 4808357e65..982af063b8 100644 aarch64-fbsd-tdep.o \ aarch64-linux-tdep.o \ aarch64-newlib-tdep.o \ -@@ -679,6 +680,7 @@ ALL_64_TARGET_OBS = \ +@@ -691,6 +692,7 @@ ALL_64_TARGET_OBS = \ amd64-darwin-tdep.o \ amd64-dicos-tdep.o \ amd64-fbsd-tdep.o \ + amd64fbsd-kern.o \ amd64-linux-tdep.o \ - amd64-nbsd-tdep.o \ + amd64-netbsd-tdep.o \ amd64-obsd-tdep.o \ -@@ -693,6 +695,7 @@ ALL_64_TARGET_OBS = \ +@@ -707,6 +709,7 @@ ALL_64_TARGET_OBS = \ ia64-vms-tdep.o \ mips64-obsd-tdep.o \ sparc64-fbsd-tdep.o \ + sparc64fbsd-kern.o \ sparc64-linux-tdep.o \ - sparc64-nbsd-tdep.o \ + sparc64-netbsd-tdep.o \ sparc64-obsd-tdep.o \ -@@ -713,6 +716,7 @@ ALL_TARGET_OBS = \ +@@ -727,6 +730,7 @@ ALL_TARGET_OBS = \ arch/ppc-linux-common.o \ arch/riscv.o \ arm-bsd-tdep.o \ + arm-fbsd-kern.o \ arm-fbsd-tdep.o \ arm-linux-tdep.o \ - arm-nbsd-tdep.o \ -@@ -731,6 +735,8 @@ ALL_TARGET_OBS = \ + arm-netbsd-tdep.o \ +@@ -745,6 +749,8 @@ ALL_TARGET_OBS = \ csky-linux-tdep.o \ csky-tdep.o \ dicos-tdep.o \ @@ -43,7 +43,7 @@ index 4808357e65..982af063b8 100644 fbsd-tdep.o \ frv-linux-tdep.o \ frv-tdep.o \ -@@ -746,6 +752,7 @@ ALL_TARGET_OBS = \ +@@ -760,6 +766,7 @@ ALL_TARGET_OBS = \ i386-darwin-tdep.o \ i386-dicos-tdep.o \ i386-fbsd-tdep.o \ @@ -51,40 +51,40 @@ index 4808357e65..982af063b8 100644 i386-gnu-tdep.o \ i386-go32-tdep.o \ i386-linux-tdep.o \ -@@ -770,6 +777,7 @@ ALL_TARGET_OBS = \ +@@ -784,6 +791,7 @@ ALL_TARGET_OBS = \ mep-tdep.o \ microblaze-linux-tdep.o \ microblaze-tdep.o \ + mipsfbsd-kern.o \ mips-fbsd-tdep.o \ mips-linux-tdep.o \ - mips-nbsd-tdep.o \ -@@ -788,6 +796,7 @@ ALL_TARGET_OBS = \ + mips-netbsd-tdep.o \ +@@ -802,6 +810,7 @@ ALL_TARGET_OBS = \ or1k-linux-tdep.o \ or1k-tdep.o \ ppc-fbsd-tdep.o \ + ppcfbsd-kern.o \ ppc-linux-tdep.o \ - ppc-nbsd-tdep.o \ + ppc-netbsd-tdep.o \ ppc-obsd-tdep.o \ -@@ -795,6 +804,7 @@ ALL_TARGET_OBS = \ +@@ -809,6 +818,7 @@ ALL_TARGET_OBS = \ ppc-sysv-tdep.o \ ppc64-tdep.o \ ravenscar-thread.o \ + riscv-fbsd-kern.o \ riscv-fbsd-tdep.o \ riscv-linux-tdep.o \ - riscv-ravenscar-thread.o \ -@@ -1606,7 +1616,7 @@ generated_files = \ + riscv-none-tdep.o \ +@@ -1633,7 +1643,7 @@ generated_files = \ # Flags needed to compile Python code PYTHON_CFLAGS = @PYTHON_CFLAGS@ -all: gdb$(EXEEXT) $(CONFIG_ALL) gdb-gdb.py gdb-gdb.gdb +all: gdb$(EXEEXT) kgdb$(EXEEXT) $(CONFIG_ALL) gdb-gdb.py gdb-gdb.gdb - @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do + @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=$(SUBDIRS)" subdir_do # Rule for compiling .c files in the top-level gdb directory. -@@ -1871,6 +1881,12 @@ ifneq ($(CODESIGN_CERT),) +@@ -1887,6 +1897,12 @@ ifneq ($(CODESIGN_CERT),) $(ECHO_SIGN) $(CODESIGN) -s $(CODESIGN_CERT) gdb$(EXEEXT) endif @@ -94,10 +94,10 @@ index 4808357e65..982af063b8 100644 + -o kgdb$(EXEEXT) kgdb-main.o $(LIBGDB_OBS) \ + $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) + - # Convenience rule to handle recursion. - .PHONY: all-data-directory - all-data-directory: data-directory/Makefile -@@ -1911,6 +1927,7 @@ clean mostlyclean: $(CONFIG_CLEAN) + # This is useful when debugging GDB, because some Unix's don't let you run GDB + # on itself without copying the executable. So "make gdb1" will make + # gdb and put a copy in gdb1, and you can run it with "gdb gdb1". +@@ -1922,6 +1938,7 @@ clean mostlyclean: $(CONFIG_CLEAN) rm -f init.c stamp-init version.c stamp-version rm -f gdb$(EXEEXT) core make.log rm -f gdb[0-9]$(EXEEXT) @@ -105,7 +105,7 @@ index 4808357e65..982af063b8 100644 rm -f test-cp-name-parser$(EXEEXT) rm -f xml-builtin.c stamp-xml rm -f $(DEPDIR)/* -@@ -2106,6 +2123,7 @@ MAKEOVERRIDES = +@@ -2114,6 +2131,7 @@ MAKEOVERRIDES = ALLDEPFILES = \ aarch32-tdep.c \ @@ -113,7 +113,7 @@ index 4808357e65..982af063b8 100644 aarch64-fbsd-nat.c \ aarch64-fbsd-tdep.c \ aarch64-linux-nat.c \ -@@ -2125,6 +2143,7 @@ ALLDEPFILES = \ +@@ -2133,6 +2151,7 @@ ALLDEPFILES = \ amd64-bsd-nat.c \ amd64-darwin-tdep.c \ amd64-dicos-tdep.c \ @@ -121,7 +121,7 @@ index 4808357e65..982af063b8 100644 amd64-fbsd-nat.c \ amd64-fbsd-tdep.c \ amd64-linux-nat.c \ -@@ -2139,6 +2158,7 @@ ALLDEPFILES = \ +@@ -2149,6 +2168,7 @@ ALLDEPFILES = \ arc-tdep.c \ arm.c \ arm-bsd-tdep.c \ @@ -129,7 +129,7 @@ index 4808357e65..982af063b8 100644 arm-fbsd-nat.c \ arm-fbsd-tdep.c \ arm-get-next-pcs.c \ -@@ -2160,6 +2180,9 @@ ALLDEPFILES = \ +@@ -2170,6 +2190,9 @@ ALLDEPFILES = \ csky-tdep.c \ darwin-nat.c \ dicos-tdep.c \ @@ -139,7 +139,7 @@ index 4808357e65..982af063b8 100644 fbsd-nat.c \ fbsd-tdep.c \ fork-child.c \ -@@ -2180,6 +2203,7 @@ ALLDEPFILES = \ +@@ -2190,6 +2213,7 @@ ALLDEPFILES = \ i386-darwin-nat.c \ i386-darwin-tdep.c \ i386-dicos-tdep.c \ @@ -147,7 +147,7 @@ index 4808357e65..982af063b8 100644 i386-fbsd-nat.c \ i386-fbsd-tdep.c \ i386-gnu-nat.c \ -@@ -2217,6 +2241,7 @@ ALLDEPFILES = \ +@@ -2227,6 +2251,7 @@ ALLDEPFILES = \ microblaze-linux-tdep.c \ microblaze-tdep.c \ mingw-hdep.c \ @@ -155,7 +155,7 @@ index 4808357e65..982af063b8 100644 mips-fbsd-nat.c \ mips-fbsd-tdep.c \ mips-linux-nat.c \ -@@ -2236,6 +2261,7 @@ ALLDEPFILES = \ +@@ -2246,6 +2271,7 @@ ALLDEPFILES = \ obsd-nat.c \ obsd-tdep.c \ posix-hdep.c \ @@ -163,7 +163,7 @@ index 4808357e65..982af063b8 100644 ppc-fbsd-nat.c \ ppc-fbsd-tdep.c \ ppc-linux-nat.c \ -@@ -2250,6 +2276,7 @@ ALLDEPFILES = \ +@@ -2260,6 +2286,7 @@ ALLDEPFILES = \ procfs.c \ ravenscar-thread.c \ remote-sim.c \ @@ -171,7 +171,7 @@ index 4808357e65..982af063b8 100644 riscv-fbsd-nat.c \ riscv-fbsd-tdep.c \ riscv-linux-nat.c \ -@@ -2286,6 +2313,7 @@ ALLDEPFILES = \ +@@ -2297,6 +2324,7 @@ ALLDEPFILES = \ sparc-sol2-nat.c \ sparc-sol2-tdep.c \ sparc-tdep.c \ @@ -179,7 +179,7 @@ index 4808357e65..982af063b8 100644 sparc64-fbsd-nat.c \ sparc64-fbsd-tdep.c \ sparc64-linux-nat.c \ -@@ -2544,7 +2572,7 @@ endif +@@ -2555,7 +2583,7 @@ endif # A list of all the objects we might care about in this build, for # dependency tracking. @@ -189,12 +189,12 @@ index 4808357e65..982af063b8 100644 # All the .deps files to include. diff --git gdb/config.in gdb/config.in -index 9755458f9c..4a1f7a924c 100644 +index 2c30504905b..edf57bf48a9 100644 --- gdb/config.in +++ gdb/config.in -@@ -217,6 +217,12 @@ - /* Define to 1 if your system has the kinfo_getvmmap function. */ - #undef HAVE_KINFO_GETVMMAP +@@ -213,6 +213,12 @@ + /* Define to 1 if you have the `kinfo_getfile' function. */ + #undef HAVE_KINFO_GETFILE +/* Define to 1 if your system has the kvm_kerndisp function. */ +#undef HAVE_KVM_DISP @@ -206,11 +206,11 @@ index 9755458f9c..4a1f7a924c 100644 #undef HAVE_LANGINFO_CODESET diff --git gdb/configure gdb/configure -index e7811e807a..0a6a1304ce 100755 +index 5d89635c043..2ab494696c6 100755 --- gdb/configure +++ gdb/configure -@@ -8331,6 +8331,126 @@ $as_echo "#define HAVE_KINFO_GETVMMAP 1" >>confdefs.h - fi +@@ -8226,6 +8226,126 @@ fi + +# kgdb needs kvm_open2 for cross-debugging @@ -337,12 +337,12 @@ index e7811e807a..0a6a1304ce 100755 if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" diff --git gdb/configure.ac gdb/configure.ac -index 620ae23e34..9186b54386 100644 +index b8c79bcac9a..9b73cb6018d 100644 --- gdb/configure.ac +++ gdb/configure.ac -@@ -480,6 +480,16 @@ AC_SEARCH_LIBS(kinfo_getvmmap, util util-freebsd, - [AC_DEFINE(HAVE_KINFO_GETVMMAP, 1, - [Define to 1 if your system has the kinfo_getvmmap function. ])]) +@@ -504,6 +504,16 @@ AC_SEARCH_LIBS(socketpair, socket) + # Link in zlib if we can. This allows us to read compressed debug sections. + AM_ZLIB +# kgdb needs kvm_open2 for cross-debugging +AC_SEARCH_LIBS(kvm_open2, kvm, @@ -358,7 +358,7 @@ index 620ae23e34..9186b54386 100644 # GDB may fork/exec the iconv program to get the list of supported character diff --git gdb/configure.nat gdb/configure.nat -index 3e94a064ae..6b73f8dd90 100644 +index e34cccffd98..d15a915d2c9 100644 --- gdb/configure.nat +++ gdb/configure.nat @@ -63,7 +63,8 @@ case ${gdb_host} in @@ -372,19 +372,19 @@ index 3e94a064ae..6b73f8dd90 100644 LOADLIBES='-lkvm' ;; diff --git gdb/configure.tgt gdb/configure.tgt -index a3e11c4b9b..1d8b6f10a0 100644 +index 97a5a57c378..19ef5c7a48f 100644 --- gdb/configure.tgt +++ gdb/configure.tgt -@@ -101,7 +101,7 @@ esac +@@ -103,7 +103,7 @@ esac case "${targ}" in *-*-freebsd* | *-*-kfreebsd*-gnu) - os_obs="fbsd-tdep.o solib-svr4.o";; + os_obs="fbsd-tdep.o solib-svr4.o fbsd-kld.o fbsd-kthr.o";; *-*-netbsd* | *-*-knetbsd*-gnu) - os_obs="nbsd-tdep.o solib-svr4.o";; + os_obs="netbsd-tdep.o solib-svr4.o";; *-*-openbsd*) -@@ -118,7 +118,7 @@ aarch64*-*-elf | aarch64*-*-rtems*) +@@ -120,7 +120,7 @@ aarch64*-*-elf | aarch64*-*-rtems*) aarch64*-*-freebsd*) # Target: FreeBSD/aarch64 @@ -393,7 +393,7 @@ index a3e11c4b9b..1d8b6f10a0 100644 ;; aarch64*-*-linux*) -@@ -173,7 +173,7 @@ arm*-*-linux*) +@@ -176,7 +176,7 @@ arm*-*-linux*) ;; arm*-*-freebsd*) # Target: FreeBSD/arm @@ -402,7 +402,7 @@ index a3e11c4b9b..1d8b6f10a0 100644 ;; arm*-*-netbsd* | arm*-*-knetbsd*-gnu) # Target: NetBSD/arm -@@ -277,7 +277,11 @@ i[34567]86-*-dicos*) +@@ -276,7 +276,11 @@ i[34567]86-*-dicos*) ;; i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu) # Target: FreeBSD/i386 @@ -415,7 +415,7 @@ index a3e11c4b9b..1d8b6f10a0 100644 ;; i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu) # Target: NetBSD/i386 -@@ -423,7 +427,7 @@ mips*-*-netbsd* | mips*-*-knetbsd*-gnu) +@@ -422,7 +426,7 @@ mips*-*-netbsd* | mips*-*-knetbsd*-gnu) ;; mips*-*-freebsd*) # Target: MIPS running FreeBSD @@ -424,7 +424,7 @@ index a3e11c4b9b..1d8b6f10a0 100644 gdb_sim=../sim/mips/libsim.a ;; mips64*-*-openbsd*) -@@ -489,7 +493,7 @@ or1k-*-* | or1knd-*-*) +@@ -488,7 +492,7 @@ or1k-*-* | or1knd-*-*) powerpc*-*-freebsd*) # Target: FreeBSD/powerpc gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc64-tdep.o \ @@ -433,7 +433,7 @@ index a3e11c4b9b..1d8b6f10a0 100644 ravenscar-thread.o ppc-ravenscar-thread.o" ;; -@@ -541,7 +545,7 @@ s390*-*-linux*) +@@ -540,7 +544,7 @@ s390*-*-linux*) riscv*-*-freebsd*) # Target: FreeBSD/riscv @@ -462,10 +462,10 @@ index a3e11c4b9b..1d8b6f10a0 100644 x86_64-*-mingw* | x86_64-*-cygwin*) # Target: MingW/amd64 diff --git gdb/osabi.c gdb/osabi.c -index 627b9d9815..45a2fc6ade 100644 +index aabf895c045..5b5ef033f90 100644 --- gdb/osabi.c +++ gdb/osabi.c -@@ -66,6 +66,7 @@ static const struct osabi_names gdb_osabi_names[] = +@@ -67,6 +67,7 @@ static const struct osabi_names gdb_osabi_names[] = { "Solaris", NULL }, { "GNU/Linux", "linux(-gnu[^-]*)?" }, { "FreeBSD", NULL }, @@ -474,7 +474,7 @@ index 627b9d9815..45a2fc6ade 100644 { "OpenBSD", NULL }, { "WindowsCE", NULL }, diff --git gdb/osabi.h gdb/osabi.h -index a7e6a10d01..07cef9bee3 100644 +index 1ecbed4611d..9f701076063 100644 --- gdb/osabi.h +++ gdb/osabi.h @@ -31,6 +31,7 @@ enum gdb_osabi @@ -486,10 +486,10 @@ index a7e6a10d01..07cef9bee3 100644 GDB_OSABI_OPENBSD, GDB_OSABI_WINCE, diff --git gdb/regcache.c gdb/regcache.c -index 91d3202b94..903b3d0d86 100644 +index fde0c612975..818c62bbf31 100644 --- gdb/regcache.c +++ gdb/regcache.c -@@ -1108,6 +1108,22 @@ reg_buffer::raw_supply_zeroed (int regnum) +@@ -1112,6 +1112,22 @@ reg_buffer::raw_supply_zeroed (int regnum) m_register_status[regnum] = REG_VALID; } @@ -513,7 +513,7 @@ index 91d3202b94..903b3d0d86 100644 void diff --git gdb/regcache.h gdb/regcache.h -index 9390f5708e..62920a5b7f 100644 +index ee254f381f4..63158dcdaf1 100644 --- gdb/regcache.h +++ gdb/regcache.h @@ -228,6 +228,8 @@ class reg_buffer : public reg_buffer_common @@ -525,16 +525,3 @@ index 9390f5708e..62920a5b7f 100644 void invalidate (int regnum); virtual ~reg_buffer () = default; -diff --git gnulib/configure gnulib/configure -index ef7f6d5e80..536a0b4812 100644 ---- gnulib/configure -+++ gnulib/configure -@@ -20747,6 +20747,8 @@ else - *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # Guess all is fine on musl systems. - *-musl*) gl_cv_func_gettimeofday_clobber="guessing no" ;; -+ # Guess all is fine on FreeBSD. -+ freebsd*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # Guess no on native Windows. - mingw*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # If we don't know, obey --enable-cross-guesses. diff --git a/devel/gdb/files/kgdb/aarch64-fbsd-kern.c b/devel/gdb/files/kgdb/aarch64-fbsd-kern.c index 55222d175eb3..8c0bac8dfc0b 100644 --- a/devel/gdb/files/kgdb/aarch64-fbsd-kern.c +++ b/devel/gdb/files/kgdb/aarch64-fbsd-kern.c @@ -22,7 +22,6 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ /* Target-dependent code for FreeBSD/aarch64 kernels. */ @@ -156,6 +155,7 @@ aarch64_fbsd_trapframe_sniffer (const struct frame_unwind *self, } static const struct frame_unwind aarch64_fbsd_trapframe_unwind = { + "aarch64 FreeBSD kernel trap", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, aarch64_fbsd_trapframe_this_id, @@ -187,11 +187,9 @@ aarch64_fbsd_kernel_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) set_gdbarch_significant_addr_bit (gdbarch, 64); } -/* Provide a prototype to silence -Wmissing-prototypes. */ -extern initialize_file_ftype _initialize_aarch64_kgdb_tdep; - +void _initialize_aarch64_kgdb_tdep (); void -_initialize_aarch64_kgdb_tdep (void) +_initialize_aarch64_kgdb_tdep () { gdbarch_register_osabi_sniffer(bfd_arch_aarch64, bfd_target_elf_flavour, diff --git a/devel/gdb/files/kgdb/amd64fbsd-kern.c b/devel/gdb/files/kgdb/amd64fbsd-kern.c index c7ee226eed59..dafd16501536 100644 --- a/devel/gdb/files/kgdb/amd64fbsd-kern.c +++ b/devel/gdb/files/kgdb/amd64fbsd-kern.c @@ -24,8 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <sys/cdefs.h> - #include "defs.h" #include "frame-unwind.h" #include "gdbcore.h" @@ -217,6 +215,7 @@ amd64fbsd_trapframe_sniffer (const struct frame_unwind *self, } static const struct frame_unwind amd64fbsd_trapframe_unwind = { + "amd64 FreeBSD kernel trap", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, amd64fbsd_trapframe_this_id, @@ -240,9 +239,9 @@ amd64fbsd_kernel_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch) fbsd_vmcore_set_cpu_pcb_addr(gdbarch, kgdb_trgt_stop_pcb); } -void _initialize_amd64_kgdb_tdep(void); +void _initialize_amd64_kgdb_tdep (); void -_initialize_amd64_kgdb_tdep(void) +_initialize_amd64_kgdb_tdep () { gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64, GDB_OSABI_FREEBSD_KERNEL, amd64fbsd_kernel_init_abi); diff --git a/devel/gdb/files/kgdb/arm-fbsd-kern.c b/devel/gdb/files/kgdb/arm-fbsd-kern.c index c14810bac20f..4ae80313dbc3 100644 --- a/devel/gdb/files/kgdb/arm-fbsd-kern.c +++ b/devel/gdb/files/kgdb/arm-fbsd-kern.c @@ -22,7 +22,6 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ /* Target-dependent code for FreeBSD/arm kernels. */ @@ -170,6 +169,7 @@ arm_fbsd_trapframe_sniffer (const struct frame_unwind *self, } static const struct frame_unwind arm_fbsd_trapframe_unwind = { + "arm FreeBSD kernel trap", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, arm_fbsd_trapframe_this_id, @@ -199,11 +199,9 @@ arm_fbsd_kernel_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) set_gdbarch_software_single_step (gdbarch, arm_software_single_step); } -/* Provide a prototype to silence -Wmissing-prototypes. */ -extern initialize_file_ftype _initialize_arm_kgdb_tdep; - +void _initialize_arm_kgdb_tdep (); void -_initialize_arm_kgdb_tdep (void) +_initialize_arm_kgdb_tdep () { gdbarch_register_osabi_sniffer(bfd_arch_arm, bfd_target_elf_flavour, diff --git a/devel/gdb/files/kgdb/fbsd-kld.c b/devel/gdb/files/kgdb/fbsd-kld.c index 797e29567bb8..baaca7fda26e 100644 --- a/devel/gdb/files/kgdb/fbsd-kld.c +++ b/devel/gdb/files/kgdb/fbsd-kld.c @@ -24,8 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <sys/cdefs.h> - #include "defs.h" #include "command.h" #include "completer.h" @@ -127,7 +125,8 @@ check_kld_path (std::string &path) static gdb::optional<std::string> find_kld_path (const char *filename) { - if (exec_bfd) + bfd *exec_bfd = current_program_space->exec_bfd (); + if (exec_bfd != nullptr) { std::string kernel_dir = ldirname (bfd_get_filename (exec_bfd)); if (!kernel_dir.empty ()) @@ -171,7 +170,7 @@ read_pointer (CORE_ADDR address) gdb_byte ptr_buf[8]; int arch_size; - arch_size = bfd_get_arch_size (exec_bfd); + arch_size = bfd_get_arch_size (current_program_space->exec_bfd ()); if (arch_size == -1) return (0); ptr_type = builtin_type (target_gdbarch ())->builtin_data_ptr; @@ -239,14 +238,8 @@ adjust_section_address (struct target_section *sec, CORE_ADDR *curr_base) static void load_kld (const char *path, CORE_ADDR base_addr, int from_tty) { - struct target_section *sections = NULL, *sections_end = NULL, *s; - gdb_bfd_ref_ptr bfd; - CORE_ADDR curr_addr; - symfile_add_flags add_flags; - int i; - /* Open the kld. */ - bfd = gdb_bfd_openr(path, gnutarget); + gdb_bfd_ref_ptr bfd = gdb_bfd_openr(path, gnutarget); if (bfd == NULL) error("\"%s\": can't open: %s", path, bfd_errmsg(bfd_get_error())); @@ -259,27 +252,24 @@ load_kld (const char *path, CORE_ADDR base_addr, int from_tty) error("\"%s\": can't find text section", path); /* Build a section table from the bfd and relocate the sections. */ - if (build_section_table (bfd.get(), §ions, §ions_end)) - error("\"%s\": can't find file sections", path); - curr_addr = base_addr; - for (s = sections; s < sections_end; s++) - adjust_section_address(s, &curr_addr); + target_section_table sections = build_section_table (bfd.get()); + CORE_ADDR curr_addr = base_addr; + for (target_section &s : sections) + adjust_section_address(&s, &curr_addr); /* Build a section addr info to pass to symbol_file_add(). */ section_addr_info sap - = build_section_addr_info_from_section_table (sections, - sections_end); - xfree(sections); + = build_section_addr_info_from_section_table (sections); printf_unfiltered("add symbol table from file \"%s\" at\n", path); - for (i = 0; i < sap.size(); i++) - printf_unfiltered("\t%s_addr = %s\n", sap[i].name.c_str(), - paddress(target_gdbarch(), sap[i].addr)); + for (const other_sections &s : sap) + printf_unfiltered("\t%s_addr = %s\n", s.name.c_str(), + paddress(target_gdbarch(), s.addr)); if (from_tty && (!query("%s", ""))) error("Not confirmed."); - add_flags = 0; + symfile_add_flags add_flags = 0; if (from_tty) add_flags |= SYMFILE_VERBOSE; symbol_file_add_from_bfd(bfd.get(), path, add_flags, &sap, @@ -291,7 +281,7 @@ kgdb_add_kld_cmd (const char *arg, int from_tty) { CORE_ADDR base_addr; - if (!exec_bfd) + if (current_program_space->exec_bfd () == nullptr) error("No kernel symbol file"); /* Try to open the raw path to handle absolute paths first. */ @@ -326,7 +316,7 @@ kld_relocate_section_addresses (struct so_list *so, struct target_section *sec) lm_info_kld *li = (lm_info_kld *) so->lm_info; static CORE_ADDR curr_addr; - if (sec == so->sections) + if (sec == &so->sections->front()) curr_addr = li->base_address; adjust_section_address(sec, &curr_addr); @@ -365,7 +355,7 @@ kld_solib_create_inferior_hook (int from_tty) struct kld_info *info; info = get_kld_info(); - + /* * Compute offsets of relevant members in struct linker_file * and the addresses of global variables. Newer kernels @@ -533,9 +523,9 @@ kld_find_and_open_solib (const char *solib, unsigned o_flags, return (fd); } -void _initialize_kld_target(void); +void _initialize_kld_target (); void -_initialize_kld_target(void) +_initialize_kld_target () { struct cmd_list_element *c; diff --git a/devel/gdb/files/kgdb/fbsd-kthr.c b/devel/gdb/files/kgdb/fbsd-kthr.c index 38dfa5c026ff..b1c55a2ba6f5 100644 --- a/devel/gdb/files/kgdb/fbsd-kthr.c +++ b/devel/gdb/files/kgdb/fbsd-kthr.c @@ -22,7 +22,6 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ #include <sys/param.h> diff --git a/devel/gdb/files/kgdb/fbsd-kvm.c b/devel/gdb/files/kgdb/fbsd-kvm.c index 616ec2ae3109..4f11f641f78f 100644 --- a/devel/gdb/files/kgdb/fbsd-kvm.c +++ b/devel/gdb/files/kgdb/fbsd-kvm.c @@ -22,7 +22,6 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ #include "defs.h" @@ -179,9 +178,8 @@ fbsd_kernel_osabi_sniffer(bfd *abfd) case ELFOSABI_NONE: { enum gdb_osabi osabi = GDB_OSABI_UNKNOWN; - bfd_map_over_sections (abfd, - generic_elf_osabi_sniff_abi_tag_sections, - &osabi); + for (asection *sect : gdb_bfd_sections (abfd)) + generic_elf_osabi_sniff_abi_tag_sections (abfd, sect, &osabi); /* * aarch64 and RISC-V kernels don't have the right @@ -330,11 +328,13 @@ fbsd_kvm_target_open (const char *args, int from_tty) } /* Don't free the filename now and close any previous vmcore. */ - unpush_target(&fbsd_kvm_ops); + current_inferior ()->unpush_target (&fbsd_kvm_ops); #ifdef HAVE_KVM_DISP /* Relocate kernel objfile if needed. */ - if (symfile_objfile && + struct objfile *symfile_objfile = + current_program_space->symfile_object_file; + if (symfile_objfile != nullptr && (bfd_get_file_flags(symfile_objfile->obfd) & (EXEC_P | DYNAMIC)) != 0) { CORE_ADDR displacement = kvm_kerndisp(nkvm); @@ -387,7 +387,7 @@ fbsd_kvm_target_open (const char *args, int from_tty) kvm = nkvm; vmcore = filename; - push_target (&fbsd_kvm_ops); + current_inferior()->push_target (&fbsd_kvm_ops); kgdb_dmesg(); @@ -419,6 +419,9 @@ fbsd_kvm_target::close() { if (kvm != NULL) { + switch_to_no_thread (); + exit_inferior_silent (current_inferior ()); + clear_solib(); if (kvm_close(kvm) != 0) warning("cannot close \"%s\": %s", vmcore, @@ -428,8 +431,6 @@ fbsd_kvm_target::close() vmcore = NULL; } - switch_to_no_thread (); - exit_inferior_silent (current_inferior ()); } #if 0 @@ -637,9 +638,9 @@ kgdb_set_tid_cmd (const char *arg, int from_tty) kgdb_switch_to_thread(arg, addr); } -void _initialize_kgdb_target(void); +void _initialize_kgdb_target (); void -_initialize_kgdb_target(void) +_initialize_kgdb_target () { add_target(fbsd_kvm_target_info, fbsd_kvm_target_open, diff --git a/devel/gdb/files/kgdb/i386fbsd-kern.c b/devel/gdb/files/kgdb/i386fbsd-kern.c index aefefb5a9265..1040defa74da 100644 --- a/devel/gdb/files/kgdb/i386fbsd-kern.c +++ b/devel/gdb/files/kgdb/i386fbsd-kern.c @@ -24,8 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <sys/cdefs.h> - #include "defs.h" #include "frame-unwind.h" #include "gdbcore.h" @@ -282,6 +280,7 @@ i386fbsd_dblfault_sniffer (const struct frame_unwind *self, } static const struct frame_unwind i386fbsd_dblfault_unwind = { + "i386 FreeBSD double fault", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, i386fbsd_dblfault_this_id, @@ -441,6 +440,7 @@ i386fbsd_trapframe_sniffer (const struct frame_unwind *self, } static const struct frame_unwind i386fbsd_trapframe_unwind = { + "i386 FreeBSD kernel trap", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, i386fbsd_trapframe_this_id, @@ -466,9 +466,9 @@ i386fbsd_kernel_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch) fbsd_vmcore_set_cpu_pcb_addr(gdbarch, kgdb_trgt_stop_pcb); } -void _initialize_i386_kgdb_tdep(void); +void _initialize_i386_kgdb_tdep (); void -_initialize_i386_kgdb_tdep(void) +_initialize_i386_kgdb_tdep () { /* This is used for both i386 and amd64, but amd64 always includes this target, so just include it here. */ diff --git a/devel/gdb/files/kgdb/kgdb-main.c b/devel/gdb/files/kgdb/kgdb-main.c index 608c08f051ec..22a219027785 100644 --- a/devel/gdb/files/kgdb/kgdb-main.c +++ b/devel/gdb/files/kgdb/kgdb-main.c @@ -24,8 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <sys/cdefs.h> - #include <sys/param.h> #include <sys/stat.h> #include <sys/types.h> @@ -49,6 +47,7 @@ #include <cli-out.h> #include <main.h> #include <objfiles.h> +#include "serial.h" #include <target.h> #include <top.h> #include <ui-file.h> diff --git a/devel/gdb/files/kgdb/kgdb.h b/devel/gdb/files/kgdb/kgdb.h index b263b028e44a..772e33d4daf5 100644 --- a/devel/gdb/files/kgdb/kgdb.h +++ b/devel/gdb/files/kgdb/kgdb.h @@ -22,7 +22,6 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ #ifndef _KGDB_H_ diff --git a/devel/gdb/files/kgdb/mipsfbsd-kern.c b/devel/gdb/files/kgdb/mipsfbsd-kern.c index ff7741ba658b..78c9c44a2ca4 100644 --- a/devel/gdb/files/kgdb/mipsfbsd-kern.c +++ b/devel/gdb/files/kgdb/mipsfbsd-kern.c @@ -23,8 +23,6 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * from: src/gnu/usr.bin/gdb/kgdb/trgt_alpha.c,v 1.2.2.1 2005/09/15 05:32:10 marcel */ #include "defs.h" @@ -238,6 +236,7 @@ mipsfbsd_trapframe_sniffer (const struct frame_unwind *self, } static const struct frame_unwind mipsfbsd_trapframe_unwind = { + "mips FreeBSD kernel trap", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, mipsfbsd_trapframe_this_id, @@ -283,9 +282,9 @@ mipsfbsd_kernel_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) fbsd_vmcore_set_cpu_pcb_addr (gdbarch, kgdb_trgt_stop_pcb); } -void _initialize_mips_kgdb_tdep(void); +void _initialize_mips_kgdb_tdep (); void -_initialize_mips_kgdb_tdep (void) +_initialize_mips_kgdb_tdep () { gdbarch_register_osabi_sniffer(bfd_arch_mips, bfd_target_elf_flavour, diff --git a/devel/gdb/files/kgdb/ppcfbsd-kern.c b/devel/gdb/files/kgdb/ppcfbsd-kern.c index 53a73d3a24d0..3a6eb466a92c 100644 --- a/devel/gdb/files/kgdb/ppcfbsd-kern.c +++ b/devel/gdb/files/kgdb/ppcfbsd-kern.c @@ -24,8 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <sys/cdefs.h> - #include "defs.h" #include "frame-unwind.h" #include "gdbcore.h" @@ -201,6 +199,7 @@ ppcfbsd_trapframe_sniffer (const struct frame_unwind *self, static const struct frame_unwind ppcfbsd_trapframe_unwind = { + "ppc FreeBSD kernel trap", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, ppcfbsd_trapframe_this_id, @@ -239,9 +238,9 @@ ppcfbsd_kernel_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch) } } -void _initialize_ppc_kgdb_tdep(void); +void _initialize_ppc_kgdb_tdep (); void -_initialize_ppc_kgdb_tdep(void) +_initialize_ppc_kgdb_tdep () { gdbarch_register_osabi_sniffer(bfd_arch_powerpc, bfd_target_elf_flavour, diff --git a/devel/gdb/files/kgdb/riscv-fbsd-kern.c b/devel/gdb/files/kgdb/riscv-fbsd-kern.c index 3554ec00ee19..5d648fd0db83 100644 --- a/devel/gdb/files/kgdb/riscv-fbsd-kern.c +++ b/devel/gdb/files/kgdb/riscv-fbsd-kern.c @@ -22,7 +22,6 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ /* Target-dependent code for FreeBSD/riscv64 kernels. */ @@ -170,6 +169,7 @@ riscv_fbsd_trapframe_sniffer (const struct frame_unwind *self, } static const struct frame_unwind riscv_fbsd_trapframe_unwind = { + "riscv FreeBSD kernel trap", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, riscv_fbsd_trapframe_this_id, @@ -193,11 +193,9 @@ riscv_fbsd_kernel_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) fbsd_vmcore_set_cpu_pcb_addr (gdbarch, kgdb_trgt_stop_pcb); } -/* Provide a prototype to silence -Wmissing-prototypes. */ -extern initialize_file_ftype _initialize_riscv_kgdb_tdep; - *** 156 LINES SKIPPED ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202109202047.18KKl5DB048832>