Hi,
so I wonder, would you mind trying the attached patch for size, see if it makes
your build better?
Cheers,
Richard
Vid Ons, 09 Mar 2016 kl. 22.39.57, skrev [email protected]:
> Working from Master:
>
> $ git reset --hard HEAD
> HEAD is now at 64b9d84 When grepping something starting with a
> dash, remember to use -e
> $ git pull
> Already up-to-date.
>
> And then:
>
> $ ./config
> ...
> $ make depend && make clean && make
> ...
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_BN_ASM_MONT
> -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DECP_NISTZ256_ASM
> -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread
> -Wa,--noexecstack -fPIC -Iinclude -I. -Icrypto/include -c -o
> crypto/cast/c_skey.o crypto/cast/c_skey.c
> gcc -E crypto/chacha/chacha-armv8.S > crypto/chacha/chacha-armv8.s
> crypto/chacha/chacha-armv8.S:1:22: fatal error: arm_arch.h: No such
> file or directory
> #include "arm_arch.h"
> ^
> compilation terminated.
> <builtin>: recipe for target 'crypto/chacha/chacha-armv8.s' failed
>
> **********
>
> $ ./config
> Operating system: aarch64-whatever-linux2
> Configuring for linux-aarch64
> Configuring OpenSSL version 1.1.0-pre4-dev (0x0x10100004L)
> no-crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG (skip dir)
> no-crypto-mdebug-backtrace [forced]
> OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE (skip dir)
> no-ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128
> (skip dir)
> no-egd [default] OPENSSL_NO_EGD (skip dir)
> no-heartbeats [default] OPENSSL_NO_HEARTBEATS (skip dir)
> no-md2 [default] OPENSSL_NO_MD2 (skip dir)
> no-rc5 [default] OPENSSL_NO_RC5 (skip dir)
> no-sctp [default] OPENSSL_NO_SCTP (skip dir)
> no-shared [default]
> no-ssl-trace [default] OPENSSL_NO_SSL_TRACE (skip dir)
> no-ssl3 [default] OPENSSL_NO_SSL3 (skip dir)
> no-ssl3-method [default] OPENSSL_NO_SSL3_METHOD (skip dir)
> no-static-engine [default] OPENSSL_NO_STATIC_ENGINE (skip dir)
> no-unit-test [default] OPENSSL_NO_UNIT_TEST (skip dir)
> no-weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS (skip
> dir)
> no-zlib [default]
> no-zlib-dynamic [default]
> Configuring for linux-aarch64
> IsMK1MF =no
> CC =gcc
> CFLAG =-Wall -O3 -pthread -Wa,--noexecstack
> SHARED_CFLAG =-fPIC
> DEFINES =DSO_DLFCN HAVE_DLFCN_H OPENSSL_THREADS
> OPENSSL_NO_STATIC_ENGINE OPENSSL_PIC OPENSSL_BN_ASM_MONT SHA1_ASM
> SHA256_ASM SHA512_ASM VPAES_ASM ECP_NISTZ256_ASM POLY1305_ASM
> LFLAG =
> PLIB_LFLAG =
> EX_LIBS =-ldl
> APPS_OBJ =
> CPUID_OBJ =armcap.o arm64cpuid.o mem_clr.o
> UPLINK_OBJ =
> BN_ASM =bn_asm.o armv8-mont.o
> EC_ASM =ecp_nistz256.o ecp_nistz256-armv8.o
> DES_ENC =des_enc.o fcrypt_b.o
> AES_ENC =aes_core.o aes_cbc.o aesv8-armx.o vpaes-armv8.o
> BF_ENC =bf_enc.o
> CAST_ENC =c_enc.o
> RC4_ENC =rc4_enc.o rc4_skey.o
> RC5_ENC =rc5_enc.o
> MD5_OBJ_ASM =
> SHA1_OBJ_ASM =sha1-armv8.o sha256-armv8.o sha512-armv8.o
> RMD160_OBJ_ASM=
> CMLL_ENC =camellia.o cmll_misc.o cmll_cbc.o
> MODES_OBJ =ghashv8-armx.o
> PADLOCK_OBJ =
> CHACHA_ENC =chacha-armv8.o
> POLY1305_OBJ =poly1305-armv8.o
> PROCESSOR =
> RANLIB =/usr/bin/ranlib
> ARFLAGS =
> PERL =/usr/bin/perl
>
> SIXTY_FOUR_BIT_LONG mode
>
> Configured for linux-aarch64.
--
Richard Levitte
[email protected]
--
Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4406
Please log in as guest with password guest if prompted
diff --git a/Configurations/common.tmpl b/Configurations/common.tmpl
index c2362d0..d89817e 100644
--- a/Configurations/common.tmpl
+++ b/Configurations/common.tmpl
@@ -32,17 +32,24 @@
@newlist;
}
+ # dogenerate is responsible for producing all the recipes that build
+ # generated source files. It recurses in case a dependency is also a
+ # generated source file.
sub dogenerate {
my $src = shift;
return "" if $cache{$src};
+ my $obj = shift;
+ my $bin = shift;
my %opts = @_;
if ($unified_info{generate}->{$src}) {
$OUT .= generatesrc(src => $src,
generator => $unified_info{generate}->{$src},
deps => $unified_info{depends}->{$src},
+ incs => [ @{$unified_info{includes}->{$bin}},
+ @{$unified_info{includes}->{$obj}} ],
%opts);
foreach (@{$unified_info{depends}->{$src}}) {
- dogenerate($_, %opts);
+ dogenerate($_, $obj, $bin, %opts);
}
}
$cache{$src} = 1;
@@ -65,7 +72,7 @@
%opts);
foreach ((@{$unified_info{sources}->{$obj}},
@{$unified_info{depends}->{$obj}})) {
- dogenerate($_, %opts);
+ dogenerate($_, $obj, $bin, %opts);
}
}
$cache{$obj} = 1;
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 02e8cb4..114a4be 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -825,6 +825,7 @@ configdata.pm: {- $config{build_file_template} -} $(SRCDIR)/Configurations/commo
sub generatesrc {
my %args = @_;
my $generator = join(" ", @{$args{generator}});
+ my $incs = join("", map { " -I".$_ } @{$args{incs}});
if ($args{src} !~ /\.[sS]$/) {
return <<"EOF";
@@ -851,7 +852,7 @@ EOF
$target: $args{generator}->[0]
( trap "rm -f \[email protected]" INT; \\
$generator \[email protected]; \\
- \$(CC) \$(CFLAGS) -E -P \[email protected] > \$@ && rm -f \[email protected] )
+ \$(CC) \$(CFLAGS) $incs -E -P \[email protected] > \$@ && rm -f \[email protected] )
EOF
}
# Otherwise....
@@ -862,7 +863,7 @@ EOF
}
return <<"EOF";
$args{src}: $args{generator}->[0]
- \$(CC) \$(CFLAGS) -E -P \$< > \$@
+ \$(CC) \$(CFLAGS) $incs -E -P \$< > \$@
EOF
}
}
--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev