diff --git a/_constraints b/_constraints
new file mode 100644
index 0000000..5e7b8fb
--- /dev/null
+++ b/_constraints
@@ -0,0 +1,14 @@
+
+
+
+ ppc64
+ ppc64le
+
+
+
+ 4
+
+
+
+
+
diff --git a/gdb-6.6-buildid-locate-rpm-suse.patch b/gdb-6.6-buildid-locate-rpm-suse.patch
index 0644e5c..b92b444 100644
--- a/gdb-6.6-buildid-locate-rpm-suse.patch
+++ b/gdb-6.6-buildid-locate-rpm-suse.patch
@@ -110,3 +110,19 @@ Index: gdb-7.12.1/gdb/build-id.c
}
}
+diff --git a/gdb/build-id.c b/gdb/build-id.c
+index b9ff15a..75d501a 100644
+--- a/gdb/build-id.c
++++ b/gdb/build-id.c
+@@ -864,10 +864,8 @@ missing_rpm_enlist_1 (const char *filename, int verify_vendor)
+ #endif
+ {
+ Header h;
+- char *debuginfo, **slot, *s, *s2;
++ char *debuginfo, **slot;
+ errmsg_t err;
+- size_t srcrpmlen = sizeof (".src.rpm") - 1;
+- size_t debuginfolen = sizeof ("-debuginfo") - 1;
+ rpmdbMatchIterator mi_debuginfo;
+
+ h = rpmdbNextIterator_p (mi);
diff --git a/gdb.changes b/gdb.changes
index 0497807..9e17c8c 100644
--- a/gdb.changes
+++ b/gdb.changes
@@ -1,3 +1,25 @@
+-------------------------------------------------------------------
+Sat Sep 14 05:45:30 UTC 2019 - Michel Normand
+
+- Add _constraints for PowerPC need more than 3.5GB disk space
+ to avoid build failure
+
+-------------------------------------------------------------------
+Tue Sep 10 15:45:17 UTC 2019 - matz@suse.com
+
+- Disable use of valgrind on old s390 (31bit) distros.
+
+-------------------------------------------------------------------
+Fri Aug 23 16:00:18 UTC 2019 - Tom de Vries
+
+- Enable librpm for version > librpm.so.3 [bsc#1145692]:
+ * Allow any librpm.so.x
+ * Fix unused variables in HAVE_LIBRPM code in
+ gdb-6.6-buildid-locate-rpm-suse.patch
+ * Add %build test to check for "zypper install "
+ message
+- Implements jsc#ECO-368, the 2019 toolchain module update
+
-------------------------------------------------------------------
Tue Aug 6 21:36:49 UTC 2019 - Tom de Vries
diff --git a/gdb.spec b/gdb.spec
index 2edf979..2f7e54f 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -18,6 +18,7 @@
%if 0%{?qemu_user_space_build}
+# In a qemu_user_space_build ptrace is not supported, so we can't test gdb.
%global _without_testsuite 1
%endif
%bcond_without testsuite
@@ -275,6 +276,7 @@ BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
+BuildRequires: expect
BuildRequires: mpfr-devel
BuildRequires: ncurses-devel
BuildRequires: pkg-config
@@ -375,8 +377,11 @@ BuildRequires: fpc
%endif
%endif
%if 0%{?suse_version} >= 1200
+%ifnarch s390
+# s390 (for SLE12) doesn't have valgrind
BuildRequires: valgrind
%endif
+%endif
%endif # %%{with testsuite}
@@ -664,16 +669,17 @@ LDFLAGS="$LDFLAGS -L$PWD/processor-trace-%{libipt_version}-root%{_libdir}"
export CXXFLAGS="$CFLAGS"
-export LIBRPM=no
-if test -f /usr/%{_lib}/librpm.so.1; then
- export LIBRPM=librpm.so.1
-fi
-if test -f /usr/%{_lib}/librpm.so.2; then
- export LIBRPM=librpm.so.2
-fi
-if test -f /usr/%{_lib}/librpm.so.3; then
- export LIBRPM=librpm.so.3
+export LIBRPM=$(ls -1 /usr/%{_lib}/ \
+ | grep '^librpm.so.[0-9][0-9]*$' \
+ | sort -V -r \
+ | head -n 1)
+if [ "$LIBRPM" != "" ]; then
+ export LIBRPM="/usr/%{_lib}/$LIBRPM"
+ [ -f "$LIBRPM" ]
+else
+ export LIBRPM=no
fi
+
%ifarch %ix86 ia64 ppc ppc64 ppc64le s390 s390x x86_64 aarch64 riscv64
%define build_multitarget 1
%else
@@ -814,6 +820,74 @@ then
cd ..
fi
+# This is a build-time test, but still a test. So, skip if we don't do tests.
+# This is relevant for %qemu_user_space_build == 1 builds, which atm is
+# the case for riscv64.
+%if %{with testsuite}
+if [ "$LIBRPM" != "no" ]; then
+ cd gdb
+ cat \
+ > hello.c \
+ <
+int
+main (void)
+{
+ printf ("hello\n");
+ return 0;
+}
+EOF
+ $CC hello.c
+ libc=$(ldd a.out \
+ | grep libc.so \
+ | awk '{print $3}')
+ if readelf -SW $libc \
+ | grep -q "\.gnu_debuglink"; then
+ cat \
+ > test.exp \
+ <