components/libgpg-error/patches/10_gen-posix-lock-obj.patch
author Jan Parcel <jan.parcel@oracle.com>
Fri, 21 Apr 2017 13:46:39 -0700
branchs11u3-sru
changeset 7926 26093f5b918b
parent 7532 7c3747a0f6b1
permissions -rw-r--r--
25172715 OpenSSL libraries should have RUNPATH for libcrypto pairing 25668366 finish ecc: move openssl.5 to Userland and ship dependent components 24684497 openssl(5) corrections when Elliptic Curve Cryptography is enabled 25816900 openssl.5 in Userland 11.3 needs to be openssl.7 for packaging reasons
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7532
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     1
This patch fixes gen-posix-lock-obj used during library build process to
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     2
generate gpg-error.h.  libgpg-error package delivers the gpg-error.h
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     3
header file to the target system. When built on Solaris, the updated
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     4
part of the code generates definition of the gpgrt_lock_t so that it
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     5
respects the required alignment on SPARCv7 (32bit).
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     6
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     7
The fix can be tested using 'gmake test' in the libgcrypt component. If
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     8
not applied, the t-lock and random tests fail consistently. For more
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     9
information see: https://bugs.gnupg.org/gnupg/issue2378
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    10
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    11
The fix was created internally and offered for integration to the
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    12
upstream.  It has not been accepted yet.
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    13
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    14
--- ./src/gen-posix-lock-obj.c.orig	Mon Jun 13 08:07:53 2016
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    15
+++ ./src/gen-posix-lock-obj.c	Mon Jun 13 08:08:40 2016
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    16
@@ -42,21 +42,8 @@
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    17
 #endif
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    18
 #endif
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    19
 
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    20
-/* Special requirements for certain platforms.  */
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    21
-# define USE_LONG_DOUBLE_FOR_ALIGNMENT 0
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    22
-#if defined(__sun) && !defined (__LP64__) && !defined(_LP64)
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    23
-/* Solaris on 32-bit architecture.  */
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    24
-# define USE_DOUBLE_FOR_ALIGNMENT 1
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    25
-#else
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    26
-# define USE_DOUBLE_FOR_ALIGNMENT 0
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    27
-#endif
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    28
-#if defined(__hppa__)
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    29
-# define USE_16BYTE_ALIGNMENT 1
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    30
-#else
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    31
-# define USE_16BYTE_ALIGNMENT 0
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    32
-#endif
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    33
 
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    34
-#if USE_16BYTE_ALIGNMENT && !HAVE_GCC_ATTRIBUTE_ALIGNED
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    35
+#if defined(__hppa__) && !HAVE_GCC_ATTRIBUTE_ALIGNED
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    36
 # error compiler is not able to enforce a 16 byte alignment
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    37
 #endif
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    38
 
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    39
@@ -122,12 +109,14 @@
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    40
           "\n"
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    41
           "#define GPGRT_LOCK_INITIALIZER {%d,{{",
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    42
           SIZEOF_PTHREAD_MUTEX_T,
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    43
-# if USE_16BYTE_ALIGNMENT
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    44
+/* Special requirements for certain platforms. */
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    45
+# ifdef (__hppa__)
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    46
           "    int _x16_align __attribute__ ((aligned (16)));\n",
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    47
-# elif USE_DOUBLE_FOR_ALIGNMENT
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    48
-          "    double _xd_align;\n",
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    49
-# elif USE_LONG_DOUBLE_FOR_ALIGNMENT
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    50
-          "    long double _xld_align;\n",
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    51
+# elif defined(__sun)
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    52
+	  "#if (defined(__sparc) || defined(__sparc__)) && \\\n"
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    53
+	  "    !defined (__LP64__) && !defined(_LP64)\n"
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    54
+          "    double _xd_align;\n"
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    55
+	  "#endif\n",
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    56
 # else
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    57
           "",
7c3747a0f6b1 24354445 update libgpg-error to version 1.24
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    58
 # endif