* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2018-11-24 12:59 Sergei Trofimovich
0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2018-11-24 12:59 UTC (permalink / raw
To: gentoo-commits
commit: e6e69875cadca6985633a18eaba92c052a5142b9
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 24 12:58:43 2018 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Nov 24 12:58:43 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6e69875
sys-devel/gdb: fix sparc build, bug #671726
Reported-by: Rolf Eike Beer
Bug: https://bugs.gentoo.org/671726
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
sys-devel/gdb/files/gdb-8.2-sparc-fix-syntax.patch | 10 ++++++++++
sys-devel/gdb/gdb-8.2-r1.ebuild | 6 +++++-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/sys-devel/gdb/files/gdb-8.2-sparc-fix-syntax.patch b/sys-devel/gdb/files/gdb-8.2-sparc-fix-syntax.patch
new file mode 100644
index 00000000000..5ed32c04fd7
--- /dev/null
+++ b/sys-devel/gdb/files/gdb-8.2-sparc-fix-syntax.patch
@@ -0,0 +1,10 @@
+Fix invalid c++: https://bugs.gentoo.org/671726
+--- a/gdb/sparc-linux-nat.c
++++ b/gdb/sparc-linux-nat.c
+@@ -36,5 +36,5 @@ public:
+ { sparc_fetch_inferior_registers (regcache, regnum); }
+
+- void store_registers (struct regcache *regcache, int regnum) override;
++ void store_registers (struct regcache *regcache, int regnum) override
+ { sparc_store_inferior_registers (regcache, regnum); }
+ };
diff --git a/sys-devel/gdb/gdb-8.2-r1.ebuild b/sys-devel/gdb/gdb-8.2-r1.ebuild
index d7f7e1ef262..25456330772 100644
--- a/sys-devel/gdb/gdb-8.2-r1.ebuild
+++ b/sys-devel/gdb/gdb-8.2-r1.ebuild
@@ -90,6 +90,11 @@ DEPEND="${RDEPEND}
S=${WORKDIR}/${PN}-${MY_PV}
+PATCHES=(
+ "${FILESDIR}"/${P}-tinfow.patch
+ "${FILESDIR}"/${P}-sparc-fix-syntax.patch
+)
+
pkg_setup() {
use python && python-single-r1_pkg_setup
}
@@ -101,7 +106,6 @@ src_prepare() {
EPATCH_EXCLUDE+=" 01_all_ia64-TRAP_HWBKPT.patch"
EPATCH_EXCLUDE+=" 02_all_solaris-no-uuidsys.patch"
! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
- eapply "${FILESDIR}"/${P}-tinfow.patch
default
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2019-03-13 22:20 Sergei Trofimovich
0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2019-03-13 22:20 UTC (permalink / raw
To: gentoo-commits
commit: f8a6fa80e0d463b369defc387ba6e78f29cd67c7
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 13 22:10:48 2019 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Wed Mar 13 22:20:24 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8a6fa80
sys-devel/gdb: add source-highlight depend, bug #680238
Found and diagnosed by Jeroen Roovers. Patch proposed upstream as:
https://sourceware.org/ml/gdb-patches/2019-03/msg00285.html
Reported-by: Jeroen Roovers
Closes: https://bugs.gentoo.org/680238
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
.../gdb-8.3.50.20190312-source-highlight.patch | 136 +++++++++++++++++++++
...190312.ebuild => gdb-8.3.50.20190312-r1.ebuild} | 13 +-
sys-devel/gdb/gdb-9999.ebuild | 9 +-
sys-devel/gdb/metadata.xml | 1 +
4 files changed, 155 insertions(+), 4 deletions(-)
diff --git a/sys-devel/gdb/files/gdb-8.3.50.20190312-source-highlight.patch b/sys-devel/gdb/files/gdb-8.3.50.20190312-source-highlight.patch
new file mode 100644
index 00000000000..6479efe572f
--- /dev/null
+++ b/sys-devel/gdb/files/gdb-8.3.50.20190312-source-highlight.patch
@@ -0,0 +1,136 @@
+From d46304c605ff119bc6bae38b7841d64e7568b691 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Wed, 13 Mar 2019 21:15:13 +0000
+Subject: [PATCH] gdb/configure.ac: add --enable-source-highlight
+
+Allow disabling source-highlight dependency autodetection even
+it exists in the system. More details on problem of automatic
+dependencies:
+https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies
+
+Noticed by Jeroen Roovers in https://bugs.gentoo.org/680238
+--- a/gdb/configure
++++ b/gdb/configure
+@@ -879,6 +879,7 @@ with_mpfr
+ with_libmpfr_prefix
+ with_python
+ with_guile
++enable_source_highlight
+ enable_libmcheck
+ with_intel_pt
+ with_libipt_prefix
+@@ -1554,6 +1555,8 @@ Optional Features:
+ --enable-profiling enable profiling of GDB
+ --enable-codesign=CERT sign gdb with 'codesign -s CERT'
+ --disable-rpath do not hardcode runtime library paths
++ --enable-source-highlight
++ enable source-highlight for source listings
+ --enable-libmcheck Try linking with -lmcheck if available
+ --enable-werror treat compile warnings as errors
+ --enable-build-warnings enable build-time compiler warnings if gcc is used
+@@ -11393,13 +11396,30 @@ fi
+
+ SRCHIGH_LIBS=
+ SRCHIGH_CFLAGS=
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the source-highlight library" >&5
++
++# Check whether --enable-source-highlight was given.
++if test "${enable_source_highlight+set}" = set; then :
++ enableval=$enable_source_highlight; case "${enableval}" in
++ yes) enable_source_highlight=yes ;;
++ no) enable_source_highlight=no ;;
++ *) as_fn_error $? "bad value ${enableval} for source-highlight option" "$LINENO" 5 ;;
++esac
++else
++ enable_source_highlight=auto
++fi
++
++
++if test "${enable_source_highlight}" != "no"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the source-highlight library" >&5
+ $as_echo_n "checking for the source-highlight library... " >&6; }
+-if test "${pkg_config_prog_path}" = "missing"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - pkg-config not found" >&5
++ if test "${pkg_config_prog_path}" = "missing"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - pkg-config not found" >&5
+ $as_echo "no - pkg-config not found" >&6; }
+-else
+- if ${pkg_config_prog_path} --exists source-highlight; then
++ if test "${enable_source_highlight}" = "yes"; then
++ as_fn_error $? "pkg-config was not found in your system" "$LINENO" 5
++ fi
++ else
++ if ${pkg_config_prog_path} --exists source-highlight; then
+ SRCHIGH_CFLAGS=`${pkg_config_prog_path} --cflags source-highlight`
+ SRCHIGH_LIBS=`${pkg_config_prog_path} --libs source-highlight`
+
+@@ -11407,10 +11427,14 @@ $as_echo "#define HAVE_SOURCE_HIGHLIGHT 1" >>confdefs.h
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+- else
++ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+- fi
++ if test "${enable_source_highlight}" = "yes"; then
++ as_fn_error $? "source-highlight was not found in your system" "$LINENO" 5
++ fi
++ fi
++ fi
+ fi
+
+
+diff --git a/gdb/configure.ac b/gdb/configure.ac
+index 8ddd0fda61..1318c8d008 100644
+--- a/gdb/configure.ac
++++ b/gdb/configure.ac
+@@ -1220,19 +1220,38 @@ AM_CONDITIONAL(HAVE_GUILE, test "${have_libguile}" != no)
+
+ SRCHIGH_LIBS=
+ SRCHIGH_CFLAGS=
+-AC_MSG_CHECKING([for the source-highlight library])
+-if test "${pkg_config_prog_path}" = "missing"; then
+- AC_MSG_RESULT([no - pkg-config not found])
+-else
+- if ${pkg_config_prog_path} --exists source-highlight; then
++
++AC_ARG_ENABLE(source-highlight,
++ AS_HELP_STRING([--enable-source-highlight],
++ [enable source-highlight for source listings]),
++ [case "${enableval}" in
++ yes) enable_source_highlight=yes ;;
++ no) enable_source_highlight=no ;;
++ *) AC_MSG_ERROR(bad value ${enableval} for source-highlight option) ;;
++esac],
++[enable_source_highlight=auto])
++
++if test "${enable_source_highlight}" != "no"; then
++ AC_MSG_CHECKING([for the source-highlight library])
++ if test "${pkg_config_prog_path}" = "missing"; then
++ AC_MSG_RESULT([no - pkg-config not found])
++ if test "${enable_source_highlight}" = "yes"; then
++ AC_MSG_ERROR([pkg-config was not found in your system])
++ fi
++ else
++ if ${pkg_config_prog_path} --exists source-highlight; then
+ SRCHIGH_CFLAGS=`${pkg_config_prog_path} --cflags source-highlight`
+ SRCHIGH_LIBS=`${pkg_config_prog_path} --libs source-highlight`
+ AC_DEFINE([HAVE_SOURCE_HIGHLIGHT], 1,
+ [Define to 1 if the source-highlight library is available])
+ AC_MSG_RESULT([yes])
+- else
++ else
+ AC_MSG_RESULT([no])
+- fi
++ if test "${enable_source_highlight}" = "yes"; then
++ AC_MSG_ERROR([source-highlight was not found in your system])
++ fi
++ fi
++ fi
+ fi
+ AC_SUBST(SRCHIGH_LIBS)
+ AC_SUBST(SRCHIGH_CFLAGS)
+--
+2.21.0
+
diff --git a/sys-devel/gdb/gdb-8.3.50.20190312.ebuild b/sys-devel/gdb/gdb-8.3.50.20190312-r1.ebuild
similarity index 96%
rename from sys-devel/gdb/gdb-8.3.50.20190312.ebuild
rename to sys-devel/gdb/gdb-8.3.50.20190312-r1.ebuild
index e1c1671379c..eda29eb876a 100644
--- a/sys-devel/gdb/gdb-8.3.50.20190312.ebuild
+++ b/sys-devel/gdb/gdb-8.3.50.20190312-r1.ebuild
@@ -62,7 +62,7 @@ SLOT="0"
if [[ ${PV} != 9999* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
-IUSE="+client lzma multitarget nls +python +server test vanilla xml"
+IUSE="+client lzma multitarget nls +python +server source-highlight test vanilla xml"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
|| ( client server )
@@ -78,7 +78,11 @@ RDEPEND="
python? ( ${PYTHON_DEPS} )
xml? ( dev-libs/expat )
sys-libs/zlib
- )"
+ )
+ source-highlight? (
+ dev-util/source-highlight
+ )
+"
DEPEND="${RDEPEND}"
BDEPEND="
app-arch/xz-utils
@@ -89,6 +93,10 @@ BDEPEND="
nls? ( sys-devel/gettext )
)"
+PATCHES=(
+ "${FILESDIR}"/${P}-source-highlight.patch
+)
+
S=${WORKDIR}/${PN}-${MY_PV}
pkg_setup() {
@@ -165,6 +173,7 @@ src_configure() {
$(use_with xml expat)
$(use_with lzma)
$(use_enable nls)
+ $(use_enable source-highlight)
$(use multitarget && echo --enable-targets=all)
$(use_with python python "${EPYTHON}")
)
diff --git a/sys-devel/gdb/gdb-9999.ebuild b/sys-devel/gdb/gdb-9999.ebuild
index 5141bb24147..f9e1edcd7cc 100644
--- a/sys-devel/gdb/gdb-9999.ebuild
+++ b/sys-devel/gdb/gdb-9999.ebuild
@@ -62,7 +62,7 @@ SLOT="0"
if [[ ${PV} != 9999* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
-IUSE="+client lzma multitarget nls +python +server test vanilla xml"
+IUSE="+client lzma multitarget nls +python +server source-highlight test vanilla xml"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
|| ( client server )
@@ -78,7 +78,11 @@ RDEPEND="
python? ( ${PYTHON_DEPS} )
xml? ( dev-libs/expat )
sys-libs/zlib
- )"
+ )
+ source-highlight? (
+ dev-util/source-highlight
+ )
+"
DEPEND="${RDEPEND}"
BDEPEND="
app-arch/xz-utils
@@ -165,6 +169,7 @@ src_configure() {
$(use_with xml expat)
$(use_with lzma)
$(use_enable nls)
+ $(use_enable source-highlight)
$(use multitarget && echo --enable-targets=all)
$(use_with python python "${EPYTHON}")
)
diff --git a/sys-devel/gdb/metadata.xml b/sys-devel/gdb/metadata.xml
index d11b1ea4a91..4940999342f 100644
--- a/sys-devel/gdb/metadata.xml
+++ b/sys-devel/gdb/metadata.xml
@@ -11,6 +11,7 @@
<flag name="multitarget">Support all known targets in one gdb binary</flag>
<flag name="python">Enable support for the new internal scripting language, as well as extended pretty printers</flag>
<flag name="server">Install the "gdbserver" program (useful for embedded/remote targets)</flag>
+ <flag name="source-highlight">Enable listing highlighting via <pkg>dev-util/source-highlight</pkg></flag>
<flag name="xml">Support parsing XML data files needed (at least) for cpu features, memory maps, and syscall tracing</flag>
</use>
<upstream>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2019-05-11 22:11 Sergei Trofimovich
0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2019-05-11 22:11 UTC (permalink / raw
To: gentoo-commits
commit: 73df80335047e1a02f2672eb234f17a501b378f8
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 22:10:11 2019 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat May 11 22:10:57 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73df8033
sys-devel/gdb: drop 8.3.50.* snapshot in favour of 8.3 release
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
sys-devel/gdb/Manifest | 1 -
.../gdb/files/gdb-8.3.50.20190312-c++17.patch | 19 --
.../gdb-8.3.50.20190312-source-highlight.patch | 136 -----------
sys-devel/gdb/gdb-8.3.50.20190312-r1.ebuild | 266 ---------------------
4 files changed, 422 deletions(-)
diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest
index 3e92f5a13c2..9ca691037e8 100644
--- a/sys-devel/gdb/Manifest
+++ b/sys-devel/gdb/Manifest
@@ -7,4 +7,3 @@ DIST gdb-8.1.tar.xz 20095080 BLAKE2B 9332058b8b723261ba215124f42a2d6ba916219efdf
DIST gdb-8.2.1.tar.xz 20170388 BLAKE2B 4008232de312ee71d379ac32a0ee6d63a828c0b58e84799ab9148760ce184400920f7b22c204b9878b09c452412b1b4db507a9185456dc973538de8b88483259 SHA512 2aa81cfd389bb48c35d7d9f95cc10e88b4f7ad4597bdde0f8f1fd312f60f10d9fb2cc6e5a9355227d89ff328f7feb0fc411a69394560cafeb9fa75d35d896d11
DIST gdb-8.2.tar.xz 20173112 BLAKE2B 921fdc02f7192f0bd76eb176f857c9c041b7316dc10c5e800eb81deef82a3186d511ec431145f952e5fbd20a4b2c89c14652c42dc52e0d8152acd811f3ae44a7 SHA512 11cc481bebc51eb6db73249ecb62b8c07455cf3db169f4860b3a83114849fbd2b5860a2db64488ba6c5909cf07b255c04770f1e36059eae6bee16d2a3581be90
DIST gdb-8.3.tar.xz 20490300 BLAKE2B 24b2a2a9bda7ae8093f757e42d6d0ab5642ff1d7e5a832896c28c5b17961166072c0dae158c04d7f7660cb059194c259bcff71ad5763960027b0ac3d7045eb1a SHA512 47ac074d20a09a3fac8f4a41dce0a0cbe6ef702f7dc21ba8b7d650d306128dcae481e9a16bf65e596b3a541dc82ae57c02bcbb786d551b4ef3e2917b9b6f0ae1
-DIST gdb-weekly-8.3.50.20190312.tar.xz 22101500 BLAKE2B 49666c20faf3deca48a7663e2ee671de9820cc0c0e2111e6633e1b9861bc26d4a608ea4f9e853959d85ac619a8ca63b5ada52d93c2036788ff17ba564494e7d5 SHA512 224c7b3675da46b9d26da65ee1b7e099cdd5782f212b6d865c9b713b673cc8ce9fdf33618713ee38281cf28624014b7541d00e766d3978d530ac3c8a85baf22c
diff --git a/sys-devel/gdb/files/gdb-8.3.50.20190312-c++17.patch b/sys-devel/gdb/files/gdb-8.3.50.20190312-c++17.patch
deleted file mode 100644
index c134cbcae8d..00000000000
--- a/sys-devel/gdb/files/gdb-8.3.50.20190312-c++17.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-https://bugs.gentoo.org/680232
-
---- a/gdb/unittests/string_view-selftests.c
-+++ b/gdb/unittests/string_view-selftests.c
-@@ -170,10 +170,12 @@ run_tests ()
- } /* namespace string_view */
- } /* namespace selftests */
-
-+#endif /* __cplusplus < 201703L */
-+
- void
- _initialize_string_view_selftests ()
- {
-+#if defined(GDB_STRING_VIEW)
- selftests::register_test ("string_view", selftests::string_view::run_tests);
-+#endif
- }
--
--#endif /* __cplusplus < 201703L */
diff --git a/sys-devel/gdb/files/gdb-8.3.50.20190312-source-highlight.patch b/sys-devel/gdb/files/gdb-8.3.50.20190312-source-highlight.patch
deleted file mode 100644
index 6479efe572f..00000000000
--- a/sys-devel/gdb/files/gdb-8.3.50.20190312-source-highlight.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From d46304c605ff119bc6bae38b7841d64e7568b691 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Wed, 13 Mar 2019 21:15:13 +0000
-Subject: [PATCH] gdb/configure.ac: add --enable-source-highlight
-
-Allow disabling source-highlight dependency autodetection even
-it exists in the system. More details on problem of automatic
-dependencies:
-https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies
-
-Noticed by Jeroen Roovers in https://bugs.gentoo.org/680238
---- a/gdb/configure
-+++ b/gdb/configure
-@@ -879,6 +879,7 @@ with_mpfr
- with_libmpfr_prefix
- with_python
- with_guile
-+enable_source_highlight
- enable_libmcheck
- with_intel_pt
- with_libipt_prefix
-@@ -1554,6 +1555,8 @@ Optional Features:
- --enable-profiling enable profiling of GDB
- --enable-codesign=CERT sign gdb with 'codesign -s CERT'
- --disable-rpath do not hardcode runtime library paths
-+ --enable-source-highlight
-+ enable source-highlight for source listings
- --enable-libmcheck Try linking with -lmcheck if available
- --enable-werror treat compile warnings as errors
- --enable-build-warnings enable build-time compiler warnings if gcc is used
-@@ -11393,13 +11396,30 @@ fi
-
- SRCHIGH_LIBS=
- SRCHIGH_CFLAGS=
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the source-highlight library" >&5
-+
-+# Check whether --enable-source-highlight was given.
-+if test "${enable_source_highlight+set}" = set; then :
-+ enableval=$enable_source_highlight; case "${enableval}" in
-+ yes) enable_source_highlight=yes ;;
-+ no) enable_source_highlight=no ;;
-+ *) as_fn_error $? "bad value ${enableval} for source-highlight option" "$LINENO" 5 ;;
-+esac
-+else
-+ enable_source_highlight=auto
-+fi
-+
-+
-+if test "${enable_source_highlight}" != "no"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the source-highlight library" >&5
- $as_echo_n "checking for the source-highlight library... " >&6; }
--if test "${pkg_config_prog_path}" = "missing"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - pkg-config not found" >&5
-+ if test "${pkg_config_prog_path}" = "missing"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - pkg-config not found" >&5
- $as_echo "no - pkg-config not found" >&6; }
--else
-- if ${pkg_config_prog_path} --exists source-highlight; then
-+ if test "${enable_source_highlight}" = "yes"; then
-+ as_fn_error $? "pkg-config was not found in your system" "$LINENO" 5
-+ fi
-+ else
-+ if ${pkg_config_prog_path} --exists source-highlight; then
- SRCHIGH_CFLAGS=`${pkg_config_prog_path} --cflags source-highlight`
- SRCHIGH_LIBS=`${pkg_config_prog_path} --libs source-highlight`
-
-@@ -11407,10 +11427,14 @@ $as_echo "#define HAVE_SOURCE_HIGHLIGHT 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-- else
-+ else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
-- fi
-+ if test "${enable_source_highlight}" = "yes"; then
-+ as_fn_error $? "source-highlight was not found in your system" "$LINENO" 5
-+ fi
-+ fi
-+ fi
- fi
-
-
-diff --git a/gdb/configure.ac b/gdb/configure.ac
-index 8ddd0fda61..1318c8d008 100644
---- a/gdb/configure.ac
-+++ b/gdb/configure.ac
-@@ -1220,19 +1220,38 @@ AM_CONDITIONAL(HAVE_GUILE, test "${have_libguile}" != no)
-
- SRCHIGH_LIBS=
- SRCHIGH_CFLAGS=
--AC_MSG_CHECKING([for the source-highlight library])
--if test "${pkg_config_prog_path}" = "missing"; then
-- AC_MSG_RESULT([no - pkg-config not found])
--else
-- if ${pkg_config_prog_path} --exists source-highlight; then
-+
-+AC_ARG_ENABLE(source-highlight,
-+ AS_HELP_STRING([--enable-source-highlight],
-+ [enable source-highlight for source listings]),
-+ [case "${enableval}" in
-+ yes) enable_source_highlight=yes ;;
-+ no) enable_source_highlight=no ;;
-+ *) AC_MSG_ERROR(bad value ${enableval} for source-highlight option) ;;
-+esac],
-+[enable_source_highlight=auto])
-+
-+if test "${enable_source_highlight}" != "no"; then
-+ AC_MSG_CHECKING([for the source-highlight library])
-+ if test "${pkg_config_prog_path}" = "missing"; then
-+ AC_MSG_RESULT([no - pkg-config not found])
-+ if test "${enable_source_highlight}" = "yes"; then
-+ AC_MSG_ERROR([pkg-config was not found in your system])
-+ fi
-+ else
-+ if ${pkg_config_prog_path} --exists source-highlight; then
- SRCHIGH_CFLAGS=`${pkg_config_prog_path} --cflags source-highlight`
- SRCHIGH_LIBS=`${pkg_config_prog_path} --libs source-highlight`
- AC_DEFINE([HAVE_SOURCE_HIGHLIGHT], 1,
- [Define to 1 if the source-highlight library is available])
- AC_MSG_RESULT([yes])
-- else
-+ else
- AC_MSG_RESULT([no])
-- fi
-+ if test "${enable_source_highlight}" = "yes"; then
-+ AC_MSG_ERROR([source-highlight was not found in your system])
-+ fi
-+ fi
-+ fi
- fi
- AC_SUBST(SRCHIGH_LIBS)
- AC_SUBST(SRCHIGH_CFLAGS)
---
-2.21.0
-
diff --git a/sys-devel/gdb/gdb-8.3.50.20190312-r1.ebuild b/sys-devel/gdb/gdb-8.3.50.20190312-r1.ebuild
deleted file mode 100644
index ecf5b6724d2..00000000000
--- a/sys-devel/gdb/gdb-8.3.50.20190312-r1.ebuild
+++ /dev/null
@@ -1,266 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
-
-inherit eutils flag-o-matic python-single-r1
-
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-RPM=
-MY_PV=${PV}
-case ${PV} in
-9999*)
- # live git tree
- EGIT_REPO_URI="git://sourceware.org/git/binutils-gdb.git"
- inherit git-r3
- SRC_URI=""
- ;;
-*.*.50.2???????)
- # weekly snapshots
- SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz"
- ;;
-*.*.*.*.*.*)
- # fedora versions; note we swap the rpm & fedora core versions.
- # gdb-6.8.50.20090302-8.fc11.src.rpm -> gdb-6.8.50.20090302.11.8.ebuild
- # gdb-7.9-11.fc23.src.rpm -> gdb-7.9.23.11.ebuild
- inherit versionator rpm
- gvcr() { get_version_component_range "$@"; }
- parse_fedora_ver() {
- set -- $(get_version_components)
- MY_PV=$(gvcr 1-$(( $# - 2 )))
- RPM="${PN}-${MY_PV}-$(gvcr $#).fc$(gvcr $(( $# - 1 ))).src.rpm"
- }
- parse_fedora_ver
- SRC_URI="mirror://fedora-dev/development/rawhide/source/SRPMS/g/${RPM}"
- ;;
-*)
- # Normal upstream release
- SRC_URI="mirror://gnu/gdb/${P}.tar.xz
- ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
- ;;
-esac
-
-PATCH_VER="1"
-PATCH_DEV="slyfox"
-DESCRIPTION="GNU debugger"
-HOMEPAGE="https://sourceware.org/gdb/"
-SRC_URI="${SRC_URI}
- ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PN}-8.1-patches-${PATCH_VER}.tar.xz}
- ${PATCH_VER:+mirror://gentoo/${PN}-8.1-patches-${PATCH_VER}.tar.xz}
-"
-
-LICENSE="GPL-2 LGPL-2"
-SLOT="0"
-if [[ ${PV} != 9999* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-IUSE="+client lzma multitarget nls +python +server source-highlight test vanilla xml"
-REQUIRED_USE="
- python? ( ${PYTHON_REQUIRED_USE} )
- || ( client server )
-"
-
-RDEPEND="
- server? ( !dev-util/gdbserver )
- client? (
- dev-libs/mpfr:0=
- >=sys-libs/ncurses-5.2-r2:0=
- sys-libs/readline:0=
- lzma? ( app-arch/xz-utils )
- python? ( ${PYTHON_DEPS} )
- xml? ( dev-libs/expat )
- sys-libs/zlib
- )
- source-highlight? (
- dev-util/source-highlight
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- sys-apps/texinfo
- client? (
- virtual/yacc
- test? ( dev-util/dejagnu )
- nls? ( sys-devel/gettext )
- )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-source-highlight.patch
- "${FILESDIR}"/${P}-c++17.patch
-)
-
-S=${WORKDIR}/${PN}-${MY_PV}
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec
-
- default
-
- strip-linguas -u bfd/po opcodes/po
-}
-
-gdb_branding() {
- printf "Gentoo ${PV} "
- if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
- printf "p${PATCH_VER}"
- else
- printf "vanilla"
- fi
- [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}"
-}
-
-src_configure() {
- strip-unsupported-flags
-
- local myconf=(
- --with-pkgversion="$(gdb_branding)"
- --with-bugurl='https://bugs.gentoo.org/'
- --disable-werror
- # Disable modules that are in a combined binutils/gdb tree. #490566
- --disable-{binutils,etc,gas,gold,gprof,ld}
- )
- local sysroot="${EPREFIX}/usr/${CTARGET}"
- is_cross && myconf+=(
- --with-sysroot="${sysroot}"
- --includedir="${sysroot}/usr/include"
- --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
- )
-
- if use server && ! use client ; then
- # just configure+build in the gdbserver subdir to speed things up
- cd gdb/gdbserver
- myconf+=( --program-transform-name='' )
- else
- # gdbserver only works for native targets (CHOST==CTARGET).
- # it also doesn't support all targets, so rather than duplicate
- # the target list (which changes between versions), use the
- # "auto" value when things are turned on.
- is_cross \
- && myconf+=( --disable-gdbserver ) \
- || myconf+=( $(use_enable server gdbserver auto) )
- fi
-
- if ! ( use server && ! use client ) ; then
- # if we are configuring in the top level, then use all
- # the additional global options
- myconf+=(
- --enable-64-bit-bfd
- --disable-install-libbfd
- --disable-install-libiberty
- # Disable guile for now as it requires guile-2.x #562902
- --without-guile
- # This only disables building in the readline subdir.
- # For gdb itself, it'll use the system version.
- --disable-readline
- --with-system-readline
- # This only disables building in the zlib subdir.
- # For gdb itself, it'll use the system version.
- --without-zlib
- --with-system-zlib
- --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
- $(use_with xml expat)
- $(use_with lzma)
- $(use_enable nls)
- $(use_enable source-highlight)
- $(use multitarget && echo --enable-targets=all)
- $(use_with python python "${EPYTHON}")
- )
- fi
- if use sparc-solaris || use x86-solaris ; then
- # disable largefile support
- # https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html
- myconf+=( --disable-largefile )
- fi
-
- econf "${myconf[@]}"
-}
-
-src_test() {
- nonfatal emake check || ewarn "tests failed"
-}
-
-src_install() {
- if use server && ! use client; then
- cd gdb/gdbserver || die
- fi
- default
- if use client; then
- find "${ED}"/usr -name libiberty.a -delete || die
- fi
- cd "${S}" || die
-
- # Delete translations that conflict with binutils-libs. #528088
- # Note: Should figure out how to store these in an internal gdb dir.
- if use nls ; then
- find "${ED}" \
- -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \
- -delete || die
- fi
-
- # Don't install docs when building a cross-gdb
- if [[ ${CTARGET} != ${CHOST} ]] ; then
- rm -rf "${ED}"/usr/share/{doc,info,locale} || die
- local f
- for f in "${ED}"/usr/share/man/*/* ; do
- if [[ ${f##*/} != ${CTARGET}-* ]] ; then
- mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
- fi
- done
- return 0
- fi
- # Install it by hand for now:
- # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
- # Only install if it exists due to the twisted behavior (see
- # notes in src_configure above).
- [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay
-
- if use client ; then
- docinto gdb
- dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
- gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
- fi
- docinto sim
- dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
- if use server ; then
- docinto gdbserver
- dodoc gdb/gdbserver/{ChangeLog,README}
- fi
-
- if [[ -n ${PATCH_VER} ]] ; then
- dodoc "${WORKDIR}"/extra/gdbinit.sample
- fi
-
- # Remove shared info pages
- rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
-
- # gcore is part of ubin on freebsd
- if [[ ${CHOST} == *-freebsd* ]]; then
- rm "${ED}"/usr/bin/gcore || die
- fi
-}
-
-pkg_postinst() {
- # portage sucks and doesnt unmerge files in /etc
- rm -vf "${EROOT}"/etc/skel/.gdbinit
-
- if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
- ewarn "gdb is unable to get a mach task port when installed by Prefix"
- ewarn "Portage, unprivileged. To make gdb fully functional you'll"
- ewarn "have to perform the following steps:"
- ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
- ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
- fi
-}
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2020-05-19 21:30 Sergei Trofimovich
0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2020-05-19 21:30 UTC (permalink / raw
To: gentoo-commits
commit: 3c8f5a6dcde5304dce19698d0c948c1d875b636d
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Tue May 19 21:30:09 2020 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Tue May 19 21:30:21 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c8f5a6d
sys-devel/gdb: add missing include on ia64
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
sys-devel/gdb/files/gdb-9.1-ia64.patch | 15 +++++++++++++++
sys-devel/gdb/gdb-9.1.ebuild | 1 +
2 files changed, 16 insertions(+)
diff --git a/sys-devel/gdb/files/gdb-9.1-ia64.patch b/sys-devel/gdb/files/gdb-9.1-ia64.patch
new file mode 100644
index 00000000000..49a21e4cdd2
--- /dev/null
+++ b/sys-devel/gdb/files/gdb-9.1-ia64.patch
@@ -0,0 +1,15 @@
+https://sourceware.org/pipermail/gdb-patches/2020-May/168808.html
+
+--- a/gdb/ia64-linux-nat.c
++++ b/gdb/ia64-linux-nat.c
+@@ -21,6 +21,7 @@
+ #include "defs.h"
+ #include "inferior.h"
+ #include "target.h"
++#include "gdbarch.h"
+ #include "gdbcore.h"
+ #include "regcache.h"
+ #include "ia64-tdep.h"
+--
+2.26.2
+
diff --git a/sys-devel/gdb/gdb-9.1.ebuild b/sys-devel/gdb/gdb-9.1.ebuild
index 205b126af92..a9201f627de 100644
--- a/sys-devel/gdb/gdb-9.1.ebuild
+++ b/sys-devel/gdb/gdb-9.1.ebuild
@@ -90,6 +90,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
+ "${FILESDIR}"/${PN}-9.1-ia64.patch
)
GDB_BUILD_DIR="${WORKDIR}"/${P}-build
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2021-02-26 8:04 Sergei Trofimovich
0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2021-02-26 8:04 UTC (permalink / raw
To: gentoo-commits
commit: 80732e30b491ef045fab6c0be2f8d4b7ac4ad3a4
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 26 08:02:23 2021 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri Feb 26 08:04:39 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80732e30
sys-devel/gdb: fix 'cet' detection on i586
Reported-by: Worx
Bug: https://bugs.gentoo.org/771765
Package-Manager: Portage-3.0.15, Repoman-3.0.2
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
sys-devel/gdb/files/gdb-10.1-cet.patch | 103 +++++++++++++++++++++++++++++++++
sys-devel/gdb/gdb-10.1.ebuild | 1 +
2 files changed, 104 insertions(+)
diff --git a/sys-devel/gdb/files/gdb-10.1-cet.patch b/sys-devel/gdb/files/gdb-10.1-cet.patch
new file mode 100644
index 00000000000..7477ff90ac9
--- /dev/null
+++ b/sys-devel/gdb/files/gdb-10.1-cet.patch
@@ -0,0 +1,103 @@
+https://bugs.gentoo.org/771765
+https://sourceware.org/PR27397
+
+On i586-like CPUs endbr32 added by -Wl,-z,ibt,-z,shstk
+generates crashing binaries and causes ./configure failure.
+
+From 847e4b3207f97762dc641db8d3b188081c3370c3 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Fri, 12 Feb 2021 16:30:23 -0800
+Subject: [PATCH] GCC_CET_HOST_FLAGS: Check if host supports multi-byte NOPs
+
+---
+ config/cet.m4 | 19 ++++++++++++++++---
+ libiberty/configure | 29 +++++++++++++++++++++++++++++
+ 2 files changed, 45 insertions(+), 3 deletions(-)
+
+diff --git a/config/cet.m4 b/config/cet.m4
+index c67fb4f35b6..7718be1afe8 100644
+--- a/config/cet.m4
++++ b/config/cet.m4
+@@ -130,6 +130,18 @@ fi
+ if test x$may_have_cet = xyes; then
+ if test x$cross_compiling = xno; then
+ AC_TRY_RUN([
++int
++main ()
++{
++ asm ("endbr32");
++ return 0;
++}
++ ],
++ [have_multi_byte_nop=yes],
++ [have_multi_byte_nop=no])
++ have_cet=no
++ if test x$have_multi_byte_nop = xyes; then
++ AC_TRY_RUN([
+ static void
+ foo (void)
+ {
+@@ -155,9 +167,10 @@ main ()
+ bar ();
+ return 0;
+ }
+- ],
+- [have_cet=no],
+- [have_cet=yes])
++ ],
++ [have_cet=no],
++ [have_cet=yes])
++ fi
+ if test x$enable_cet = xno -a x$have_cet = xyes; then
+ AC_MSG_ERROR([Intel CET must be enabled on Intel CET enabled host])
+ fi
+diff --git a/libiberty/configure b/libiberty/configure
+index 160b8c9e8b1..29a690d44fc 100755
+--- a/libiberty/configure
++++ b/libiberty/configure
+@@ -5539,6 +5539,34 @@ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
++int
++main ()
++{
++ asm ("endbr32");
++ return 0;
++}
++
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++ have_multi_byte_nop=yes
++else
++ have_multi_byte_nop=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++ conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++ have_cet=no
++ if test x$have_multi_byte_nop = xyes; then
++ if test "$cross_compiling" = yes; then :
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "cannot run test program while cross compiling
++See \`config.log' for more details" "$LINENO" 5; }
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
+ static void
+ foo (void)
+ {
+@@ -5575,6 +5603,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+ fi
+
++ fi
+ if test x$enable_cet = xno -a x$have_cet = xyes; then
+ as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5
+ fi
+--
+2.29.2
+
diff --git a/sys-devel/gdb/gdb-10.1.ebuild b/sys-devel/gdb/gdb-10.1.ebuild
index 68826d3db64..f3521cbb070 100644
--- a/sys-devel/gdb/gdb-10.1.ebuild
+++ b/sys-devel/gdb/gdb-10.1.ebuild
@@ -84,6 +84,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
+ "${FILESDIR}"/${PN}-10.1-cet.patch
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2022-04-17 18:21 Sam James
0 siblings, 0 replies; 12+ messages in thread
From: Sam James @ 2022-04-17 18:21 UTC (permalink / raw
To: gentoo-commits
commit: a1c336d4a0b969ff50630573cd63af59bbd041ba
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 17 18:21:30 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Apr 17 18:21:30 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1c336d4
sys-devel/gdb: drop 10.2-r1, 11.1
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/gdb/Manifest | 2 -
sys-devel/gdb/files/gdb-10.1-cet.patch | 103 ---------
sys-devel/gdb/files/gdb-10.2-DW_LLE-riscv64.patch | 41 ----
sys-devel/gdb/files/gdb-10.2-sparc-nat.patch | 47 ----
sys-devel/gdb/files/gdb-8.3.1-verbose-build.patch | 13 --
sys-devel/gdb/gdb-10.2-r1.ebuild | 259 ---------------------
sys-devel/gdb/gdb-11.1.ebuild | 267 ----------------------
7 files changed, 732 deletions(-)
diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest
index ed14c21d8f6d..9fd223bc5afc 100644
--- a/sys-devel/gdb/Manifest
+++ b/sys-devel/gdb/Manifest
@@ -1,3 +1 @@
-DIST gdb-10.2.tar.xz 21518900 BLAKE2B c5d31d80d2b454767d6f844e8471b012ad437c3872391b618fd7b14c5cf251b78e55d28c12e81382fd600f67e2f618ff5dbe3a7b737a5d5161ceb3542afbb90b SHA512 3653762ac008e065c37cd641653184c9ff7ce51ee2222ade1122bec9d6cc64dffd4fb74888ef11ac1942064a08910e96b7865112ad37f4602eb0a16bed074caa
-DIST gdb-11.1.tar.xz 22040696 BLAKE2B 6a639f6533f4008bfb469c23a26c4fcd039f1bc5dd33745f4876344451beb595d7a8843caeb5db70214924624c5b999f8831237d459bebf1cb2d2866f8b41ee2 SHA512 c40bf970e2f7c2107b29c5aa6a7150daa709d75ddadb73ac20742419d4637d158e3063a4c6ff6e47fae8ca8e1d36253973f85ea15445d004be6d5d7a2dd9bd46
DIST gdb-11.2.tar.xz 22039420 BLAKE2B 66ce7e12c99c33c8b4e6ababa673204aab525e72c90ba54cc34a5fd69948a09dc2a9ef2050764b2464544231b1d1a6431279c2877388551ca6fbf384a3f9b464 SHA512 07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127
diff --git a/sys-devel/gdb/files/gdb-10.1-cet.patch b/sys-devel/gdb/files/gdb-10.1-cet.patch
deleted file mode 100644
index 7477ff90ac95..000000000000
--- a/sys-devel/gdb/files/gdb-10.1-cet.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-https://bugs.gentoo.org/771765
-https://sourceware.org/PR27397
-
-On i586-like CPUs endbr32 added by -Wl,-z,ibt,-z,shstk
-generates crashing binaries and causes ./configure failure.
-
-From 847e4b3207f97762dc641db8d3b188081c3370c3 Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Fri, 12 Feb 2021 16:30:23 -0800
-Subject: [PATCH] GCC_CET_HOST_FLAGS: Check if host supports multi-byte NOPs
-
----
- config/cet.m4 | 19 ++++++++++++++++---
- libiberty/configure | 29 +++++++++++++++++++++++++++++
- 2 files changed, 45 insertions(+), 3 deletions(-)
-
-diff --git a/config/cet.m4 b/config/cet.m4
-index c67fb4f35b6..7718be1afe8 100644
---- a/config/cet.m4
-+++ b/config/cet.m4
-@@ -130,6 +130,18 @@ fi
- if test x$may_have_cet = xyes; then
- if test x$cross_compiling = xno; then
- AC_TRY_RUN([
-+int
-+main ()
-+{
-+ asm ("endbr32");
-+ return 0;
-+}
-+ ],
-+ [have_multi_byte_nop=yes],
-+ [have_multi_byte_nop=no])
-+ have_cet=no
-+ if test x$have_multi_byte_nop = xyes; then
-+ AC_TRY_RUN([
- static void
- foo (void)
- {
-@@ -155,9 +167,10 @@ main ()
- bar ();
- return 0;
- }
-- ],
-- [have_cet=no],
-- [have_cet=yes])
-+ ],
-+ [have_cet=no],
-+ [have_cet=yes])
-+ fi
- if test x$enable_cet = xno -a x$have_cet = xyes; then
- AC_MSG_ERROR([Intel CET must be enabled on Intel CET enabled host])
- fi
-diff --git a/libiberty/configure b/libiberty/configure
-index 160b8c9e8b1..29a690d44fc 100755
---- a/libiberty/configure
-+++ b/libiberty/configure
-@@ -5539,6 +5539,34 @@ else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
-+int
-+main ()
-+{
-+ asm ("endbr32");
-+ return 0;
-+}
-+
-+_ACEOF
-+if ac_fn_c_try_run "$LINENO"; then :
-+ have_multi_byte_nop=yes
-+else
-+ have_multi_byte_nop=no
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-+ conftest.$ac_objext conftest.beam conftest.$ac_ext
-+fi
-+
-+ have_cet=no
-+ if test x$have_multi_byte_nop = xyes; then
-+ if test "$cross_compiling" = yes; then :
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "cannot run test program while cross compiling
-+See \`config.log' for more details" "$LINENO" 5; }
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
- static void
- foo (void)
- {
-@@ -5575,6 +5603,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
- fi
-
-+ fi
- if test x$enable_cet = xno -a x$have_cet = xyes; then
- as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5
- fi
---
-2.29.2
-
diff --git a/sys-devel/gdb/files/gdb-10.2-DW_LLE-riscv64.patch b/sys-devel/gdb/files/gdb-10.2-DW_LLE-riscv64.patch
deleted file mode 100644
index 0d3e8c5cb949..000000000000
--- a/sys-devel/gdb/files/gdb-10.2-DW_LLE-riscv64.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=80d1206d7fea6eb756183e2825abdfd0f00cd976
-https://sourceware.org/PR27999
-
-From 80d1206d7fea6eb756183e2825abdfd0f00cd976 Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@suse.de>
-Date: Mon, 21 Jun 2021 11:38:23 +0200
-Subject: [PATCH] gdb: Support DW_LLE_start_end
-
-Without that it is impossible to debug on riscv64.
-
---- a/gdb/dwarf2/loc.c
-+++ b/gdb/dwarf2/loc.c
-@@ -255,9 +255,27 @@ decode_debug_loclists_addresses (dwarf2_per_cu_data *per_cu,
- *new_ptr = loc_ptr;
- return DEBUG_LOC_OFFSET_PAIR;
-
-+ case DW_LLE_start_end:
-+ if (loc_ptr + 2 * addr_size > buf_end)
-+ return DEBUG_LOC_BUFFER_OVERFLOW;
-+
-+ if (signed_addr_p)
-+ *low = extract_signed_integer (loc_ptr, addr_size, byte_order);
-+ else
-+ *low = extract_unsigned_integer (loc_ptr, addr_size, byte_order);
-+
-+ loc_ptr += addr_size;
-+ if (signed_addr_p)
-+ *high = extract_signed_integer (loc_ptr, addr_size, byte_order);
-+ else
-+ *high = extract_unsigned_integer (loc_ptr, addr_size, byte_order);
-+
-+ loc_ptr += addr_size;
-+ *new_ptr = loc_ptr;
-+ return DEBUG_LOC_START_END;
-+
- /* Following cases are not supported yet. */
- case DW_LLE_startx_endx:
-- case DW_LLE_start_end:
- case DW_LLE_default_location:
- default:
- return DEBUG_LOC_INVALID_ENTRY;
diff --git a/sys-devel/gdb/files/gdb-10.2-sparc-nat.patch b/sys-devel/gdb/files/gdb-10.2-sparc-nat.patch
deleted file mode 100644
index 5e71efa0d33a..000000000000
--- a/sys-devel/gdb/files/gdb-10.2-sparc-nat.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 288e3189fce8f466ca60411c27e8f1c0dac5d582 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <siarheit@google.com>
-Date: Sun, 25 Apr 2021 20:50:38 +0100
-Subject: [PATCH] gdb: fix sparc build failure of linux-nat
-
-On sparc build failed as:
-
-```
-gdb/sparc-linux-nat.c: In member function
- 'virtual void sparc_linux_nat_target::fetch_registers(regcache*, int)':
-gdb/sparc-linux-nat.c:36:37:
- error: cannot convert 'regcache*' to 'process_stratum_target*'
- 36 | { sparc_fetch_inferior_registers (regcache, regnum); }
- | ^~~~~~~~
- | |
- | regcache*
-```
-
-The fix adopts gdb/sparc-nat.h API change in d1e93af64a6
-("gdb: set current thread in sparc_{fetch,collect}_inferior_registers").
-
-gdb/ChangeLog:
-
- * sparc-linux-nat.c (sparc_linux_nat_target): fix sparc build
- by passing `process_stratum_target*` parameter.
----
- gdb/sparc-linux-nat.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/gdb/sparc-linux-nat.c
-+++ b/gdb/sparc-linux-nat.c
-@@ -33,10 +33,10 @@ class sparc_linux_nat_target final : public linux_nat_target
- public:
- /* Add our register access methods. */
- void fetch_registers (struct regcache *regcache, int regnum) override
-- { sparc_fetch_inferior_registers (regcache, regnum); }
-+ { sparc_fetch_inferior_registers (this, regcache, regnum); }
-
- void store_registers (struct regcache *regcache, int regnum) override
-- { sparc_store_inferior_registers (regcache, regnum); }
-+ { sparc_store_inferior_registers (this, regcache, regnum); }
- };
-
- static sparc_linux_nat_target the_sparc_linux_nat_target;
---
-2.31.1
-
diff --git a/sys-devel/gdb/files/gdb-8.3.1-verbose-build.patch b/sys-devel/gdb/files/gdb-8.3.1-verbose-build.patch
deleted file mode 100644
index 06aa6084d2d2..000000000000
--- a/sys-devel/gdb/files/gdb-8.3.1-verbose-build.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Enable verbose build. By default gdb ignores even --disable-silent-rules.
-Override verbosity back to non-silent.
-
-https://bugs.gentoo.org/695936
---- a/gdb/silent-rules.mk
-+++ b/gdb/silent-rules.mk
-@@ -1,5 +1,4 @@
--# If V is undefined or V=0 is specified, use the silent/verbose/compact mode.
--V ?= 0
-+V ?= 1
- ifeq ($(V),0)
- ECHO_CXX = @echo " CXX $@";
- ECHO_CXXLD = @echo " CXXLD $@";
diff --git a/sys-devel/gdb/gdb-10.2-r1.ebuild b/sys-devel/gdb/gdb-10.2-r1.ebuild
deleted file mode 100644
index 0133e0b20eb8..000000000000
--- a/sys-devel/gdb/gdb-10.2-r1.ebuild
+++ /dev/null
@@ -1,259 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8,9,10} )
-
-inherit eutils flag-o-matic python-single-r1 toolchain-funcs
-
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-case ${PV} in
-9999*)
- # live git tree
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
- inherit git-r3
- SRC_URI=""
- ;;
-*.*.50.2???????)
- # weekly snapshots
- SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz"
- ;;
-*)
- # Normal upstream release
- SRC_URI="mirror://gnu/gdb/${P}.tar.xz
- ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
- ;;
-esac
-
-PATCH_VER=""
-PATCH_DEV=""
-DESCRIPTION="GNU debugger"
-HOMEPAGE="https://sourceware.org/gdb/"
-SRC_URI="${SRC_URI}
- ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz}
- ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}
-"
-
-LICENSE="GPL-2 LGPL-2"
-SLOT="0"
-if [[ ${PV} != 9999* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
-REQUIRED_USE="
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-# ia64 kernel crashes when gdb testsuite is running
-RESTRICT="
- ia64? ( test )
-
- !test? ( test )
-"
-
-RDEPEND="
- dev-libs/mpfr:0=
- >=sys-libs/ncurses-5.2-r2:0=
- >=sys-libs/readline-7:0=
- sys-libs/zlib
- lzma? ( app-arch/xz-utils )
- python? ( ${PYTHON_DEPS} )
- guile? ( >=dev-scheme/guile-2.0 )
- xml? ( dev-libs/expat )
- source-highlight? (
- dev-util/source-highlight
- )
- xxhash? (
- dev-libs/xxhash
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- sys-apps/texinfo
- virtual/yacc
- nls? ( sys-devel/gettext )
- source-highlight? ( virtual/pkgconfig )
- test? ( dev-util/dejagnu )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
- "${FILESDIR}"/${PN}-10.1-cet.patch
- "${FILESDIR}"/${PN}-10.2-sparc-nat.patch
- "${FILESDIR}"/${PN}-10.2-DW_LLE-riscv64.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- strip-linguas -u bfd/po opcodes/po
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- # avoid using ancient termcap from host on Prefix systems
- sed -i -e 's/termcap tinfow/tinfow/g' \
- gdb/configure{.ac,} || die
-}
-
-gdb_branding() {
- printf "Gentoo ${PV} "
- if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
- printf "p${PATCH_VER}"
- else
- printf "vanilla"
- fi
- [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}"
-}
-
-src_configure() {
- strip-unsupported-flags
-
- local myconf=(
- # portage's econf() does not detect presence of --d-d-t
- # because it greps only top-level ./configure. But not
- # gnulib's or gdb's configure.
- --disable-dependency-tracking
-
- --with-pkgversion="$(gdb_branding)"
- --with-bugurl='https://bugs.gentoo.org/'
- --disable-werror
- # Disable modules that are in a combined binutils/gdb tree. #490566
- --disable-{binutils,etc,gas,gold,gprof,ld}
-
- # avoid automagic dependency on (currently prefix) systems
- # systems with debuginfod library, bug #754753
- --without-debuginfod
-
- # Allow user to opt into CET for host libraries.
- # Ideally we would like automagic-or-disabled here.
- # But the check does not quite work on i686: bug #760926.
- $(use_enable cet)
- )
- local sysroot="${EPREFIX}/usr/${CTARGET}"
- is_cross && myconf+=(
- --with-sysroot="${sysroot}"
- --includedir="${sysroot}/usr/include"
- --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
- )
-
- # gdbserver only works for native targets (CHOST==CTARGET).
- # it also doesn't support all targets, so rather than duplicate
- # the target list (which changes between versions), use the
- # "auto" value when things are turned on, which is triggered
- # whenever no --enable or --disable is given
- if is_cross || use !server ; then
- myconf+=( --disable-gdbserver )
- fi
-
- myconf+=(
- --enable-64-bit-bfd
- --disable-install-libbfd
- --disable-install-libiberty
- --enable-obsolete
- # This only disables building in the readline subdir.
- # For gdb itself, it'll use the system version.
- --disable-readline
- --with-system-readline
- # This only disables building in the zlib subdir.
- # For gdb itself, it'll use the system version.
- --without-zlib
- --with-system-zlib
- --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
- $(use_with xml expat)
- $(use_with lzma)
- $(use_enable nls)
- $(use_enable source-highlight)
- $(use multitarget && echo --enable-targets=all)
- $(use_with python python "${EPYTHON}")
- $(use_with xxhash)
- $(use_with guile)
- )
- if use sparc-solaris || use x86-solaris ; then
- # disable largefile support
- # https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html
- myconf+=( --disable-largefile )
- fi
-
- # source-highlight is detected with pkg-config: bug #716558
- export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)"
-
- # ensure proper compiler is detected for Clang builds: bug #831202
- export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}"
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
- find "${ED}"/usr -name libiberty.a -delete || die
-
- # Delete translations that conflict with binutils-libs. #528088
- # Note: Should figure out how to store these in an internal gdb dir.
- if use nls ; then
- find "${ED}" \
- -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \
- -delete || die
- fi
-
- # Don't install docs when building a cross-gdb
- if [[ ${CTARGET} != ${CHOST} ]] ; then
- rm -rf "${ED}"/usr/share/{doc,info,locale} || die
- local f
- for f in "${ED}"/usr/share/man/*/* ; do
- if [[ ${f##*/} != ${CTARGET}-* ]] ; then
- mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
- fi
- done
- return 0
- fi
- # Install it by hand for now:
- # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
- # Only install if it exists due to the twisted behavior (see
- # notes in src_configure above).
- [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay
-
- docinto gdb
- dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
- gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
- docinto sim
- dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
- if use server ; then
- docinto gdbserver
- dodoc gdbserver/{ChangeLog,README}
- fi
-
- if [[ -n ${PATCH_VER} ]] ; then
- dodoc "${WORKDIR}"/extra/gdbinit.sample
- fi
-
- # Remove shared info pages
- rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
-
- if use python; then
- python_optimize "${ED}"/usr/share/gdb/python/gdb
- fi
-}
-
-pkg_postinst() {
- # portage sucks and doesnt unmerge files in /etc
- rm -vf "${EROOT}"/etc/skel/.gdbinit
-
- if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
- ewarn "gdb is unable to get a mach task port when installed by Prefix"
- ewarn "Portage, unprivileged. To make gdb fully functional you'll"
- ewarn "have to perform the following steps:"
- ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
- ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
- fi
-}
diff --git a/sys-devel/gdb/gdb-11.1.ebuild b/sys-devel/gdb/gdb-11.1.ebuild
deleted file mode 100644
index 84c1146484b8..000000000000
--- a/sys-devel/gdb/gdb-11.1.ebuild
+++ /dev/null
@@ -1,267 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs
-
-export CTARGET=${CTARGET:-${CHOST}}
-
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-case ${PV} in
- 9999*)
- # live git tree
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
- inherit git-r3
- SRC_URI=""
- ;;
- *.*.50.2???????)
- # weekly snapshots
- SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz"
- ;;
- *)
- # Normal upstream release
- SRC_URI="mirror://gnu/gdb/${P}.tar.xz
- ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
- ;;
-esac
-
-PATCH_VER=""
-PATCH_DEV=""
-DESCRIPTION="GNU debugger"
-HOMEPAGE="https://sourceware.org/gdb/"
-SRC_URI="${SRC_URI}
- ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz}
- ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}
-"
-
-LICENSE="GPL-2 LGPL-2"
-SLOT="0"
-
-if [[ ${PV} != 9999* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# ia64 kernel crashes when gdb testsuite is running
-RESTRICT="
- ia64? ( test )
- !test? ( test )
-"
-
-RDEPEND="
- dev-libs/mpfr:0=
- dev-libs/gmp:=
- >=sys-libs/ncurses-5.2-r2:0=
- >=sys-libs/readline-7:0=
- sys-libs/zlib
- lzma? ( app-arch/xz-utils )
- python? ( ${PYTHON_DEPS} )
- guile? ( >=dev-scheme/guile-2.0 )
- xml? ( dev-libs/expat )
- source-highlight? (
- dev-util/source-highlight
- )
- xxhash? (
- dev-libs/xxhash
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- sys-apps/texinfo
- virtual/yacc
- nls? ( sys-devel/gettext )
- source-highlight? ( virtual/pkgconfig )
- test? ( dev-util/dejagnu )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
- "${FILESDIR}"/${P}-glibc-2.34-sim.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- strip-linguas -u bfd/po opcodes/po
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- # avoid using ancient termcap from host on Prefix systems
- sed -i -e 's/termcap tinfow/tinfow/g' \
- gdb/configure{.ac,} || die
-}
-
-gdb_branding() {
- printf "Gentoo ${PV} "
-
- if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
- printf "p${PATCH_VER}"
- else
- printf "vanilla"
- fi
-
- [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}"
-}
-
-src_configure() {
- strip-unsupported-flags
-
- local myconf=(
- # portage's econf() does not detect presence of --d-d-t
- # because it greps only top-level ./configure. But not
- # gnulib's or gdb's configure.
- --disable-dependency-tracking
-
- --with-pkgversion="$(gdb_branding)"
- --with-bugurl='https://bugs.gentoo.org/'
- --disable-werror
- # Disable modules that are in a combined binutils/gdb tree. #490566
- --disable-{binutils,etc,gas,gold,gprof,ld}
-
- # avoid automagic dependency on (currently prefix) systems
- # systems with debuginfod library, bug #754753
- --without-debuginfod
-
- # Allow user to opt into CET for host libraries.
- # Ideally we would like automagic-or-disabled here.
- # But the check does not quite work on i686: bug #760926.
- $(use_enable cet)
- )
-
- local sysroot="${EPREFIX}/usr/${CTARGET}"
-
- is_cross && myconf+=(
- --with-sysroot="${sysroot}"
- --includedir="${sysroot}/usr/include"
- --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
- )
-
- # gdbserver only works for native targets (CHOST==CTARGET).
- # it also doesn't support all targets, so rather than duplicate
- # the target list (which changes between versions), use the
- # "auto" value when things are turned on, which is triggered
- # whenever no --enable or --disable is given
- if is_cross || use !server ; then
- myconf+=( --disable-gdbserver )
- fi
-
- myconf+=(
- --enable-64-bit-bfd
- --disable-install-libbfd
- --disable-install-libiberty
- --enable-obsolete
- # This only disables building in the readline subdir.
- # For gdb itself, it'll use the system version.
- --disable-readline
- --with-system-readline
- # This only disables building in the zlib subdir.
- # For gdb itself, it'll use the system version.
- --without-zlib
- --with-system-zlib
- --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
- $(use_with xml expat)
- $(use_with lzma)
- $(use_enable nls)
- $(use_enable source-highlight)
- $(use multitarget && echo --enable-targets=all)
- $(use_with python python "${EPYTHON}")
- $(use_with xxhash)
- $(use_with guile)
- )
-
- if use sparc-solaris || use x86-solaris ; then
- # Disable largefile support
- # https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html
- myconf+=( --disable-largefile )
- fi
-
- # source-highlight is detected with pkg-config: bug #716558
- export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)"
-
- # ensure proper compiler is detected for Clang builds: bug #831202
- export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}"
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
-
- find "${ED}"/usr -name libiberty.a -delete || die
-
- # Delete translations that conflict with binutils-libs. #528088
- # Note: Should figure out how to store these in an internal gdb dir.
- if use nls ; then
- find "${ED}" \
- -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \
- -delete || die
- fi
-
- # Don't install docs when building a cross-gdb
- if [[ ${CTARGET} != ${CHOST} ]] ; then
- rm -rf "${ED}"/usr/share/{doc,info,locale} || die
- local f
- for f in "${ED}"/usr/share/man/*/* ; do
- if [[ ${f##*/} != ${CTARGET}-* ]] ; then
- mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
- fi
- done
- return 0
- fi
-
- # Install it by hand for now:
- # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
- # Only install if it exists due to the twisted behavior (see
- # notes in src_configure above).
- [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay
-
- docinto gdb
- dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
- gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
- docinto sim
- dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
-
- if use server ; then
- docinto gdbserver
- dodoc gdbserver/{ChangeLog,README}
- fi
-
- if [[ -n ${PATCH_VER} ]] ; then
- dodoc "${WORKDIR}"/extra/gdbinit.sample
- fi
-
- # Remove shared info pages
- rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
-
- if use python; then
- python_optimize "${ED}"/usr/share/gdb/python/gdb
- fi
-}
-
-pkg_postinst() {
- # Portage doesn't unmerge files in /etc
- rm -vf "${EROOT}"/etc/skel/.gdbinit
-
- if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
- ewarn "gdb is unable to get a mach task port when installed by Prefix"
- ewarn "Portage, unprivileged. To make gdb fully functional you'll"
- ewarn "have to perform the following steps:"
- ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
- ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
- fi
-}
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2023-01-11 3:25 Sam James
0 siblings, 0 replies; 12+ messages in thread
From: Sam James @ 2023-01-11 3:25 UTC (permalink / raw
To: gentoo-commits
commit: 6cfcde06c230b482616d1a1f431167711bf1e99b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 11 03:24:27 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jan 11 03:24:54 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cfcde06
sys-devel/gdb: drop 11.2
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/gdb/Manifest | 1 -
.../gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch | 32 ---
sys-devel/gdb/gdb-11.2.ebuild | 287 ---------------------
3 files changed, 320 deletions(-)
diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest
index 5888a1bc8e68..2db6be12e0b0 100644
--- a/sys-devel/gdb/Manifest
+++ b/sys-devel/gdb/Manifest
@@ -1,4 +1,3 @@
-DIST gdb-11.2.tar.xz 22039420 BLAKE2B 66ce7e12c99c33c8b4e6ababa673204aab525e72c90ba54cc34a5fd69948a09dc2a9ef2050764b2464544231b1d1a6431279c2877388551ca6fbf384a3f9b464 SHA512 07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127
DIST gdb-12.1.tar.xz 22470332 BLAKE2B 7f6f853d1640908cf2c79932cdc1ba02549a07721c005d9c7ce2946a715761719cc164a4e68235a18664ec8a029afe3a2a0cfb57e1635f280076d6bed91317fd SHA512 425568d2e84672177d0fb87b1ad7daafdde097648d605e30cf0656970f66adc6a82ca2d83375ea4be583e9683a340e5bfdf5819668ddf66728200141ae50ff2d
DIST gdb-weekly-13.0.50.20221217.tar.xz 24801944 BLAKE2B 87c395665bfd5901bdac35d5abc5e2aa206805e7bbe484db7306f4e2b786db0114d442323fb224ae8920c5f13d0c9408dea8f0d0ccb98bacab96db7997df3ede SHA512 734139d50cdd98fa33b2ae473137bc389d5231119ceec99fa4c9004af277a065727a2f5dfa07aa7881f78138a90a7451cbfb87514a7cfd50415b90e369f124b9
DIST gdb-weekly-13.0.90.20230110.tar.xz 24802804 BLAKE2B d13bc0ce3bfd0197be31610385014df815c72a86f34b44beced0882267e8b5eecdd50545a85d84c5648771bb9a01b7e63680a424ad36e4d23c15470af6270f21 SHA512 d0c186c661b4648668213a5210f10d09ccbceb077e9e61a88cb1431e8feae4ad2ce74365024bb5f282f78225e118e808c5df30af9c46c4c368a41d4385f8918f
diff --git a/sys-devel/gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch b/sys-devel/gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch
deleted file mode 100644
index 5e0121f85029..000000000000
--- a/sys-devel/gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=a532eb7277ff64fb073e209d418b0a97f686c0e3
-https://bugs.gentoo.org/833590
-
-From: Sergei Trofimovich <siarheit@google.com>
-Date: Mon, 14 Feb 2022 17:12:41 +0000
-Subject: [PATCH] microblaze: fix fsqrt collicion to build on glibc-2.35
-
- * microblaze-opcm.h: Renamed 'fsqrt' to 'microblaze_fsqrt'.
- * microblaze-opc.h: Follow 'fsqrt' rename.
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -268,7 +268,7 @@ const struct op_code_struct
- {"fcmp.un", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000200, OPCODE_MASK_H4, fcmp_un, arithmetic_inst },
- {"flt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000280, OPCODE_MASK_H4, flt, arithmetic_inst },
- {"fint", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000300, OPCODE_MASK_H4, fint, arithmetic_inst },
-- {"fsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000380, OPCODE_MASK_H4, fsqrt, arithmetic_inst },
-+ {"fsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000380, OPCODE_MASK_H4, microblaze_fsqrt, arithmetic_inst },
- {"tget", INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C001000, OPCODE_MASK_H32, tget, anyware_inst },
- {"tcget", INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C003000, OPCODE_MASK_H32, tcget, anyware_inst },
- {"tnget", INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C005000, OPCODE_MASK_H32, tnget, anyware_inst },
---- a/opcodes/microblaze-opcm.h
-+++ b/opcodes/microblaze-opcm.h
-@@ -42,7 +42,8 @@ enum microblaze_instr
- shr, sw, swr, swx, lbui, lhui, lwi,
- sbi, shi, swi, msrset, msrclr, tuqula, mbi_fadd, frsub, mbi_fmul, mbi_fdiv,
- fcmp_lt, fcmp_eq, fcmp_le, fcmp_gt, fcmp_ne, fcmp_ge, fcmp_un, flt,
-- fint, fsqrt,
-+ /* 'fsqrt' is a glibc:math.h symbol. */
-+ fint, microblaze_fsqrt,
- tget, tcget, tnget, tncget, tput, tcput, tnput, tncput,
- eget, ecget, neget, necget, eput, ecput, neput, necput,
- teget, tecget, tneget, tnecget, teput, tecput, tneput, tnecput,
diff --git a/sys-devel/gdb/gdb-11.2.ebuild b/sys-devel/gdb/gdb-11.2.ebuild
deleted file mode 100644
index 4cf33173d0ba..000000000000
--- a/sys-devel/gdb/gdb-11.2.ebuild
+++ /dev/null
@@ -1,287 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs
-
-export CTARGET=${CTARGET:-${CHOST}}
-
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-case ${PV} in
- 9999*)
- # live git tree
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
- inherit git-r3
- SRC_URI=""
- ;;
- *.*.50.2???????)
- # weekly snapshots
- SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz"
- ;;
- *)
- # Normal upstream release
- SRC_URI="mirror://gnu/gdb/${P}.tar.xz
- ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
- ;;
-esac
-
-PATCH_VER=""
-PATCH_DEV=""
-DESCRIPTION="GNU debugger"
-HOMEPAGE="https://sourceware.org/gdb/"
-SRC_URI="${SRC_URI}
- ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz}
- ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}
-"
-
-LICENSE="GPL-3+ LGPL-2.1+"
-SLOT="0"
-
-if [[ ${PV} != 9999* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# In fact, gdb's test suite needs some work to get passing.
-# See e.g. https://sourceware.org/gdb/wiki/TestingGDB.
-# As of 11.2, on amd64: "# of unexpected failures 8600"
-# ia64 kernel crashes when gdb testsuite is running
-# in fact, gdb's test suite needs some work to get passing.
-# See e.g. https://sourceware.org/gdb/wiki/TestingGDB.
-# As of 11.2, on amd64: "# of unexpected failures 8600"
-RESTRICT="
- ia64? ( test )
- !test? ( test )
- test
-"
-
-RDEPEND="
- dev-libs/mpfr:0=
- dev-libs/gmp:=
- >=sys-libs/ncurses-5.2-r2:0=
- >=sys-libs/readline-7:0=
- sys-libs/zlib
- lzma? ( app-arch/xz-utils )
- python? ( ${PYTHON_DEPS} )
- guile? ( >=dev-scheme/guile-2.0 )
- xml? ( dev-libs/expat )
- source-highlight? (
- dev-util/source-highlight
- )
- xxhash? (
- dev-libs/xxhash
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- sys-apps/texinfo
- app-alternatives/yacc
- nls? ( sys-devel/gettext )
- source-highlight? ( virtual/pkgconfig )
- test? ( dev-util/dejagnu )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
- "${FILESDIR}"/${P}-glibc-2.35-fsqrt.patch
- "${FILESDIR}"/${PN}-12.1-readline-8.2-build.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- strip-linguas -u bfd/po opcodes/po
-
- # Avoid using ancient termcap from host on Prefix systems
- sed -i -e 's/termcap tinfow/tinfow/g' \
- gdb/configure{.ac,} || die
-}
-
-gdb_branding() {
- printf "Gentoo ${PV} "
-
- if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
- printf "p${PATCH_VER}"
- else
- printf "vanilla"
- fi
-
- [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}"
-}
-
-src_configure() {
- strip-unsupported-flags
-
- # 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.
- MAKEOPTS="--output-sync=line ${MAKEOPTS}"
-
- local myconf=(
- # portage's econf() does not detect presence of --d-d-t
- # because it greps only top-level ./configure. But not
- # gnulib's or gdb's configure.
- --disable-dependency-tracking
-
- --with-pkgversion="$(gdb_branding)"
- --with-bugurl='https://bugs.gentoo.org/'
- --disable-werror
- # Disable modules that are in a combined binutils/gdb tree. bug #490566
- --disable-{binutils,etc,gas,gold,gprof,ld}
-
- # avoid automagic dependency on (currently prefix) systems
- # systems with debuginfod library, bug #754753
- --without-debuginfod
-
- $(use_enable test unit-tests)
-
- # Allow user to opt into CET for host libraries.
- # Ideally we would like automagic-or-disabled here.
- # But the check does not quite work on i686: bug #760926.
- $(use_enable cet)
- )
-
- local sysroot="${EPREFIX}/usr/${CTARGET}"
-
- is_cross && myconf+=(
- --with-sysroot="${sysroot}"
- --includedir="${sysroot}/usr/include"
- --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
- )
-
- # gdbserver only works for native targets (CHOST==CTARGET).
- # it also doesn't support all targets, so rather than duplicate
- # the target list (which changes between versions), use the
- # "auto" value when things are turned on, which is triggered
- # whenever no --enable or --disable is given
- if is_cross || use !server ; then
- myconf+=( --disable-gdbserver )
- fi
-
- myconf+=(
- --enable-64-bit-bfd
- --disable-install-libbfd
- --disable-install-libiberty
- --enable-obsolete
- # This only disables building in the readline subdir.
- # For gdb itself, it'll use the system version.
- --disable-readline
- --with-system-readline
- # This only disables building in the zlib subdir.
- # For gdb itself, it'll use the system version.
- --without-zlib
- --with-system-zlib
- --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
- $(use_with xml expat)
- $(use_with lzma)
- $(use_enable nls)
- $(use_enable source-highlight)
- $(use multitarget && echo --enable-targets=all)
- $(use_with python python "${EPYTHON}")
- $(use_with xxhash)
- $(use_with guile)
- )
-
- if use sparc-solaris || use x86-solaris ; then
- # Disable largefile support
- # https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html
- myconf+=( --disable-largefile )
- fi
-
- # source-highlight is detected with pkg-config: bug #716558
- export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)"
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- # ensure proper compiler is detected for Clang builds: bug #831202
- export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}"
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake V=1
-}
-
-src_install() {
- emake V=1 DESTDIR="${D}" install
-
- find "${ED}"/usr -name libiberty.a -delete || die
-
- # Delete translations that conflict with binutils-libs. bug #528088
- # Note: Should figure out how to store these in an internal gdb dir.
- if use nls ; then
- find "${ED}" \
- -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \
- -delete || die
- fi
-
- # Don't install docs when building a cross-gdb
- if [[ ${CTARGET} != ${CHOST} ]] ; then
- rm -rf "${ED}"/usr/share/{doc,info,locale} || die
- local f
- for f in "${ED}"/usr/share/man/*/* ; do
- if [[ ${f##*/} != ${CTARGET}-* ]] ; then
- mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
- fi
- done
- return 0
- fi
-
- # Install it by hand for now:
- # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
- # Only install if it exists due to the twisted behavior (see
- # notes in src_configure above).
- [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay
-
- docinto gdb
- dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
- gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
- docinto sim
- dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
-
- if use server ; then
- docinto gdbserver
- dodoc gdbserver/{ChangeLog,README}
- fi
-
- if [[ -n ${PATCH_VER} ]] ; then
- dodoc "${WORKDIR}"/extra/gdbinit.sample
- fi
-
- # Remove shared info pages
- rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info*
-
- if use python ; then
- python_optimize "${ED}"/usr/share/gdb/python/gdb
- fi
-}
-
-pkg_postinst() {
- # Portage doesn't unmerge files in /etc
- rm -vf "${EROOT}"/etc/skel/.gdbinit
-
- if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
- ewarn "gdb is unable to get a mach task port when installed by Prefix"
- ewarn "Portage, unprivileged. To make gdb fully functional you'll"
- ewarn "have to perform the following steps:"
- ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
- ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
- fi
-}
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2023-05-16 6:28 Sam James
0 siblings, 0 replies; 12+ messages in thread
From: Sam James @ 2023-05-16 6:28 UTC (permalink / raw
To: gentoo-commits
commit: c9a9956944acab031669f00023398c45cef187e9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue May 16 06:25:10 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue May 16 06:27:48 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9a99569
sys-devel/gdb: fix build w/ musl-1.2.4
Closes: https://bugs.gentoo.org/905922
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/gdb/files/gdb-13.1-musl-lfs.patch | 23 +++++++++++++++++++++++
sys-devel/gdb/gdb-13.1.90_p20230429.ebuild | 1 +
2 files changed, 24 insertions(+)
diff --git a/sys-devel/gdb/files/gdb-13.1-musl-lfs.patch b/sys-devel/gdb/files/gdb-13.1-musl-lfs.patch
new file mode 100644
index 000000000000..d7778e305903
--- /dev/null
+++ b/sys-devel/gdb/files/gdb-13.1-musl-lfs.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/905922
+https://sourceware.org/bugzilla/show_bug.cgi?id=30450
+https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=2e977d9901393ea1bacbe1896af0929e968bc811
+
+From 2e977d9901393ea1bacbe1896af0929e968bc811 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 22 Feb 2023 16:28:22 -0800
+Subject: [PATCH] gdbserver/linux-low.cc: Fix a typo in ternary operator
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/gdbserver/linux-low.cc
++++ b/gdbserver/linux-low.cc
+@@ -5390,7 +5390,7 @@ proc_xfer_memory (CORE_ADDR memaddr, unsigned char *readbuf,
+ if (lseek (fd, memaddr, SEEK_SET) != -1)
+ bytes = (readbuf != nullptr
+ ? read (fd, readbuf, len)
+- ? write (fd, writebuf, len));
++ : write (fd, writebuf, len));
+ #endif
+
+ if (bytes < 0)
+--
+2.31.1
diff --git a/sys-devel/gdb/gdb-13.1.90_p20230429.ebuild b/sys-devel/gdb/gdb-13.1.90_p20230429.ebuild
index d75794a2864b..e6030f478386 100644
--- a/sys-devel/gdb/gdb-13.1.90_p20230429.ebuild
+++ b/sys-devel/gdb/gdb-13.1.90_p20230429.ebuild
@@ -111,6 +111,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
"${FILESDIR}"/${PN}-13.1-Wenum-constexpr-conversion-clang16.patch
+ "${FILESDIR}"/${PN}-13.1-musl-lfs.patch
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2023-06-17 1:50 Sam James
0 siblings, 0 replies; 12+ messages in thread
From: Sam James @ 2023-06-17 1:50 UTC (permalink / raw
To: gentoo-commits
commit: 54425cff4fb1a4cce8e66a9767d44e9df9c15799
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 17 01:31:35 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 17 01:38:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54425cff
sys-devel/gdb: drop versions
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/gdb/Manifest | 5 -
.../gdb/files/gdb-12.1-configure-clang16.patch | 112 --------
.../gdb/files/gdb-12.1-core-file-detach.patch | 155 ----------
.../gdb/files/gdb-12.1-readline-8.2-build.patch | 29 --
...b-13.1-Wenum-constexpr-conversion-clang16.patch | 128 ---------
sys-devel/gdb/files/gdb-13.1-musl-lfs.patch | 23 --
sys-devel/gdb/gdb-12.1-r4.ebuild | 293 -------------------
sys-devel/gdb/gdb-13.1-r1.ebuild | 304 --------------------
sys-devel/gdb/gdb-13.1.90_p20230325.ebuild | 313 --------------------
sys-devel/gdb/gdb-13.1.90_p20230429.ebuild | 314 ---------------------
10 files changed, 1676 deletions(-)
diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest
index 6e40c2f8a82b..29ddd3aaa11d 100644
--- a/sys-devel/gdb/Manifest
+++ b/sys-devel/gdb/Manifest
@@ -1,6 +1 @@
-DIST gdb-12.1-patches-1.tar.xz 12340 BLAKE2B 071ff492f6cf7b0969d76db6f7414eeec564daf773c3334fb0d3f669e328bb4ae403ba8c709f3e33a56caa92273f762a5597a34dd7e7a1056f473b7ede2d8e59 SHA512 dc4a1a8d501dd1adfdcd6dcbd2559f1e2cc6aadeb18eacb2e9152f6858510e7392253db9568fe782da6d160221412e3e13dfd42a47a2a4a1addba2c1804a45b5
-DIST gdb-12.1.tar.xz 22470332 BLAKE2B 7f6f853d1640908cf2c79932cdc1ba02549a07721c005d9c7ce2946a715761719cc164a4e68235a18664ec8a029afe3a2a0cfb57e1635f280076d6bed91317fd SHA512 425568d2e84672177d0fb87b1ad7daafdde097648d605e30cf0656970f66adc6a82ca2d83375ea4be583e9683a340e5bfdf5819668ddf66728200141ae50ff2d
-DIST gdb-13.1.tar.xz 23665472 BLAKE2B ab3a77ef35d21597dd1299787eebc422c3ca9764d0866223752c3036c0f9e198bf25ab4730bf6e7025bc2db148c66e98b191e15abc2d69c3088aed146728beef SHA512 e65054ffbc0357eeed4b17e1edc5ef45aa73c9ddf3b1210651e3d859576e27c1d27b266800fe26328eda58857455ccd8632f4000cfc5f63f90854096290187ca
DIST gdb-13.2.tar.xz 23664644 BLAKE2B bf5216ba2286448a46f9e0a405367c5a678e6d7540204722d355b618018b7b75a2ebc5b51353304c5ded02a3979223a81781d305f5afa5be82516cdc2863d49f SHA512 8185d3e11ab60dafff5860a5016577bfe7dd7547ef01ebc867bc247603d82b74ff74c4f29492c7d2aee57076f52be33e289f4c6b414a4b870d4b3004909f4c34
-DIST gdb-weekly-13.1.90.20230325.tar.xz 24816144 BLAKE2B 2273ca1e6b3b563721c1497b30ae9c1c1d6fa88d1a50745a528163d54b45cc0582d3a053f279339dcc5d86b17dabe16c2be63488ac72ed7636af5988919c4b5e SHA512 19a1f1e0d4fc6f7a87c421e487990e3bc6c5ad5fae933be0e4f0ba8eec06b6bc3b0fc814d55e6059dfc2b7414ef0e7191967503dd0eda9021ccabc6d55030f49
-DIST gdb-weekly-13.1.90.20230429.tar.xz 24806568 BLAKE2B 537faf7f354ac8adae879899d1a871a303d6ef8faa5ffa66970b2ab95d82750829de5f1cc9b7fb0aab12bb9f10219b3d255a52127e50dd28fef25b47ce2d9364 SHA512 1f0bad14a0862a5c119971025add895b8814421c95ab9095159382805ee8592f1695e84aad2bf5f711c807400eae50a9a6fa6ff45f329c885003f0209c44e493
diff --git a/sys-devel/gdb/files/gdb-12.1-configure-clang16.patch b/sys-devel/gdb/files/gdb-12.1-configure-clang16.patch
deleted file mode 100644
index 3b2c15de4895..000000000000
--- a/sys-devel/gdb/files/gdb-12.1-configure-clang16.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0075c53724f78c78aa1692cc8e3bf1433eeb0b9f
-https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=885b6660c17fb91980b5682514ef54668e544b02
-https://bugzilla.redhat.com/show_bug.cgi?id=2143992
-
-From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
-From: Keith Seitz <keiths@redhat.com>
-Date: Tue, 29 Nov 2022 13:43:34 -0800
-Subject: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch
-
-;; libiberty: Fix C89-isms in configure tests
-;; (Florian Weimer, RHBZ 2143992)
-
- libiberty/
-
- * acinclude.m4 (ac_cv_func_strncmp_works): Add missing
- int return type and parameter list to the definition of main.
- Include <stdlib.h> and <string.h> for prototypes.
- (ac_cv_c_stack_direction): Add missing
- int return type and parameter list to the definitions of
- main, find_stack_direction. Include <stdlib.h> for exit
- prototype.
- * configure: Regenerate.
-
---- a/libiberty/acinclude.m4
-+++ b/libiberty/acinclude.m4
-@@ -24,6 +24,8 @@ AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works,
- [AC_TRY_RUN([
- /* Test by Jim Wilson and Kaveh Ghazi.
- Check whether strncmp reads past the end of its string parameters. */
-+#include <stdlib.h>
-+#include <string.h>
- #include <sys/types.h>
-
- #ifdef HAVE_FCNTL_H
-@@ -51,7 +53,8 @@ AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works,
-
- #define MAP_LEN 0x10000
-
--main ()
-+int
-+main (void)
- {
- #if defined(HAVE_MMAP) || defined(HAVE_MMAP_ANYWHERE)
- char *p;
-@@ -157,7 +160,10 @@ if test $ac_cv_os_cray = yes; then
- fi
-
- AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction,
--[AC_TRY_RUN([find_stack_direction ()
-+[AC_TRY_RUN([#include <stdlib.h>
-+
-+int
-+find_stack_direction (void)
- {
- static char *addr = 0;
- auto char dummy;
-@@ -169,7 +175,9 @@ AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction,
- else
- return (&dummy > addr) ? 1 : -1;
- }
--main ()
-+
-+int
-+main (void)
- {
- exit (find_stack_direction() < 0);
- }],
---- a/libiberty/configure
-+++ b/libiberty/configure
-@@ -6918,7 +6918,10 @@ else
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
--find_stack_direction ()
-+#include <stdlib.h>
-+
-+int
-+find_stack_direction (void)
- {
- static char *addr = 0;
- auto char dummy;
-@@ -6930,7 +6933,9 @@ find_stack_direction ()
- else
- return (&dummy > addr) ? 1 : -1;
- }
--main ()
-+
-+int
-+main (void)
- {
- exit (find_stack_direction() < 0);
- }
-@@ -7755,6 +7760,8 @@ else
-
- /* Test by Jim Wilson and Kaveh Ghazi.
- Check whether strncmp reads past the end of its string parameters. */
-+#include <stdlib.h>
-+#include <string.h>
- #include <sys/types.h>
-
- #ifdef HAVE_FCNTL_H
-@@ -7782,7 +7789,8 @@ else
-
- #define MAP_LEN 0x10000
-
--main ()
-+int
-+main (void)
- {
- #if defined(HAVE_MMAP) || defined(HAVE_MMAP_ANYWHERE)
- char *p;
-
diff --git a/sys-devel/gdb/files/gdb-12.1-core-file-detach.patch b/sys-devel/gdb/files/gdb-12.1-core-file-detach.patch
deleted file mode 100644
index c0f8a8ee0269..000000000000
--- a/sys-devel/gdb/files/gdb-12.1-core-file-detach.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=0fe74cb9ad35add9c6da4df5c9879f254d918a6a
-
-From: Pedro Alves <pedro@palves.net>
-Date: Wed, 22 Jun 2022 18:44:37 +0100
-Subject: [PATCH] Fix core-file -> detach -> crash (corefiles/29275)
-
-After loading a core file, you're supposed to be able to use "detach"
-to unload the core file. That unfortunately regressed starting with
-GDB 11, with these commits:
-
- 1192f124a308 - gdb: generalize commit_resume, avoid commit-resuming when threads have pending statuses
- 408f66864a1a - detach in all-stop with threads running
-
-resulting in a GDB crash:
-
- ...
- Thread 1 "gdb" received signal SIGSEGV, Segmentation fault.
- 0x0000555555e842bf in maybe_set_commit_resumed_all_targets () at ../../src/gdb/infrun.c:2899
- 2899 if (proc_target->commit_resumed_state)
- (top-gdb) bt
- #0 0x0000555555e842bf in maybe_set_commit_resumed_all_targets () at ../../src/gdb/infrun.c:2899
- #1 0x0000555555e848bf in scoped_disable_commit_resumed::reset (this=0x7fffffffd440) at ../../src/gdb/infrun.c:3023
- #2 0x0000555555e84a0c in scoped_disable_commit_resumed::reset_and_commit (this=0x7fffffffd440) at ../../src/gdb/infrun.c:3049
- #3 0x0000555555e739cd in detach_command (args=0x0, from_tty=1) at ../../src/gdb/infcmd.c:2791
- #4 0x0000555555c0ba46 in do_simple_func (args=0x0, from_tty=1, c=0x55555662a600) at ../../src/gdb/cli/cli-decode.c:95
- #5 0x0000555555c112b0 in cmd_func (cmd=0x55555662a600, args=0x0, from_tty=1) at ../../src/gdb/cli/cli-decode.c:2514
- #6 0x0000555556173b1f in execute_command (p=0x5555565c5916 "", from_tty=1) at ../../src/gdb/top.c:699
-
-The code that crashes looks like:
-
- static void
- maybe_set_commit_resumed_all_targets ()
- {
- scoped_restore_current_thread restore_thread;
-
- for (inferior *inf : all_non_exited_inferiors ())
- {
- process_stratum_target *proc_target = inf->process_target ();
-
- if (proc_target->commit_resumed_state)
- ^^^^^^^^^^^
-
-With 'proc_target' above being null. all_non_exited_inferiors filters
-out inferiors that have pid==0. We get here at the end of
-detach_command, after core_target::detach has already run, at which
-point the inferior _should_ have pid==0 and no process target. It is
-clear it no longer has a process target, but, it still has a pid!=0
-somehow.
-
-The reason the inferior still has pid!=0, is that core_target::detach
-just unpushes, and relies on core_target::close to actually do the
-getting rid of the core and exiting the inferior. The problem with
-that is that detach_command grabs an extra strong reference to the
-process stratum target, so the unpush_target inside
-core_target::detach doesn't actually result in a call to
-core_target::close.
-
-Fix this my moving the cleaning up the core inferior to a shared
-routine called by both core_target::close and core_target::detach. We
-still need to cleanup the inferior from within core_file::close
-because there are paths to it that want to get rid of the core without
-going through detach. E.g., "core-file" -> "run".
-
-This commit includes a new test added to gdb.base/corefile.exp to
-cover the "core-file core" -> "detach" scenario.
-
-Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29275
-
-Change-Id: Ic42bdd03182166b19f598428b0dbc2ce6f67c893
---- a/gdb/corelow.c
-+++ b/gdb/corelow.c
-@@ -120,6 +120,9 @@ public:
-
- private: /* per-core data */
-
-+ /* Get rid of the core inferior. */
-+ void clear_core ();
-+
- /* The core's section table. Note that these target sections are
- *not* mapped in the current address spaces' set of target
- sections --- those should come only from pure executable or
-@@ -290,10 +293,8 @@ core_target::build_file_mappings ()
- /* An arbitrary identifier for the core inferior. */
- #define CORELOW_PID 1
-
--/* Close the core target. */
--
- void
--core_target::close ()
-+core_target::clear_core ()
- {
- if (core_bfd)
- {
-@@ -307,6 +308,14 @@ core_target::close ()
-
- current_program_space->cbfd.reset (nullptr);
- }
-+}
-+
-+/* Close the core target. */
-+
-+void
-+core_target::close ()
-+{
-+ clear_core ();
-
- /* Core targets are heap-allocated (see core_target_open), so here
- we delete ourselves. */
-@@ -592,9 +601,15 @@ core_target_open (const char *arg, int from_tty)
- void
- core_target::detach (inferior *inf, int from_tty)
- {
-- /* Note that 'this' is dangling after this call. unpush_target
-- closes the target, and our close implementation deletes
-- 'this'. */
-+ /* Get rid of the core. Don't rely on core_target::close doing it,
-+ because target_detach may be called with core_target's refcount > 1,
-+ meaning core_target::close may not be called yet by the
-+ unpush_target call below. */
-+ clear_core ();
-+
-+ /* Note that 'this' may be dangling after this call. unpush_target
-+ closes the target if the refcount reaches 0, and our close
-+ implementation deletes 'this'. */
- inf->unpush_target (this);
-
- /* Clear the register cache and the frame cache. */
---- a/gdb/testsuite/gdb.base/corefile.exp
-+++ b/gdb/testsuite/gdb.base/corefile.exp
-@@ -207,6 +207,16 @@ gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up in corefile.exp (
-
- gdb_test "core" "No core file now."
-
-+# Test that we can unload the core with the "detach" command.
-+
-+proc_with_prefix corefile_detach {} {
-+ clean_restart $::binfile
-+
-+ gdb_test "core-file $::corefile" "Core was generated by .*" "load core"
-+ gdb_test "detach" "No core file now\\." "detach core"
-+}
-+
-+corefile_detach
-
- # Test a run (start) command will clear any loaded core file.
-
-@@ -222,6 +232,8 @@ proc corefile_test_run {} {
- return
- }
-
-+ clean_restart $::binfile
-+
- gdb_test "core-file $corefile" "Core was generated by .*" "run: load core again"
- gdb_test "info files" "\r\nLocal core dump file:\r\n.*" "run: sanity check we see the core file"
-
diff --git a/sys-devel/gdb/files/gdb-12.1-readline-8.2-build.patch b/sys-devel/gdb/files/gdb-12.1-readline-8.2-build.patch
deleted file mode 100644
index fad27ee4ca85..000000000000
--- a/sys-devel/gdb/files/gdb-12.1-readline-8.2-build.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=1add37b567a7dee39d99f37b37802034c3fce9c4
-https://bugs.gentoo.org/842252
-
-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.
---- 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_throw ()
- rl_basic_quote_characters = NULL;
- }
-
-- return rl_completer_word_break_characters;
-+ return (char *) rl_completer_word_break_characters;
- }
-
- char *
diff --git a/sys-devel/gdb/files/gdb-13.1-Wenum-constexpr-conversion-clang16.patch b/sys-devel/gdb/files/gdb-13.1-Wenum-constexpr-conversion-clang16.patch
deleted file mode 100644
index adc09f83ea68..000000000000
--- a/sys-devel/gdb/files/gdb-13.1-Wenum-constexpr-conversion-clang16.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-https://bugs.gentoo.org/894174
-https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ae61525fcf456ab395d55c45492a106d1275873a
-
-From ae61525fcf456ab395d55c45492a106d1275873a Mon Sep 17 00:00:00 2001
-From: Simon Marchi <simon.marchi@efficios.com>
-Date: Thu, 23 Feb 2023 12:35:40 -0500
-Subject: [PATCH] gdbsupport: ignore -Wenum-constexpr-conversion in
- enum-flags.h
-
-When building with clang 16, we get:
-
- CXX gdb.o
- In file included from /home/smarchi/src/binutils-gdb/gdb/gdb.c:19:
- In file included from /home/smarchi/src/binutils-gdb/gdb/defs.h:65:
- /home/smarchi/src/binutils-gdb/gdb/../gdbsupport/enum-flags.h:95:52: error: integer value -1 is outside the valid range of values [0, 15] for this enumeration type [-Wenum-constexpr-conversion]
- integer_for_size<sizeof (T), static_cast<bool>(T (-1) < T (0))>::type
- ^
-
-The error message does not make it clear in the context of which enum
-flag this fails (i.e. what is T in this context), but it doesn't really
-matter, we have similar warning/errors for many of them, if we let the
-build go through.
-
-clang is right that the value -1 is invalid for the enum type we cast -1
-to. However, we do need this expression in order to select an integer
-type with the appropriate signedness. That is, with the same signedness
-as the underlying type of the enum.
-
-I first wondered if that was really needed, if we couldn't use
-std::underlying_type for that. It turns out that the comment just above
-says:
-
- /* Note that std::underlying_type<enum_type> is not what we want here,
- since that returns unsigned int even when the enum decays to signed
- int. */
-
-I was surprised, because std::is_signed<std::underlying_type<enum_type>>
-returns the right thing. So I tried replacing all this with
-std::underlying_type, see if that would work. Doing so causes some
-build failures in unittests/enum-flags-selftests.c:
-
- CXX unittests/enum-flags-selftests.o
- /home/smarchi/src/binutils-gdb/gdb/unittests/enum-flags-selftests.c:254:1: error: static assertion failed due to requirement 'gdb::is_same<selftests::enum_flags_tests::check_valid_expr254::archetype<enum_flags<s
- elftests::enum_flags_tests::RE>, selftests::enum_flags_tests::RE, enum_flags<selftests::enum_flags_tests::RE2>, selftests::enum_flags_tests::RE2, enum_flags<selftests::enum_flags_tests::URE>, selftests::enum_fla
- gs_tests::URE, int>, selftests::enum_flags_tests::check_valid_expr254::archetype<enum_flags<selftests::enum_flags_tests::RE>, selftests::enum_flags_tests::RE, enum_flags<selftests::enum_flags_tests::RE2>, selfte
- sts::enum_flags_tests::RE2, enum_flags<selftests::enum_flags_tests::URE>, selftests::enum_flags_tests::URE, unsigned int>>::value == true':
- CHECK_VALID (true, int, true ? EF () : EF2 ())
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- /home/smarchi/src/binutils-gdb/gdb/unittests/enum-flags-selftests.c:91:3: note: expanded from macro 'CHECK_VALID'
- CHECK_VALID_EXPR_6 (EF, RE, EF2, RE2, UEF, URE, VALID, EXPR_TYPE, EXPR)
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- /home/smarchi/src/binutils-gdb/gdb/../gdbsupport/valid-expr.h:105:3: note: expanded from macro 'CHECK_VALID_EXPR_6'
- CHECK_VALID_EXPR_INT (ESC_PARENS (typename T1, typename T2, \
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- /home/smarchi/src/binutils-gdb/gdb/../gdbsupport/valid-expr.h:66:3: note: expanded from macro 'CHECK_VALID_EXPR_INT'
- static_assert (gdb::is_detected_exact<archetype<TYPES, EXPR_TYPE>, \
- ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This is a bit hard to decode, but basically enumerations have the
-following funny property that they decay into a signed int, even if
-their implicit underlying type is unsigned. This code:
-
- enum A {};
- enum B {};
-
- int main() {
- std::cout << std::is_signed<std::underlying_type<A>::type>::value
- << std::endl;
- std::cout << std::is_signed<std::underlying_type<B>::type>::value
- << std::endl;
- auto result = true ? A() : B();
- std::cout << std::is_signed<decltype(result)>::value << std::endl;
- }
-
-produces:
-
- 0
- 0
- 1
-
-So, the "CHECK_VALID" above checks that this property works for enum flags the
-same way as it would if you were using their underlying enum types. And
-somehow, changing integer_for_size to use std::underlying_type breaks that.
-
-Since the current code does what we want, and I don't see any way of doing it
-differently, ignore -Wenum-constexpr-conversion around it.
-
-Change-Id: Ibc82ae7bbdb812102ae3f1dd099fc859dc6f3cc2
---- a/gdbsupport/enum-flags.h
-+++ b/gdbsupport/enum-flags.h
-@@ -91,9 +91,12 @@ template<> struct integer_for_size<8, 1> { typedef int64_t type; };
- template<typename T>
- struct enum_underlying_type
- {
-+ DIAGNOSTIC_PUSH
-+ DIAGNOSTIC_IGNORE_ENUM_CONSTEXPR_CONVERSION
- typedef typename
- integer_for_size<sizeof (T), static_cast<bool>(T (-1) < T (0))>::type
- type;
-+ DIAGNOSTIC_POP
- };
-
- namespace enum_flags_detail
---- a/include/diagnostics.h
-+++ b/include/diagnostics.h
-@@ -76,6 +76,11 @@
- # define DIAGNOSTIC_ERROR_SWITCH \
- DIAGNOSTIC_ERROR ("-Wswitch")
-
-+# if __has_warning ("-Wenum-constexpr-conversion")
-+# define DIAGNOSTIC_IGNORE_ENUM_CONSTEXPR_CONVERSION \
-+ DIAGNOSTIC_IGNORE ("-Wenum-constexpr-conversion")
-+# endif
-+
- #elif defined (__GNUC__) /* GCC */
-
- # define DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS \
-@@ -155,4 +160,8 @@
- # define DIAGNOSTIC_ERROR_SWITCH
- #endif
-
-+#ifndef DIAGNOSTIC_IGNORE_ENUM_CONSTEXPR_CONVERSION
-+# define DIAGNOSTIC_IGNORE_ENUM_CONSTEXPR_CONVERSION
-+#endif
-+
- #endif /* DIAGNOSTICS_H */
---
-2.31.1
diff --git a/sys-devel/gdb/files/gdb-13.1-musl-lfs.patch b/sys-devel/gdb/files/gdb-13.1-musl-lfs.patch
deleted file mode 100644
index d7778e305903..000000000000
--- a/sys-devel/gdb/files/gdb-13.1-musl-lfs.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://bugs.gentoo.org/905922
-https://sourceware.org/bugzilla/show_bug.cgi?id=30450
-https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=2e977d9901393ea1bacbe1896af0929e968bc811
-
-From 2e977d9901393ea1bacbe1896af0929e968bc811 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 22 Feb 2023 16:28:22 -0800
-Subject: [PATCH] gdbserver/linux-low.cc: Fix a typo in ternary operator
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/gdbserver/linux-low.cc
-+++ b/gdbserver/linux-low.cc
-@@ -5390,7 +5390,7 @@ proc_xfer_memory (CORE_ADDR memaddr, unsigned char *readbuf,
- if (lseek (fd, memaddr, SEEK_SET) != -1)
- bytes = (readbuf != nullptr
- ? read (fd, readbuf, len)
-- ? write (fd, writebuf, len));
-+ : write (fd, writebuf, len));
- #endif
-
- if (bytes < 0)
---
-2.31.1
diff --git a/sys-devel/gdb/gdb-12.1-r4.ebuild b/sys-devel/gdb/gdb-12.1-r4.ebuild
deleted file mode 100644
index 4126e99a43d7..000000000000
--- a/sys-devel/gdb/gdb-12.1-r4.ebuild
+++ /dev/null
@@ -1,293 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs
-
-export CTARGET=${CTARGET:-${CHOST}}
-
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-case ${PV} in
- 9999*)
- # live git tree
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
- inherit git-r3
- SRC_URI=""
- ;;
- *.*.50.2???????)
- # weekly snapshots
- SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz"
- ;;
- *)
- # Normal upstream release
- SRC_URI="mirror://gnu/gdb/${P}.tar.xz
- ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
- ;;
-esac
-
-PATCH_DEV="sam"
-PATCH_VER="1"
-
-DESCRIPTION="GNU debugger"
-HOMEPAGE="https://sourceware.org/gdb/"
-SRC_URI="
- ${SRC_URI}
- ${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}
-"
-
-LICENSE="GPL-3+ LGPL-2.1+"
-SLOT="0"
-
-if [[ ${PV} != 9999* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-fi
-
-IUSE="cet guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/mpfr:0=
- dev-libs/gmp:=
- >=sys-libs/ncurses-5.2-r2:0=
- >=sys-libs/readline-7:0=
- sys-libs/zlib
- elibc_glibc? ( net-libs/libnsl:= )
- lzma? ( app-arch/xz-utils )
- python? ( ${PYTHON_DEPS} )
- guile? ( >=dev-scheme/guile-2.0 )
- xml? ( dev-libs/expat )
- source-highlight? (
- dev-util/source-highlight
- )
- xxhash? (
- dev-libs/xxhash
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- sys-apps/texinfo
- app-alternatives/yacc
- nls? ( sys-devel/gettext )
- source-highlight? ( virtual/pkgconfig )
- test? ( dev-util/dejagnu )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
- "${FILESDIR}"/${P}-readline-8.2-build.patch
- "${FILESDIR}"/${P}-core-file-detach.patch
- "${FILESDIR}"/${P}-configure-clang16.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- [[ -d "${WORKDIR}"/${P}-patches-${PATCH_VER} ]] && eapply "${WORKDIR}"/${P}-patches-${PATCH_VER}
-
- strip-linguas -u bfd/po opcodes/po
-
- # Avoid using ancient termcap from host on Prefix systems
- sed -i -e 's/termcap tinfow/tinfow/g' \
- gdb/configure{.ac,} || die
-}
-
-gdb_branding() {
- printf "Gentoo ${PV} "
-
- if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
- printf "p${PATCH_VER}"
- else
- printf "vanilla"
- fi
-
- [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}"
-}
-
-src_configure() {
- strip-unsupported-flags
-
- # 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.
- MAKEOPTS="--output-sync=line ${MAKEOPTS}"
-
- local myconf=(
- # portage's econf() does not detect presence of --d-d-t
- # because it greps only top-level ./configure. But not
- # gnulib's or gdb's configure.
- --disable-dependency-tracking
-
- --with-pkgversion="$(gdb_branding)"
- --with-bugurl='https://bugs.gentoo.org/'
- --disable-werror
- # Disable modules that are in a combined binutils/gdb tree. bug #490566
- --disable-{binutils,etc,gas,gold,gprof,ld}
-
- # avoid automagic dependency on (currently prefix) systems
- # systems with debuginfod library, bug #754753
- --without-debuginfod
-
- $(use_enable test unit-tests)
-
- # Allow user to opt into CET for host libraries.
- # Ideally we would like automagic-or-disabled here.
- # But the check does not quite work on i686: bug #760926.
- $(use_enable cet)
-
- # We need to set both configure options, --with-sysroot and --libdir,
- # to fix cross build issues that happen when configuring gmp.
- # We explicitly need --libdir. Having only --with-sysroot without
- # --libdir would not fix the build issues.
- # For some reason, it is not enough to set only --with-sysroot,
- # also not enough to pass --with-gmp-xxx options.
- --with-sysroot="${ESYSROOT}"
- --libdir="${ESYSROOT}/usr/$(get_libdir)"
- )
-
- local sysroot="${EPREFIX}/usr/${CTARGET}"
-
- is_cross && myconf+=(
- --with-sysroot="${sysroot}"
- --includedir="${sysroot}/usr/include"
- --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
- )
-
- # gdbserver only works for native targets (CHOST==CTARGET).
- # it also doesn't support all targets, so rather than duplicate
- # the target list (which changes between versions), use the
- # "auto" value when things are turned on, which is triggered
- # whenever no --enable or --disable is given
- if is_cross || use !server ; then
- myconf+=( --disable-gdbserver )
- fi
-
- myconf+=(
- --enable-64-bit-bfd
- --disable-install-libbfd
- --disable-install-libiberty
- --enable-obsolete
- # This only disables building in the readline subdir.
- # For gdb itself, it'll use the system version.
- --disable-readline
- --with-system-readline
- # This only disables building in the zlib subdir.
- # For gdb itself, it'll use the system version.
- --without-zlib
- --with-system-zlib
- --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
- $(use_with xml expat)
- $(use_with lzma)
- $(use_enable nls)
- $(use_enable sim)
- $(use_enable source-highlight)
- $(use multitarget && echo --enable-targets=all)
- $(use_with python python "${EPYTHON}")
- $(use_with xxhash)
- $(use_with guile)
- )
-
- # source-highlight is detected with pkg-config: bug #716558
- export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)"
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- # ensure proper compiler is detected for Clang builds: bug #831202
- export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}"
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake V=1
-}
-
-src_test() {
- # Run the unittests (nabbed invocation from Fedora's spec file) at least
- emake -k -C gdb run GDBFLAGS='-batch -ex "maintenance selftest"'
-
- # Too many failures
- # In fact, gdb's test suite needs some work to get passing.
- # See e.g. https://sourceware.org/gdb/wiki/TestingGDB.
- # As of 11.2, on amd64: "# of unexpected failures 8600"
- # Also, ia64 kernel crashes when gdb testsuite is running.
- #emake -k check
-}
-
-src_install() {
- emake V=1 DESTDIR="${D}" install
-
- find "${ED}"/usr -name libiberty.a -delete || die
-
- # Delete translations that conflict with binutils-libs. bug #528088
- # Note: Should figure out how to store these in an internal gdb dir.
- if use nls ; then
- find "${ED}" \
- -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \
- -delete || die
- fi
-
- # Don't install docs when building a cross-gdb
- if [[ ${CTARGET} != ${CHOST} ]] ; then
- rm -rf "${ED}"/usr/share/{doc,info,locale} || die
- local f
- for f in "${ED}"/usr/share/man/*/* ; do
- if [[ ${f##*/} != ${CTARGET}-* ]] ; then
- mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
- fi
- done
- return 0
- fi
-
- # Install it by hand for now:
- # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
- # Only install if it exists due to the twisted behavior (see
- # notes in src_configure above).
- [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay
-
- docinto gdb
- dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
- gdb/NEWS gdb/PROBLEMS
- docinto sim
- dodoc sim/{MAINTAINERS,README-HACKING}
-
- if use server ; then
- docinto gdbserver
- dodoc gdbserver/README
- fi
-
- # Remove shared info pages
- rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info*
-
- if use python ; then
- python_optimize "${ED}"/usr/share/gdb/python/gdb
- fi
-}
-
-pkg_postinst() {
- # Portage doesn't unmerge files in /etc
- rm -vf "${EROOT}"/etc/skel/.gdbinit
-
- if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
- ewarn "gdb is unable to get a mach task port when installed by Prefix"
- ewarn "Portage, unprivileged. To make gdb fully functional you'll"
- ewarn "have to perform the following steps:"
- ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
- ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
- fi
-}
diff --git a/sys-devel/gdb/gdb-13.1-r1.ebuild b/sys-devel/gdb/gdb-13.1-r1.ebuild
deleted file mode 100644
index a19b1dd0eeee..000000000000
--- a/sys-devel/gdb/gdb-13.1-r1.ebuild
+++ /dev/null
@@ -1,304 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging
-# tips & notes.
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs
-
-export CTARGET=${CTARGET:-${CHOST}}
-
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-case ${PV} in
- 9999*)
- # live git tree
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
- inherit git-r3
- SRC_URI=""
- ;;
- *.*.50_p2???????|*.*.90_p2???????)
- # Weekly snapshots
- MY_PV="${PV/_p/.}"
- SRC_URI="
- https://sourceware.org/pub/gdb/snapshots/branch/gdb-weekly-${MY_PV}.tar.xz
- https://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${MY_PV}.tar.xz
- "
- S="${WORKDIR}/${PN}-${MY_PV}"
- ;;
- *.*.9?)
- # Prereleases
- MY_PV="${PV/_p/.}"
- SRC_URI="
- https://sourceware.org/pub/gdb/snapshots/branch/gdb-${MY_PV}.tar.xz
- "
- S="${WORKDIR}/${PN}-${MY_PV}"
- ;;
- *)
- # Normal upstream release
- SRC_URI="
- mirror://gnu/gdb/${P}.tar.xz
- https://sourceware.org/pub/gdb/releases/${P}.tar.xz
- "
-
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
- ;;
-esac
-
-PATCH_DEV=""
-PATCH_VER=""
-DESCRIPTION="GNU debugger"
-HOMEPAGE="https://sourceware.org/gdb/"
-SRC_URI="
- ${SRC_URI}
- ${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}
-"
-
-LICENSE="GPL-3+ LGPL-2.1+"
-SLOT="0"
-IUSE="cet guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/mpfr:0=
- dev-libs/gmp:=
- >=sys-libs/ncurses-5.2-r2:0=
- >=sys-libs/readline-7:0=
- sys-libs/zlib
- elibc_glibc? ( net-libs/libnsl:= )
- lzma? ( app-arch/xz-utils )
- python? ( ${PYTHON_DEPS} )
- guile? ( >=dev-scheme/guile-2.0 )
- xml? ( dev-libs/expat )
- source-highlight? (
- dev-util/source-highlight
- )
- xxhash? (
- dev-libs/xxhash
- )
- zstd? ( app-arch/zstd:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- sys-apps/texinfo
- app-alternatives/yacc
- nls? ( sys-devel/gettext )
- source-highlight? ( virtual/pkgconfig )
- test? ( dev-util/dejagnu )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
- "${FILESDIR}"/${P}-Wenum-constexpr-conversion-clang16.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- strip-linguas -u bfd/po opcodes/po
-
- # Avoid using ancient termcap from host on Prefix systems
- sed -i -e 's/termcap tinfow/tinfow/g' \
- gdb/configure{.ac,} || die
-}
-
-gdb_branding() {
- printf "Gentoo ${PV} "
-
- if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
- printf "p${PATCH_VER}"
- else
- printf "vanilla"
- fi
-
- [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}"
-}
-
-src_configure() {
- strip-unsupported-flags
-
- # 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.
- MAKEOPTS="--output-sync=line ${MAKEOPTS}"
-
- local myconf=(
- # portage's econf() does not detect presence of --d-d-t
- # because it greps only top-level ./configure. But not
- # gnulib's or gdb's configure.
- --disable-dependency-tracking
-
- --with-pkgversion="$(gdb_branding)"
- --with-bugurl='https://bugs.gentoo.org/'
- --disable-werror
- # Disable modules that are in a combined binutils/gdb tree. bug #490566
- --disable-{binutils,etc,gas,gold,gprof,gprofng,ld}
-
- # avoid automagic dependency on (currently prefix) systems
- # systems with debuginfod library, bug #754753
- --without-debuginfod
-
- $(use_enable test unit-tests)
-
- # Allow user to opt into CET for host libraries.
- # Ideally we would like automagic-or-disabled here.
- # But the check does not quite work on i686: bug #760926.
- $(use_enable cet)
-
- # Helps when cross-compiling. Not to be confused with --with-sysroot.
- --with-build-sysroot="${ESYSROOT}"
- )
-
- is_cross && myconf+=(
- --with-sysroot="\${prefix}/${CTARGET}"
- --includedir="\${prefix}/include/${CTARGET}"
- --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
- )
-
- # gdbserver only works for native targets (CHOST==CTARGET).
- # it also doesn't support all targets, so rather than duplicate
- # the target list (which changes between versions), use the
- # "auto" value when things are turned on, which is triggered
- # whenever no --enable or --disable is given
- if is_cross || use !server ; then
- myconf+=( --disable-gdbserver )
- fi
-
- myconf+=(
- --enable-64-bit-bfd
- --disable-install-libbfd
- --disable-install-libiberty
- --enable-obsolete
- # This only disables building in the readline subdir.
- # For gdb itself, it'll use the system version.
- --disable-readline
- --with-system-readline
- # This only disables building in the zlib subdir.
- # For gdb itself, it'll use the system version.
- --without-zlib
- --with-system-zlib
- --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
- $(use_with xml expat)
- $(use_with lzma)
- $(use_enable nls)
- $(use_enable sim)
- $(use_enable source-highlight)
- $(use multitarget && echo --enable-targets=all)
- $(use_with python python "${EPYTHON}")
- $(use_with xxhash)
- $(use_with guile)
- $(use_with zstd)
-
- # Find libraries using the toolchain sysroot rather than the configured
- # prefix. Needed when cross-compiling.
- #
- # Check which libraries to apply this to with:
- # "${S}"/gdb/configure --help | grep without-lib | sort
- --without-lib{babeltrace,expat,gmp,iconv,ipt,lzma,mpfr,xxhash}-prefix
- )
-
- # source-highlight is detected with pkg-config: bug #716558
- export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)"
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- # ensure proper compiler is detected for Clang builds: bug #831202
- export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}"
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake V=1
-}
-
-src_test() {
- # Run the unittests (nabbed invocation from Fedora's spec file) at least
- emake -k -C gdb run GDBFLAGS='-batch -ex "maintenance selftest"'
-
- # Too many failures
- # In fact, gdb's test suite needs some work to get passing.
- # See e.g. https://sourceware.org/gdb/wiki/TestingGDB.
- # As of 11.2, on amd64: "# of unexpected failures 8600"
- # Also, ia64 kernel crashes when gdb testsuite is running.
- #emake -k check
-}
-
-src_install() {
- emake V=1 DESTDIR="${D}" install
-
- find "${ED}"/usr -name libiberty.a -delete || die
-
- # Delete translations that conflict with binutils-libs. bug #528088
- # Note: Should figure out how to store these in an internal gdb dir.
- if use nls ; then
- find "${ED}" \
- -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \
- -delete || die
- fi
-
- # Don't install docs when building a cross-gdb
- if [[ ${CTARGET} != ${CHOST} ]] ; then
- rm -rf "${ED}"/usr/share/{doc,info,locale} || die
- local f
- for f in "${ED}"/usr/share/man/*/* ; do
- if [[ ${f##*/} != ${CTARGET}-* ]] ; then
- mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
- fi
- done
- return 0
- fi
-
- # Install it by hand for now:
- # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
- # Only install if it exists due to the twisted behavior (see
- # notes in src_configure above).
- [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay
-
- docinto gdb
- dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
- gdb/NEWS gdb/PROBLEMS
- docinto sim
- dodoc sim/{MAINTAINERS,README-HACKING}
-
- if use server ; then
- docinto gdbserver
- dodoc gdbserver/README
- fi
-
- # Remove shared info pages
- rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info*
-
- if use python ; then
- python_optimize "${ED}"/usr/share/gdb/python/gdb
- fi
-}
-
-pkg_postinst() {
- # Portage doesn't unmerge files in /etc
- rm -vf "${EROOT}"/etc/skel/.gdbinit
-
- if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
- ewarn "gdb is unable to get a mach task port when installed by Prefix"
- ewarn "Portage, unprivileged. To make gdb fully functional you'll"
- ewarn "have to perform the following steps:"
- ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
- ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
- fi
-}
diff --git a/sys-devel/gdb/gdb-13.1.90_p20230325.ebuild b/sys-devel/gdb/gdb-13.1.90_p20230325.ebuild
deleted file mode 100644
index 7f50bf391455..000000000000
--- a/sys-devel/gdb/gdb-13.1.90_p20230325.ebuild
+++ /dev/null
@@ -1,313 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging
-# tips & notes.
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs
-
-export CTARGET=${CTARGET:-${CHOST}}
-
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-case ${PV} in
- 9999*)
- # live git tree
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
- inherit git-r3
- SRC_URI=""
- ;;
- *.*.50_p2???????|*.*.90_p2???????)
- # Weekly snapshots
- MY_PV="${PV/_p/.}"
- SRC_URI="
- https://sourceware.org/pub/gdb/snapshots/branch/gdb-weekly-${MY_PV}.tar.xz
- https://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${MY_PV}.tar.xz
- https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-weekly-${MY_PV}.tar.xz
- "
- S="${WORKDIR}/${PN}-${MY_PV}"
-
- # e.g. 13.1.90_p20230325 is a snapshot on the stable branch, so it's fine
- if [[ ${PV} == *.[123456789].9?_p2??????? ]] ; then
- REGULAR_RELEASE=1
- fi
- ;;
- *.*.9?)
- # Prereleases
- MY_PV="${PV/_p/.}"
- SRC_URI="
- https://sourceware.org/pub/gdb/snapshots/branch/gdb-${MY_PV}.tar.xz
- https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-${MY_PV}.tar.xz
- "
- S="${WORKDIR}/${PN}-${MY_PV}"
- ;;
- *)
- # Normal upstream release
- SRC_URI="
- mirror://gnu/gdb/${P}.tar.xz
- https://sourceware.org/pub/gdb/releases/${P}.tar.xz
- "
-
- REGULAR_RELEASE=1
-esac
-
-PATCH_DEV=""
-PATCH_VER=""
-DESCRIPTION="GNU debugger"
-HOMEPAGE="https://sourceware.org/gdb/"
-SRC_URI="
- ${SRC_URI}
- ${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}
-"
-
-LICENSE="GPL-3+ LGPL-2.1+"
-SLOT="0"
-IUSE="cet 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"
-fi
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/mpfr:=
- dev-libs/gmp:=
- >=sys-libs/ncurses-5.2-r2:=
- >=sys-libs/readline-7:=
- sys-libs/zlib
- elibc_glibc? ( net-libs/libnsl:= )
- lzma? ( app-arch/xz-utils )
- python? ( ${PYTHON_DEPS} )
- guile? ( >=dev-scheme/guile-2.0 )
- xml? ( dev-libs/expat )
- source-highlight? (
- dev-util/source-highlight
- )
- xxhash? (
- dev-libs/xxhash
- )
- zstd? ( app-arch/zstd:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- sys-apps/texinfo
- app-alternatives/yacc
- nls? ( sys-devel/gettext )
- source-highlight? ( virtual/pkgconfig )
- test? ( dev-util/dejagnu )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
- "${FILESDIR}"/${PN}-13.1-Wenum-constexpr-conversion-clang16.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- strip-linguas -u bfd/po opcodes/po
-
- # Avoid using ancient termcap from host on Prefix systems
- sed -i -e 's/termcap tinfow/tinfow/g' \
- gdb/configure{.ac,} || die
-}
-
-gdb_branding() {
- printf "Gentoo ${PV} "
-
- if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
- printf "p${PATCH_VER}"
- else
- printf "vanilla"
- fi
-
- [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}"
-}
-
-src_configure() {
- strip-unsupported-flags
-
- # 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.
- MAKEOPTS="--output-sync=line ${MAKEOPTS}"
-
- local myconf=(
- # portage's econf() does not detect presence of --d-d-t
- # because it greps only top-level ./configure. But not
- # gnulib's or gdb's configure.
- --disable-dependency-tracking
-
- --with-pkgversion="$(gdb_branding)"
- --with-bugurl='https://bugs.gentoo.org/'
- --disable-werror
- # Disable modules that are in a combined binutils/gdb tree. bug #490566
- --disable-{binutils,etc,gas,gold,gprof,gprofng,ld}
-
- # avoid automagic dependency on (currently prefix) systems
- # systems with debuginfod library, bug #754753
- --without-debuginfod
-
- $(use_enable test unit-tests)
-
- # Allow user to opt into CET for host libraries.
- # Ideally we would like automagic-or-disabled here.
- # But the check does not quite work on i686: bug #760926.
- $(use_enable cet)
-
- # Helps when cross-compiling. Not to be confused with --with-sysroot.
- --with-build-sysroot="${ESYSROOT}"
- )
-
- is_cross && myconf+=(
- --with-sysroot="\${prefix}/${CTARGET}"
- --includedir="\${prefix}/include/${CTARGET}"
- --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
- )
-
- # gdbserver only works for native targets (CHOST==CTARGET).
- # it also doesn't support all targets, so rather than duplicate
- # the target list (which changes between versions), use the
- # "auto" value when things are turned on, which is triggered
- # whenever no --enable or --disable is given
- if is_cross || use !server ; then
- myconf+=( --disable-gdbserver )
- fi
-
- myconf+=(
- --enable-64-bit-bfd
- --disable-install-libbfd
- --disable-install-libiberty
- --enable-obsolete
- # This only disables building in the readline subdir.
- # For gdb itself, it'll use the system version.
- --disable-readline
- --with-system-readline
- # This only disables building in the zlib subdir.
- # For gdb itself, it'll use the system version.
- --without-zlib
- --with-system-zlib
- --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
- $(use_with xml expat)
- $(use_with lzma)
- $(use_enable nls)
- $(use_enable sim)
- $(use_enable source-highlight)
- $(use multitarget && echo --enable-targets=all)
- $(use_with python python "${EPYTHON}")
- $(use_with xxhash)
- $(use_with guile)
- $(use_with zstd)
-
- # Find libraries using the toolchain sysroot rather than the configured
- # prefix. Needed when cross-compiling.
- #
- # Check which libraries to apply this to with:
- # "${S}"/gdb/configure --help | grep without-lib | sort
- --without-lib{babeltrace,expat,gmp,iconv,ipt,lzma,mpfr,xxhash}-prefix
- )
-
- # source-highlight is detected with pkg-config: bug #716558
- export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)"
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- # ensure proper compiler is detected for Clang builds: bug #831202
- export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}"
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake V=1
-}
-
-src_test() {
- # Run the unittests (nabbed invocation from Fedora's spec file) at least
- emake -k -C gdb run GDBFLAGS='-batch -ex "maintenance selftest"'
-
- # Too many failures
- # In fact, gdb's test suite needs some work to get passing.
- # See e.g. https://sourceware.org/gdb/wiki/TestingGDB.
- # As of 11.2, on amd64: "# of unexpected failures 8600"
- # Also, ia64 kernel crashes when gdb testsuite is running.
- #emake -k check
-}
-
-src_install() {
- emake V=1 DESTDIR="${D}" install
-
- find "${ED}"/usr -name libiberty.a -delete || die
-
- # Delete translations that conflict with binutils-libs. bug #528088
- # Note: Should figure out how to store these in an internal gdb dir.
- if use nls ; then
- find "${ED}" \
- -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \
- -delete || die
- fi
-
- # Don't install docs when building a cross-gdb
- if [[ ${CTARGET} != ${CHOST} ]] ; then
- rm -rf "${ED}"/usr/share/{doc,info,locale} || die
- local f
- for f in "${ED}"/usr/share/man/*/* ; do
- if [[ ${f##*/} != ${CTARGET}-* ]] ; then
- mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
- fi
- done
- return 0
- fi
-
- # Install it by hand for now:
- # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
- # Only install if it exists due to the twisted behavior (see
- # notes in src_configure above).
- [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay
-
- docinto gdb
- dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
- gdb/NEWS gdb/PROBLEMS
- docinto sim
- dodoc sim/{MAINTAINERS,README-HACKING}
-
- if use server ; then
- docinto gdbserver
- dodoc gdbserver/README
- fi
-
- # Remove shared info pages
- rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info*
-
- if use python ; then
- python_optimize "${ED}"/usr/share/gdb/python/gdb
- fi
-}
-
-pkg_postinst() {
- # Portage doesn't unmerge files in /etc
- rm -vf "${EROOT}"/etc/skel/.gdbinit
-
- if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
- ewarn "gdb is unable to get a mach task port when installed by Prefix"
- ewarn "Portage, unprivileged. To make gdb fully functional you'll"
- ewarn "have to perform the following steps:"
- ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
- ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
- fi
-}
diff --git a/sys-devel/gdb/gdb-13.1.90_p20230429.ebuild b/sys-devel/gdb/gdb-13.1.90_p20230429.ebuild
deleted file mode 100644
index 1593ff281134..000000000000
--- a/sys-devel/gdb/gdb-13.1.90_p20230429.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging
-# tips & notes.
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs
-
-export CTARGET=${CTARGET:-${CHOST}}
-
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
-
-case ${PV} in
- 9999*)
- # live git tree
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
- inherit git-r3
- SRC_URI=""
- ;;
- *.*.50_p2???????|*.*.90_p2???????)
- # Weekly snapshots
- MY_PV="${PV/_p/.}"
- SRC_URI="
- https://sourceware.org/pub/gdb/snapshots/branch/gdb-weekly-${MY_PV}.tar.xz
- https://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${MY_PV}.tar.xz
- https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-weekly-${MY_PV}.tar.xz
- "
- S="${WORKDIR}/${PN}-${MY_PV}"
-
- # e.g. 13.1.90_p20230325 is a snapshot on the stable branch, so it's fine
- if [[ ${PV} == *.[123456789].9?_p2??????? ]] ; then
- REGULAR_RELEASE=1
- fi
- ;;
- *.*.9?)
- # Prereleases
- MY_PV="${PV/_p/.}"
- SRC_URI="
- https://sourceware.org/pub/gdb/snapshots/branch/gdb-${MY_PV}.tar.xz
- https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-${MY_PV}.tar.xz
- "
- S="${WORKDIR}/${PN}-${MY_PV}"
- ;;
- *)
- # Normal upstream release
- SRC_URI="
- mirror://gnu/gdb/${P}.tar.xz
- https://sourceware.org/pub/gdb/releases/${P}.tar.xz
- "
-
- REGULAR_RELEASE=1
-esac
-
-PATCH_DEV=""
-PATCH_VER=""
-DESCRIPTION="GNU debugger"
-HOMEPAGE="https://sourceware.org/gdb/"
-SRC_URI="
- ${SRC_URI}
- ${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}
-"
-
-LICENSE="GPL-3+ LGPL-2.1+"
-SLOT="0"
-IUSE="cet 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"
-fi
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/mpfr:=
- dev-libs/gmp:=
- >=sys-libs/ncurses-5.2-r2:=
- >=sys-libs/readline-7:=
- sys-libs/zlib
- elibc_glibc? ( net-libs/libnsl:= )
- lzma? ( app-arch/xz-utils )
- python? ( ${PYTHON_DEPS} )
- guile? ( >=dev-scheme/guile-2.0 )
- xml? ( dev-libs/expat )
- source-highlight? (
- dev-util/source-highlight
- )
- xxhash? (
- dev-libs/xxhash
- )
- zstd? ( app-arch/zstd:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- sys-apps/texinfo
- app-alternatives/yacc
- nls? ( sys-devel/gettext )
- source-highlight? ( virtual/pkgconfig )
- test? ( dev-util/dejagnu )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
- "${FILESDIR}"/${PN}-13.1-Wenum-constexpr-conversion-clang16.patch
- "${FILESDIR}"/${PN}-13.1-musl-lfs.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- strip-linguas -u bfd/po opcodes/po
-
- # Avoid using ancient termcap from host on Prefix systems
- sed -i -e 's/termcap tinfow/tinfow/g' \
- gdb/configure{.ac,} || die
-}
-
-gdb_branding() {
- printf "Gentoo ${PV} "
-
- if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
- printf "p${PATCH_VER}"
- else
- printf "vanilla"
- fi
-
- [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}"
-}
-
-src_configure() {
- strip-unsupported-flags
-
- # 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.
- MAKEOPTS="--output-sync=line ${MAKEOPTS}"
-
- local myconf=(
- # portage's econf() does not detect presence of --d-d-t
- # because it greps only top-level ./configure. But not
- # gnulib's or gdb's configure.
- --disable-dependency-tracking
-
- --with-pkgversion="$(gdb_branding)"
- --with-bugurl='https://bugs.gentoo.org/'
- --disable-werror
- # Disable modules that are in a combined binutils/gdb tree. bug #490566
- --disable-{binutils,etc,gas,gold,gprof,gprofng,ld}
-
- # avoid automagic dependency on (currently prefix) systems
- # systems with debuginfod library, bug #754753
- --without-debuginfod
-
- $(use_enable test unit-tests)
-
- # Allow user to opt into CET for host libraries.
- # Ideally we would like automagic-or-disabled here.
- # But the check does not quite work on i686: bug #760926.
- $(use_enable cet)
-
- # Helps when cross-compiling. Not to be confused with --with-sysroot.
- --with-build-sysroot="${ESYSROOT}"
- )
-
- is_cross && myconf+=(
- --with-sysroot="\${prefix}/${CTARGET}"
- --includedir="\${prefix}/include/${CTARGET}"
- --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
- )
-
- # gdbserver only works for native targets (CHOST==CTARGET).
- # it also doesn't support all targets, so rather than duplicate
- # the target list (which changes between versions), use the
- # "auto" value when things are turned on, which is triggered
- # whenever no --enable or --disable is given
- if is_cross || use !server ; then
- myconf+=( --disable-gdbserver )
- fi
-
- myconf+=(
- --enable-64-bit-bfd
- --disable-install-libbfd
- --disable-install-libiberty
- --enable-obsolete
- # This only disables building in the readline subdir.
- # For gdb itself, it'll use the system version.
- --disable-readline
- --with-system-readline
- # This only disables building in the zlib subdir.
- # For gdb itself, it'll use the system version.
- --without-zlib
- --with-system-zlib
- --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
- $(use_with xml expat)
- $(use_with lzma)
- $(use_enable nls)
- $(use_enable sim)
- $(use_enable source-highlight)
- $(use multitarget && echo --enable-targets=all)
- $(use_with python python "${EPYTHON}")
- $(use_with xxhash)
- $(use_with guile)
- $(use_with zstd)
-
- # Find libraries using the toolchain sysroot rather than the configured
- # prefix. Needed when cross-compiling.
- #
- # Check which libraries to apply this to with:
- # "${S}"/gdb/configure --help | grep without-lib | sort
- --without-lib{babeltrace,expat,gmp,iconv,ipt,lzma,mpfr,xxhash}-prefix
- )
-
- # source-highlight is detected with pkg-config: bug #716558
- export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)"
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- # ensure proper compiler is detected for Clang builds: bug #831202
- export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}"
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake V=1
-}
-
-src_test() {
- # Run the unittests (nabbed invocation from Fedora's spec file) at least
- emake -k -C gdb run GDBFLAGS='-batch -ex "maintenance selftest"'
-
- # Too many failures
- # In fact, gdb's test suite needs some work to get passing.
- # See e.g. https://sourceware.org/gdb/wiki/TestingGDB.
- # As of 11.2, on amd64: "# of unexpected failures 8600"
- # Also, ia64 kernel crashes when gdb testsuite is running.
- #emake -k check
-}
-
-src_install() {
- emake V=1 DESTDIR="${D}" install
-
- find "${ED}"/usr -name libiberty.a -delete || die
-
- # Delete translations that conflict with binutils-libs. bug #528088
- # Note: Should figure out how to store these in an internal gdb dir.
- if use nls ; then
- find "${ED}" \
- -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \
- -delete || die
- fi
-
- # Don't install docs when building a cross-gdb
- if [[ ${CTARGET} != ${CHOST} ]] ; then
- rm -rf "${ED}"/usr/share/{doc,info,locale} || die
- local f
- for f in "${ED}"/usr/share/man/*/* ; do
- if [[ ${f##*/} != ${CTARGET}-* ]] ; then
- mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
- fi
- done
- return 0
- fi
-
- # Install it by hand for now:
- # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
- # Only install if it exists due to the twisted behavior (see
- # notes in src_configure above).
- [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay
-
- docinto gdb
- dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
- gdb/NEWS gdb/PROBLEMS
- docinto sim
- dodoc sim/{MAINTAINERS,README-HACKING}
-
- if use server ; then
- docinto gdbserver
- dodoc gdbserver/README
- fi
-
- # Remove shared info pages
- rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info*
-
- if use python ; then
- python_optimize "${ED}"/usr/share/gdb/python/gdb
- fi
-}
-
-pkg_postinst() {
- # Portage doesn't unmerge files in /etc
- rm -vf "${EROOT}"/etc/skel/.gdbinit
-
- if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
- ewarn "gdb is unable to get a mach task port when installed by Prefix"
- ewarn "Portage, unprivileged. To make gdb fully functional you'll"
- ewarn "have to perform the following steps:"
- ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
- ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
- fi
-}
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2023-07-06 17:15 Sam James
0 siblings, 0 replies; 12+ messages in thread
From: Sam James @ 2023-07-06 17:15 UTC (permalink / raw
To: gentoo-commits
commit: e89cad361658a86b982a13ceec01514d36011ed0
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 6 17:15:17 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul 6 17:15:38 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e89cad36
sys-devel/gdb: fix runtime debugging on sparc
Closes: https://bugs.gentoo.org/907906
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../gdb/files/gdb-13.2-fix-sparc-debugging.patch | 126 +++++++++
sys-devel/gdb/gdb-13.2-r1.ebuild | 313 +++++++++++++++++++++
2 files changed, 439 insertions(+)
diff --git a/sys-devel/gdb/files/gdb-13.2-fix-sparc-debugging.patch b/sys-devel/gdb/files/gdb-13.2-fix-sparc-debugging.patch
new file mode 100644
index 000000000000..3d5201cd94e3
--- /dev/null
+++ b/sys-devel/gdb/files/gdb-13.2-fix-sparc-debugging.patch
@@ -0,0 +1,126 @@
+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 <pedro@palves.net>
+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/sys-devel/gdb/gdb-13.2-r1.ebuild b/sys-devel/gdb/gdb-13.2-r1.ebuild
new file mode 100644
index 000000000000..09dfedaf1ee1
--- /dev/null
+++ b/sys-devel/gdb/gdb-13.2-r1.ebuild
@@ -0,0 +1,313 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging
+# tips & notes.
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs
+
+export CTARGET=${CTARGET:-${CHOST}}
+
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+case ${PV} in
+ 9999*)
+ # live git tree
+ EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
+ inherit git-r3
+ SRC_URI=""
+ ;;
+ *.*.50_p2???????|*.*.90_p2???????)
+ # Weekly snapshots
+ MY_PV="${PV/_p/.}"
+ SRC_URI="
+ https://sourceware.org/pub/gdb/snapshots/branch/gdb-weekly-${MY_PV}.tar.xz
+ https://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${MY_PV}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-weekly-${MY_PV}.tar.xz
+ "
+ S="${WORKDIR}/${PN}-${MY_PV}"
+
+ # e.g. 13.1.90_p20230325 is a snapshot on the stable branch, so it's fine
+ if [[ ${PV} == *.[123456789].9?_p2??????? ]] ; then
+ REGULAR_RELEASE=1
+ fi
+ ;;
+ *.*.9?)
+ # Prereleases
+ MY_PV="${PV/_p/.}"
+ SRC_URI="
+ https://sourceware.org/pub/gdb/snapshots/branch/gdb-${MY_PV}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-${MY_PV}.tar.xz
+ "
+ S="${WORKDIR}/${PN}-${MY_PV}"
+ ;;
+ *)
+ # Normal upstream release
+ SRC_URI="
+ mirror://gnu/gdb/${P}.tar.xz
+ https://sourceware.org/pub/gdb/releases/${P}.tar.xz
+ "
+
+ REGULAR_RELEASE=1
+esac
+
+PATCH_DEV=""
+PATCH_VER=""
+DESCRIPTION="GNU debugger"
+HOMEPAGE="https://sourceware.org/gdb/"
+SRC_URI="
+ ${SRC_URI}
+ ${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}
+"
+
+LICENSE="GPL-3+ LGPL-2.1+"
+SLOT="0"
+IUSE="cet 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"
+fi
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/mpfr:=
+ dev-libs/gmp:=
+ >=sys-libs/ncurses-5.2-r2:=
+ >=sys-libs/readline-7:=
+ sys-libs/zlib
+ elibc_glibc? ( net-libs/libnsl:= )
+ lzma? ( app-arch/xz-utils )
+ python? ( ${PYTHON_DEPS} )
+ guile? ( >=dev-scheme/guile-2.0 )
+ xml? ( dev-libs/expat )
+ source-highlight? (
+ dev-util/source-highlight
+ )
+ xxhash? (
+ dev-libs/xxhash
+ )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/xz-utils
+ sys-apps/texinfo
+ app-alternatives/yacc
+ nls? ( sys-devel/gettext )
+ source-highlight? ( virtual/pkgconfig )
+ test? ( dev-util/dejagnu )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
+ "${FILESDIR}"/${P}-fix-sparc-debugging.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ strip-linguas -u bfd/po opcodes/po
+
+ # Avoid using ancient termcap from host on Prefix systems
+ sed -i -e 's/termcap tinfow/tinfow/g' \
+ gdb/configure{.ac,} || die
+}
+
+gdb_branding() {
+ printf "Gentoo ${PV} "
+
+ if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
+ printf "p${PATCH_VER}"
+ else
+ printf "vanilla"
+ fi
+
+ [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}"
+}
+
+src_configure() {
+ strip-unsupported-flags
+
+ # 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.
+ MAKEOPTS="--output-sync=line ${MAKEOPTS}"
+
+ local myconf=(
+ # portage's econf() does not detect presence of --d-d-t
+ # because it greps only top-level ./configure. But not
+ # gnulib's or gdb's configure.
+ --disable-dependency-tracking
+
+ --with-pkgversion="$(gdb_branding)"
+ --with-bugurl='https://bugs.gentoo.org/'
+ --disable-werror
+ # Disable modules that are in a combined binutils/gdb tree. bug #490566
+ --disable-{binutils,etc,gas,gold,gprof,gprofng,ld}
+
+ # avoid automagic dependency on (currently prefix) systems
+ # systems with debuginfod library, bug #754753
+ --without-debuginfod
+
+ $(use_enable test unit-tests)
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
+
+ # Helps when cross-compiling. Not to be confused with --with-sysroot.
+ --with-build-sysroot="${ESYSROOT}"
+ )
+
+ is_cross && myconf+=(
+ --with-sysroot="\${prefix}/${CTARGET}"
+ --includedir="\${prefix}/include/${CTARGET}"
+ --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
+ )
+
+ # gdbserver only works for native targets (CHOST==CTARGET).
+ # it also doesn't support all targets, so rather than duplicate
+ # the target list (which changes between versions), use the
+ # "auto" value when things are turned on, which is triggered
+ # whenever no --enable or --disable is given
+ if is_cross || use !server ; then
+ myconf+=( --disable-gdbserver )
+ fi
+
+ myconf+=(
+ --enable-64-bit-bfd
+ --disable-install-libbfd
+ --disable-install-libiberty
+ --enable-obsolete
+ # This only disables building in the readline subdir.
+ # For gdb itself, it'll use the system version.
+ --disable-readline
+ --with-system-readline
+ # This only disables building in the zlib subdir.
+ # For gdb itself, it'll use the system version.
+ --without-zlib
+ --with-system-zlib
+ --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
+ $(use_with xml expat)
+ $(use_with lzma)
+ $(use_enable nls)
+ $(use_enable sim)
+ $(use_enable source-highlight)
+ $(use multitarget && echo --enable-targets=all)
+ $(use_with python python "${EPYTHON}")
+ $(use_with xxhash)
+ $(use_with guile)
+ $(use_with zstd)
+
+ # Find libraries using the toolchain sysroot rather than the configured
+ # prefix. Needed when cross-compiling.
+ #
+ # Check which libraries to apply this to with:
+ # "${S}"/gdb/configure --help | grep without-lib | sort
+ --without-lib{babeltrace,expat,gmp,iconv,ipt,lzma,mpfr,xxhash}-prefix
+ )
+
+ # source-highlight is detected with pkg-config: bug #716558
+ export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)"
+
+ export CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ # ensure proper compiler is detected for Clang builds: bug #831202
+ export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}"
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake V=1
+}
+
+src_test() {
+ # Run the unittests (nabbed invocation from Fedora's spec file) at least
+ emake -k -C gdb run GDBFLAGS='-batch -ex "maintenance selftest"'
+
+ # Too many failures
+ # In fact, gdb's test suite needs some work to get passing.
+ # See e.g. https://sourceware.org/gdb/wiki/TestingGDB.
+ # As of 11.2, on amd64: "# of unexpected failures 8600"
+ # Also, ia64 kernel crashes when gdb testsuite is running.
+ #emake -k check
+}
+
+src_install() {
+ emake V=1 DESTDIR="${D}" install
+
+ find "${ED}"/usr -name libiberty.a -delete || die
+
+ # Delete translations that conflict with binutils-libs. bug #528088
+ # Note: Should figure out how to store these in an internal gdb dir.
+ if use nls ; then
+ find "${ED}" \
+ -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \
+ -delete || die
+ fi
+
+ # Don't install docs when building a cross-gdb
+ if [[ ${CTARGET} != ${CHOST} ]] ; then
+ rm -rf "${ED}"/usr/share/{doc,info,locale} || die
+ local f
+ for f in "${ED}"/usr/share/man/*/* ; do
+ if [[ ${f##*/} != ${CTARGET}-* ]] ; then
+ mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
+ fi
+ done
+ return 0
+ fi
+
+ # Install it by hand for now:
+ # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
+ # Only install if it exists due to the twisted behavior (see
+ # notes in src_configure above).
+ [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay
+
+ docinto gdb
+ dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
+ gdb/NEWS gdb/PROBLEMS
+ docinto sim
+ dodoc sim/{MAINTAINERS,README-HACKING}
+
+ if use server ; then
+ docinto gdbserver
+ dodoc gdbserver/README
+ fi
+
+ # Remove shared info pages
+ rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info*
+
+ if use python ; then
+ python_optimize "${ED}"/usr/share/gdb/python/gdb
+ fi
+}
+
+pkg_postinst() {
+ # Portage doesn't unmerge files in /etc
+ rm -vf "${EROOT}"/etc/skel/.gdbinit
+
+ if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
+ ewarn "gdb is unable to get a mach task port when installed by Prefix"
+ ewarn "Portage, unprivileged. To make gdb fully functional you'll"
+ ewarn "have to perform the following steps:"
+ ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
+ ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
+ fi
+}
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2023-07-15 10:14 Arsen Arsenović
0 siblings, 0 replies; 12+ messages in thread
From: Arsen Arsenović @ 2023-07-15 10:14 UTC (permalink / raw
To: gentoo-commits
commit: 1bd52fc52dd36b4b83f51530685fc985482ff921
Author: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 15 10:05:50 2023 +0000
Commit: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
CommitDate: Sat Jul 15 10:12:22 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1bd52fc5
sys-devel/gdb: backport fix for auto-load path expansion
02601231fdd91a7bd4837ce202906ea2ce661489 (in binutils-gdb.git) added a
refactor that unintentionally broke expansion of auto-load paths of the
form of '$datadir/subdir' and similar (i.e. not the trivial '$datadir'
case).
Backport the reversion.
Signed-off-by: Arsen Arsenović <arsen <AT> gentoo.org>
.../gdb-13.2-fix-auto-load-path-expansion.patch | 229 +++++++++++++++++++++
.../gdb/{gdb-13.2-r1.ebuild => gdb-13.2-r2.ebuild} | 1 +
2 files changed, 230 insertions(+)
diff --git a/sys-devel/gdb/files/gdb-13.2-fix-auto-load-path-expansion.patch b/sys-devel/gdb/files/gdb-13.2-fix-auto-load-path-expansion.patch
new file mode 100644
index 000000000000..4af86f3917be
--- /dev/null
+++ b/sys-devel/gdb/files/gdb-13.2-fix-auto-load-path-expansion.patch
@@ -0,0 +1,229 @@
+https://inbox.sourceware.org/gdb-patches/87351qo3n2.fsf@tromey.com/
+https://sourceware.org/cgit/binutils-gdb/commit/?id=02601231fdd91a7bd4837ce2029
+From 23e46b680f6fa6fce45aaf6c004cab6be322fbf1 Mon Sep 17 00:00:00 2001
+From: Tom Tromey <tromey@adacore.com>
+Date: Fri, 14 Jul 2023 09:35:03 -0600
+Subject: Revert "Simplify auto_load_expand_dir_vars and remove
+ substitute_path_component"
+
+This reverts commit 02601231fdd91a7bd4837ce202906ea2ce661489.
+
+This commit was a refactoring to remove an xrealloc and simplify
+utils.[ch]. However, it has a flaw -- it mishandles a substitution
+like "$datadir/subdir".
+
+I am backing out the patch in the interests of fixing the regression
+before GDB 14. It can be reinstated (with modifications) later if we
+like.
+
+Regression tested on x86-64 Fedora 36.
+---
+ gdb/Makefile.in | 1 +
+ gdb/auto-load.c | 33 +++++++++--------------
+ gdb/unittests/utils-selftests.c | 60 +++++++++++++++++++++++++++++++++++++++++
+ gdb/utils.c | 45 +++++++++++++++++++++++++++++++
+ gdb/utils.h | 3 +++
+ 5 files changed, 121 insertions(+), 21 deletions(-)
+ create mode 100644 gdb/unittests/utils-selftests.c
+
+diff --git a/gdb/Makefile.in b/gdb/Makefile.in
+index d909786792c..8521e8d11c8 100644
+--- a/gdb/Makefile.in
++++ b/gdb/Makefile.in
+@@ -490,6 +490,7 @@ SELFTESTS_SRCS = \
+ unittests/ui-file-selftests.c \
+ unittests/unique_xmalloc_ptr_char.c \
+ unittests/unpack-selftests.c \
++ unittests/utils-selftests.c \
+ unittests/vec-utils-selftests.c \
+ unittests/xml-utils-selftests.c
+
+diff --git a/gdb/auto-load.c b/gdb/auto-load.c
+index 9d6fabe6bbc..5267cb4e64d 100644
+--- a/gdb/auto-load.c
++++ b/gdb/auto-load.c
+@@ -173,33 +173,24 @@ static std::string auto_load_safe_path = AUTO_LOAD_SAFE_PATH;
+ counterpart. */
+ static std::vector<gdb::unique_xmalloc_ptr<char>> auto_load_safe_path_vec;
+
+-/* Expand $datadir and $debugdir in STRING. */
++/* Expand $datadir and $debugdir in STRING according to the rules of
++ substitute_path_component. */
+
+ static std::vector<gdb::unique_xmalloc_ptr<char>>
+ auto_load_expand_dir_vars (const char *string)
+ {
+- std::vector<gdb::unique_xmalloc_ptr<char>> result
+- = dirnames_to_char_ptr_vec (string);
++ char *s = xstrdup (string);
++ substitute_path_component (&s, "$datadir", gdb_datadir.c_str ());
++ substitute_path_component (&s, "$debugdir", debug_file_directory.c_str ());
+
+- for (auto &elt : result)
+- {
+- if (strcmp (elt.get (), "$datadir") == 0)
+- {
+- elt = make_unique_xstrdup (gdb_datadir.c_str ());
+- if (debug_auto_load)
+- auto_load_debug_printf ("Expanded $datadir to \"%s\".",
+- gdb_datadir.c_str ());
+- }
+- else if (strcmp (elt.get (), "$debugdir") == 0)
+- {
+- elt = make_unique_xstrdup (debug_file_directory.c_str ());
+- if (debug_auto_load)
+- auto_load_debug_printf ("Expanded $debugdir to \"%s\".",
+- debug_file_directory.c_str ());
+- }
+- }
++ if (debug_auto_load && strcmp (s, string) != 0)
++ auto_load_debug_printf ("Expanded $-variables to \"%s\".", s);
++
++ std::vector<gdb::unique_xmalloc_ptr<char>> dir_vec
++ = dirnames_to_char_ptr_vec (s);
++ xfree(s);
+
+- return result;
++ return dir_vec;
+ }
+
+ /* Update auto_load_safe_path_vec from current AUTO_LOAD_SAFE_PATH. */
+diff --git a/gdb/unittests/utils-selftests.c b/gdb/unittests/utils-selftests.c
+new file mode 100644
+index 00000000000..70609aa4294
+--- /dev/null
++++ b/gdb/unittests/utils-selftests.c
+@@ -0,0 +1,60 @@
++/* Unit tests for the utils.c file.
++
++ Copyright (C) 2018-2023 Free Software Foundation, Inc.
++
++ This file is part of GDB.
++
++ 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 <http://www.gnu.org/licenses/>. */
++
++#include "defs.h"
++#include "utils.h"
++#include "gdbsupport/selftest.h"
++
++namespace selftests {
++namespace utils {
++
++static void
++test_substitute_path_component ()
++{
++ auto test = [] (std::string s, const char *from, const char *to,
++ const char *expected)
++ {
++ char *temp = xstrdup (s.c_str ());
++ substitute_path_component (&temp, from, to);
++ SELF_CHECK (strcmp (temp, expected) == 0);
++ xfree (temp);
++ };
++
++ test ("/abc/$def/g", "abc", "xyz", "/xyz/$def/g");
++ test ("abc/$def/g", "abc", "xyz", "xyz/$def/g");
++ test ("/abc/$def/g", "$def", "xyz", "/abc/xyz/g");
++ test ("/abc/$def/g", "g", "xyz", "/abc/$def/xyz");
++ test ("/abc/$def/g", "ab", "xyz", "/abc/$def/g");
++ test ("/abc/$def/g", "def", "xyz", "/abc/$def/g");
++ test ("/abc/$def/g", "abc", "abc", "/abc/$def/g");
++ test ("/abc/$def/g", "abc", "", "//$def/g");
++ test ("/abc/$def/g", "abc/$def", "xyz", "/xyz/g");
++ test ("/abc/$def/abc", "abc", "xyz", "/xyz/$def/xyz");
++}
++
++}
++}
++
++void _initialize_utils_selftests ();
++void
++_initialize_utils_selftests ()
++{
++ selftests::register_test ("substitute_path_component",
++ selftests::utils::test_substitute_path_component);
++}
+diff --git a/gdb/utils.c b/gdb/utils.c
+index 46bfd9a5bbb..cacd6cbd23e 100644
+--- a/gdb/utils.c
++++ b/gdb/utils.c
+@@ -3346,6 +3346,51 @@ parse_pid_to_attach (const char *args)
+ return pid;
+ }
+
++/* Substitute all occurrences of string FROM by string TO in *STRINGP. *STRINGP
++ must come from xrealloc-compatible allocator and it may be updated. FROM
++ needs to be delimited by IS_DIR_SEPARATOR or DIRNAME_SEPARATOR (or be
++ located at the start or end of *STRINGP. */
++
++void
++substitute_path_component (char **stringp, const char *from, const char *to)
++{
++ char *string = *stringp, *s;
++ const size_t from_len = strlen (from);
++ const size_t to_len = strlen (to);
++
++ for (s = string;;)
++ {
++ s = strstr (s, from);
++ if (s == NULL)
++ break;
++
++ if ((s == string || IS_DIR_SEPARATOR (s[-1])
++ || s[-1] == DIRNAME_SEPARATOR)
++ && (s[from_len] == '\0' || IS_DIR_SEPARATOR (s[from_len])
++ || s[from_len] == DIRNAME_SEPARATOR))
++ {
++ char *string_new;
++
++ string_new
++ = (char *) xrealloc (string, (strlen (string) + to_len + 1));
++
++ /* Relocate the current S pointer. */
++ s = s - string + string_new;
++ string = string_new;
++
++ /* Replace from by to. */
++ memmove (&s[to_len], &s[from_len], strlen (&s[from_len]) + 1);
++ memcpy (s, to, to_len);
++
++ s += to_len;
++ }
++ else
++ s++;
++ }
++
++ *stringp = string;
++}
++
+ #ifdef HAVE_WAITPID
+
+ #ifdef SIGALRM
+diff --git a/gdb/utils.h b/gdb/utils.h
+index 3faac20ec0f..ad0a86746b8 100644
+--- a/gdb/utils.h
++++ b/gdb/utils.h
+@@ -136,6 +136,9 @@ private:
+ extern int gdb_filename_fnmatch (const char *pattern, const char *string,
+ int flags);
+
++extern void substitute_path_component (char **stringp, const char *from,
++ const char *to);
++
+ std::string ldirname (const char *filename);
+
+ extern int count_path_elements (const char *path);
+--
+cgit
+
diff --git a/sys-devel/gdb/gdb-13.2-r1.ebuild b/sys-devel/gdb/gdb-13.2-r2.ebuild
similarity index 99%
rename from sys-devel/gdb/gdb-13.2-r1.ebuild
rename to sys-devel/gdb/gdb-13.2-r2.ebuild
index 09dfedaf1ee1..9159d8230726 100644
--- a/sys-devel/gdb/gdb-13.2-r1.ebuild
+++ b/sys-devel/gdb/gdb-13.2-r2.ebuild
@@ -111,6 +111,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
"${FILESDIR}"/${P}-fix-sparc-debugging.patch
+ "${FILESDIR}"/${P}-fix-auto-load-path-expansion.patch
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/
@ 2023-07-15 10:33 Arsen Arsenović
0 siblings, 0 replies; 12+ messages in thread
From: Arsen Arsenović @ 2023-07-15 10:33 UTC (permalink / raw
To: gentoo-commits
commit: 350d1ae125901fca5a78651bcd44b3cc48e5d80d
Author: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 15 10:29:55 2023 +0000
Commit: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
CommitDate: Sat Jul 15 10:32:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=350d1ae1
sys-devel/gdb: Revert "backport fix for auto-load path expansion"
This reverts commit 1bd52fc52dd36b4b83f51530685fc985482ff921.
The bug this patch fixes actually isn't in 13.2. It was just a mirage.
Closes: https://bugs.gentoo.org/910390
Signed-off-by: Arsen Arsenović <arsen <AT> gentoo.org>
.../gdb-13.2-fix-auto-load-path-expansion.patch | 229 ---------------------
.../gdb/{gdb-13.2-r2.ebuild => gdb-13.2-r1.ebuild} | 1 -
2 files changed, 230 deletions(-)
diff --git a/sys-devel/gdb/files/gdb-13.2-fix-auto-load-path-expansion.patch b/sys-devel/gdb/files/gdb-13.2-fix-auto-load-path-expansion.patch
deleted file mode 100644
index 4af86f3917be..000000000000
--- a/sys-devel/gdb/files/gdb-13.2-fix-auto-load-path-expansion.patch
+++ /dev/null
@@ -1,229 +0,0 @@
-https://inbox.sourceware.org/gdb-patches/87351qo3n2.fsf@tromey.com/
-https://sourceware.org/cgit/binutils-gdb/commit/?id=02601231fdd91a7bd4837ce2029
-From 23e46b680f6fa6fce45aaf6c004cab6be322fbf1 Mon Sep 17 00:00:00 2001
-From: Tom Tromey <tromey@adacore.com>
-Date: Fri, 14 Jul 2023 09:35:03 -0600
-Subject: Revert "Simplify auto_load_expand_dir_vars and remove
- substitute_path_component"
-
-This reverts commit 02601231fdd91a7bd4837ce202906ea2ce661489.
-
-This commit was a refactoring to remove an xrealloc and simplify
-utils.[ch]. However, it has a flaw -- it mishandles a substitution
-like "$datadir/subdir".
-
-I am backing out the patch in the interests of fixing the regression
-before GDB 14. It can be reinstated (with modifications) later if we
-like.
-
-Regression tested on x86-64 Fedora 36.
----
- gdb/Makefile.in | 1 +
- gdb/auto-load.c | 33 +++++++++--------------
- gdb/unittests/utils-selftests.c | 60 +++++++++++++++++++++++++++++++++++++++++
- gdb/utils.c | 45 +++++++++++++++++++++++++++++++
- gdb/utils.h | 3 +++
- 5 files changed, 121 insertions(+), 21 deletions(-)
- create mode 100644 gdb/unittests/utils-selftests.c
-
-diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index d909786792c..8521e8d11c8 100644
---- a/gdb/Makefile.in
-+++ b/gdb/Makefile.in
-@@ -490,6 +490,7 @@ SELFTESTS_SRCS = \
- unittests/ui-file-selftests.c \
- unittests/unique_xmalloc_ptr_char.c \
- unittests/unpack-selftests.c \
-+ unittests/utils-selftests.c \
- unittests/vec-utils-selftests.c \
- unittests/xml-utils-selftests.c
-
-diff --git a/gdb/auto-load.c b/gdb/auto-load.c
-index 9d6fabe6bbc..5267cb4e64d 100644
---- a/gdb/auto-load.c
-+++ b/gdb/auto-load.c
-@@ -173,33 +173,24 @@ static std::string auto_load_safe_path = AUTO_LOAD_SAFE_PATH;
- counterpart. */
- static std::vector<gdb::unique_xmalloc_ptr<char>> auto_load_safe_path_vec;
-
--/* Expand $datadir and $debugdir in STRING. */
-+/* Expand $datadir and $debugdir in STRING according to the rules of
-+ substitute_path_component. */
-
- static std::vector<gdb::unique_xmalloc_ptr<char>>
- auto_load_expand_dir_vars (const char *string)
- {
-- std::vector<gdb::unique_xmalloc_ptr<char>> result
-- = dirnames_to_char_ptr_vec (string);
-+ char *s = xstrdup (string);
-+ substitute_path_component (&s, "$datadir", gdb_datadir.c_str ());
-+ substitute_path_component (&s, "$debugdir", debug_file_directory.c_str ());
-
-- for (auto &elt : result)
-- {
-- if (strcmp (elt.get (), "$datadir") == 0)
-- {
-- elt = make_unique_xstrdup (gdb_datadir.c_str ());
-- if (debug_auto_load)
-- auto_load_debug_printf ("Expanded $datadir to \"%s\".",
-- gdb_datadir.c_str ());
-- }
-- else if (strcmp (elt.get (), "$debugdir") == 0)
-- {
-- elt = make_unique_xstrdup (debug_file_directory.c_str ());
-- if (debug_auto_load)
-- auto_load_debug_printf ("Expanded $debugdir to \"%s\".",
-- debug_file_directory.c_str ());
-- }
-- }
-+ if (debug_auto_load && strcmp (s, string) != 0)
-+ auto_load_debug_printf ("Expanded $-variables to \"%s\".", s);
-+
-+ std::vector<gdb::unique_xmalloc_ptr<char>> dir_vec
-+ = dirnames_to_char_ptr_vec (s);
-+ xfree(s);
-
-- return result;
-+ return dir_vec;
- }
-
- /* Update auto_load_safe_path_vec from current AUTO_LOAD_SAFE_PATH. */
-diff --git a/gdb/unittests/utils-selftests.c b/gdb/unittests/utils-selftests.c
-new file mode 100644
-index 00000000000..70609aa4294
---- /dev/null
-+++ b/gdb/unittests/utils-selftests.c
-@@ -0,0 +1,60 @@
-+/* Unit tests for the utils.c file.
-+
-+ Copyright (C) 2018-2023 Free Software Foundation, Inc.
-+
-+ This file is part of GDB.
-+
-+ 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 <http://www.gnu.org/licenses/>. */
-+
-+#include "defs.h"
-+#include "utils.h"
-+#include "gdbsupport/selftest.h"
-+
-+namespace selftests {
-+namespace utils {
-+
-+static void
-+test_substitute_path_component ()
-+{
-+ auto test = [] (std::string s, const char *from, const char *to,
-+ const char *expected)
-+ {
-+ char *temp = xstrdup (s.c_str ());
-+ substitute_path_component (&temp, from, to);
-+ SELF_CHECK (strcmp (temp, expected) == 0);
-+ xfree (temp);
-+ };
-+
-+ test ("/abc/$def/g", "abc", "xyz", "/xyz/$def/g");
-+ test ("abc/$def/g", "abc", "xyz", "xyz/$def/g");
-+ test ("/abc/$def/g", "$def", "xyz", "/abc/xyz/g");
-+ test ("/abc/$def/g", "g", "xyz", "/abc/$def/xyz");
-+ test ("/abc/$def/g", "ab", "xyz", "/abc/$def/g");
-+ test ("/abc/$def/g", "def", "xyz", "/abc/$def/g");
-+ test ("/abc/$def/g", "abc", "abc", "/abc/$def/g");
-+ test ("/abc/$def/g", "abc", "", "//$def/g");
-+ test ("/abc/$def/g", "abc/$def", "xyz", "/xyz/g");
-+ test ("/abc/$def/abc", "abc", "xyz", "/xyz/$def/xyz");
-+}
-+
-+}
-+}
-+
-+void _initialize_utils_selftests ();
-+void
-+_initialize_utils_selftests ()
-+{
-+ selftests::register_test ("substitute_path_component",
-+ selftests::utils::test_substitute_path_component);
-+}
-diff --git a/gdb/utils.c b/gdb/utils.c
-index 46bfd9a5bbb..cacd6cbd23e 100644
---- a/gdb/utils.c
-+++ b/gdb/utils.c
-@@ -3346,6 +3346,51 @@ parse_pid_to_attach (const char *args)
- return pid;
- }
-
-+/* Substitute all occurrences of string FROM by string TO in *STRINGP. *STRINGP
-+ must come from xrealloc-compatible allocator and it may be updated. FROM
-+ needs to be delimited by IS_DIR_SEPARATOR or DIRNAME_SEPARATOR (or be
-+ located at the start or end of *STRINGP. */
-+
-+void
-+substitute_path_component (char **stringp, const char *from, const char *to)
-+{
-+ char *string = *stringp, *s;
-+ const size_t from_len = strlen (from);
-+ const size_t to_len = strlen (to);
-+
-+ for (s = string;;)
-+ {
-+ s = strstr (s, from);
-+ if (s == NULL)
-+ break;
-+
-+ if ((s == string || IS_DIR_SEPARATOR (s[-1])
-+ || s[-1] == DIRNAME_SEPARATOR)
-+ && (s[from_len] == '\0' || IS_DIR_SEPARATOR (s[from_len])
-+ || s[from_len] == DIRNAME_SEPARATOR))
-+ {
-+ char *string_new;
-+
-+ string_new
-+ = (char *) xrealloc (string, (strlen (string) + to_len + 1));
-+
-+ /* Relocate the current S pointer. */
-+ s = s - string + string_new;
-+ string = string_new;
-+
-+ /* Replace from by to. */
-+ memmove (&s[to_len], &s[from_len], strlen (&s[from_len]) + 1);
-+ memcpy (s, to, to_len);
-+
-+ s += to_len;
-+ }
-+ else
-+ s++;
-+ }
-+
-+ *stringp = string;
-+}
-+
- #ifdef HAVE_WAITPID
-
- #ifdef SIGALRM
-diff --git a/gdb/utils.h b/gdb/utils.h
-index 3faac20ec0f..ad0a86746b8 100644
---- a/gdb/utils.h
-+++ b/gdb/utils.h
-@@ -136,6 +136,9 @@ private:
- extern int gdb_filename_fnmatch (const char *pattern, const char *string,
- int flags);
-
-+extern void substitute_path_component (char **stringp, const char *from,
-+ const char *to);
-+
- std::string ldirname (const char *filename);
-
- extern int count_path_elements (const char *path);
---
-cgit
-
diff --git a/sys-devel/gdb/gdb-13.2-r2.ebuild b/sys-devel/gdb/gdb-13.2-r1.ebuild
similarity index 99%
rename from sys-devel/gdb/gdb-13.2-r2.ebuild
rename to sys-devel/gdb/gdb-13.2-r1.ebuild
index 9159d8230726..09dfedaf1ee1 100644
--- a/sys-devel/gdb/gdb-13.2-r2.ebuild
+++ b/sys-devel/gdb/gdb-13.2-r1.ebuild
@@ -111,7 +111,6 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
"${FILESDIR}"/${P}-fix-sparc-debugging.patch
- "${FILESDIR}"/${P}-fix-auto-load-path-expansion.patch
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-07-15 10:33 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-17 18:21 [gentoo-commits] repo/gentoo:master commit in: sys-devel/gdb/, sys-devel/gdb/files/ Sam James
-- strict thread matches above, loose matches on Subject: below --
2023-07-15 10:33 Arsen Arsenović
2023-07-15 10:14 Arsen Arsenović
2023-07-06 17:15 Sam James
2023-06-17 1:50 Sam James
2023-05-16 6:28 Sam James
2023-01-11 3:25 Sam James
2021-02-26 8:04 Sergei Trofimovich
2020-05-19 21:30 Sergei Trofimovich
2019-05-11 22:11 Sergei Trofimovich
2019-03-13 22:20 Sergei Trofimovich
2018-11-24 12:59 Sergei Trofimovich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox