Configurations/10-main.conf: clean up HP-UX targets and add magic macros.
authorAndy Polyakov <appro@openssl.org>
Sat, 24 Mar 2018 20:05:05 +0000 (21:05 +0100)
committerAndy Polyakov <appro@openssl.org>
Sun, 8 Apr 2018 09:21:24 +0000 (11:21 +0200)
HP-UX provides sockets symbols with incompatible prototypes under same
name. This caused problems in 64-bit builds. Additional macros force
unambiguous symbols with unambiguous prototypes.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5742)

Configurations/10-main.conf

index 03a53d3bf4cfee63fa7201fd78a6749525ed9f1e..7f1c64d8da5055de8fa71968329c9f822aabaa51 100644 (file)
@@ -452,14 +452,19 @@ my %targets = (
 #   targets; b) performance-critical 32-bit assembly modules implement
 #   even PA-RISC 2.0-specific code paths, which are chosen at run-time,
 #   thus adequate performance is provided even with PA-RISC 1.1 build.
+    "hpux-network" => {
+        template         => 1,
+        defines          => add("_XOPEN_SOURCE", "_XOPEN_SOURCE_EXTENDED",
+                                "_HPUX_ALT_XOPEN_SOCKET_API"),
+    },
     "hpux-parisc-gcc" => {
-        inherit_from     => [ "BASE_unix" ],
+        inherit_from     => [ "BASE_unix", "hpux-network" ],
         CC               => "gcc",
         CFLAGS           => picker(debug   => "-O0 -g",
                                    release => "-O3"),
         cflags           => add(threads("-pthread")),
         lib_cppflags     => "-DB_ENDIAN -DBN_DIV2W",
-        ex_libs          => add("-Wl,+s -ldld", threads("-pthread")),
+        ex_libs          => add("-ldld", threads("-pthread")),
         bn_ops           => "BN_LLONG",
         thread_scheme    => "pthreads",
         dso_scheme       => "dl",
@@ -473,13 +478,14 @@ my %targets = (
         multilib         => "/pa1.1",
     },
     "hpux64-parisc2-gcc" => {
-        inherit_from     => [ "BASE_unix", asm("parisc20_64_asm") ],
+        inherit_from     => [ "BASE_unix", "hpux-network",
+                              asm("parisc20_64_asm") ],
         CC               => "gcc",
         CFLAGS           => combine(picker(debug   => "-O0 -g",
                                            release => "-O3")),
-        cppflags         => threads("-D_REENTRANT"),
+        cflags           => add(threads("-pthread")),
         lib_cppflags     => "-DB_ENDIAN",
-        ex_libs          => add("-ldl"),
+        ex_libs          => add("-ldl", threads("-pthread")),
         bn_ops           => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
         thread_scheme    => "pthreads",
         dso_scheme       => "dlfcn",
@@ -492,14 +498,14 @@ my %targets = (
 
     # More attempts at unified 10.X and 11.X targets for HP C compiler.
     "hpux-parisc-cc" => {
-        inherit_from     => [ "BASE_unix" ],
+        inherit_from     => [ "BASE_unix", "hpux-network" ],
         CC               => "cc",
         CFLAGS           => picker(debug   => "+O0 +d -g",
                                    release => "+O3"),
         cflags           => "+Optrs_strongly_typed -Ae +ESlit",
         cppflags         => threads("-D_REENTRANT"),
         lib_cppflags     => "-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY",
-        ex_libs          => add("-Wl,+s -ldld",threads("-lpthread")),
+        ex_libs          => add("-ldld", threads("-lpthread")),
         bn_ops           => "RC4_CHAR",
         thread_scheme    => "pthreads",
         dso_scheme       => "dl",
@@ -514,14 +520,15 @@ my %targets = (
         multilib         => "/pa1.1",
     },
     "hpux64-parisc2-cc" => {
-        inherit_from     => [ "BASE_unix", asm("parisc20_64_asm") ],
+        inherit_from     => [ "BASE_unix", "hpux-network",
+                              asm("parisc20_64_asm") ],
         CC               => "cc",
         CFLAGS           => picker(debug   => "+O0 +d -g",
                                    release => "+O3") ,
         cflags           => "+DD64 +Optrs_strongly_typed -Ae +ESlit",
         cppflags         => threads("-D_REENTRANT") ,
         lib_cppflags     => "-DB_ENDIAN -DMD32_XARRAY",
-        ex_libs          => add("-ldl",threads("-lpthread")),
+        ex_libs          => add("-ldl", threads("-lpthread")),
         bn_ops           => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
         thread_scheme    => "pthreads",
         dso_scheme       => "dlfcn",
@@ -534,14 +541,14 @@ my %targets = (
 
     # HP/UX IA-64 targets
     "hpux-ia64-cc" => {
-        inherit_from     => [ "BASE_unix", asm("ia64_asm") ],
+        inherit_from     => [ "BASE_unix", "hpux-network", asm("ia64_asm") ],
         CC               => "cc",
         CFLAGS           => picker(debug   => "+O0 +d -g",
                                    release => "+O2"),
         cflags           => "-Ae +DD32 +Olit=all -z",
         cppflags         => add(threads("-D_REENTRANT")),
         lib_cppflags     => "-DB_ENDIAN",
-        ex_libs          => add("-ldl",threads("-lpthread")),
+        ex_libs          => add("-ldl", threads("-lpthread")),
         bn_ops           => "SIXTY_FOUR_BIT",
         thread_scheme    => "pthreads",
         dso_scheme       => "dlfcn",
@@ -552,7 +559,7 @@ my %targets = (
         multilib         => "/hpux32",
     },
     "hpux64-ia64-cc" => {
-        inherit_from     => [ "BASE_unix", asm("ia64_asm") ],
+        inherit_from     => [ "BASE_unix", "hpux-network", asm("ia64_asm") ],
         CC               => "cc",
         CFLAGS           => picker(debug   => "+O0 +d -g",
                                    release => "+O3"),
@@ -571,7 +578,7 @@ my %targets = (
     },
     # GCC builds...
     "hpux-ia64-gcc" => {
-        inherit_from     => [ "BASE_unix", asm("ia64_asm") ],
+        inherit_from     => [ "BASE_unix", "hpux-network", asm("ia64_asm") ],
         CC               => "gcc",
         CFLAGS           => picker(debug   => "-O0 -g",
                                    release => "-O3"),
@@ -588,7 +595,7 @@ my %targets = (
         multilib         => "/hpux32",
     },
     "hpux64-ia64-gcc" => {
-        inherit_from     => [ "BASE_unix", asm("ia64_asm") ],
+        inherit_from     => [ "BASE_unix", "hpux-network", asm("ia64_asm") ],
         CC               => "gcc",
         CFLAGS           => picker(debug   => "-O0 -g",
                                    release => "-O3"),