forked from nodejs/node
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
deps: upgrade openssl sources to 1.0.2b
This just replaces all sources of openssl-1.0.2b.tar.gz into deps/openssl/openssl Fixes: nodejs#1921 PR-URL: nodejs#1950 Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]>
- Loading branch information
Shigeki Ohtsu
committed
Jun 12, 2015
1 parent
a6b8ee1
commit c21b24d
Showing
365 changed files
with
4,738 additions
and
1,780 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,90 @@ | |
OpenSSL CHANGES | ||
_______________ | ||
|
||
Changes between 1.0.2a and 1.0.2b [11 Jun 2015] | ||
|
||
*) Malformed ECParameters causes infinite loop | ||
|
||
When processing an ECParameters structure OpenSSL enters an infinite loop | ||
if the curve specified is over a specially malformed binary polynomial | ||
field. | ||
|
||
This can be used to perform denial of service against any | ||
system which processes public keys, certificate requests or | ||
certificates. This includes TLS clients and TLS servers with | ||
client authentication enabled. | ||
|
||
This issue was reported to OpenSSL by Joseph Barr-Pixton. | ||
(CVE-2015-1788) | ||
[Andy Polyakov] | ||
|
||
*) Exploitable out-of-bounds read in X509_cmp_time | ||
|
||
X509_cmp_time does not properly check the length of the ASN1_TIME | ||
string and can read a few bytes out of bounds. In addition, | ||
X509_cmp_time accepts an arbitrary number of fractional seconds in the | ||
time string. | ||
|
||
An attacker can use this to craft malformed certificates and CRLs of | ||
various sizes and potentially cause a segmentation fault, resulting in | ||
a DoS on applications that verify certificates or CRLs. TLS clients | ||
that verify CRLs are affected. TLS clients and servers with client | ||
authentication enabled may be affected if they use custom verification | ||
callbacks. | ||
|
||
This issue was reported to OpenSSL by Robert Swiecki (Google), and | ||
independently by Hanno B�ck. | ||
(CVE-2015-1789) | ||
[Emilia K�sper] | ||
|
||
*) PKCS7 crash with missing EnvelopedContent | ||
|
||
The PKCS#7 parsing code does not handle missing inner EncryptedContent | ||
correctly. An attacker can craft malformed ASN.1-encoded PKCS#7 blobs | ||
with missing content and trigger a NULL pointer dereference on parsing. | ||
|
||
Applications that decrypt PKCS#7 data or otherwise parse PKCS#7 | ||
structures from untrusted sources are affected. OpenSSL clients and | ||
servers are not affected. | ||
|
||
This issue was reported to OpenSSL by Michal Zalewski (Google). | ||
(CVE-2015-1790) | ||
[Emilia K�sper] | ||
|
||
*) CMS verify infinite loop with unknown hash function | ||
|
||
When verifying a signedData message the CMS code can enter an infinite loop | ||
if presented with an unknown hash function OID. This can be used to perform | ||
denial of service against any system which verifies signedData messages using | ||
the CMS code. | ||
This issue was reported to OpenSSL by Johannes Bauer. | ||
(CVE-2015-1792) | ||
[Stephen Henson] | ||
|
||
*) Race condition handling NewSessionTicket | ||
|
||
If a NewSessionTicket is received by a multi-threaded client when attempting to | ||
reuse a previous ticket then a race condition can occur potentially leading to | ||
a double free of the ticket data. | ||
(CVE-2015-1791) | ||
[Matt Caswell] | ||
|
||
*) Removed support for the two export grade static DH ciphersuites | ||
EXP-DH-RSA-DES-CBC-SHA and EXP-DH-DSS-DES-CBC-SHA. These two ciphersuites | ||
were newly added (along with a number of other static DH ciphersuites) to | ||
1.0.2. However the two export ones have *never* worked since they were | ||
introduced. It seems strange in any case to be adding new export | ||
ciphersuites, and given "logjam" it also does not seem correct to fix them. | ||
[Matt Caswell] | ||
|
||
*) Only support 256-bit or stronger elliptic curves with the | ||
'ecdh_auto' setting (server) or by default (client). Of supported | ||
curves, prefer P-256 (both). | ||
[Emilia Kasper] | ||
|
||
*) Reject DH handshakes with parameters shorter than 768 bits. | ||
[Kurt Roeckx and Emilia Kasper] | ||
|
||
Changes between 1.0.2 and 1.0.2a [19 Mar 2015] | ||
|
||
*) ClientHello sigalgs DoS fix | ||
|
@@ -373,7 +457,7 @@ | |
[Steve Henson] | ||
|
||
*) Add new "valid_flags" field to CERT_PKEY structure which determines what | ||
the certificate can be used for (if anything). Set valid_flags field | ||
the certificate can be used for (if anything). Set valid_flags field | ||
in new tls1_check_chain function. Simplify ssl_set_cert_masks which used | ||
to have similar checks in it. | ||
|
||
|
@@ -416,7 +500,7 @@ | |
*) Fix OCSP checking. | ||
[Rob Stradling <[email protected]> and Ben Laurie] | ||
|
||
*) Initial experimental support for explicitly trusted non-root CAs. | ||
*) Initial experimental support for explicitly trusted non-root CAs. | ||
OpenSSL still tries to build a complete chain to a root but if an | ||
intermediate CA has a trust setting included that is used. The first | ||
setting is used: whether to trust (e.g., -addtrust option to the x509 | ||
|
@@ -467,7 +551,7 @@ | |
to set list of supported curves. | ||
[Steve Henson] | ||
|
||
*) New ctrls to retrieve supported signature algorithms and | ||
*) New ctrls to retrieve supported signature algorithms and | ||
supported curve values as an array of NIDs. Extend openssl utility | ||
to print out received values. | ||
[Steve Henson] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -105,7 +105,24 @@ my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimenta | |
|
||
my $gcc_devteam_warn = "-Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED"; | ||
|
||
my $clang_disabled_warnings = "-Wno-language-extension-token -Wno-extended-offsetof -Wno-padded -Wno-shorten-64-to-32 -Wno-format-nonliteral -Wno-missing-noreturn -Wno-unused-parameter -Wno-sign-conversion -Wno-unreachable-code -Wno-conversion -Wno-documentation -Wno-missing-variable-declarations -Wno-cast-align -Wno-incompatible-pointer-types-discards-qualifiers -Wno-missing-variable-declarations -Wno-missing-field-initializers -Wno-unused-macros -Wno-disabled-macro-expansion -Wno-conditional-uninitialized -Wno-switch-enum"; | ||
# TODO(openssl-team): fix problems and investigate if (at least) the following | ||
# warnings can also be enabled: | ||
# -Wconditional-uninitialized, -Wswitch-enum, -Wunused-macros, | ||
# -Wmissing-field-initializers, -Wmissing-variable-declarations, | ||
# -Wincompatible-pointer-types-discards-qualifiers, -Wcast-align, | ||
# -Wunreachable-code -Wunused-parameter -Wlanguage-extension-token | ||
# -Wextended-offsetof | ||
my $clang_disabled_warnings = "-Wno-unused-parameter -Wno-missing-field-initializers -Wno-language-extension-token -Wno-extended-offsetof"; | ||
|
||
# These are used in addition to $gcc_devteam_warn when the compiler is clang. | ||
# TODO(openssl-team): fix problems and investigate if (at least) the | ||
# following warnings can also be enabled: -Wconditional-uninitialized, | ||
# -Wswitch-enum, -Wunused-macros, -Wmissing-field-initializers, | ||
# -Wmissing-variable-declarations, | ||
# -Wincompatible-pointer-types-discards-qualifiers, -Wcast-align, | ||
# -Wunreachable-code -Wunused-parameter -Wlanguage-extension-token | ||
# -Wextended-offsetof | ||
my $clang_devteam_warn = "-Wno-unused-parameter -Wno-missing-field-initializers -Wno-language-extension-token -Wno-extended-offsetof -Qunused-arguments"; | ||
|
||
my $strict_warnings = 0; | ||
|
||
|
@@ -233,12 +250,12 @@ my %table=( | |
|
||
#### SPARC Solaris with GNU C setups | ||
"solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"solaris-sparcv8-gcc","gcc:-mcpu=v8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
# -m32 should be safe to add as long as driver recognizes -mcpu=ultrasparc | ||
"solaris-sparcv9-gcc","gcc:-m32 -mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"solaris64-sparcv9-gcc","gcc:-m64 -mcpu=ultrasparc -O3 -Wall -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-m64 -shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64", | ||
#### | ||
"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -mv8 -Wall -DB_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -mcpu=v8 -Wall -DB_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -O -g -mcpu=ultrasparc -pedantic -ansi -Wall -Wshadow -Wno-long-long -D__EXTENSIONS__ -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
|
||
#### SPARC Solaris with Sun C setups | ||
|
@@ -255,7 +272,7 @@ my %table=( | |
|
||
#### SunOS configs, assuming sparc for the gcc one. | ||
#"sunos-cc", "cc:-O4 -DNOPROTO -DNOCONST::(unknown):SUNOS::DES_UNROLL:${no_asm}::", | ||
"sunos-gcc","gcc:-O3 -mv8 -Dssize_t=int::(unknown):SUNOS::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL DES_PTR DES_RISC1:${no_asm}::", | ||
"sunos-gcc","gcc:-O3 -mcpu=v8 -Dssize_t=int::(unknown):SUNOS::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL DES_PTR DES_RISC1:${no_asm}::", | ||
|
||
#### IRIX 5.x configs | ||
# -mips2 flag is added by ./config when appropriate. | ||
|
@@ -398,7 +415,7 @@ my %table=( | |
"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"linux-ia64-icc","icc:-DL_ENDIAN -O2 -Wall::-D_REENTRANT::-ldl -no_cpprt:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"linux-x86_64", "gcc:-m64 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64", | ||
"linux-x86_64-clang", "clang: -m64 -DL_ENDIAN -O3 -Weverything $clang_disabled_warnings -Qunused-arguments::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64", | ||
"linux-x86_64-clang", "clang: -m64 -DL_ENDIAN -O3 -Wall -Wextra $clang_disabled_warnings -Qunused-arguments::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64", | ||
"linux-x86_64-icc", "icc:-DL_ENDIAN -O2::-D_REENTRANT::-ldl -no_cpprt:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64", | ||
"linux-x32", "gcc:-mx32 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::x32", | ||
"linux64-s390x", "gcc:-m64 -DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64", | ||
|
@@ -419,7 +436,7 @@ my %table=( | |
#### SPARC Linux setups | ||
# Ray Miller <[email protected]> has patiently | ||
# assisted with debugging of following two configs. | ||
"linux-sparcv8","gcc:-mv8 -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"linux-sparcv8","gcc:-mcpu=v8 -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
# it's a real mess with -mcpu=ultrasparc option under Linux, but | ||
# -Wa,-Av8plus should do the trick no matter what. | ||
"linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
|
@@ -454,15 +471,15 @@ my %table=( | |
"BSD-x86", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"BSD-x86-elf", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"debug-BSD-x86-elf", "gcc:-DL_ENDIAN -O3 -Wall -g::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"BSD-sparcv8", "gcc:-DB_ENDIAN -O3 -mv8 -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${sparcv8_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"BSD-sparcv8", "gcc:-DB_ENDIAN -O3 -mcpu=v8 -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${sparcv8_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
|
||
"BSD-generic64","gcc:-O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
# -DMD32_REG_T=int doesn't actually belong in sparc64 target, it | ||
# simply *happens* to work around a compiler bug in gcc 3.3.3, | ||
# triggered by RIPEMD160 code. | ||
"BSD-sparc64", "gcc:-DB_ENDIAN -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:${sparcv9_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"BSD-ia64", "gcc:-DL_ENDIAN -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"BSD-x86_64", "gcc:-DL_ENDIAN -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
"BSD-x86_64", "cc:-DL_ENDIAN -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
|
||
"bsdi-elf-gcc", "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall::(unknown)::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
|
||
|
@@ -1195,6 +1212,7 @@ my $cc = $fields[$idx_cc]; | |
if($ENV{CC}) { | ||
$cc = $ENV{CC}; | ||
} | ||
|
||
my $cflags = $fields[$idx_cflags]; | ||
my $unistd = $fields[$idx_unistd]; | ||
my $thread_cflag = $fields[$idx_thread_cflag]; | ||
|
@@ -1630,12 +1648,21 @@ if ($shlib_version_number =~ /(^[0-9]*)\.([0-9\.]*)/) | |
|
||
if ($strict_warnings) | ||
{ | ||
my $ecc = $cc; | ||
$ecc = "clang" if `$cc --version 2>&1` =~ /clang/; | ||
my $wopt; | ||
die "ERROR --strict-warnings requires gcc or clang" unless ($cc =~ /gcc$/ or $cc =~ /clang$/); | ||
die "ERROR --strict-warnings requires gcc or clang" unless ($ecc =~ /gcc$/ or $ecc =~ /clang$/); | ||
foreach $wopt (split /\s+/, $gcc_devteam_warn) | ||
{ | ||
$cflags .= " $wopt" unless ($cflags =~ /$wopt/) | ||
} | ||
if ($ecc eq "clang") | ||
{ | ||
foreach $wopt (split /\s+/, $clang_devteam_warn) | ||
{ | ||
$cflags .= " $wopt" unless ($cflags =~ /$wopt/) | ||
} | ||
} | ||
} | ||
|
||
open(IN,'<Makefile.org') || die "unable to read Makefile.org:$!\n"; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.