Accepting request 94703 from home:oertel:branches:openSUSE:Factory

- fix build on ia64, s390, s390x

OBS-URL: https://build.opensuse.org/request/show/94703
OBS-URL: https://build.opensuse.org/package/show/security/haveged?expand=0&rev=51
This commit is contained in:
Cristian Rodríguez 2011-12-02 05:14:25 +00:00 committed by Git OBS Bridge
parent 2c8fab5d04
commit 557c678588
3 changed files with 54 additions and 0 deletions

47
haveged-otherarch.patch Normal file
View File

@ -0,0 +1,47 @@
--- configure.ac
+++ configure.ac
@@ -81,6 +81,14 @@
HA_CPPFLAGS="-DHAVE_ISA_IA64"
;;
+ s390-*)
+ HA_CPPFLAGS="-DHAVE_ISA_S390"
+ ;;
+
+ s390x-*)
+ HA_CPPFLAGS="-DHAVE_ISA_S390X"
+ ;;
+
powerpc*|pcc-*|powerpc64|ppc64)
HA_CPPFLAGS="-DHAVE_ISA_PPC"
;;
--- src/havegecollect.h
+++ src/havegecollect.h
@@ -124,12 +124,25 @@
#ifdef HAVE_ISA_IA64
#define ARCH "ia64"
-#define CPUID(op,reg) ASM("mov %0=cpuid[%1]"\
+/* commented out, does not compile, ro 2011-11-01
+hash define CPUID(op,reg) ASM("mov %0=cpuid[%1]"\
: "=r" (value)\
: "r" (reg))
+hash define HASCPUID(x) x=1
+ */
#define HARDCLOCK(x) ASM("mov %0=ar.itc" : "=r"(x))
-#define HASCPUID(x) x=1
#endif
+
+#ifdef HAVE_ISA_S390
+#define ARCH "s390"
+#define HARDCLOCK(x) { unsigned long long cycles ; __asm__("stck 0(%0)" : : "a" (&(cycles)) : "memory", "cc"); x = cycles; }
+#endif
+
+#ifdef HAVE_ISA_S390X
+#define ARCH "s390x"
+#define HARDCLOCK(x) { unsigned long long cycles ; __asm__("stck 0(%0)" : : "a" (&(cycles)) : "memory", "cc"); x = cycles; }
+#endif
+
#endif
/**
* Use the "&&" extension to calculate the LOOP_PT

View File

@ -9,6 +9,11 @@ Tue Nov 22 14:24:33 UTC 2011 - crrodriguez@opensuse.org
- Use Service type "simple" in systemd unit
-------------------------------------------------------------------
Tue Nov 1 17:46:35 CET 2011 - ro@suse.de
- fix build on ia64, s390, s390x
-------------------------------------------------------------------
Tue Oct 25 08:37:28 UTC 2011 - pascal.bleser@opensuse.org

View File

@ -28,6 +28,7 @@ Source0: http://www.issihosts.com/haveged/%{name}-%{version}.tar.gz
Source1: %{name}.init
Source2: %{name}.service
Patch1: %{name}-ppc64.patch
Patch2: %{name}-otherarch.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExcludeArch: %{arm}
Requires(pre): %insserv_prereq
@ -52,6 +53,7 @@ For more informations see http://www.issihosts.com/haveged/
%prep
%setup -q
%patch1
%patch2
%build
autoreconf -fiv