Commit graph

28 commits

Author SHA1 Message Date
Koen Kooi
0816c57ee3 openssl: switch ARM builds from linux-elf-arm to linux-armv4 config
This enables aes and sha1 assembly at buildtime. Openssl does a
runtime check to see which portion gets enabled.

'./Configure TABLE' gives the following:

*** linux-elf-arm
$cc           =
$cflags       = -DL_ENDIAN      -DTERMIO  -O2 -pipe -g -feliminate-unused-debug-types -Wall -Wa,--noexecstack -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS
$unistd       =
$thread_cflag = -D_REENTRANT
$sys_id       =
$lflags       = -ldl
$bn_ops       = BN_LLONG DES_RISC1
$cpuid_obj    =
$bn_obj       =
$des_obj      =
$aes_obj      =
$bf_obj       =
$md5_obj      =
$sha1_obj     =
$cast_obj     =
$rc4_obj      =
$rmd160_obj   =
$rc5_obj      =
$wp_obj       =
$cmll_obj     =
$modes_obj    =
$engines_obj  =
$perlasm_scheme = void
$dso_scheme   = dlfcn
$shared_target= linux-shared
$shared_cflag = -fPIC
$shared_ldflag =
$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
$ranlib       =
$arflags      =
$multilib     =

*** linux-armv4
$cc           = gcc
$cflags       = -DTERMIO -O3 -Wall
$unistd       =
$thread_cflag = -D_REENTRANT
$sys_id       =
$lflags       = -ldl
$bn_ops       = BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR
$cpuid_obj    = armcap.o armv4cpuid.o
$bn_obj       = bn_asm.o armv4-mont.o armv4-gf2m.o
$des_obj      =
$aes_obj      = aes_cbc.o aes-armv4.o bsaes-armv7.o
$bf_obj       =
$md5_obj      =
$sha1_obj     = sha1-armv4-large.o sha256-armv4.o sha512-armv4.o
$cast_obj     =
$rc4_obj      =
$rmd160_obj   =
$rc5_obj      =
$wp_obj       =
$cmll_obj     =
$modes_obj    = ghash-armv4.o
$engines_obj  =
$perlasm_scheme = void
$dso_scheme   = dlfcn
$shared_target= linux-shared
$shared_cflag = -fPIC
$shared_ldflag =
$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
$ranlib       =
$arflags      =
$multilib     =

Build tested on armv7a/angstrom and armv8/distroless, runtime tested on armv7a/angstrom.

'openssl speed' results:

Algo    blocksize       ops/s after
                ops/s before    difference
-------------------------------------------
MD5	16	308,766	264,664	-14.28%
	64	277,090	263,340	-4.96%
	256	212,652	197,043	-7.34%
	1024	103,604	100,157	-3.33%
	8192	17,936	17,796	-0.78%
sha1	16	290,011	385,098	32.79%
	64	234,939	302,788	28.88%
	256	144,831	177,028	22.23%
	1024	57,043	67,374	18.11%
	8192	8,586	9,932	15.68%
sha256	16	290,443	605,747	108.56%
	64	178,010	370,598	108.19%
	256	82,107	168,770	105.55%
	1024	26,064	53,068	103.61%
	8192	3,550	7,211	103.10%
sha512	16	59,618	259,354	335.03%
	64	59,616	258,265	333.22%
	256	21,727	98,057	351.31%
	1024	7,449	34,304	360.49%
	8192	1,047	4,842	362.63%
des cbc	16	964,682	1,124,459	16.56%
	64	260,188	298,910	14.88%
	256	65,945	76,273	15.66%
	1024	16,570	19,110	15.33%
	8192	2,082	2,398	15.17%
des ede3	16	370,442	429,906	16.05%
	64	95,429	110,147	15.42%
	256	23,928	27,808	16.21%
	1024	5,993	6,960	16.13%
	8192	752	868	15.36%
aes128	16	1,712,050	2,301,100	34.41%
	64	466,491	651,155	39.59%
	256	120,181	168,953	40.58%
	1024	30,177	42,792	41.80%
	8192	3,791	5,361	41.41%
aes192	16	1,472,560	1,964,900	33.43%
	64	400,087	544,971	36.21%
	256	103,245	141,062	36.63%
	1024	25,902	35,389	36.63%
	8192	3,256	4,451	36.67%
eas256	16	1,330,524	1,772,143	33.19%
	64	355,025	486,221	36.95%
	256	90,663	125,281	38.18%
	1024	22,725	31,484	38.54%
	8192	2,837	3,952	39.31%
rsa	2048bit	15	25	69.94%
	public	547	832	52.00%
dsa	2048bit	55	86	54.26%
	verify	47	73	53.33%

(From OE-Core rev: 8f29346a755d0a7690be9374cce6c88076541a3f)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-26 15:59:14 +01:00
Fathi Boudra
137d141ee3 openssl: use linux-generic64 target for Aarch64 (LE and BE)
Update configure-targets.patch:
 - drop linux-aarch64 configuration
Update do_configure():
 - add linux-aarch64* case to cover linux-aarch64 and linux-aarch64_be
 - use linux-generic64 target in above case
Backport initial-aarch64-bits.patch:
 - first order optimizations for Aarch64

(From OE-Core rev: 3252110ee5c8272a1f09563f2a794cac545e29d5)

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-26 15:59:14 +01:00
Ming Liu
05241f9463 openssl: Fix multilib header conflict - opensslconf.h
opensslconf.h conflicts between 32-bit and 64-bit versions.

(From OE-Core rev: 9b1ba604793015aad15c442f590464d0c224794c)

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-07-31 06:59:54 +01:00
Enrico Scholz
4fb837687d openssl: build always with -Wa,--noexecstack
There is no reason to disable exec-stack only for -native builds;
binaries on the target will suffer from the same SELinux ACLs.

OpenSSL does not use executable stack so this option can be disabled
unconditionally.

(From OE-Core rev: 9c32b62d6494139daf4bab3279779c392fead116)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-18 13:18:20 +00:00
Randy MacLeod
858646c7bd openssl: Add mips64 configure support.
Add mips64 configure support but assume mips(32) userspace.

(From OE-Core rev: 7d775b071b902ee0de6391b2c30d36e3003643e1)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-08 14:50:37 +00:00
Robert Yang
841107b78c recipes-connectivity: replace virtclass-native(sdk) with class-native(sdk)
The overrides virtclass-native and virtclass-nativesdk are deprecated,
which should be replaced by class-native and class-nativesdk.

