public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Keith Seitz <keiths@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gdb] gdb-17.2-rebase-f44: Update for SCL and older RHEL releases.
Date: Sun, 28 Jun 2026 00:00:38 GMT	[thread overview]
Message-ID: <178260483872.1.13484867805904053773.rpms-gdb-c14e8367f248@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/gdb
Branch : gdb-17.2-rebase-f44
Commit : c14e8367f2488ba3ee311f25537b24e5e8b101d6
Author : Keith Seitz <keiths@redhat.com>
Date   : 2022-05-18T10:31:47-07:00
Stats  : +94/-59 in 1 file(s)
URL    : https://src.fedoraproject.org/rpms/gdb/c/c14e8367f2488ba3ee311f25537b24e5e8b101d6?branch=gdb-17.2-rebase-f44

Log:
Update for SCL and older RHEL releases.

---
diff --git a/gdb.spec b/gdb.spec
index e15e46c..5314532 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -11,7 +11,19 @@
 %global _python_bytecompile_extra 0
 
 # Disable LTO until upstream fixes GDB's ODR woes.
-#%define _lto_cflags %{nil}
+%define _lto_cflags %{nil}
+
+# Only build on x86 for RHEL6 SCL, defining missing parallel make macros.
+%if 0%{?scl:1} && 0%{?el6:1}
+ExclusiveArch: %{ix86} x86_64
+%global make_build make %{?_smp_mflags}
+%global make_install make %{?_smp_mflags} install DESTDIR=$RPM_BUILD_ROOT
+%endif
+
+# Exclude aarch64 on RHEL7.
+%if 0%{?scl:1} && 0%{?el7:1}
+ExcludeArch: aarch64
+%endif
 
 %{?scl:%scl_package gdb}
 %{!?scl:
@@ -58,7 +70,8 @@ URL: https://gnu.org/software/gdb/
 %undefine _debuginfo_subpackages
 
 # For DTS RHEL<=7 GDB it is better to use none than a Requires dependency.
-%if 0%{!?rhel:1} || 0%{?rhel} > 7
+# We don't support gcc-gdb-plugin on RHEL anymore.
+%if 0%{!?rhel:1}
 Recommends: %{?scl_prefix}gcc-gdb-plugin%{?_isa}
 Recommends: dnf-command(debuginfo-install)
 %endif
@@ -152,9 +165,11 @@ BuildRequires: %{librpmname}
 Recommends: %{librpmname}
 %endif
 
-%if 0%{?el6:1}
+%if 0%{?el6:1} || 0%{?el7:1}
 # GDB C++11 requires devtoolset gcc.
 BuildRequires: %{?scl_prefix}gcc-c++
+%else
+BuildRequires: gcc-c++
 %endif
 
 # GDB patches have the format `gdb-<version>-bz<red-hat-bz-#>-<desc>.patch'.
@@ -190,8 +205,6 @@ Source6: gdbtui
 %global libipt_version 2.0.5
 #=fedora
 Source7: v%{libipt_version}.tar.gz
-#=fedora
-Patch1142: v1.5-libipt-static.patch
 
 # Include the auto-generated file containing the "Patch:" directives.
 # See README.local-patches for more details.
@@ -199,14 +212,15 @@ Patch9998: _gdb.spec.Patch.include
 Patch9999: _gdb.spec.patch.include
 %include %{PATCH9998}
 
-%if 0%{!?rhel:1} || 0%{?rhel} > 6
-# RL_STATE_FEDORA_GDB would not be found for:
-# Patch642: gdb-readline62-ask-more-rh.patch
-# --with-system-readline
-BuildRequires: readline-devel%{buildisa} >= 6.2-4
-%endif # 0%{!?rhel:1} || 0%{?rhel} > 6
+# System readline is too old prior to RHEL8.
+%if 0%{!?rhel:1} || 0%{?rhel} > 7
+%global use_system_readline 1
+BuildRequires: readline-devel%{buildisa} >= 7.0
+%else
+%global use_system_readline 0
+%endif
 
-BuildRequires: gcc-c++ ncurses-devel%{buildisa} texinfo gettext flex bison
+BuildRequires: ncurses-devel%{buildisa} texinfo gettext flex bison
 BuildRequires: expat-devel%{buildisa}
 %if 0%{!?rhel:1} || 0%{?rhel} > 6
 BuildRequires: xz-devel%{buildisa}
@@ -217,6 +231,7 @@ BuildRequires: zlib-devel%{buildisa} libselinux-devel%{buildisa}
 %if 0%{!?_without_python:1}
 %if 0%{?rhel:1} && 0%{?rhel} <= 7
 BuildRequires: python-devel%{buildisa}
+%global __python /usr/bin/python2
 %else
 %global __python %{__python3}
 BuildRequires: python3-devel%{buildisa}
@@ -262,11 +277,32 @@ BuildRequires: libipt-devel%{buildisa}
 # Fedora < 32, and mpfr-4 on Fedora 32+ and RHEL-9+.
 BuildRequires: mpfr-devel%{buildisa}
 %endif
+# RHEL6 doesn't have source-highlight.
+%if 0%{!?rhel:1} || 0%{?rhel} > 6
 BuildRequires: source-highlight-devel
+%endif
 %if 0%{!?rhel:1}
 BuildRequires: xxhash-devel
 %endif
+
+# Special case: on RHEL8, we simply require the system debuginfod.
+# Otherwise, we require the SCL version.  Except on RHEL6, where debuginfod
+# is not supported at all.
+%global have_debuginfod 0
+%global use_scl_for_debuginfod 0
+%if 0%{!?rhel:1} || 0%{?rhel} == 8
+%global have_debuginfod 1
 BuildRequires: elfutils-debuginfod-client-devel
+%else
+%if 0%{!?el6:1} && 0%{?scl:1}
+%global have_debuginfod 1
+%global use_scl_for_debuginfod 1
+BuildRequires: %{?scl_prefix}elfutils-debuginfod-client-devel
+%endif
+%endif
+
+# Workaround for missing boost-devel dependency (rhbz 1718480)
+BuildRequires: boost-devel
 
 %if 0%{?_with_testsuite:1}
 
@@ -274,25 +310,30 @@ BuildRequires: elfutils-debuginfod-client-devel
 %global bits_local %{?_isa}
 %global bits_other %{?_isa}
 %ifarch s390x
-%if 0%{?rhel:1} && 0%{?rhel} < 8
+%if 0%{!?rhel:1} || 0%{?rhel} < 8
 %global bits_other (%{__isa_name}-32)
 %endif
-%endif
+%else #!s390x
 %ifarch ppc
 %global bits_other (%{__isa_name}-64)
-%endif
-%ifarch sparc64 ppc64 x86_64
+%else #!ppc
+%ifarch sparc64 ppc64 s390x x86_64
 %global bits_other (%{__isa_name}-32)
-%endif
+%endif #sparc64 ppc64 s390x x86_64
+%endif #!ppc
+%endif #!s390x
 
 BuildRequires: sharutils dejagnu
 # gcc-objc++ is not covered by the GDB testsuite.
-BuildRequires: gcc gcc-c++ gcc-gfortran
+# Test supported SCL toolchain components.
+BuildRequires: %{?scl_prefix}gcc %{?scl_prefix}gcc-c++ %{?scl_prefix}gcc-gfortran
+
 %if 0%{!?rhel:1} || 0%{?rhel} < 8
 BuildRequires: gcc-objc
 %endif
-%if 0%{!?rhel:1} || 0%{?rhel} > 7
-BuildRequires: gcc-gdb-plugin%{?_isa}
+# We don't support gcc-gdb-plugin on RHEL anymore.
+%if 0%{!?rhel:1}
+BuildRequires: %{?scl_prefix}gcc-gdb-plugin%{?_isa}
 %endif
 %if 0%{?rhel:1} && 0%{?rhel} < 7
 BuildRequires: gcc-java libgcj%{bits_local} libgcj%{bits_other}
@@ -327,8 +368,8 @@ BuildRequires: prelink
 BuildRequires: opencl-headers ocl-icd-devel%{bits_local} ocl-icd-devel%{bits_other}
 %endif
 %if 0%{!?rhel:1}
-# Fedora s390x does not have fpc.
-%ifnarch s390x
+# Fedora arm+ppc64le do not yet have fpc built.
+%ifnarch %{arm} ppc64le
 BuildRequires: fpc
 %endif
 %endif
@@ -357,17 +398,17 @@ BuildRequires: libstdc++%{bits_local} libstdc++%{bits_other}
 BuildRequires: libquadmath%{bits_local} libquadmath%{bits_other}
 %endif
 %endif
-BuildRequires: glibc-static%{bits_local}
 # multilib glibc-static is open Bug 488472:
-#BuildRequires: glibc-static%{bits_other}
-# Exception for RHEL<=7
+%if 0%{?rhel} > 6
+BuildRequires: glibc-static%{bits_other}
+%endif
 %ifarch s390x
-BuildRequires: valgrind%{bits_local}
+BuildRequires: %{?scl_preifx}valgrind%{bits_local}
 %if 0%{!?rhel:1} || 0%{?rhel} > 7
-BuildRequires: valgrind%{bits_local} valgrind%{bits_other}
+BuildRequires: %{?scl_prefix}valgrind%{bits_local} valgrind%{bits_other}
 %endif
 %else
-BuildRequires: valgrind%{bits_local} valgrind%{bits_other}
+BuildRequires: %{?scl_prefix}valgrind%{bits_local} valgrind%{bits_other}
 %endif
 %if 0%{!?rhel:1} || 0%{?rhel} > 6
 BuildRequires: xz
@@ -375,8 +416,9 @@ BuildRequires: xz
 %if 0%{!?rhel:1} || 0%{?rhel} > 7
 BuildRequires: rust
 %endif
-
+%if 0%{!?el6:1}
 BuildRequires: %{?scl_prefix}elfutils-debuginfod
+%endif
 %endif # 0%{?_with_testsuite:1}
 BuildRequires: make
 
@@ -451,10 +493,6 @@ tar xJf %{SOURCE5}
 
 %if 0%{have_libipt} && 0%{?el7:1} && 0%{?scl:1}
 tar xzf %{SOURCE7}
-(
- cd libipt-%{libipt_version}
-%patch1142 -p1
-)
 %endif
 
 # Files have `# <number> <file>' statements breaking VPATH / find-debuginfo.sh .
@@ -490,14 +528,11 @@ rm -f bfd/doc/*.info-*
 rm -f gdb/doc/*.info
 rm -f gdb/doc/*.info-*
 
-%if 0%{!?rhel:1} || 0%{?rhel} > 6
-# RL_STATE_FEDORA_GDB would not be found for:
-# Patch642: gdb-readline62-ask-more-rh.patch
-# --with-system-readline
+%if 0%{use_system_readline}
 mv -f readline/readline/doc readline-doc
 rm -rf readline/readline/*
 mv -f readline-doc readline/readline/doc
-%endif # 0%{!?rhel:1} || 0%{?rhel} > 6
+%endif
 
 rm -rf zlib texinfo
 
@@ -535,7 +570,7 @@ COMMON_GDB_CONFIGURE_FLAGS="\
 	--disable-rpath						\
 	--without-stage1-ldflags				\
 	--disable-libmcheck					\
-%if 0%{!?rhel:1} || 0%{?rhel} > 6
+%if 0%{use_system_readline}
 	--with-system-readline					\
 %else
 	--without-system-readline				\
@@ -556,7 +591,9 @@ COMMON_GDB_CONFIGURE_FLAGS="\
 %else
 	--without-lzma						\
 %endif
+%if 0%{!?rhel:1} || 0%{?have_debuginfod}
         --with-debuginfod					\
+%endif
 %if 0%{?rhel:1}
 	--disable-libctf
 %endif
@@ -593,6 +630,11 @@ CFLAGS="$CFLAGS %{?_with_asan:-fsanitize=address}"
 LDFLAGS="$LDFLAGS %{?_with_asan:-fsanitize=address}"
 CXXFLAGS="$CXXFLAGS %{?_with_asan:-fsanitize=address}"
 
+# If using an SCL for debuginfod, add path to SCL's pkgconfig directory.
+%if 0%{?have_debuginfod} && 0%{?use_scl_for_debuginfod}
+export PKG_CONFIG_PATH=%{_libdir}/pkgconfig
+%endif
+
 # --htmldir and --pdfdir are not used as they are used from %{gdb_build}.
 ../configure							\
 	${COMMON_GDB_CONFIGURE_FLAGS}				\
@@ -631,25 +673,6 @@ CFLAGS="$CFLAGS -DDNF_DEBUGINFO_INSTALL"
 CFLAGS="$CFLAGS -DGDB_INDEX_VERIFY_VENDOR"
 %endif
 
-# [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513).
-%if %{have_libipt} && 0%{?el7:1} && 0%{?scl:1}
-CFLAGS="$CFLAGS -DPERF_ATTR_SIZE_VER5_BUNDLE"
-%endif
-
-# Patch642: gdb-readline62-ask-more-rh.patch
-%if 0%{?rhel} == 7
-CFLAGS="$CFLAGS -DNEED_RL_STATE_FEDORA_GDB"
-%else
-# FIXME: Why not just: ! grep -w ...
-if grep -w RL_STATE_FEDORA_GDB %{_includedir}/readline/readline.h;then false;fi
-%endif
-
-# Patch337: gdb-6.8-attach-signalled-detach-stopped.patch
-# Patch331: gdb-6.8-quit-never-aborts.patch
-%if 0%{?rhel:1} && 0%{?rhel} <= 6
-CFLAGS="$CFLAGS -DNEED_DETACH_SIGSTOP"
-%endif
-
 %if 0%{have_libipt} && 0%{?el7:1} && 0%{?scl:1}
 (
  mkdir libipt-%{libipt_version}-root
@@ -672,6 +695,13 @@ LDFLAGS="$LDFLAGS -L$PWD/libipt-%{libipt_version}-root%{_libdir}"
 
 export CXXFLAGS="$CFLAGS"
 
+# For DTS11+, gcc defaults to c++17, causing issues with system-installed
+# headers, e.g., python. Force to c++11.  We coerce all builds to use c++11
+# to facilitate testing.
+%if 0%{?rhel:1} && 0%{?rhel} < 8
+export CXXFLAGS="$CXXFLAGS -std=gnu++11"
+%endif
+
 # The configure flags we will use when building the full GDB.
 GDB_FULL_CONFIGURE_FLAGS="\
 	--with-system-gdbinit=%{_sysconfdir}/gdbinit		\
@@ -844,6 +874,11 @@ gcc -o ./orphanripper %{SOURCE2} -Wall -lutil -ggdb2
   for test in				\
     gdb.base/readline-overflow.exp	\
     gdb.base/bigcore.exp		\
+%if 0%{?rhel} < 7 
+    gdb.base/gnu-debugdata.exp          \
+    gdb.base/access-mem-running.exp     \
+    gdb.threads/access-mem-running-thread-exit.exp \
+%endif
   ; do
     mv -f ../../gdb/testsuite/$test ../gdb/testsuite/$test-DISABLED || :
   done
@@ -947,7 +982,7 @@ done
 %endif # 0%{?_enable_debug_packages:1} && 0%{!?_without_python:1}
 
 # Compile python files
-%if 0%{!?_without_python:1}
+%if 0%{!?_without_python:1} && (0%{!?rhel:1} || 0%{?rhel} > 7)
 %py_byte_compile %{__python3} %{buildroot}%{_datadir}/gdb/python/gdb
 %endif
 

                 reply	other threads:[~2026-06-28  0:00 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178260483872.1.13484867805904053773.rpms-gdb-c14e8367f248@fedoraproject.org \
    --to=keiths@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox