Accepting request 818824 from utilities

- Disable avx
- Add reproducible.patch to drop march=native
  to make package build reproducible (boo#1100677)

OBS-URL: https://build.opensuse.org/request/show/818824
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ugrep?expand=0&rev=2
This commit is contained in:
Dominique Leuenberger 2020-07-06 14:29:17 +00:00 committed by Git OBS Bridge
commit 7bbca8570f
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