Accepting request 818786 from home:bmwiedemann:branches:utilities
Disable avx - Add reproducible.patch to drop march=native to make package build reproducible (boo#1100677) if avx is wanted for performance, it could use _multibuild but it would also need another patch for reproducibility OBS-URL: https://build.opensuse.org/request/show/818786 OBS-URL: https://build.opensuse.org/package/show/utilities/ugrep?expand=0&rev=6
This commit is contained in:
parent
6ba6ce5830
commit
217b4bc19b
48
reproducible.patch
Normal file
48
reproducible.patch
Normal file
@ -0,0 +1,48 @@
|
||||
https://github.com/Genivia/ugrep/pull/50
|
||||
|
||||
From e5413eeb4a98339587e9b32fe098e305b2bb9092 Mon Sep 17 00:00:00 2001
|
||||
From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
|
||||
Date: Sat, 4 Jul 2020 06:18:32 +0200
|
||||
Subject: [PATCH] Disable march=native for SSE2
|
||||
|
||||
Without this patch, the code would only build binaries with SSE2,
|
||||
if the build machine CPU supported SSE2.
|
||||
|
||||
And through the -march=native flag, it would then use more CPU features
|
||||
available on the build CPU that might not be available
|
||||
on the target machine CPU. That can cause an illegal instruction
|
||||
exception on the target machine.
|
||||
|
||||
This patch changes behaviour so that only configure options determine the
|
||||
result of the build, regarding SSE2.
|
||||
|
||||
See https://reproducible-builds.org/ for why this is good.
|
||||
|
||||
This PR was done while working on reproducible builds for openSUSE.
|
||||
---
|
||||
configure | 4 ++--
|
||||
configure.ac | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: ugrep-2.3.2/configure
|
||||
===================================================================
|
||||
--- ugrep-2.3.2.orig/configure
|
||||
+++ ugrep-2.3.2/configure
|
||||
@@ -7708,7 +7709,7 @@ $as_echo "no" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CXX} supports SSE2 intrinsics" >&5
|
||||
$as_echo_n "checking whether ${CXX} supports SSE2 intrinsics... " >&6; }
|
||||
save_CXXFLAGS=$CXXFLAGS
|
||||
- CXXFLAGS="-march=native"
|
||||
+ CXXFLAGS="-msse2"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <emmintrin.h>
|
||||
@@ -7730,7 +7731,7 @@ rm -f core conftest.err conftest.$ac_obj
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $msse2_ok" >&5
|
||||
$as_echo "$msse2_ok" >&6; }
|
||||
if test "x$msse2_ok" = "xyes"; then
|
||||
- SIMD_FLAGS="-march=native -msse2 -DHAVE_SSE2"
|
||||
+ SIMD_FLAGS="-msse2 -DHAVE_SSE2"
|
||||
fi
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 5 04:34:08 UTC 2020 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||
|
||||
- Disable avx
|
||||
- Add reproducible.patch to drop march=native
|
||||
to make package build reproducible (boo#1100677)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 30 16:40:55 UTC 2020 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||
|
||||
|
@ -24,6 +24,7 @@ License: BSD-3-Clause
|
||||
Group: Productivity/File utilities
|
||||
URL: https://github.com/Genivia/ugrep
|
||||
Source: https://github.com/Genivia/ugrep/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
Patch0: reproducible.patch
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: pkgconfig(bzip2)
|
||||
@ -38,9 +39,11 @@ fuzzy search.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
%configure \
|
||||
--disable-avx \
|
||||
--enable-color
|
||||
%make_build
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user