OpenSSL 1.1 pre3 64-bit builds

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

OpenSSL 1.1 pre3 64-bit builds

Erik Forsberg-11

Latest pre3 release doesnt build CFLAGS correctly, noticed it when doing a
64-bit build and the -m64 cc argument was never passed down to cc, failing
particularly when trying to assemble 64-bit code in  32-bit default mode.

See attached make.log

I used a standard configuration
perl Configure solaris64-x86_64-gcc
suspect the problem is generic though.

--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

make.log (20K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: OpenSSL 1.1 pre3 64-bit builds

Richard Levitte - VMS Whacker-2
In message <[hidden email]> on Mon, 15 Feb 2016 17:04:58 -0800, "Erik Forsberg" <[hidden email]> said:

erik> Latest pre3 release doesnt build CFLAGS correctly, noticed it when doing a
erik> 64-bit build and the -m64 cc argument was never passed down to cc, failing
erik> particularly when trying to assemble 64-bit code in  32-bit default mode.

Thank you, you found a but in 10-main.conf (and in your own
20-efca.conf for that matter).

The add() and add_before() functions take a separator string as first
argument, remaining argument are those that will be added to inherited
values, after or before.  Unfortunately, it seems like a number of
them didn't get that separator argument.  For example the following
line in the solaris64-x86_64-gcc config:

        cflags           => add_before("-m64 -Wall -DL_ENDIAN"),

should really look like this:

        cflags           => add_before(" ", "-m64 -Wall -DL_ENDIAN"),

We will correct this, of course.  In the mean time, I suggest you try
out that kind of change.

Cheers,
Richard

--
Richard Levitte         [hidden email]
OpenSSL Project         http://www.openssl.org/~levitte/
--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
Reply | Threaded
Open this post in threaded view
|

Re: OpenSSL 1.1 pre3 64-bit builds

Richard Levitte - VMS Whacker-2
In message <[hidden email]> on Tue, 16 Feb 2016 02:39:40 +0100 (CET), Richard Levitte <[hidden email]> said:

levitte> In message <[hidden email]> on Mon, 15 Feb 2016 17:04:58 -0800, "Erik Forsberg" <[hidden email]> said:
levitte>
levitte> erik> Latest pre3 release doesnt build CFLAGS correctly, noticed it when doing a
levitte> erik> 64-bit build and the -m64 cc argument was never passed down to cc, failing
levitte> erik> particularly when trying to assemble 64-bit code in  32-bit default mode.
levitte>
levitte> Thank you, you found a but in 10-main.conf (and in your own
levitte> 20-efca.conf for that matter).
levitte>
levitte> The add() and add_before() functions take a separator string as first
levitte> argument, remaining argument are those that will be added to inherited
levitte> values, after or before.  Unfortunately, it seems like a number of
levitte> them didn't get that separator argument.  For example the following
levitte> line in the solaris64-x86_64-gcc config:
levitte>
levitte>         cflags           => add_before("-m64 -Wall -DL_ENDIAN"),
levitte>
levitte> should really look like this:
levitte>
levitte>         cflags           => add_before(" ", "-m64 -Wall -DL_ENDIAN"),
levitte>
levitte> We will correct this, of course.  In the mean time, I suggest you try
levitte> out that kind of change.

Fixing patch attached for you to try with.

--
Richard Levitte         [hidden email]
OpenSSL Project         http://www.openssl.org/~levitte/

diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf
index 2d7839b..cf5371b 100644
--- a/Configurations/00-base-templates.conf
+++ b/Configurations/00-base-templates.conf
@@ -132,7 +132,7 @@
     mips64_asm => {
  inherit_from => [ "mips32_asm" ],
  template => 1,
- sha1_asm_src    => add("sha512-mips.S")
+ sha1_asm_src    => add(" ", "sha512-mips.S")
     },
     s390x_asm => {
  template => 1,
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index cb82501..e07b926 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -53,7 +53,7 @@
         # with "Illegal mnemonic" error message.
         inherit_from     => [ "solaris-common", asm("x86_elf_asm") ],
         cc               => "gcc",
-        cflags           => add_before("-march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM"),
+        cflags           => add_before(" ", "-march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM"),
         debug_cflags     => "-O0 -g",
         release_cflags   => "-O3 -fomit-frame-pointer",
         thread_cflag     => "-pthread",
@@ -72,7 +72,7 @@
         # <[hidden email]>
         inherit_from     => [ "solaris-common", asm("x86_64_asm") ],
         cc               => "gcc",
-        cflags           => add_before("-m64 -Wall -DL_ENDIAN"),
+        cflags           => add_before(" ", "-m64 -Wall -DL_ENDIAN"),
         debug_cflags     => "-O0 -g",
         release_cflags   => "-O3",
         thread_cflag     => "-pthread",
@@ -87,12 +87,12 @@
     "solaris-x86-cc" => {
         inherit_from     => [ "solaris-common" ],
         cc               => "cc",
-        cflags           => add_before("-xarch=generic -xstrconst -Xa -DL_ENDIAN"),
+        cflags           => add_before(" ", "-xarch=generic -xstrconst -Xa -DL_ENDIAN"),
         debug_cflags     => "-g",
         release_cflags   => "-xO5 -xregs=frameptr -xdepend -xbuiltin",
         thread_cflag     => "-D_REENTRANT",
-        lflags           => add("-mt"),
-        ex_libs          => add("-lpthread"),
+        lflags           => add(" ", "-mt"),
+        ex_libs          => add(" ", "-lpthread"),
         bn_ops           => "BN_LLONG RC4_CHAR",
         shared_cflag     => "-KPIC",
         shared_ldflag    => "-G -dy -z text",
@@ -100,12 +100,12 @@
     "solaris64-x86_64-cc" => {
         inherit_from     => [ "solaris-common", asm("x86_64_asm") ],
         cc               => "cc",
-        cflags           => add_before("-xarch=generic64 -xstrconst -Xa -DL_ENDIAN"),
+        cflags           => add_before(" ", "-xarch=generic64 -xstrconst -Xa -DL_ENDIAN"),
         debug_cflags     => "-g",
         release_cflags   => "-xO5 -xdepend -xbuiltin",
         thread_cflag     => "-D_REENTRANT",
-        lflags           => add("-mt"),
-        ex_libs          => add("-lpthread"),
+        lflags           => add(" ", "-mt"),
+        ex_libs          => add(" ", "-lpthread"),
         bn_ops           => "SIXTY_FOUR_BIT_LONG",
         perlasm_scheme   => "elf",
         shared_cflag     => "-KPIC",
@@ -117,7 +117,7 @@
     "solaris-sparcv7-gcc" => {
         inherit_from     => [ "solaris-common" ],
         cc               => "gcc",
-        cflags           => add_before("-Wall -DB_ENDIAN -DBN_DIV2W"),
+        cflags           => add_before(" ", "-Wall -DB_ENDIAN -DBN_DIV2W"),
         debug_cflags     => "-O0 -g",
         release_cflags   => "-O3",
         thread_cflag     => "-pthread",
@@ -151,12 +151,12 @@
     "solaris-sparcv7-cc" => {
         inherit_from     => [ "solaris-common" ],
         cc               => "cc",
-        cflags           => add_before("-xstrconst -Xa -DB_ENDIAN -DBN_DIV2W"),
+        cflags           => add_before(" ", "-xstrconst -Xa -DB_ENDIAN -DBN_DIV2W"),
         debug_cflags     => "-g -DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG",
         release_cflags   => "-xO5 -xdepend",
         thread_cflag     => "-D_REENTRANT",
-        lflags           => add("-mt"),
-        ex_libs          => add("-lpthread"),
+        lflags           => add(" ", "-mt"),
+        ex_libs          => add(" ", "-lpthread"),
         bn_ops           => "BN_LLONG RC4_CHAR",
         shared_cflag     => "-KPIC",
         shared_ldflag    => "-G -dy -z text",
@@ -1565,11 +1565,11 @@
     },
     "vms-alpha-P32" => {
  inherit_from => [ "vms-alpha" ],
- cflags => add("/POINTER_SIZE=32"),
+ cflags => add(" ", "/POINTER_SIZE=32"),
     },
     "vms-alpha-P64" => {
  inherit_from => [ "vms-alpha" ],
- cflags => add("/POINTER_SIZE=64"),
+ cflags => add(" ", "/POINTER_SIZE=64"),
     },
     "vms-ia64" => {
         inherit_from     => [ "vms-generic" ],
@@ -1580,11 +1580,11 @@
     },
     "vms-ia64-P32" => {
  inherit_from => [ "vms-ia64" ],
- cflags => add("/POINTER_SIZE=32"),
+ cflags => add(" ", "/POINTER_SIZE=32"),
     },
     "vms-ia64-P64" => {
  inherit_from => [ "vms-ia64" ],
- cflags => add("/POINTER_SIZE=64"),
+ cflags => add(" ", "/POINTER_SIZE=64"),
     },
 
 );
diff --git a/Configurations/99-personal-levitte.conf b/Configurations/99-personal-levitte.conf
index fbfd3da..a1b92d0 100644
--- a/Configurations/99-personal-levitte.conf
+++ b/Configurations/99-personal-levitte.conf
@@ -8,14 +8,14 @@
 %targets = (
     "levitte-linux-elf" => {
         inherit_from     => [ "linux-elf" ],
-        debug_cflags     => add("-ggdb -g3"),
+        debug_cflags     => add(" ", "-ggdb -g3"),
         debug_defines    => add(undef, "LEVITTE_DEBUG"),
         build_scheme     => [ "unified", "unix" ],
         build_file       => "Makefile",
     },
     "levitte-linux-x86_64" => {
         inherit_from     => [ "linux-x86_64" ],
-        debug_cflags     => add("-ggdb -g3"),
+        debug_cflags     => add(" ", "-ggdb -g3"),
         debug_defines    => add(undef, "LEVITTE_DEBUG"),
         build_scheme     => [ "unified", "unix" ],
         build_file       => "Makefile",

--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev