- up to 3.14.0; enabled lto (wchich usually makes gdb unusable on binary but binary... auto/th/valgrind-3.14.0-1
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Fri, 12 Oct 2018 18:32:26 +0000 (20:32 +0200)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Fri, 12 Oct 2018 18:32:26 +0000 (20:32 +0200)
valgrind-3.13.0-arch_prctl.patch [deleted file]
valgrind-3.13.0-ld-separate-code.patch [deleted file]
valgrind-native-cpuid.patch
valgrind.spec

diff --git a/valgrind-3.13.0-arch_prctl.patch b/valgrind-3.13.0-arch_prctl.patch
deleted file mode 100644 (file)
index 4182210..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-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.
diff --git a/valgrind-3.13.0-ld-separate-code.patch b/valgrind-3.13.0-ld-separate-code.patch
deleted file mode 100644 (file)
index a8f8a90..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-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);
index 5b43717bbbad1b838f2ae1ce811d41730c8b854f..dd0617d504f1755be6a0ad337403f05c3cfd0842 100644 (file)
@@ -57,23 +57,15 @@ diff -uNr valgrind-3.6.0.orig/VEX/priv/guest_amd64_helpers.c valgrind-3.6.0/VEX/
        /* 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;
  
+
index 339fb8d7b28232f58e1533079866bce0bfd8e419..e94237df53c94cdb277674026e2b6e152c01c726 100644 (file)
@@ -7,16 +7,14 @@
 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
@@ -59,8 +57,6 @@ pracować.
 %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
 
@@ -76,7 +72,8 @@ ac_cv_path_GDB=/usr/bin/gdb \
        --enable-tls \
 %if %{_lib} != "lib"
        --enable-only64bit \
-%endif
+%endif \
+       --enable-lto=yes \
        LDFLAGS="" # no strip!
 
 %{__make}
This page took 0.0972 seconds and 4 git commands to generate.