Re: minor build fix in libssl

2015-12-27 Thread YASUOKA Masahiko
On Thu, 17 Dec 2015 12:04:10 +0900 (JST)
YASUOKA Masahiko  wrote:
> Compiling sha256-x86_64.S fails if the "src" is located a directory
> which includes "512".

Actually I hit this problem like below since it's 2015-12:

  sha512-x86_64.so: In function `sha512_block_data_order':
  /source/yasuoka/201512/src/lib/libcrypto/crypto/obj/sha512-x86_64.S:7: 
multiple definition of `sha512_block_data_order'
  
sha256-x86_64.so:/source/yasuoka/201512/src/lib/libcrypto/crypto/obj/sha256-x86_64.S:7:
 first defined here
  collect2: ld returned 1 exit status
  *** Error 1 in crypto (:212 'libcrypto.so.37.0')
  *** Error 2 in /source/yasuoka/201512/src/lib/libcrypto (:48 
'all')

Also I checked sha512-x86_64.pl again.  It seems the perl script
doesn't assume the argument includes a directory.

Let me update the diff.

ok?

Index: lib/libcrypto/crypto/arch/amd64/Makefile.inc
===
RCS file: /cvs/src/lib/libcrypto/crypto/arch/amd64/Makefile.inc,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile.inc
--- lib/libcrypto/crypto/arch/amd64/Makefile.inc11 Sep 2015 14:48:06 
-  1.5
+++ lib/libcrypto/crypto/arch/amd64/Makefile.inc28 Dec 2015 02:11:11 
-
@@ -46,14 +46,12 @@ CFLAGS+= -DSHA256_ASM
 SRCS+= sha256-x86_64.S
 GENERATED+= sha256-x86_64.S
 sha256-x86_64.S: ${LCRYPTO_SRC}/sha/asm/sha512-x86_64.pl
-   cd ${LCRYPTO_SRC}/sha/asm ; \
-   /usr/bin/perl ./sha512-x86_64.pl ${.OBJDIR}/${.TARGET}
+   /usr/bin/perl ${LCRYPTO_SRC}/sha/asm/sha512-x86_64.pl ${.TARGET}
 CFLAGS+= -DSHA512_ASM
 SRCS+= sha512-x86_64.S
 GENERATED+= sha512-x86_64.S
 sha512-x86_64.S: ${LCRYPTO_SRC}/sha/asm/sha512-x86_64.pl
-   cd ${LCRYPTO_SRC}/sha/asm ; \
-   /usr/bin/perl ./sha512-x86_64.pl ${.OBJDIR}/${.TARGET}
+   /usr/bin/perl ${LCRYPTO_SRC}/sha/asm/sha512-x86_64.pl ${.TARGET}
 # whrlpool
 CFLAGS+= -DWHIRLPOOL_ASM
 SSLASM+= whrlpool wp-x86_64



minor build fix in libssl

2015-12-16 Thread YASUOKA Masahiko
Hi,

Compiling sha256-x86_64.S fails if the "src" is located a directory
which includes "512".

The diff below fixes this problem.

ok?

Index: lib/libssl/src/crypto/sha/asm/sha512-x86_64.pl
===
RCS file: /cvs/src/lib/libssl/src/crypto/sha/asm/sha512-x86_64.pl,v
retrieving revision 1.2
diff -u -p -r1.2 sha512-x86_64.pl
--- lib/libssl/src/crypto/sha/asm/sha512-x86_64.pl  30 Apr 2014 13:40:02 
-  1.2
+++ lib/libssl/src/crypto/sha/asm/sha512-x86_64.pl  17 Dec 2015 02:58:51 
-
@@ -52,7 +52,7 @@ die "can't locate x86_64-xlate.pl";
 open OUT,"| \"$^X\" $xlate $flavour $output";
 *STDOUT=*OUT;
 
-if ($output =~ /512/) {
+if ($output =~ m#.*[\/\\][^\/\\]*512[^\/\\]*$#) {
$func="sha512_block_data_order";
$TABLE="K512";
$SZ=8;