diff options
author | Alon Bar-Lev <alonbl@gentoo.org> | 2019-02-24 00:20:39 +0200 |
---|---|---|
committer | Alon Bar-Lev <alonbl@gentoo.org> | 2019-02-24 00:21:28 +0200 |
commit | e0851dfe8e3bc56f435fc0a71fdf562794df903d (patch) | |
tree | efc5c7f485704054dbca59e78df6b02515ba5239 /app-crypt/dieharder | |
parent | app-crypt/dieharder: remove old (diff) | |
download | gentoo-e0851dfe8e3bc56f435fc0a71fdf562794df903d.tar.gz gentoo-e0851dfe8e3bc56f435fc0a71fdf562794df903d.tar.bz2 gentoo-e0851dfe8e3bc56f435fc0a71fdf562794df903d.zip |
app-crypt/dieharder: resolve undefined symbols
Closes: https://bugs.gentoo.org/show_bug.cgi?id=678300
Thanks: Ben Kohler
Signed-off-by: Alon Bar-Lev <alonbl@gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
Diffstat (limited to 'app-crypt/dieharder')
-rw-r--r-- | app-crypt/dieharder/dieharder-3.31.1-r3.ebuild (renamed from app-crypt/dieharder/dieharder-3.31.1-r2.ebuild) | 2 | ||||
-rw-r--r-- | app-crypt/dieharder/files/dieharder-3.31.1-build.patch | 158 |
2 files changed, 159 insertions, 1 deletions
diff --git a/app-crypt/dieharder/dieharder-3.31.1-r2.ebuild b/app-crypt/dieharder/dieharder-3.31.1-r3.ebuild index 5a949f9d0350..8fd1209bd490 100644 --- a/app-crypt/dieharder/dieharder-3.31.1-r2.ebuild +++ b/app-crypt/dieharder/dieharder-3.31.1-r3.ebuild @@ -11,7 +11,7 @@ LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" IUSE="doc" -RESTRICT="test" +RESTRICT="test" # Way too long RDEPEND="sci-libs/gsl" DEPEND="${RDEPEND} diff --git a/app-crypt/dieharder/files/dieharder-3.31.1-build.patch b/app-crypt/dieharder/files/dieharder-3.31.1-build.patch index 4cbd5021c77c..50e2119030c9 100644 --- a/app-crypt/dieharder/files/dieharder-3.31.1-build.patch +++ b/app-crypt/dieharder/files/dieharder-3.31.1-build.patch @@ -25,3 +25,161 @@ index 2138ebf..f6d471b 100644 #include <math.h> #include <limits.h> #include <gsl/gsl_rng.h> +From aee56b67080a5a8732c12216ef4415f315f35e4a Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev <alon.barlev@gmail.com> +Date: Sun, 24 Feb 2019 00:04:55 +0200 +Subject: [PATCH 1/2] rgb_operm: convert to noop as implementation missing + +--- + include/dieharder/rgb_operm.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/dieharder/rgb_operm.h b/include/dieharder/rgb_operm.h +index c48fa37..f33fc1f 100644 +--- a/include/dieharder/rgb_operm.h ++++ b/include/dieharder/rgb_operm.h +@@ -1,3 +1,4 @@ ++#if 0 + /* + * rgb_operm test header. + */ +@@ -36,3 +37,4 @@ static Dtest rgb_operm_dtest __attribute__((unused)) = { + * a data stream of rands from x_i to x_{i+k} to compute c[][]. + */ + unsigned int rgb_operm_k; ++#endif +-- +2.19.2 + +From b1140059cab9a5b2847dd312087d44d58fe61263 Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev <alon.barlev@gmail.com> +Date: Sun, 24 Feb 2019 00:10:00 +0200 +Subject: [PATCH 2/2] dab_filltree2: inline cannot have prototype nor can it be + non static + +--- + libdieharder/dab_filltree.c | 37 ++++++++++++++------------- + libdieharder/dab_filltree2.c | 48 +++++++++++++++++------------------- + 2 files changed, 41 insertions(+), 44 deletions(-) + +diff --git a/libdieharder/dab_filltree.c b/libdieharder/dab_filltree.c +index 9cc5ce7..3ed6b00 100644 +--- a/libdieharder/dab_filltree.c ++++ b/libdieharder/dab_filltree.c +@@ -34,7 +34,24 @@ static double targetData[] = { + 0.0, 0.0, 0.0, 0.0, 0.13333333, 0.20000000, 0.20634921, 0.17857143, 0.13007085, 0.08183633, 0.04338395, 0.01851828, 0.00617270, 0.00151193, 0.00023520, 0.00001680, 0.00000000, 0.00000000, 0.00000000, 0.00000000 + }; + +-inline int insert(double x, double *array, unsigned int startVal); ++static inline int insert(double x, double *array, unsigned int startVal) { ++ uint d = (startVal + 1) / 2; ++ uint i = startVal; ++ while (d > 0) { ++ if (array[i] == 0) { ++ array[i] = x; ++ return -1; ++ } ++ if (array[i] < x) { ++ i += d; ++ } else { ++ i -= d; ++ } ++ d /= 2; ++ } ++ return i; ++} ++ + + int dab_filltree(Test **test,int irun) { + int size = (ntuple == 0) ? 32 : ntuple; +@@ -105,24 +122,6 @@ int dab_filltree(Test **test,int irun) { + } + + +-inline int insert(double x, double *array, unsigned int startVal) { +- uint d = (startVal + 1) / 2; +- uint i = startVal; +- while (d > 0) { +- if (array[i] == 0) { +- array[i] = x; +- return -1; +- } +- if (array[i] < x) { +- i += d; +- } else { +- i -= d; +- } +- d /= 2; +- } +- return i; +-} +- + #include<time.h> + + int main_filltree(int argc, char **argv) { +diff --git a/libdieharder/dab_filltree2.c b/libdieharder/dab_filltree2.c +index 1e33af2..7102d3c 100644 +--- a/libdieharder/dab_filltree2.c ++++ b/libdieharder/dab_filltree2.c +@@ -92,7 +92,29 @@ static double targetData[128] = { // size=128, generated from 6e9 samples + 0.00000000000e+00,0.00000000000e+00,0.00000000000e+00,0.00000000000e+00, + }; + +-inline int insertBit(uint x, uchar *array, uint *i, uint *d); ++/* ++ * Insert a bit into the tree, represented by an array. ++ * A value of one is marked; zero is unmarked. ++ * The function returns -2 is still on the path. ++ * The function returns -1 if the path ends by marking a node. ++ * The function returns >= 0 if the path went too deep; the ++ * returned value is the last position of the path. ++ */ ++static inline int insertBit(uint x, uchar *array, uint *i, uint *d) { ++ if (x != 0) { ++ *i += *d; ++ } else { ++ *i -= *d; ++ } ++ *d /= 2; ++ ++ if (array[*i] == 0) { ++ array[*i] = 1; ++ return -1; ++ } ++ if (*d == 0) return *i; ++ else return -2; ++} + + int dab_filltree2(Test **test, int irun) { + int size = (ntuple == 0) ? 128 : ntuple; +@@ -173,27 +195,3 @@ int dab_filltree2(Test **test, int irun) { + return(0); + } + +-/* +- * Insert a bit into the tree, represented by an array. +- * A value of one is marked; zero is unmarked. +- * The function returns -2 is still on the path. +- * The function returns -1 if the path ends by marking a node. +- * The function returns >= 0 if the path went too deep; the +- * returned value is the last position of the path. +- */ +-inline int insertBit(uint x, uchar *array, uint *i, uint *d) { +- if (x != 0) { +- *i += *d; +- } else { +- *i -= *d; +- } +- *d /= 2; +- +- if (array[*i] == 0) { +- array[*i] = 1; +- return -1; +- } +- if (*d == 0) return *i; +- else return -2; +-} +- +-- +2.19.2 + |