commit haveged for openSUSE:Factory
![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community,
here is the log from the commit of package haveged for openSUSE:Factory checked in at 2013-06-18 15:13:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/haveged (Old)
and /work/SRC/openSUSE:Factory/.haveged.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "haveged"
Changes:
--------
--- /work/SRC/openSUSE:Factory/haveged/haveged.changes 2013-05-06 10:09:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.haveged.new/haveged.changes 2013-06-18 15:13:05.000000000 +0200
@@ -1,0 +2,11 @@
+Mon Jun 17 09:39:07 UTC 2013 - mvyskocil@suse.com
+
+- update to 1.7c
+ * Correct additional run-time test aligment problems on mips.
+ * Correct run-time test aligment problems on sparc and mips.
+ * Correct ppc detection in build
+ deprecates haveged-ppc.patch
+- use correct Group for libhavege1
+- haveged-devel requires libhavege1
+
+-------------------------------------------------------------------
Old:
----
haveged-1.7a.tar.gz
haveged-ppc.patch
New:
----
haveged-1.7c.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ haveged.spec ++++++
--- /var/tmp/diff_new_pack.uTs3EZ/_old 2013-06-18 15:13:06.000000000 +0200
+++ /var/tmp/diff_new_pack.uTs3EZ/_new 2013-06-18 15:13:06.000000000 +0200
@@ -17,7 +17,7 @@
Name: haveged
-Version: 1.7a
+Version: 1.7c
Release: 0
Summary: Feed entropy into random pool
License: GPL-3.0
@@ -25,10 +25,13 @@
Url: http://www.issihosts.com/haveged/
Source0: http://www.issihosts.com/haveged/%{name}-%{version}.tar.gz
Source2: %{name}.service
-#PATCH-FIX-OPENSUSE: mvyskocil: sent upstream
-Patch0: haveged-ppc.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Enhances: openssl gpg2 php5 apache2 openvpn smtp_daemon
+Enhances: openssl
+Enhances: gpg2
+Enhances: php5
+Enhances: apache2
+Enhances: openvpn
+Enhances: smtp_daemon
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: pkgconfig(systemd)
@@ -43,6 +46,7 @@
%package devel
Summary: haveged development files
Group: Development/Libraries
+Requires: libhavege1 = %{version}
%description devel
Headers and for the haveged library
@@ -52,7 +56,7 @@
%package -n libhavege1
Summary: haveged interface library
-Group: Development/Libraries
+Group: Development/Libraries/C and C++
%description -n libhavege1
Shared object for the haveged library
@@ -61,7 +65,6 @@
%prep
%setup -q
-%patch0 -p1
%build
# mvyskocil: needed because of haveged-ppc.patch
++++++ haveged-1.7a.tar.gz -> haveged-1.7c.tar.gz ++++++
++++ 5990 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7a/ChangeLog new/haveged-1.7c/ChangeLog
--- old/haveged-1.7a/ChangeLog 2013-02-13 21:01:09.000000000 +0100
+++ new/haveged-1.7c/ChangeLog 2013-06-08 15:37:00.000000000 +0200
@@ -1,8 +1,15 @@
+v1.7c (Jun 08, 2013)
+ * Fix alignment fault on mips in havegetest.c, procedure B.
+
+v1.7b (Jun 06, 2013)
+ * Fix alignment fault on sparc in havegetest.c, procedure A, test5XOR().
+ * Fix build ppc detection in configure.ac
+
v1.7a (Feb 13, 2013)
- * Fix parallel build (LDADD fix + VPATH fixes to test programs)
- * Fix check target for automake v1.13 and previous (use check-local)
- * Add option to suppress tuning code build
- * Improve sample spec file for library
+ * Fix parallel build (LDADD fix + VPATH fixes to test programs)
+ * Fix check target for automake v1.13 and previous (use check-local)
+ * Add option to suppress tuning code build
+ * Improve sample spec file for library
v1.7 (Jan 15, 2013)
* Add havege_status_dump() as basis for haveged diagnostics
@@ -44,7 +51,7 @@
* Add new invocation options to support new features.
v1.3 (Oct 23, 2011)
- * Intergrate contributions by Jirka Hladky to fine tune collection implementation.
+ * Integrate contributions by Jirka Hladky to fine tune collection implementation.
* Add non-daemon interface with option to send continuous stream of output to stdout.
v1.2 (June 26, 2011))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7a/NEWS new/haveged-1.7c/NEWS
--- old/haveged-1.7a/NEWS 2013-02-14 16:18:46.000000000 +0100
+++ new/haveged-1.7c/NEWS 2013-06-08 15:33:39.000000000 +0200
@@ -1,8 +1,16 @@
+v1.7c (Jun 08, 2013)
+
+ Additional fix for run-time test alignment problems on mips.
+
+v1.7b (Jun 06, 2013)
+
+ Fix run-time test alignment problems on sparc and mips. Fix ppc detection in build.
+
v1.7a (Feb 13, 2013)
Fix broken parallel builds - fix LDADD problem in build, VPATH problems in check targets.
Move to check-local for check target to work with automake v1.13 but retain backward
- compatability. Modify build to make tuning component optional in build. Improve sample
+ compatibility. Modify build to make tuning component optional in build. Improve sample
spec file and docs.
v1.7 (Jan 15, 2013)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7a/configure.ac new/haveged-1.7c/configure.ac
--- old/haveged-1.7a/configure.ac 2013-02-10 23:23:41.000000000 +0100
+++ new/haveged-1.7c/configure.ac 2013-06-08 15:30:23.000000000 +0200
@@ -3,7 +3,7 @@
## Minimum Autoconf version
AC_PREREQ([2.59])
-AC_INIT([haveged],[1.7a])
+AC_INIT([haveged],[1.7c])
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_HEADER([config.h])
AM_INIT_AUTOMAKE
@@ -138,7 +138,7 @@
AC_DEFINE(HAVE_ISA_IA64, 1, [Define to 1 for ia64])
;;
- powerpc-*|pcc-*|powerpc64|ppc64)
+ powerpc-*|pcc-*|powerpc64-*|ppc64-*)
AC_DEFINE(HAVE_ISA_PPC, 1, [Define to 1 for ppc])
;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7a/contrib/build/fedora.spec new/haveged-1.7c/contrib/build/fedora.spec
--- old/haveged-1.7a/contrib/build/fedora.spec 2013-02-13 17:31:48.000000000 +0100
+++ new/haveged-1.7c/contrib/build/fedora.spec 2013-06-08 15:29:44.000000000 +0200
@@ -1,6 +1,6 @@
Summary: A Linux entropy source using the HAVEGE algorithm
Name: haveged
-Version: 1.7a
+Version: 1.7c
Release: 0%{?dist}
License: GPLv3+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7a/contrib/build/lib.spec new/haveged-1.7c/contrib/build/lib.spec
--- old/haveged-1.7a/contrib/build/lib.spec 2013-02-14 17:59:18.000000000 +0100
+++ new/haveged-1.7c/contrib/build/lib.spec 2013-06-08 15:29:53.000000000 +0200
@@ -7,14 +7,14 @@
%define have_systemd 0
Name: haveged
-Version: 1.7a
+Version: 1.7c
Release: 0
License: GPLv3
Group: System Environment/Daemons
Summary: Feed entropy into random pool
URL: http://www.issihosts.com/haveged/
Source0: http://www.issihosts.com/haveged/haveged-%{version}.tar.gz
-BuildRoot: %{_builddir}/%{name}-{%version}-build
+BuildRoot: %{_builddir}/%{name}-root
%if 0%{?have_systemd}
BuildRequires: systemd
%endif
@@ -39,7 +39,7 @@
%build
%configure \
--enable-daemon\
- --enable-init=sysv.redhat
+ --enable--init=sysv.redhat
make
%check
@@ -47,9 +47,9 @@
%install
%makeinstall
-%{__install} -D -m0755 init.d/haveged %{buildroot}%{_sysconfdir}/init.d/%{name}
+%{__install} -D -m0755 %{_sysconfdir}/init.d/%{name}
%if 0%{?have_systemd}
-%{__install} -D -m0644 init.d/havege.service %{buildroot}%{_unitdir}/%{name}.service
+%{__install} -D -m0644 %{S:2} %{buildroot}%{_unitdir}/%{name}.service
%endif
%{__rm} -f %{buildroot}%{_libdir}/libhavege.*a
@@ -61,7 +61,6 @@
%doc COPYING
%{_mandir}/man8/haveged.8*
%{_sbindir}/haveged
-%{_sysconfdir}/init.d/haveged
%if 0%{?have_systemd}
%{_unitdir}/haveged.service
%endif
@@ -74,3 +73,4 @@
%{_includedir}/%{name}/havege.h
%doc contrib/build/havege_sample.c
%{_libdir}/*.so*
+
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7a/contrib/build/nolib.spec new/haveged-1.7c/contrib/build/nolib.spec
--- old/haveged-1.7a/contrib/build/nolib.spec 2013-02-13 17:32:03.000000000 +0100
+++ new/haveged-1.7c/contrib/build/nolib.spec 2013-06-08 15:30:01.000000000 +0200
@@ -5,7 +5,7 @@
# package are under the same license as the package itself.
#
Name: haveged
-Version: 1.7a
+Version: 1.7c
Release: 1
License: GPLv3
Group: System Environment/Daemons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7a/haveged.spec new/haveged-1.7c/haveged.spec
--- old/haveged-1.7a/haveged.spec 2013-02-14 16:43:37.000000000 +0100
+++ new/haveged-1.7c/haveged.spec 2013-06-08 15:41:52.000000000 +0200
@@ -7,7 +7,7 @@
%define have_systemd 0
Name: haveged
-Version: 1.7a
+Version: 1.7c
Release: 0
License: GPLv3
Group: System Environment/Daemons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7a/src/havegetest.c new/haveged-1.7c/src/havegetest.c
--- old/haveged-1.7a/src/havegetest.c 2013-01-11 18:55:42.000000000 +0100
+++ new/haveged-1.7c/src/havegetest.c 2013-06-08 15:58:04.000000000 +0200
@@ -32,6 +32,17 @@
#ifdef ONLINE_TESTS_ENABLE
/**
+ * This structure is used only to pack the test structures into a single memory allocation.
+ * This is necessary because some architectures have stringent alignment requirements that
+ * cannot be met unless (compiler generated) padding is included. On mips in particular
+ * double must be dword aligned or bus errors result.
+ */
+typedef struct {
+ onlineTests olt;
+ procA pa;
+ procB pb;
+} testsMemory;
+/**
* The tests and supporting methods
*/
static H_UINT aisBitTest(procB *context, H_UINT n);
@@ -226,33 +237,34 @@
{
procShared *tps = TESTS_SHARED(h_ctxt);
onlineTests *context;
+ testsMemory *mem;
+ procB *pb;
if (0 ==(tps->testsUsed))
return 0;
if (0 == h_ctxt->havege_tests) {
- char *bp;
- H_UINT sz = sizeof(onlineTests);
+ H_UINT sz = sizeof(testsMemory);
- if (0!=(tps->testsUsed & A_RUN))
- sz += sizeof(procA);
- if (0!=(tps->testsUsed & B_RUN))
- sz += sizeof(procB);
- context = (onlineTests *) (bp = (char *) malloc(sz));
- if (NULL==bp) {
+ if (0==(tps->testsUsed & A_RUN))
+ sz -= sizeof(procA);
+ if (0==(tps->testsUsed & B_RUN))
+ sz -= sizeof(procB);
+ mem = (testsMemory *) malloc(sz);
+ if (NULL==mem) {
h_ctxt->havege_err = H_NOTESTMEM;
return 1;
}
- memset(bp, 0, sizeof(onlineTests));
- bp += sizeof(onlineTests);
+ context = (onlineTests *) mem;
+ memset(context, 0, sizeof(onlineTests));
if (0!=(tps->testsUsed & A_RUN)) {
- context->pA = (procA *) bp;
+ context->pA = &mem->pa;
context->pA->procState = TEST_INIT;
- bp += sizeof(procA);
+ pb = &mem->pb;
}
+ else pb = (procB *)((void *) &mem->pa);
if (0!=(tps->testsUsed & B_RUN)) {
- context->pB = (procB *) bp;
+ context->pB = pb;
context->pB->procState = TEST_INIT;
- bp += sizeof(procB);
}
h_ctxt->havege_tests = context;
if (0 != (h_ctxt->havege_raw & H_DEBUG_TEST_IN)) return 1;
@@ -560,7 +572,7 @@
double q[2];
for(j=0;j<2;j++)
- q[j] = (double) p->einsen[j] / (double) AIS_LENGTH;
+ q[j] = (double)(p->einsen[j]) / (double) AIS_LENGTH;
p->results[p->testNbr].finalValue = q[0] - q[1];
hilf = tid << 8;
if (p->results[p->testNbr].finalValue <= -0.02 || p->results[p->testNbr].finalValue >= 0.02)
@@ -867,27 +879,27 @@
* rv += 1 & (((src[i>>3]>>(i & 7))) ^ ((src[j>>3]>>(j & 7))));
* return rv;
*
- * The high performance version of that looks like:
+ * A high performance optimization using multi-byte casts is 3x as fast as the above but blows up
+ * because of alignment issues (leftovers from the test0 implementation)
+ * The optimized single byte optimization is 2x as fast as the above but uses no alignment games
*/
-#define PIPELINE5(a) (*(H_UINT *)a)
-#define XOR5(a) (1&(PIPELINE5(src1)>>a ^ PIPELINE5(src2)>>(shift+a)))
-
static H_UINT test5XOR(H_UINT8 *src, H_UINT shift)
{
- H_UINT8 *src1 =src;
- H_UINT8 *src2 =src + (shift>>3);
- H_UINT i, rv;
-
+ H_UINT8 *src1;
+ H_UINT i,rest, rv;
+
+ src1 = src + (shift>>3);
shift &= 7;
- rv = XOR5( 0)+XOR5( 1)+XOR5( 2)+XOR5( 3) +
- XOR5( 4)+XOR5( 5)+XOR5( 6)+XOR5( 7);
- for (i=8,src1+=3,src2+=3;i
participants (1)
-
root@hilbert.suse.de