From 5f8d25d394e138447666e3219a723e49e3e44ec1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 1 Jul 2024 07:12:58 +0000 Subject: [PATCH] dev-debug/gdb: Sync with Gentoo It's from Gentoo commit 6ca5c05218aebc2add4f0d690c03baf876cf40be. --- .../portage-stable/dev-debug/gdb/Manifest | 4 +- .../files/gdb-13.2-fix-sparc-debugging.patch | 126 ------------------ .../gdb-14.1-fix-dll-export-forwarding.patch | 60 --------- .../files/gdb-14.1-fix-list-segfault.patch | 101 -------------- ...14.1-fix-print-global-variable-stubs.patch | 109 --------------- ...{gdb-13.2-r2.ebuild => gdb-14.2-r1.ebuild} | 25 ++-- .../dev-debug/gdb/gdb-14.2.ebuild | 2 +- ...{gdb-14.1-r1.ebuild => gdb-15.0.91.ebuild} | 5 +- 8 files changed, 21 insertions(+), 411 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-13.2-fix-sparc-debugging.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-dll-export-forwarding.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-list-segfault.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-print-global-variable-stubs.patch rename sdk_container/src/third_party/portage-stable/dev-debug/gdb/{gdb-13.2-r2.ebuild => gdb-14.2-r1.ebuild} (91%) rename sdk_container/src/third_party/portage-stable/dev-debug/gdb/{gdb-14.1-r1.ebuild => gdb-15.0.91.ebuild} (96%) diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest index bc28a63793..90feed16c7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/Manifest @@ -1,3 +1,3 @@ -DIST gdb-13.2.tar.xz 23664644 BLAKE2B bf5216ba2286448a46f9e0a405367c5a678e6d7540204722d355b618018b7b75a2ebc5b51353304c5ded02a3979223a81781d305f5afa5be82516cdc2863d49f SHA512 8185d3e11ab60dafff5860a5016577bfe7dd7547ef01ebc867bc247603d82b74ff74c4f29492c7d2aee57076f52be33e289f4c6b414a4b870d4b3004909f4c34 -DIST gdb-14.1.tar.xz 24108624 BLAKE2B 52a07b4745f95561f360a597d6ec1d212dafc8e9134dc415cd7bcfb02c26934a60807c8400b545a756c68392e16e104178cdc1464430c53611973881e921a942 SHA512 575e198105076fc4a88f68591aa114ab9c1196e84386a3f7b9b58fe5f30cdeed33f6a5f957b68f08c47284ec922bb60c964627e238471419673fd913575ce427 +DIST gdb-14.2-sim-modern-c99.patch.xz 5348 BLAKE2B f8039cdf1b49d12eead0dae7db88dbfad4c47eda696ee26b0bd140605d1d62d4a88557518d4e18c86fffb3c6194782d16e459f4392df71d2ec1af271ccb2838d SHA512 f44239871c584f5d6de98db8d6a6766103a8a6fc92dada7d37f04bdc53efe635cca7dfaa778d620348559814f4784a33e5f72a8dd376dc96fba8ec27032ab389 DIST gdb-14.2.tar.xz 24111936 BLAKE2B 65765dfd1ed08e19bb881fc7ae98d6ee4914f38a9a2bb0d0ca73bef472669664f807fe9c04e8dffd7025be98e736ac52f88ff5851ceddbb01a361885b18befc8 SHA512 7e07941f1fe661288cc571b4964012ceabc1760624fce20320db2f470c01439b2386f859b5288da13204b758e2e3b22a74c68c012178db93b9529b06f1e22ede +DIST gdb-15.0.91.tar.xz 24278716 BLAKE2B 8fbbabf40472e6414ef180a9a072db5fa12c9663e723f763c5ebc9583d160d0ca3dc5910e043dba8b12a494a12c202ad095e36e0a0ea2ba1e8e548c3ba1e5221 SHA512 a946b5a074cec93b06b175276c55614b306cfcabb1f467dc0c2f60085cb6853c6d62511a9570ae9ea778c05bad245d8e6e17b15a29b85d48e60d9c8a72086e2e diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-13.2-fix-sparc-debugging.patch b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-13.2-fix-sparc-debugging.patch deleted file mode 100644 index 3d5201cd94..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-13.2-fix-sparc-debugging.patch +++ /dev/null @@ -1,126 +0,0 @@ -https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=31a56a22c45d76df4c597439f337e3f75ac3065c -https://sourceware.org/bugzilla/show_bug.cgi?id=30525 -https://bugs.gentoo.org/907906 - -From 31a56a22c45d76df4c597439f337e3f75ac3065c Mon Sep 17 00:00:00 2001 -From: Pedro Alves -Date: Wed, 7 Jun 2023 10:38:14 +0100 -Subject: [PATCH] Linux: Avoid pread64/pwrite64 for high memory addresses (PR - gdb/30525) - -Since commit 05c06f318fd9 ("Linux: Access memory even if threads are -running"), GDB prefers pread64/pwrite64 to access inferior memory -instead of ptrace. That change broke reading shared libraries on -SPARC64 Linux, as reported by PR gdb/30525 ("gdb cannot read shared -libraries on SPARC64"). - -On SPARC64 Linux, surprisingly (to me), userspace shared libraries are -mapped at high 64-bit addresses: - - (gdb) info sharedlibrary - Cannot access memory at address 0xfff80001002011e0 - Cannot access memory at address 0xfff80001002011d8 - Cannot access memory at address 0xfff80001002011d8 - From To Syms Read Shared Object Library - 0xfff80001000010a0 0xfff8000100021f80 Yes (*) /lib64/ld-linux.so.2 - (*): Shared library is missing debugging information. - -Those addresses are 64-bit addresses with the high bits set. When -interpreted as signed, they're negative. - -The Linux kernel rejects pread64/pwrite64 if the offset argument of -type off_t (a signed type) is negative, which happens if the memory -address we're accessing has its high bit set. See -linux/fs/read_write.c sys_pread64 and sys_pwrite64 in Linux. - -Thankfully, lseek does not fail in that situation. So the fix is to -use the 'lseek + read|write' path if the offset would be negative. - -Fix this in both native GDB and GDBserver. - -Tested on a SPARC64 GNU/Linux and x86-64 GNU/Linux. - -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30525 -Change-Id: I79c724f918037ea67b7396fadb521bc9d1b10dc5 ---- a/gdb/linux-nat.c -+++ b/gdb/linux-nat.c -@@ -3909,18 +3909,26 @@ linux_proc_xfer_memory_partial_fd (int fd, int pid, - - gdb_assert (fd != -1); - -- /* Use pread64/pwrite64 if available, since they save a syscall and can -- handle 64-bit offsets even on 32-bit platforms (for instance, SPARC -- debugging a SPARC64 application). */ -+ /* Use pread64/pwrite64 if available, since they save a syscall and -+ can handle 64-bit offsets even on 32-bit platforms (for instance, -+ SPARC debugging a SPARC64 application). But only use them if the -+ offset isn't so high that when cast to off_t it'd be negative, as -+ seen on SPARC64. pread64/pwrite64 outright reject such offsets. -+ lseek does not. */ - #ifdef HAVE_PREAD64 -- ret = (readbuf ? pread64 (fd, readbuf, len, offset) -- : pwrite64 (fd, writebuf, len, offset)); --#else -- ret = lseek (fd, offset, SEEK_SET); -- if (ret != -1) -- ret = (readbuf ? read (fd, readbuf, len) -- : write (fd, writebuf, len)); -+ if ((off_t) offset >= 0) -+ ret = (readbuf != nullptr -+ ? pread64 (fd, readbuf, len, offset) -+ : pwrite64 (fd, writebuf, len, offset)); -+ else - #endif -+ { -+ ret = lseek (fd, offset, SEEK_SET); -+ if (ret != -1) -+ ret = (readbuf != nullptr -+ ? read (fd, readbuf, len) -+ : write (fd, writebuf, len)); -+ } - - if (ret == -1) - { ---- a/gdbserver/linux-low.cc -+++ b/gdbserver/linux-low.cc -@@ -5377,21 +5377,26 @@ proc_xfer_memory (CORE_ADDR memaddr, unsigned char *readbuf, - { - int bytes; - -- /* If pread64 is available, use it. It's faster if the kernel -- supports it (only one syscall), and it's 64-bit safe even on -- 32-bit platforms (for instance, SPARC debugging a SPARC64 -- application). */ -+ /* Use pread64/pwrite64 if available, since they save a syscall -+ and can handle 64-bit offsets even on 32-bit platforms (for -+ instance, SPARC debugging a SPARC64 application). But only -+ use them if the offset isn't so high that when cast to off_t -+ it'd be negative, as seen on SPARC64. pread64/pwrite64 -+ outright reject such offsets. lseek does not. */ - #ifdef HAVE_PREAD64 -- bytes = (readbuf != nullptr -- ? pread64 (fd, readbuf, len, memaddr) -- : pwrite64 (fd, writebuf, len, memaddr)); --#else -- bytes = -1; -- if (lseek (fd, memaddr, SEEK_SET) != -1) -+ if ((off_t) memaddr >= 0) - bytes = (readbuf != nullptr -- ? read (fd, readbuf, len) -- : write (fd, writebuf, len)); -+ ? pread64 (fd, readbuf, len, memaddr) -+ : pwrite64 (fd, writebuf, len, memaddr)); -+ else - #endif -+ { -+ bytes = -1; -+ if (lseek (fd, memaddr, SEEK_SET) != -1) -+ bytes = (readbuf != nullptr -+ ? read (fd, readbuf, len) -+ : write (fd, writebuf, len)); -+ } - - if (bytes < 0) - return errno; --- -2.39.3 diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-dll-export-forwarding.patch b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-dll-export-forwarding.patch deleted file mode 100644 index 8c2a49f804..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-dll-export-forwarding.patch +++ /dev/null @@ -1,60 +0,0 @@ -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31112 - -From https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=43a608adb04251be8999304cf724f55b2d840ac3 -From: Hannes Domani -Date: Wed, 6 Dec 2023 20:52:06 +0100 -Subject: [PATCH] Fix DLL export forwarding - -I noticed it when I was trying to set a breakpoint at ExitProcess: -``` -(gdb) b ExitProcess -Breakpoint 1 at 0x14001fdd0 -(gdb) r -Starting program: C:\qiewer\heob\heob64.exe -Warning: -Cannot insert breakpoint 1. -Cannot access memory at address 0x3dbf4120 -Cannot insert breakpoint 1. -Cannot access memory at address 0x77644120 -``` - -The problem doesn't exist in gdb 13.2, and the difference can easily be -seen when printing ExitProcess. -gdb 14.1: -``` -(gdb) p ExitProcess -$1 = {} 0x77644120 -``` -gdb 13.2: -``` -(gdb) p ExitProcess -$1 = {} 0x77734120 -``` - -The new behavior started with 9675da25357c7a3f472731ddc6eb3becc65b469a, -where VMA was then calculated relative to FORWARD_DLL_NAME, while it was -relative to DLL_NAME before. - -Fixed by calculating VMA relative to DLL_NAME again. - -Bug: https://sourceware.org/PR31112 -Approved-By: Tom Tromey - -(cherry picked from commit 2574cd903dd84e7081506e24c2e232ecda11a736) ---- a/gdb/coff-pe-read.c -+++ b/gdb/coff-pe-read.c -@@ -210,7 +210,10 @@ add_pe_forwarded_sym (minimal_symbol_reader &reader, - " \"%s\" in dll \"%s\", pointing to \"%s\"\n"), - sym_name, dll_name, forward_qualified_name.c_str ()); - -- unrelocated_addr vma = msymbol.minsym->unrelocated_address (); -+ /* Calculate VMA as if it were relative to DLL_NAME/OBJFILE, even though -+ it actually points inside another dll (FORWARD_DLL_NAME). */ -+ unrelocated_addr vma = unrelocated_addr (msymbol.value_address () -+ - objfile->text_section_offset ()); - msymtype = msymbol.minsym->type (); - section = msymbol.minsym->section_index (); - --- -2.39.3 - diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-list-segfault.patch b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-list-segfault.patch deleted file mode 100644 index 76557b5a7e..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-list-segfault.patch +++ /dev/null @@ -1,101 +0,0 @@ -Bug: https://bugs.gentoo.org/922336 -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31256 - -From https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0068bd6fb3579dd8df7561e038cb3fe27f122b0e -From: Guinevere Larsen -To: gdb-patches@sourceware.org -Cc: Guinevere Larsen -Subject: [PATCH] gdb: fix "list ." related crash -Date: Tue, 23 Jan 2024 11:50:43 +0100 - -When a user attempts to use the "list ." command with an inferior that -doesn't have debug symbols, GDB would crash. This was reported as PR -gdb/31256. - -The crash would happen when attempting to get the current symtab_and_line -for the stop location, because the symtab would return a null pointer -and we'd attempt to dereference it to print the line. - -This commit fixes that by checking for an empty symtab and erroring out -of the function if it happens. - -Bug: https://sourceware.org/PR31256 ---- a/gdb/cli/cli-cmds.c -+++ b/gdb/cli/cli-cmds.c -@@ -1291,6 +1291,8 @@ list_command (const char *arg, int from_tty) - set_default_source_symtab_and_line (); - cursal = get_current_source_symtab_and_line (); - } -+ if (cursal.symtab == nullptr) -+ error (_("No debug information available to print source lines.")); - list_around_line (arg, cursal); - /* Set the repeat args so just pressing "enter" after using "list ." - will print the following lines instead of the same lines again. */ ---- /dev/null -+++ b/gdb/testsuite/gdb.base/list-nodebug.c -@@ -0,0 +1,21 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2024 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+int main () -+{ -+ return 0; -+} ---- /dev/null -+++ b/gdb/testsuite/gdb.base/list-nodebug.exp -@@ -0,0 +1,37 @@ -+# Copyright 2024 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# Test that using the command "list" in a file with no debug information -+# will not crash GDB and will give reasonable output. -+ -+standard_testfile .c -+ -+if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ -+ {nodebug}]} { -+ return -1 -+} -+ -+if {![runto_main]} { -+ untested "couldn't run to main" -+ return -+} -+ -+# Check that GDB doesn't crash when we use list . on an inferior with -+# no debug information -+gdb_test "list ." "No debug.*" "first 'list .'" -+# This should be called twice because the first list invocation since -+# printing a frame may take a different codepath, which wouldn't -+# trigger the crash. -+gdb_test "list ." "No debug.*" "second 'list .'" --- -2.43.0 - - diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-print-global-variable-stubs.patch b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-print-global-variable-stubs.patch deleted file mode 100644 index ff0ff7bfb0..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/files/gdb-14.1-fix-print-global-variable-stubs.patch +++ /dev/null @@ -1,109 +0,0 @@ -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31128 - -From https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bc23ea51f8a83e9524dfb553baa8baacb29e68a9 -From: Hannes Domani -Date: Fri, 8 Dec 2023 19:06:14 +0100 -Subject: [PATCH] Fix printing of global variable stubs if no inferior is - running - -Since 3c45e9f915ae4aeab7312d6fc55a947859057572 gdb crashes when trying -to print a global variable stub without a running inferior, because of -a missing nullptr-check (the block_scope function took care of that -check before it was converted to a method). - -With this check it works again: -``` -(gdb) print s -$1 = -``` - -Bug: https://sourceware.org/PR31128 -Approved-By: Tom Tromey -(cherry picked from commit 576745e26c0ec76a53ba45b20af464628a50b3e4) ---- a/gdb/cp-namespace.c -+++ b/gdb/cp-namespace.c -@@ -1026,7 +1026,11 @@ cp_lookup_transparent_type (const char *name) - - /* If that doesn't work and we're within a namespace, look there - instead. */ -- scope = get_selected_block (0)->scope (); -+ const block *block = get_selected_block (0); -+ if (block == nullptr) -+ return nullptr; -+ -+ scope = block->scope (); - - if (scope[0] == '\0') - return NULL; ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/print-global-stub.cc -@@ -0,0 +1,31 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2023 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+struct S -+{ -+ S (int); -+ virtual ~S (); -+ -+ int m_i; -+}; -+ -+S s (5); -+ -+int main () -+{ -+ return 0; -+} ---- /dev/null -+++ b/gdb/testsuite/gdb.cp/print-global-stub.exp -@@ -0,0 +1,32 @@ -+# Copyright (C) 2023 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# This file is part of the GDB testsuite. -+# It tests printing of a global stub without inferior. -+ -+require allow_cplus_tests -+ -+standard_testfile .cc -+set objfile [standard_output_file ${testfile}.o] -+ -+if { [gdb_compile $srcdir/$subdir/$srcfile $objfile object \ -+ {c++ debug}] != "" } { -+ untested "failed to compile" -+ return -1 -+} -+ -+clean_restart $objfile -+ -+gdb_test "print s" " = " --- -2.39.3 - diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-13.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2-r1.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-13.2-r2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2-r1.ebuild index 43890c7910..b8698002fd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-13.2-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2-r1.ebuild @@ -6,7 +6,7 @@ EAPI=8 # See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging # tips & notes. -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs export CTARGET=${CTARGET:-${CHOST}} @@ -64,8 +64,8 @@ PATCH_DEV="" PATCH_VER="" DESCRIPTION="GNU debugger" HOMEPAGE="https://sourceware.org/gdb/" -SRC_URI=" - ${SRC_URI} +SRC_URI+=" + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-sim-modern-c99.patch.xz ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${P}-patches-${PATCH_VER}.tar.xz} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} " @@ -74,7 +74,7 @@ LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd" if [[ -n ${REGULAR_RELEASE} ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" fi REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" RESTRICT="!test? ( test )" @@ -111,9 +111,13 @@ BDEPEND=" test? ( dev-util/dejagnu ) " +QA_CONFIG_IMPL_DECL_SKIP=( + MIN # gnulib FP (bug #898688) +) + PATCHES=( "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch - "${FILESDIR}"/${P}-fix-sparc-debugging.patch + "${WORKDIR}"/${PN}-14.2-sim-modern-c99.patch ) pkg_setup() { @@ -128,6 +132,14 @@ src_prepare() { # Avoid using ancient termcap from host on Prefix systems sed -i -e 's/termcap tinfow/tinfow/g' \ gdb/configure{.ac,} || die + if [[ ${CHOST} == *-solaris* ]] ; then + # code relies on C++11, so make sure we get that selected + # due to Python 3.11 pymacro.h doing stuff to work around + # versioning mess based on the C version, while we're compiling + # C++ here, so we need to make it clear we're doing C++11/C11 + # because Solaris system headers act on these + sed -i -e 's/-x c++/-std=c++11/' gdb/Makefile.in || die + fi } gdb_branding() { @@ -145,9 +157,6 @@ gdb_branding() { src_configure() { strip-unsupported-flags - # https://sourceware.org/PR22395, bug #853898 - filter-lto - # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html # Avoid really confusing logs from subconfigure spam, makes logs far # more legible. diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2.ebuild index 541bf7f891..7f31a2c3d3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2.ebuild @@ -74,7 +74,7 @@ LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd" if [[ -n ${REGULAR_RELEASE} ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" fi REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.0.91.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.1-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.0.91.ebuild index 6894ea21be..541bf7f891 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.0.91.ebuild @@ -74,7 +74,7 @@ LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd" if [[ -n ${REGULAR_RELEASE} ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" fi REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" RESTRICT="!test? ( test )" @@ -117,9 +117,6 @@ QA_CONFIG_IMPL_DECL_SKIP=( PATCHES=( "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch - "${FILESDIR}"/${PN}-14.1-fix-list-segfault.patch - "${FILESDIR}"/${PN}-14.1-fix-print-global-variable-stubs.patch - "${FILESDIR}"/${PN}-14.1-fix-dll-export-forwarding.patch ) pkg_setup() {