[YOCTO #3297]

(From OE-Core rev: 37429a94133c0d0bfae71d1d4329aee6dd5eb98b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-02 16:18:28 +00:00
Phil Blundell
e9e3285e13 openssl: Use ${CFLAGS} not ${FULL_OPTIMIZATION}
The latter variable is only applicable for target builds and could
result in passing incompatible options (and/or failing to pass
required options) to ${BUILD_CC} for a virtclass-native build.

(From OE-Core rev: 0e90a303bc5cb0ede21ff4346843f9daeddfff45)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-30 11:06:38 +00:00
Scott Garman
c4a7a24cb5 openssl: fix incorrect INC_PR
Restore INC_PR to r15 to prevent breakage with out of tree openssl
recipes (e.g, meta-oe).

(From OE-Core rev: 370b186b7c39897b868a5e3798a11a285277f145)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 16:06:41 +01:00
Scott Garman
2874efa132 openssl: upgrade to 1.0.0i
Addresses CVE-2012-2110

Fixes bug [YOCTO #2368]

(From OE-Core rev: 88d17caf6d0eb241f54b1af1704405d5f47eadc5)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:17 +01:00
Andrei Gherzan
ef29851fe8 openssl: Move libcrypto to base_libdir
This fix is for dhclient. It needs libcrypto at runtime and if
libcrypto is in libdir, it's path can be inaccessible on systems
where /usr is on nfs for example or dhclient is needed before
/usr is mounted.

(From OE-Core rev: 01ea85f7f6c53c66c76d6f832518b28bf06ec072)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>

[Fix comment to from /usr -> /lib - sgw]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:39 +00:00
Nitin A Kamble
51bfed2e26 openssl-1.0.0e: fix to wotk with x32 toolchain
Add BN_ADDR for address type instead of using BN_ULONG or unsigned long:
   1. For W64, address type is unsigned long long, not unsigned long.
   2. For x32, address type is unsigned long , not BN_ULONG.

Added a new targetlinux-x32 in the config file

The do_install() code to move lib/* to lib64 is not needed now with the
enhanced multilib support.

Make the x86-64 assembly syntax compatible with x32 compiler.

(From OE-Core rev: 340c14ac49afa1559c12f8848bef9b6ecf24ef35)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:06 +00:00
Saul Wold
c2265d0cd5 openssl: Add openssl 1.0
* Thanks to meta-oe for this contribution
 * Add Patch Upstream-Status info
 * Merged the meta-oe version of openssl-1.0.inc with openssl.inc
 * Fix make install parallel issue with PARALLEL_MAKEINST = ""

(From OE-Core rev: ee3ed78af2303ad41993ed34fa7825a74de288c7)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:06 +00:00
Saul Wold
f73462cdb7 openssl-0.9.8: move parallel-make fix to 0.9.8
(From OE-Core rev: d25289f2df980550c7379581712c442d372d93c8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:06 +00:00
Richard Purdie
f30344dd3c openssl: Ensure perl scripts reference the correct perl
Without this change the perl path from the build system is used.

(From OE-Core rev: 1ed8fb66c51ce584c13e592176a69a61bae01f2e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:51:51 +01:00
Khem Raj
be8f985d2c meta: Rename SITEINFO_ENDIANESS to SITEINFO_ENDIANNESS
There is this discrepency in spelling. Lets fix it in
core. There are lot of layers using SITEINFO_ENDIANNESS
This was shielded since meta-oe had its own copy of
siteinfo class. But that class has now been deleted in
favor of oe-core

(From OE-Core rev: 54a54778fad39931ac7d43daaf37ce7c1946a29b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-26 15:47:03 +01:00
Kumar Gala
616d711c48 openssl: Add handling for building on linux-powerpc64
If try to build for an ppc64 target openssl will fail to build since
the configure script didn't know how to handle a 'linux-powerpc64' target.

(From OE-Core rev: 9c98851951ba79a5e1a6a7daa2a3552dcf3adf86)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-22 11:56:50 +01:00
Kumar Gala
9f952b2349 openssl: Add handling for linux-gnuspe-powerpc
If trying to build for an e500v2 target openssl will fail to build since
the configure script didn't know how to handle a 'gnuspe' target.

(From OE-Core rev: d42a262c1fe41bd774be85f3df1baf144fc8e67d)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-20 15:27:34 +01:00
Phil Blundell
660093c1d8 openssl: pass ${mandir} explicitly to "make install"
Otherwise it will use the openssl internal default of /usr/share/man which may not be correct.

(From OE-Core rev: f9b50b50544385260e0fc86e11836ec689f0cdd6)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-14 15:07:49 +01:00
Yu Ke
58ad25bc43 openssl: fix for non /usr/lib libdir case
if libdir is not /usr/lib, e.g /usr/lib64, openssl build will fail
because it still use /usr/lib as library dir.

this patch appends the configure option "--libdir" to specify the correct
library directory

(From OE-Core rev: 85ae421002f44f9ad6656af8fca0724a24ba4dc2)

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-12 15:00:47 +01:00
Dexuan Cui
ac21b3d935 openssl: should depend on perl-native-runtime rather than perl-native
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-06-09 16:58:33 +01:00
Phil Blundell
8b32cd92a1 openssl: backport fix for empty prefix from oe master
This fixes a build failure when ${prefix}="".

(From OE-Core rev: d82ed45d390f48b950cc490a055daa746f4a716a)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-17 15:14:45 +01:00
Qing He
47cb36d1c8 openssl: upgrade to version 0.9.8r
[YOCTO #979]

from 0.9.8p
fixes CVE-2010-4180, CVE-2010-4252, CVE-2010-0014

(From OE-Core rev: e28e11930a22a4e89075e7e026e58c081f984ddf)

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-18 05:51:20 +01:00
Qing He
3810796ee3 openssl: fix parallel make
Signed-off-by: Qing He <qing.he@intel.com>
2011-02-17 17:25:22 -08:00
Paul Eggleton
15f45b314c openssl: restore -Wall flag
The -Wall flag was unintentionally removed from the end of the CFLAG var in
089612794d by me. This patch puts it back in.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-16 15:30:56 +00:00
Paul Eggleton
089612794d openssl-native: disable execstack flag to prevent problems with SELinux
The execstack flag gets set on libcrypto.so by default which causes SELinux
to prevent it from being loaded on systems using SELinux, which includes
Fedora. This patch disables the execstack flag. (Note: Red Hat do this in
their openssl packaging.)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-09 12:37:11 +00:00
Richard Purdie
eb9c2b0cc9 openssl: Use STAGING_BINDIR_NATIVE as the path to perl, not bindir which can point to incorrect places
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-03 10:06:02 +00:00
Mark Hatle
75732f5443 recipes-connectivity: Cleanup package descriptions and summaries
[BUGID #281]

Evaluate and update each package in recipes-connectivity to ensure they
have a consistent summary and description.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-11 22:15:48 +01:00
Richard Purdie
d62ee7eaf2 packages: Separate out most of the remaining packages into recipes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-01 19:09:57 +01:00
Renamed from meta/packages/openssl/openssl.inc (Browse further)