Hello community,
here is the log from the commit of package haveged for openSUSE:Factory
checked in at Sun Oct 2 10:12:50 CEST 2011.
--------
--- openSUSE:Factory/haveged/haveged.changes 2011-09-23 02:02:44.000000000 +0200
+++ /mounts/work_src_done/STABLE/haveged/haveged.changes 2011-10-01 16:55:37.000000000 +0200
@@ -1,0 +2,11 @@
+Sat Oct 1 14:55:05 UTC 2011 - crrodriguez@opensuse.org
+
+- There is no support for arm targets here, may be fixable
+ later.
+
+-------------------------------------------------------------------
+Sun Jul 24 19:23:34 UTC 2011 - crrodriguez@opensuse.org
+
+- Update to version 1.2.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
haveged-1.1.tar.gz
New:
----
haveged-1.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ haveged.spec ++++++
--- /var/tmp/diff_new_pack.fYPwUj/_old 2011-10-02 10:12:46.000000000 +0200
+++ /var/tmp/diff_new_pack.fYPwUj/_new 2011-10-02 10:12:46.000000000 +0200
@@ -18,7 +18,7 @@
Name: haveged
-Version: 1.1
+Version: 1.2
Release: 2
License: GPLv3
Summary: Feed entropy into random pool
@@ -29,6 +29,7 @@
Source2: haveged.service
Patch1: haveged-ppc64.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+ExcludeArch: %{arm}
Requires(pre): %insserv_prereq
%if 0%{suse_version} >= 1140
Requires(pre): sysvinit(syslog)
++++++ haveged-1.1.tar.gz -> haveged-1.2.tar.gz ++++++
++++ 3340 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.1/README new/haveged-1.2/README
--- old/haveged-1.1/README 2011-01-11 22:12:14.000000000 +0100
+++ new/haveged-1.2/README 2011-06-26 22:56:00.000000000 +0200
@@ -1,5 +1,11 @@
Haveged, a Linux entropy source
+June 26, 2011
+
+After a long delay, more work towards using intrinsics to make the build more
+reliable. Also went another round with gcc optimization and am planing monitoring
+extensions for the near future.
+
January 11, 2011
The havege algorithm has been improved to better stand up to aggressive compiler
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.1/config.h.in new/haveged-1.2/config.h.in
--- old/haveged-1.1/config.h.in 2011-01-11 21:51:20.000000000 +0100
+++ new/haveged-1.2/config.h.in 2011-06-26 22:58:27.000000000 +0200
@@ -1,5 +1,8 @@
/* config.h.in. Generated from configure.ac by autoheader. */
+/* Define to 1 if you have the header file. */
+#undef HAVE_CPUID_H
+
/* Define to 1 if you have the header file. */
#undef HAVE_FCNTL_H
@@ -70,6 +73,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_UNISTD_H
+/* Define to 1 if you have the header file. */
+#undef HAVE_X86INTRIN_H
+
/* Name of package */
#undef PACKAGE
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.1/configure.ac new/haveged-1.2/configure.ac
--- old/haveged-1.1/configure.ac 2011-01-11 21:50:41.000000000 +0100
+++ new/haveged-1.2/configure.ac 2011-06-26 22:58:05.000000000 +0200
@@ -1,9 +1,9 @@
## Process this file with autoconf to produce a configure script.
## Minimum Autoconf version
-AC_PREREQ(2.61)
+AC_PREREQ(1.9)
#
-AC_INIT([haveged],[1.1])
+AC_INIT([haveged],[1.2])
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_HEADER([config.h])
AM_INIT_AUTOMAKE
@@ -61,6 +61,7 @@
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/ioctl.h sys/time.h syslog.h unistd.h])
+AC_CHECK_HEADERS([cpuid.h x86intrin.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
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.1/src/Makefile.am new/haveged-1.2/src/Makefile.am
--- old/haveged-1.1/src/Makefile.am 2011-01-11 20:23:27.000000000 +0100
+++ new/haveged-1.2/src/Makefile.am 2011-06-26 22:31:37.000000000 +0200
@@ -3,6 +3,6 @@
AM_CFLAGS=-Wall
AM_CPPFLAGS = @HA_CPPFLAGS@
-haveged_SOURCES = haveged.c havege.c havegecollect.c haveged.h havege.h havegecollect.h oneiteration.h
+haveged_SOURCES = haveged.c havege.c havegecollect.c cpuid-43.h haveged.h havege.h havegecollect.h oneiteration.h
MAINTAINERCLEANFILES = Makefile.in
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.1/src/cpuid-43.h new/haveged-1.2/src/cpuid-43.h
--- old/haveged-1.1/src/cpuid-43.h 1970-01-01 01:00:00.000000000 +0100
+++ new/haveged-1.2/src/cpuid-43.h 2011-06-26 18:13:04.000000000 +0200
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ *
+ * This file is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 3, or (at your option) any
+ * later version.
+ *
+ * This file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * Under Section 7 of GPL version 3, you are granted additional
+ * permissions described in the GCC Runtime Library Exception, version
+ * 3.1, as published by the Free Software Foundation.
+ *
+ * You should have received a copy of the GNU General Public License and
+ * a copy of the GCC Runtime Library Exception along with this program;
+ * see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ * http://www.gnu.org/licenses/.
+ */
+
+/* %ecx */
+#define bit_SSE3 (1 << 0)
+#define bit_PCLMUL (1 << 1)
+#define bit_SSSE3 (1 << 9)
+#define bit_FMA (1 << 12)
+#define bit_CMPXCHG16B (1 << 13)
+#define bit_SSE4_1 (1 << 19)
+#define bit_SSE4_2 (1 << 20)
+#define bit_MOVBE (1 << 22)
+#define bit_POPCNT (1 << 23)
+#define bit_AES (1 << 25)
+#define bit_XSAVE (1 << 26)
+#define bit_OSXSAVE (1 << 27)
+#define bit_AVX (1 << 28)
+
+/* %edx */
+#define bit_CMPXCHG8B (1 << 8)
+#define bit_CMOV (1 << 15)
+#define bit_MMX (1 << 23)
+#define bit_FXSAVE (1 << 24)
+#define bit_SSE (1 << 25)
+#define bit_SSE2 (1 << 26)
+
+/* Extended Features */
+/* %ecx */
+#define bit_LAHF_LM (1 << 0)
+#define bit_ABM (1 << 5)
+#define bit_SSE4a (1 << 6)
+#define bit_XOP (1 << 11)
+#define bit_LWP (1 << 15)
+#define bit_FMA4 (1 << 16)
+
+/* %edx */
+#define bit_LM (1 << 29)
+#define bit_3DNOWP (1 << 30)
+#define bit_3DNOW (1 << 31)
+
+
+#if defined(__i386__) && defined(__PIC__)
+/* %ebx may be the PIC register. */
+#if __GNUC__ >= 3
+#define __cpuid(level, a, b, c, d) \
+ __asm__ ("xchg{l}\t{%%}ebx, %1\n\t" \
+ "cpuid\n\t" \
+ "xchg{l}\t{%%}ebx, %1\n\t" \
+ : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
+ : "0" (level))
+
+#define __cpuid_count(level, count, a, b, c, d) \
+ __asm__ ("xchg{l}\t{%%}ebx, %1\n\t" \
+ "cpuid\n\t" \
+ "xchg{l}\t{%%}ebx, %1\n\t" \
+ : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
+ : "0" (level), "2" (count))
+#else
+/* Host GCCs older than 3.0 weren't supporting Intel asm syntax
+ nor alternatives in i386 code. */
+#define __cpuid(level, a, b, c, d) \
+ __asm__ ("xchgl\t%%ebx, %1\n\t" \
+ "cpuid\n\t" \
+ "xchgl\t%%ebx, %1\n\t" \
+ : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
+ : "0" (level))
+
+#define __cpuid_count(level, count, a, b, c, d) \
+ __asm__ ("xchgl\t%%ebx, %1\n\t" \
+ "cpuid\n\t" \
+ "xchgl\t%%ebx, %1\n\t" \
+ : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
+ : "0" (level), "2" (count))
+#endif
+#else
+#define __cpuid(level, a, b, c, d) \
+ __asm__ ("cpuid\n\t" \
+ : "=a" (a), "=b" (b), "=c" (c), "=d" (d) \
+ : "0" (level))
+
+#define __cpuid_count(level, count, a, b, c, d) \
+ __asm__ ("cpuid\n\t" \
+ : "=a" (a), "=b" (b), "=c" (c), "=d" (d) \
+ : "0" (level), "2" (count))
+#endif
+
+/* Return highest supported input value for cpuid instruction. ext can
+ be either 0x0 or 0x8000000 to return highest supported value for
+ basic or extended cpuid information. Function returns 0 if cpuid
+ is not supported or whatever cpuid returns in eax register. If sig
+ pointer is non-null, then first four bytes of the signature
+ (as found in ebx register) are returned in location pointed by sig. */
+
+static __inline unsigned int
+__get_cpuid_max (unsigned int __ext, unsigned int *__sig)
+{
+ unsigned int __eax, __ebx, __ecx, __edx;
+
+#ifndef __x86_64__
+ /* See if we can use cpuid. On AMD64 we always can. */
+#if __GNUC__ >= 3
+ __asm__ ("pushf{l|d}\n\t"
+ "pushf{l|d}\n\t"
+ "pop{l}\t%0\n\t"
+ "mov{l}\t{%0, %1|%1, %0}\n\t"
+ "xor{l}\t{%2, %0|%0, %2}\n\t"
+ "push{l}\t%0\n\t"
+ "popf{l|d}\n\t"
+ "pushf{l|d}\n\t"
+ "pop{l}\t%0\n\t"
+ "popf{l|d}\n\t"
+ : "=&r" (__eax), "=&r" (__ebx)
+ : "i" (0x00200000));
+#else
+/* Host GCCs older than 3.0 weren't supporting Intel asm syntax
+ nor alternatives in i386 code. */
+ __asm__ ("pushfl\n\t"
+ "pushfl\n\t"
+ "popl\t%0\n\t"
+ "movl\t%0, %1\n\t"
+ "xorl\t%2, %0\n\t"
+ "pushl\t%0\n\t"
+ "popfl\n\t"
+ "pushfl\n\t"
+ "popl\t%0\n\t"
+ "popfl\n\t"
+ : "=&r" (__eax), "=&r" (__ebx)
+ : "i" (0x00200000));
+#endif
+
+ if (!((__eax ^ __ebx) & 0x00200000))
+ return 0;
+#endif
+
+ /* Host supports cpuid. Return highest supported cpuid input value. */
+ __cpuid (__ext, __eax, __ebx, __ecx, __edx);
+
+ if (__sig)
+ *__sig = __ebx;
+
+ return __eax;
+}
+
+/* Return cpuid data for requested cpuid level, as found in returned
+ eax, ebx, ecx and edx registers. The function checks if cpuid is
+ supported and returns 1 for valid cpuid information or 0 for
+ unsupported cpuid level. All pointers are required to be non-null. */
+
+static __inline int
+__get_cpuid (unsigned int __level,
+ unsigned int *__eax, unsigned int *__ebx,
+ unsigned int *__ecx, unsigned int *__edx)
+{
+ unsigned int __ext = __level & 0x80000000;
+
+ if (__get_cpuid_max (__ext, 0) < __level)
+ return 0;
+
+ __cpuid (__level, *__eax, *__ebx, *__ecx, *__edx);
+ return 1;
+}
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.1/src/havege.c new/haveged-1.2/src/havege.c
--- old/haveged-1.1/src/havege.c 2011-01-11 20:30:36.000000000 +0100
+++ new/haveged-1.2/src/havege.c 2011-06-26 21:49:31.000000000 +0200
@@ -34,7 +34,6 @@
static struct hinfo info; // configuration
MSC_DATA;
-int havege_collect(volatile H_PTR hptr);
/**
** local prototypes
*/
@@ -54,24 +53,24 @@
{
unsigned char regs[4*sizeof(int)];
unsigned int *p = (unsigned int *)regs;
- int f;
-
+
if (info.i_cache>0 && info.d_cache>0)
return 1;
- HASCPUID(f);
- if (f)
- cpuid(0,p,"cache_configure");
- else p[0] = 0;
- switch(p[1]) {
- case 0x68747541: info.vendor = "amd"; break;
- case 0x69727943: info.vendor = "cyrix"; break;
- case 0x746e6543: info.vendor = "centaur"; break; // aka via
- case 0x756e6547: info.vendor = "intel"; break;
- case 0x646f6547: info.vendor = "natsemi"; break;
- case 0x52697365:
- case 0x65736952: info.vendor = "rise"; break; // now owned by sis
- case 0x20536953: info.vendor = "sis"; break;
+ if (HASCPUID(p)) {
+ cpuid(0,p,"max info type");
+ switch(p[1]) {
+ case 0x68747541: info.vendor = "amd"; break;
+ case 0x69727943: info.vendor = "cyrix"; break;
+ case 0x746e6543: info.vendor = "centaur"; break; // aka via
+ case 0x756e6547: info.vendor = "intel"; break;
+ case 0x646f6547: info.vendor = "natsemi"; break;
+ case 0x52697365:
+ case 0x65736952: info.vendor = "rise"; break; // now owned by sis
+ case 0x20536953: info.vendor = "sis"; break;
+ default: info.vendor = "other"; break;
+ }
}
+ else p[0] = 0;
info.arch = ARCH;
info.generic = 0;
if (!strcmp(info.vendor,"amd") && configure_amd())
@@ -179,7 +178,7 @@
lines = p[1] & 0xfff;
parts = (p[1]>>12) & 0x3ff;
ways = (p[1]>>22) & 0x3ff;
- n = ((ways+1)*(parts+1)*(lines+1)*(p[3]+1))/1024;
+ n = ((ways+1)*(parts+1)*(lines+1)*(p[2]+1))/1024;
if (DEBUG_ENABLED(DEBUG_CPUID))
DEBUG_OUT("type=%d,level=%d,ways=%d,parts=%d,lines=%d,sets=%d: %d\n",
type,level,ways+1,parts+1,lines+1,p[3]+1,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.1/src/havegecollect.c new/haveged-1.2/src/havegecollect.c
--- old/haveged-1.1/src/havegecollect.c 2011-01-11 20:23:29.000000000 +0100
+++ new/haveged-1.2/src/havegecollect.c 2011-06-26 21:41:08.000000000 +0200
@@ -76,6 +76,8 @@
/**
* Local prototypes
*/
+// int havege_collect(volatile H_PTR hptr) __attribute__((optimize(1)));
+
static int havege_sp(int i, int n, char *p);
static volatile int *havege_tune(H_PTR h);
/**
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.1/src/havegecollect.h new/haveged-1.2/src/havegecollect.h
--- old/haveged-1.1/src/havegecollect.h 2011-01-11 20:23:27.000000000 +0100
+++ new/haveged-1.2/src/havegecollect.h 2011-06-26 21:46:26.000000000 +0200
@@ -19,52 +19,82 @@
#ifndef HAVEGECOLLECT_H
#define HAVEGECOLLECT_H
/**
- * These definitions define the environment needed to build havege
- * using the gcc compiler.
+ ** These definitions define the environment needed to build havege
+ ** using the gcc compiler.
*/
+#include "havege.h"
#include
/**
- * Hardware constraints
+ ** Hardware constraints
*/
#define CRYPTOSIZECOLLECT 0x040000 /* 256k (1MB int) */
#define NDSIZECOLLECT 0x100000 /* 1M (4MB int) */
#define NDSIZECOLLECTx2 0x200000 /* 2x NDSIZECOLLECT */
#define MININITRAND 32
/**
- * Microsecond resolution times use gettimeofday
+ ** Microsecond resolution times use gettimeofday
*/
#define MSC_DATA static struct timeval et0,et1;
#define MSC_ELAPSED() (et1.tv_sec - et0.tv_sec)*1000000 + et1.tv_usec - et0.tv_usec
#define MSC_START() gettimeofday(&et0,NULL)
#define MSC_STOP() gettimeofday(&et1,NULL)
-/*
- * Only GNU Compilers need apply
+/**
+ ** Compiler intrinsics are used to make the build more portable and stable
+ ** with fallbacks provided where the intrisics cannot be used.
*/
-#define GNUCC
-#ifdef GNUCC
+#ifdef __GNUC__
#define ASM __asm__ volatile
-#endif
/**
- * For intel iron, configuration uses the cpuid instruction. This app assumes it
- * is present if this is a 64 bit architecture because the 32 bit test uses the
- * stack and won't fly in 64 bit land.
- *
- * N.B. The definition of HARDCLOCK AS 'ASM("rdtsc":"=A"(x))' is incorrect for x86_64
- * and even documented as such in the gnu assembler doc under machine constraints.
+ ** The collection mechanism cannot withstand agressive optimization
+ */
+int havege_collect(volatile H_PTR hptr) __attribute__((optimize(1)));
+/**
+ ** For the intel world...
*/
#ifdef HAVE_ISA_X86
#define ARCH "x86"
-#define CPUID(op,regs) ASM("xchgl %%ebx,%0\n\tcpuid \n\txchgl %%ebx,%0\n\t"\
- : "+r" (regs[1]), "=a" (regs[0]), "=c" (regs[3]), "=d" (regs[2])\
- : "1" (op), "2" (regs[3]) : "%ebx")
-#define HARDCLOCK(x) ASM("rdtsc;movl %%eax,%0":"=m"(x)::"ax","dx")
-#ifdef HAVE_64
-#define HASCPUID(x) x=1
+/**
+ ** For the GNU compiler, the use of a cpuid intrinsic is somewhat garbled by the
+ ** fact that some distributions (Centos 5.x) carry an empty cpuid.h (in order
+ ** to back patch glicb?). AFAIK cpuid did not appear in gcc until version 4.3
+ ** although it was in existance before. If we do not have a valid cpuid.h,
+ ** we provide our own copy of the file (from gcc 4.3)
+ */
+#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+
+#if GCC_VERSION<40300
+#undef HAVE_CPUID_H
+#endif
+#ifdef HAVE_CPUID_H
+#include
#else
-#define HASCPUID(x) ASM ("pushfl;popl %%eax;movl %%eax,%%ecx;xorl $0x00200000,%%eax;"\
- "pushl %%eax;popfl;pushfl;popl %%eax;xorl %%ecx,%%eax":"=a" (x))
+#include "cpuid-43.h"
#endif
+/**
+ ** Compatability wrappers
+ */
+#define CPUID(level,p)\
+ {\
+ __cpuid_count (level,p[3],p[0],p[1],p[2],p[3]);\
+ }
+#define HASCPUID(p) __get_cpuid_max(0, p)
+/**
+ ** The rdtsc intrinsic is called in by x86intrin.h - also a recent gcc innovation
+ ** There have been some discussions of the code in 4.5 and 4.6, so you may opt
+ ** to use the inline alternative based on GCC_VERSION
+ */
+#ifdef HAVE_X86INTRIN_H
+#include
+#define HARDCLOCK(x) x=__rdtsc()
+#else
+#define HARDCLOCK(x) ASM("rdtsc;movl %%eax,%0":"=m"(x)::"ax","dx")
#endif
+#else
+/**
+ * No cpuid support outside of the x86 family
+ */
+#define CPUID(level,p) 0
+#define HASCPUID(p) 0
#ifdef HAVE_ISA_SPARC
#define ARCH "sparc"
@@ -90,10 +120,45 @@
#define HARDCLOCK(x) ASM("mov %0=ar.itc" : "=r"(x))
#define HASCPUID(x) x=1
#endif
+
+
+#endif
/**
- * Use gcc's "&&" extension to calculate the LOOP_PT
+ * Use the "&&" extension to calculate the LOOP_PT
*/
#define CODE_PT(a) a
#define LOOP_PT(a) &&loop##a
+/**
+ * For the MSVC world
+ */
+#endif
+#if _MSVC_VERS
+#define ARCH "x86"
+/**
+ ** The collection mechanism
+ */
+int havege_collect(volatile H_PTR hptr);
+/**
+ * For the MSVC compilers V8 and above
+ */
+#include
+/**
+ * Read the processor timestamp counter
+ */
+#define HARDCLOCK(x) x=__rdtsc()
+/**
+ * Normalize to the gcc interface
+ */
+#define CPUID(level,p) return __cpuidx(p, p[3], level)
+#define HASCPUID(p) \
+ {
+ CPUID(0,a,b,c,d)
+ }
+/**
+ * Use the __ReturnAddress intrisic to calculate the LOOP_PT
+ */
+#define CODE_PT(a) __ReturnAddress()
+#define LOOP_PT(a) 0
+#endif
#endif
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.1/src/haveged.c new/haveged-1.2/src/haveged.c
--- old/haveged-1.1/src/haveged.c 2011-01-11 20:44:52.000000000 +0100
+++ new/haveged-1.2/src/haveged.c 2011-06-26 21:48:46.000000000 +0200
@@ -39,7 +39,6 @@
#include "haveged.h"
#include "havege.h"
-//#include "havegecollect.h"
/**
* Parameters
*/
continue with "q"...
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org