Andreas Stieger
217b4bc19b
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
49 lines
1.8 KiB
Diff
49 lines
1.8 KiB
Diff
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
|