- update to 3.23.0 (jsc#PED-10260):

OBS-URL: https://build.opensuse.org/package/show/devel:tools/valgrind?expand=0&rev=281
This commit is contained in:
Dirk Mueller 2024-11-06 11:01:26 +00:00 committed by Git OBS Bridge
commit 9f6a25a8a8
12 changed files with 4971 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

67
VEX-x86-pinsrd.patch Normal file
View File

@ -0,0 +1,67 @@
Index: valgrind-3.23.0/VEX/priv/guest_x86_toIR.c
===================================================================
--- valgrind-3.23.0.orig/VEX/priv/guest_x86_toIR.c
+++ valgrind-3.23.0/VEX/priv/guest_x86_toIR.c
@@ -12941,6 +12941,62 @@ DisResult disInstr_X86_WRK (
/* --- start of the SSE4 decoder --- */
/* ---------------------------------------------------- */
+ /* 66 0F 3A 22 /r ib = PINSRD xmm1, r/m32, imm8
+ Extract Doubleword int from gen.reg/mem32 and insert into xmm1 */
+ if ( sz == 2
+ && insn[0] == 0x0F && insn[1] == 0x3A && insn[2] == 0x22 ) {
+
+ Int imm8_10;
+ IRTemp src_elems = newTemp(Ity_I32);
+ IRTemp src_vec = newTemp(Ity_V128);
+ IRTemp z32 = newTemp(Ity_I32);
+
+ modrm = insn[3];
+
+ if ( epartIsReg( modrm ) ) {
+ imm8_10 = (Int)(insn[3+1] & 3);
+ assign( src_elems, getIReg( 4, eregOfRM(modrm) ) );
+ delta += 3+1+1;
+ DIP( "pinsrd $%d, %s,%s\n", imm8_10,
+ nameIReg( 4, eregOfRM(modrm) ),
+ nameXMMReg( gregOfRM(modrm) ) );
+ } else {
+ addr = disAMode( &alen, sorb, delta+3, dis_buf );
+ imm8_10 = (Int)(insn[3+alen] & 3);
+ assign( src_elems, loadLE( Ity_I32, mkexpr(addr) ) );
+ delta += 3+alen+1;
+ DIP( "pinsrd $%d, %s,%s\n",
+ imm8_10, dis_buf, nameXMMReg( gregOfRM(modrm) ) );
+ }
+
+ assign(z32, mkU32(0));
+
+ UShort mask = 0;
+ switch (imm8_10) {
+ case 3: mask = 0x0FFF;
+ assign(src_vec, mk128from32s(src_elems, z32, z32, z32));
+ break;
+ case 2: mask = 0xF0FF;
+ assign(src_vec, mk128from32s(z32, src_elems, z32, z32));
+ break;
+ case 1: mask = 0xFF0F;
+ assign(src_vec, mk128from32s(z32, z32, src_elems, z32));
+ break;
+ case 0: mask = 0xFFF0;
+ assign(src_vec, mk128from32s(z32, z32, z32, src_elems));
+ break;
+ default: vassert(0);
+ }
+
+ putXMMReg( gregOfRM(modrm),
+ binop( Iop_OrV128, mkexpr(src_vec),
+ binop( Iop_AndV128,
+ getXMMReg( gregOfRM(modrm) ),
+ mkV128(mask) ) ) );
+
+ goto decode_success;
+ }
+
/* 66 0F 3A 0B /r ib = ROUNDSD imm8, xmm2/m64, xmm1
(Partial implementation only -- only deal with cases where
the rounding mode is specified directly by the immediate byte.)

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>client-headers</package>
</multibuild>

13
dhat-use-datadir.patch Normal file
View File

@ -0,0 +1,13 @@
Index: valgrind-3.17.0/dhat/Makefile.am
===================================================================
--- valgrind-3.17.0.orig/dhat/Makefile.am
+++ valgrind-3.17.0/dhat/Makefile.am
@@ -10,7 +10,7 @@ pkginclude_HEADERS = \
dhat.h
# Ensure the viewer components get copied into the install tree.
-dhatdir = $(pkglibexecdir)
+dhatdir = $(pkgdatadir)
dhat_DATA = dh_view.html dh_view.css dh_view.js
#----------------------------------------------------------------------------

26
parallel-lto.patch Normal file
View File

@ -0,0 +1,26 @@
Index: valgrind-3.23.0/configure
===================================================================
--- valgrind-3.23.0.orig/configure
+++ valgrind-3.23.0/configure
@@ -11265,7 +11265,7 @@ if test "x${vg_cv_lto}" != "xno" -a "x${
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if toolchain accepts lto" >&5
printf %s "checking if toolchain accepts lto... " >&6; }
safe_CFLAGS=$CFLAGS
-TEST_LTO_CFLAGS="-flto -flto-partition=one -fuse-linker-plugin"
+TEST_LTO_CFLAGS="-flto=auto"
# Note : using 'one' partition is giving a slightly smaller/faster memcheck
# and ld/lto-trans1 still needs a reasonable memory (about 0.5GB) when linking.
CFLAGS="$TEST_LTO_CFLAGS -Werror"
Index: valgrind-3.23.0/configure.ac
===================================================================
--- valgrind-3.23.0.orig/configure.ac
+++ valgrind-3.23.0/configure.ac
@@ -2541,7 +2541,7 @@ AC_CACHE_CHECK([for using the link time
if test "x${vg_cv_lto}" != "xno" -a "x${LTO_AR}" != "x" -a "x${LTO_RANLIB}" != "x"; then
AC_MSG_CHECKING([if toolchain accepts lto])
safe_CFLAGS=$CFLAGS
-TEST_LTO_CFLAGS="-flto -flto-partition=one -fuse-linker-plugin"
+TEST_LTO_CFLAGS="-flto=auto"
# Note : using 'one' partition is giving a slightly smaller/faster memcheck
# and ld/lto-trans1 still needs a reasonable memory (about 0.5GB) when linking.
CFLAGS="$TEST_LTO_CFLAGS -Werror"

BIN
valgrind-3.23.0.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEEnaKlnlZkBB6DS/f/FfjzKzZmngFAmYr3LEACgkQ/FfjzKzZ
mnjgfQf/cgjj4zvbaV6bv+pDBpmnWFDHOcBtEJmtJ+uiMIdikU+kUo9idBm/uL1O
hWow73rQpzecbIR6hY6jlGx9vSqJP3WfneZmvuPXu7InQNwSwn7PIvIqcZ4etXk/
6rXt85TPY5vM5R2vQIHnAvB7VQJmXiNh4/uOSNEBnYiY9pmT1LSiwyJkVV2KojkY
Jl0Umo/9qSNW+MUzpTY/xwktMMMtzD1NWNShfwHk18f8Yt1PXar07VEh5ypXiIJg
a1KF0aDaxKuoMEe5l+9lwCBdBruXGR3nTmCGC4HdC+sDNtha+96QNAjD2J5Vhio/
1hMg8Y+WjQYgj38Air9wwj+7aX+dxA==
=ah6z
-----END PGP SIGNATURE-----

1552
valgrind.changes Normal file

File diff suppressed because it is too large Load Diff

114
valgrind.keyring Normal file
View File

@ -0,0 +1,114 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
1tvZxQ==
=DlFV
-----END PGP PUBLIC KEY BLOCK-----

391
valgrind.spec Normal file
View File

@ -0,0 +1,391 @@
#
# spec file for package valgrind
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if 0%{?!make_build:1}
%define make_build make -O %{?_smp_mflags} V=1 VERBOSE=1
%endif
# during building the major version of glibc is built into the suppression file
%define glibc_main_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut -d. -f1)
%define glibc_major_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut -d. -f2)
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "client-headers"
%define psuffix -client-headers-source
%endif
%bcond_without docs
Name: valgrind%{?psuffix}
Version: 3.23.0
Release: 0
Summary: Memory Management Debugger
License: GFDL-1.2-only AND GPL-2.0-or-later
Group: Development/Tools/Debuggers
URL: https://valgrind.org/
Source0: https://sourceware.org/pub/valgrind/valgrind-%{version}.tar.bz2
Source1: https://sourceware.org/pub/valgrind/valgrind-%{version}.tar.bz2.asc
Source2: valgrind.keyring
# https://bugs.kde.org/show_bug.cgi?id=390553
# https://github.com/olafhering/valgrind/compare/olh-base-master...olh-fixes-master
Patch0: valgrind.xen.patch
# bko#276780 missing implementation for PINSRD
Patch1: VEX-x86-pinsrd.patch
Patch9: parallel-lto.patch
Patch10: dhat-use-datadir.patch
BuildRequires: automake
BuildRequires: pkgconfig
%if %{suse_version} == 1600 && !0%{?is_opensuse}
ExclusiveArch: aarch64 x86_64 ppc64le s390x
%else
ExclusiveArch: aarch64 %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7l armv7hl armv6l armv6hl
%endif
%if "%{flavor}" == ""
Requires: (glibc >= %{glibc_main_version}.%{glibc_major_version} with glibc < %{glibc_main_version}.%{lua:print(rpm.expand("%{glibc_major_version}")+1)})
Provides: callgrind = %{version}
Obsoletes: callgrind < %{version}
%if %{with docs}
BuildRequires: docbook-xsl-stylesheets
BuildRequires: libxslt
%endif
%if 0%{?suse_version} < 1500
BuildRequires: gcc8-c++
%global cpp_version -8
%else
BuildRequires: gcc-c++
%endif
%if !0%{?disable_32bit}
%ifarch x86_64 ppc64
BuildRequires: glibc-devel-32bit
%if 0%{?suse_version} < 1500
BuildRequires: gcc8-c++-32bit
%else
BuildRequires: gcc-c++-32bit
%endif
%endif
%endif
%endif
%description
Valgrind checks all memory operations in an application, like read,
write, malloc, new, free, and delete. Valgrind can find uses of
uninitialized memory, access to already freed memory, overflows,
illegal stack operations, memory leaks, and any illegal
new/malloc/free/delete commands. Another program in the package is
"cachegrind," a profiler based on the valgrind engine.
To use valgrind you should compile your application with "-g -O0"
compiler options. Afterwards you can use it with:
valgrind --tool=memcheck --sloppy-malloc=yes --leak-check=yes
--db-attach=yes my_application, for example.
More valgrind options can be listed via "valgrind --help". There is
also complete documentation in the %{_docdir}/valgrind/
directory. A debugged application runs slower and needs much more
memory, but is usually still usable. Valgrind is still in development,
but it has been successfully used to optimize several KDE applications.
%package devel
Summary: Header files for for Valgrind
License: GPL-2.0-or-later
Group: Development/Tools/Debuggers
Requires: %{name} = %{version}
Requires: %{name}-client-headers = %{version}
%description devel
This package contains the Valgrind header files.
%package -n valgrind-client-headers
Summary: Header files for for Valgrind
# The client headers are permissively licensed under a BSD-style
# license. SPDX License Request filed.
# License: BSD-3-Clause
License: GFDL-1.2-only AND GPL-2.0-or-later
Group: Development/Tools/Debuggers
Provides: valgrind-devel:%{_includedir}/valgrind/valgrind.h
BuildArch: noarch
%description -n valgrind-client-headers
This package contains the BSD-style licensed Valgrind header
files for inclusion into regular programs. The program can
detect if it is running under Valgrind and interact with the
Valgrind core and plugins.
%ifarch x86_64 ppc64 s390x
%package 32bit
Summary: Memory Management Debugger
License: GPL-2.0-or-later
Group: Development/Tools/Debuggers
Requires: %{name} = %{version}
Provides: valgrind:%{_libdir}/valgrind/32bit-core.xml
%description 32bit
Valgrind checks all memory operations in an application, like read,
write, malloc, new, free, and delete. Valgrind can find uses of
uninitialized memory, access to already freed memory, overflows,
illegal stack operations, memory leaks, and any illegal
new/malloc/free/delete commands. Another program in the package is
"cachegrind," a profiler based on the valgrind engine.
To use valgrind you should compile your application with "-g -O0"
compiler options. Afterwards you can use it with:
valgrind --tool=memcheck --sloppy-malloc=yes --leak-check=yes
--db-attach=yes my_application, for example.
More valgrind options can be listed via "valgrind --help". There is
also complete documentation in the %{_docdir}/valgrind/
directory. A debugged application runs slower and needs much more
memory, but is usually still usable. Valgrind is still in development,
but it has been successfully used to optimize several KDE applications.
%endif
%prep
%autosetup -p1 -n valgrind-%{version}
%build
%define _lto_cflags %{nil}
# The preloaded libs for intercepting rely on lazy binding (bsc#1208407)
export SUSE_ZNOW=0
export FLAGS="%{optflags}"
# not a good idea to build valgrind with fortify, as it does not link glibc
FLAGS="${FLAGS/-D_FORTIFY_SOURCE=2/}"
FLAGS="${FLAGS/-D_FORTIFY_SOURCE=3/}"
FLAGS="${FLAGS/-fstack-protector-strong/}"
FLAGS="${FLAGS/-fstack-protector/}"
# -m64 / -m32 is set explicitly everywhere, do not override it
FLAGS="${FLAGS/-m64/}"
export CFLAGS="$FLAGS"
export CXXFLAGS="$FLAGS"
export FFLAGS="$FLAGS"
export CXX="g++%{?cpp_version}"
export CC="gcc%{?cpp_version}"
autoreconf -fi
export GDB=%{_bindir}/gdb
%configure \
%ifnarch ppc64
--enable-lto=yes \
%endif
%ifarch aarch64
--enable-only64bit \
%endif
%{nil}
%if "%{flavor}" == ""
%make_build
%if %{with docs}
pushd docs
#make all-docs
# building the docs needs network access at the moment :-(
%make_build FAQ.txt man-pages html-docs
popd
%endif
%endif
%install
%if "%{flavor}" == ""
%make_install
rm %{buildroot}/%{_libdir}/valgrind/lib*.a # drop unreproducible unused files to fix boo#1118163
mkdir -p %{buildroot}/%{_defaultdocdir}
if test -d %{buildroot}%{_datadir}/doc/valgrind; then
# Remove Postscript manual (20 MByte), there are PDF and HTML versions
rm %{buildroot}%{_datadir}/doc/valgrind/valgrind_manual.ps
mv %{buildroot}%{_datadir}/doc/valgrind %{buildroot}/%{_defaultdocdir}
fi
mkdir -p %{buildroot}%{_docdir}/%{name}
rm %{buildroot}/%{_includedir}/valgrind/{valgrind,cachegrind,callgrind,dhat,drd,helgrind,memcheck}.h
%else
install -m 755 -d %{buildroot}/%{_includedir}/valgrind
install -m 644 -t %{buildroot}/%{_includedir}/valgrind \
include/valgrind.h \
cachegrind/cachegrind.h \
callgrind/callgrind.h \
dhat/dhat.h \
drd/drd.h \
helgrind/helgrind.h \
memcheck/memcheck.h
%endif
%check
%if "%{flavor}" == ""
# OBS doesn't have a z13
%ifnarch s390x %{arm}
# has too many spurious failures
# make %{?_smp_mflags} regtest
#patent pending self test
VALGRIND_LIB=$PWD/.in_place VALGRIND_LIB_INNER=$PWD/.in_place ./coregrind/valgrind %{_bindir}/perl -wc tests/vg_regtest
%endif
%endif
%if "%{flavor}" == ""
%files devel
%dir %{_includedir}/valgrind
%{_includedir}/valgrind/config.h
%{_includedir}/valgrind/vki
%{_includedir}/valgrind/libvex*.h
%{_includedir}/valgrind/pub_tool*.h
%{_libdir}/pkgconfig/valgrind.pc
%files -n valgrind
%license COPYING COPYING.DOCS
%{_bindir}/*
%doc README* NEWS AUTHORS
%doc %{_defaultdocdir}/%{name}/*
%{_mandir}/*/*
%dir %{_libexecdir}/valgrind
%ifarch aarch64
%{_libexecdir}/valgrind/*-arm64-linux
%endif
%ifarch x86_64
%{_libexecdir}/valgrind/*-amd64-linux
%endif
%ifarch %{ix86}
%{_libexecdir}/valgrind/*-x86-linux
%endif
%ifarch ppc
%{_libexecdir}/valgrind/*-ppc32-linux
%endif
%ifarch ppc64
%{_libexecdir}/valgrind/*-ppc64be-linux
%endif
%ifarch ppc64le
%{_libexecdir}/valgrind/*-ppc64le-linux
%endif
%ifarch s390x
%{_libexecdir}/valgrind/*-s390x-linux
%endif
%ifarch %{arm}
%{_libexecdir}/valgrind/*-arm-linux
%endif
%dir %{_datadir}/valgrind
%{_datadir}/valgrind/dh_view*
%{_libexecdir}/valgrind/*-linux.so
%{_libexecdir}/valgrind/*.supp
%{_libexecdir}/valgrind/valgrind-monitor-def.py
%{_libexecdir}//valgrind/valgrind-monitor.py
%{_libexecdir}/valgrind/64bit-core.xml
%{_libexecdir}/valgrind/64bit-linux.xml
%{_libexecdir}/valgrind/64bit-sse.xml
%{_libexecdir}/valgrind/64bit-core-valgrind-s*.xml
%{_libexecdir}/valgrind/64bit-linux-valgrind-s*.xml
%{_libexecdir}/valgrind/64bit-sse-valgrind-s*.xml
%{_libexecdir}/valgrind/amd64-coresse-valgrind.xml
%{_libexecdir}/valgrind/amd64-linux-valgrind.xml
%{_libexecdir}/valgrind/power64-core-valgrind-s*.xml
%{_libexecdir}/valgrind/power64-core.xml
%{_libexecdir}/valgrind/power64-core2-valgrind-s*.xml
%{_libexecdir}/valgrind/power64-linux-valgrind-s*.xml
%{_libexecdir}/valgrind/power64-linux.xml
%{_libexecdir}/valgrind/64bit-avx-valgrind-s*.xml
%{_libexecdir}/valgrind/64bit-avx.xml
%{_libexecdir}/valgrind/amd64-avx-coresse-valgrind.xml
%{_libexecdir}/valgrind/amd64-avx-coresse.xml
%{_libexecdir}/valgrind/amd64-avx-linux-valgrind.xml
%{_libexecdir}/valgrind/amd64-avx-linux.xml
%{_libexecdir}/valgrind/mips64-cp0-valgrind-s*.xml
%{_libexecdir}/valgrind/mips64-cp0.xml
%{_libexecdir}/valgrind/mips64-cpu-valgrind-s*.xml
%{_libexecdir}/valgrind/mips64-cpu.xml
%{_libexecdir}/valgrind/mips64-fpu-valgrind-s*.xml
%{_libexecdir}/valgrind/mips64-fpu.xml
%{_libexecdir}/valgrind/mips64-linux-valgrind.xml
%{_libexecdir}/valgrind/mips64-linux.xml
%{_libexecdir}/valgrind/power-core-valgrind-s*.xml
%{_libexecdir}/valgrind/s390x-core64-valgrind-s*.xml
%{_libexecdir}/valgrind/s390x-core64.xml
%{_libexecdir}/valgrind/s390x-generic-valgrind.xml
%{_libexecdir}/valgrind/s390x-generic.xml
%{_libexecdir}/valgrind/s390x-linux64-valgrind-s*.xml
%{_libexecdir}/valgrind/s390x-linux64.xml
%{_libexecdir}/valgrind/s390x-vx-linux-valgrind.xml
%{_libexecdir}/valgrind/s390x-vx-linux.xml
# See https://bugzilla.suse.com/show_bug.cgi?id=1147071#c0
%{_libexecdir}/valgrind/s390-acr-valgrind-s*.xml
%{_libexecdir}/valgrind/s390-acr.xml
%{_libexecdir}/valgrind/s390-fpr-valgrind-s*.xml
%{_libexecdir}/valgrind/s390-fpr.xml
%{_libexecdir}/valgrind/s390-vx-valgrind-s*.xml
%{_libexecdir}/valgrind/s390-vx.xml
%ifarch x86_64 ppc64 s390x
%files 32bit
%endif
%ifarch %{ix86} x86_64
%if !0%{?disable_32bit}
%{_libexecdir}/valgrind/*-x86-linux
%endif
%endif
%ifarch ppc ppc64
%{_libexecdir}/valgrind/*-ppc32-linux
%endif
%{_libexecdir}/valgrind/mips-cp0-valgrind-s*.xml
%{_libexecdir}/valgrind/mips-cp0.xml
%{_libexecdir}/valgrind/mips-cpu-valgrind-s*.xml
%{_libexecdir}/valgrind/mips-cpu.xml
%{_libexecdir}/valgrind/mips-fpu-valgrind-s*.xml
%{_libexecdir}/valgrind/mips-fpu.xml
%{_libexecdir}/valgrind/mips-linux-valgrind.xml
%{_libexecdir}/valgrind/mips-linux.xml
%{_libexecdir}/valgrind/32bit-core.xml
%{_libexecdir}/valgrind/32bit-linux.xml
%{_libexecdir}/valgrind/32bit-sse.xml
%{_libexecdir}/valgrind/arm-core-valgrind-s*.xml
%{_libexecdir}/valgrind/arm-core.xml
%{_libexecdir}/valgrind/arm-vfpv3-valgrind-s*.xml
%{_libexecdir}/valgrind/arm-vfpv3.xml
%{_libexecdir}/valgrind/arm-with-vfpv3-valgrind.xml
%{_libexecdir}/valgrind/arm-with-vfpv3.xml
%{_libexecdir}/valgrind/32bit-core-valgrind-s*.xml
%{_libexecdir}/valgrind/32bit-linux-valgrind-s*.xml
%{_libexecdir}/valgrind/32bit-sse-valgrind-s*.xml
%{_libexecdir}/valgrind/i386-coresse-valgrind.xml
%{_libexecdir}/valgrind/i386-linux-valgrind.xml
%{_libexecdir}/valgrind/power-altivec-valgrind-s*.xml
%{_libexecdir}/valgrind/power-altivec.xml
%{_libexecdir}/valgrind/power-core.xml
%{_libexecdir}/valgrind/power-fpu-valgrind-s*.xml
%{_libexecdir}/valgrind/power-fpu.xml
%{_libexecdir}/valgrind/power-linux-valgrind-s*.xml
%{_libexecdir}/valgrind/power-linux.xml
%{_libexecdir}/valgrind/power-vsx-valgrind-s1.xml
%{_libexecdir}/valgrind/power-vsx-valgrind-s2.xml
%{_libexecdir}/valgrind/power-vsx.xml
%{_libexecdir}/valgrind/powerpc-altivec32l-valgrind.xml
%{_libexecdir}/valgrind/powerpc-altivec32l.xml
%{_libexecdir}/valgrind/powerpc-altivec64l-valgrind.xml
%{_libexecdir}/valgrind/powerpc-altivec64l.xml
%else
%files -n valgrind-client-headers
%dir %{_includedir}/valgrind
%{_includedir}/valgrind/cachegrind.h
%{_includedir}/valgrind/callgrind.h
%{_includedir}/valgrind/dhat.h
%{_includedir}/valgrind/drd.h
%{_includedir}/valgrind/helgrind.h
%{_includedir}/valgrind/memcheck.h
%{_includedir}/valgrind/valgrind.h
%endif
%changelog

2767
valgrind.xen.patch Normal file

File diff suppressed because it is too large Load Diff