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:
Andreas Stieger 2020-07-05 07:07:54 +00:00 committed by Git OBS Bridge
parent 6ba6ce5830
commit 217b4bc19b
3 changed files with 58 additions and 0 deletions

48
reproducible.patch Normal file
View 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

View File

@ -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>

View File

@ -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