+++ /dev/null
-diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c
-index 0f2ad8c51..407af7f76 100644
---- a/coregrind/m_syswrap/syswrap-amd64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-amd64-linux.c
-@@ -249,6 +249,7 @@ PRE(sys_rt_sigreturn)
- PRE(sys_arch_prctl)
- {
- ThreadState* tst;
-+ Bool known_option = True;
- PRINT( "arch_prctl ( %ld, %lx )", SARG1, ARG2 );
-
- vg_assert(VG_(is_valid_tid)(tid));
-@@ -283,13 +284,16 @@ PRE(sys_arch_prctl)
- POST_MEM_WRITE(ARG2, sizeof(unsigned long));
- }
- else {
-- VG_(core_panic)("Unsupported arch_prctl option");
-+ known_option = False;
- }
-
- /* Note; the Status writeback to guest state that happens after
- this wrapper returns does not change guest_FS_CONST or guest_GS_CONST;
- hence that direct assignment to the guest state is safe here. */
-- SET_STATUS_Success( 0 );
-+ if (known_option)
-+ SET_STATUS_Success( 0 );
-+ else
-+ SET_STATUS_Failure( VKI_EINVAL );
- }
-
- // Parts of this are amd64-specific, but the *PEEK* cases are generic.
+++ /dev/null
-commit 3bce9544deab0261c7c55ccdc46ce1f36e468040
-Author: Mark Wielaard <mark@klomp.org>
-Date: Thu Jul 12 13:56:00 2018 +0200
-
- Accept read-only PT_LOAD segments and .rodata.
-
- The new binutils ld -z separate-code option creates multiple read-only
- PT_LOAD segments and might place .rodata in a non-executable segment.
-
- Allow and keep track of separate read-only segments and allow a readonly
- page with .rodata section.
-
- Based on patches from Tom Hughes <tom@compton.nu> and
- H.J. Lu <hjl.tools@gmail.com>.
-
- https://bugs.kde.org/show_bug.cgi?id=395682
-
-index 13991b6..c36d498 100644
---- a/coregrind/m_debuginfo/debuginfo.c
-+++ b/coregrind/m_debuginfo/debuginfo.c
-@@ -1126,9 +1126,7 @@ ULong VG_(di_notify_mmap)( Addr a, Bool allow_SkFileV, Int use_fd )
- # error "Unknown platform"
- # endif
-
--# if defined(VGP_x86_darwin) && DARWIN_VERS >= DARWIN_10_7
- is_ro_map = seg->hasR && !seg->hasW && !seg->hasX;
--# endif
-
- # if defined(VGO_solaris)
- is_rx_map = seg->hasR && seg->hasX && !seg->hasW;
-diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c
-index 62192f0..95b97d6 100644
---- a/coregrind/m_debuginfo/readelf.c
-+++ b/coregrind/m_debuginfo/readelf.c
-@@ -1881,7 +1881,7 @@ Bool ML_(read_elf_debug_info) ( struct _DebugInfo* di )
- Bool loaded = False;
- for (j = 0; j < VG_(sizeXA)(di->fsm.maps); j++) {
- const DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, j);
-- if ( (map->rx || map->rw)
-+ if ( (map->rx || map->rw || map->ro)
- && map->size > 0 /* stay sane */
- && a_phdr.p_offset >= map->foff
- && a_phdr.p_offset < map->foff + map->size
-@@ -1912,6 +1912,16 @@ Bool ML_(read_elf_debug_info) ( struct _DebugInfo* di )
- i, (UWord)item.bias);
- loaded = True;
- }
-+ if (map->ro
-+ && (a_phdr.p_flags & (PF_R | PF_W | PF_X))
-+ == PF_R) {
-+ item.exec = False;
-+ VG_(addToXA)(svma_ranges, &item);
-+ TRACE_SYMTAB(
-+ "PT_LOAD[%ld]: acquired as ro, bias 0x%lx\n",
-+ i, (UWord)item.bias);
-+ loaded = True;
-+ }
- }
- }
- if (!loaded) {
-@@ -2179,17 +2189,25 @@ Bool ML_(read_elf_debug_info) ( struct _DebugInfo* di )
- }
- }
-
-- /* Accept .rodata where mapped as rx (data), even if zero-sized */
-+ /* Accept .rodata where mapped as rx or rw (data), even if zero-sized */
- if (0 == VG_(strcmp)(name, ".rodata")) {
-- if (inrx && !di->rodata_present) {
-- di->rodata_present = True;
-+ if (!di->rodata_present) {
- di->rodata_svma = svma;
-- di->rodata_avma = svma + inrx->bias;
-+ di->rodata_avma = svma;
- di->rodata_size = size;
-- di->rodata_bias = inrx->bias;
- di->rodata_debug_svma = svma;
-- di->rodata_debug_bias = inrx->bias;
-- /* NB was 'inrw' prior to r11794 */
-+ if (inrx) {
-+ di->rodata_avma += inrx->bias;
-+ di->rodata_bias = inrx->bias;
-+ di->rodata_debug_bias = inrx->bias;
-+ } else if (inrw) {
-+ di->rodata_avma += inrw->bias;
-+ di->rodata_bias = inrw->bias;
-+ di->rodata_debug_bias = inrw->bias;
-+ } else {
-+ BAD(".rodata");
-+ }
-+ di->rodata_present = True;
- TRACE_SYMTAB("acquiring .rodata svma = %#lx .. %#lx\n",
- di->rodata_svma,
- di->rodata_svma + di->rodata_size - 1);
/* This isn't entirely correct, CPUID should depend on the VEX
capabilities, not on the underlying CPU. See bug #324882. */
if ((archinfo->hwcaps & VEX_HWCAPS_AMD64_SSE3) &&
-diff -uNr valgrind-3.6.0.orig/VEX/pub/libvex.h valgrind-3.6.0/VEX/pub/libvex.h
---- valgrind-3.6.0.orig/VEX/pub/libvex.h 2010-10-20 22:19:52.000000000 +0200
-+++ valgrind-3.6.0/VEX/pub/libvex.h 2011-01-17 20:41:02.906490947 +0100
-@@ -60,7 +60,6 @@
- }
- VexArch;
-
--
- /* For a given architecture, these specify extra capabilities beyond
- the minimum supported (baseline) capabilities. They may be OR'd
- together, although some combinations don't make sense. (eg, SSE2
-@@ -270,6 +269,8 @@
- /* EXPERIMENTAL: chase across conditional branches? Not all
- front ends honour this. Default: NO. */
- Bool guest_chase_cond;
+--- valgrind-3.14.0/VEX/pub/libvex.h~ 2018-10-12 20:12:49.000000000 +0200
++++ valgrind-3.14.0/VEX/pub/libvex.h 2018-10-12 20:13:55.990940300 +0200
+@@ -519,6 +519,8 @@ typedef
+ - '3': current, faster implementation; perhaps producing slightly worse
+ spilling decisions. */
+ UInt regalloc_version;
+ /* For x86 and amd64 allow the use of native cpuid inst */
+ Int iropt_native_cpuid;
}
VexControl;
+
Summary: An open-source memory debugger
Summary(pl.UTF-8): Otwarty odpluskwiacz pamięci
Name: valgrind
-Version: 3.13.0
-Release: 3
+Version: 3.14.0
+Release: 1
License: GPL v2+
Group: Development/Tools
-Source0: ftp://sourceware.org/pub/valgrind/%{name}-%{version}.tar.bz2
-# Source0-md5: 817dd08f1e8a66336b9ff206400a5369
+Source0: https://sourceware.org/pub/valgrind/%{name}-%{version}.tar.bz2
+# Source0-md5: 74175426afa280184b62591b58c671b3
Patch0: %{name}-native-cpuid.patch
Patch1: %{name}-ld_linux_strlen.patch
-Patch2: valgrind-3.13.0-ld-separate-code.patch
-Patch3: valgrind-3.13.0-arch_prctl.patch
URL: http://valgrind.org/
BuildRequires: autoconf >= 2.50
BuildRequires: automake >= 1:1.10
%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.ac
--enable-tls \
%if %{_lib} != "lib"
--enable-only64bit \
-%endif
+%endif \
+ --enable-lto=yes \
LDFLAGS="" # no strip!
%{__make}