File libica-buildfix.patch of Package libica-1_3_9
--- configure.in
+++ configure.in
@@ -51,15 +51,19 @@
CFLAGS="$cmdline_CFLAGS"
+IS_S390=no
case $target in
*s390x*)
CFLAGS="$CFLAGS -D_LINUX_S390X_ -D_LINUX_S390_"
+ IS_S390=yes
;;
*s390*)
CFLAGS="$CFLAGS -D_LINUX_S390_"
+ IS_S390=yes
;;
esac
+AM_CONDITIONAL([WANT_ICAINFO], [test "$IS_S390" = yes])
AC_ARG_ENABLE(debug,
[--enable-debug turn on debugging flags],
--- src/Makefile.am
+++ src/Makefile.am
@@ -8,6 +8,8 @@
mp_util.c mpsubadd.c prand.c rsa.c rsakygen.c sha1.c sieve.c\
x931prim.c sha256.c sha512.c
+if WANT_ICAINFO
bin_PROGRAMS = icainfo
icainfo_SOURCES = icainfo.c
+endif
--- src/icalinux.c
+++ src/icalinux.c
@@ -386,10 +386,8 @@
#endif
#endif
-#ifdef _LINUX_S390_
#define __USE_GNU
#include <string.h>
-#endif
#include <fcntl.h>
#include <sys/types.h>
#include <sys/ioctl.h>
@@ -416,8 +414,8 @@
#include "ica_err.h"
#include "mech_types.h"
-#ifdef _LINUX_S390_
#include <unistd.h>
+#ifdef _LINUX_S390_
#include <signal.h>
#include <setjmp.h>
#include <openssl/des.h>
--- src/sha256.c
+++ src/sha256.c
@@ -459,7 +459,7 @@
for (l = 0; l < 8; l++)
ctx->h[l] = BETOH32(h_ctx.h[l]);
- memset(h_ctx, 0x00, sizeof h_ctx);
+ memset(&h_ctx, 0x00, sizeof h_ctx);
#else
for (l = 0; l < src_len; l += SHA256_BLOCK_LENGTH,
src += SHA256_BLOCK_LENGTH)
--- src/sha512.c
+++ src/sha512.c
@@ -469,7 +469,7 @@
for (l = 0; l < 8; l++)
ctx->h[l] = BETOH64(h_ctx.h[l]);
- memset(h_ctx, 0x00, sizeof h_ctx);
+ memset(&h_ctx, 0x00, sizeof h_ctx);
#else
for (l = 0; l < src_len; l += SHA512_BLOCK_LENGTH,
src += SHA512_BLOCK_LENGTH)