compile openssl for Arm A9 & VxWorks - evp_rand_******_locked() API
Damodhar Boddukuri
damodhar.boddukuri at non.se.com
Mon Jul 29 15:30:24 UTC 2024
Hi,
Thanks for your support.
I am porting ECDH Algorithm(Group 19) in to our target. Following are the API calls:
1. ecdh_group = EC_GROUP_new_by_curve_name(NID_X9_62_prime256v1); // NID_X9_62_prime256v1 or NID_secp256k1
1. ecdh_keys = EC_KEY_new();
1. ret = EC_KEY_set_group(ecdh_keys, ecdh_group);
1. ret = EC_KEY_generate_key(ecdh_keys);
// Get Private and Public Keys
1. const BIGNUM* pri_key = EC_KEY_get0_private_key(ecdh_keys);
const EC_POINT* pub_key = EC_KEY_get0_public_key(ecdh_keys);
1. SharedSecretKey_Len = ECDH_compute_key(SharedSecretKey, (EC_GROUP_get_degree(ecdh_group) + 7) / 8, rtvPub_key, ecdh_keys, NULL);
At 4 (I.e. EC_KEY_generate_key), Its invoking API’s like evp_rand_instantiate_locked(), evp_rand_generate_locked(), evp_rand_resend_locked()…etc
These API’s returning negative response. They are pointing to function pointers. How to find them? Do I need to implement Mutex lock here?
Thanks & Regards,
Damodhar.
+91-7702191212
General
From: openssl-users <openssl-users-bounces at openssl.org> On Behalf Of Damodhar Boddukuri via openssl-users
Sent: Friday, July 26, 2024 5:33 PM
To: Neil Horman <nhorman at openssl.org>
Cc: openssl-users at openssl.org
Subject: RE: compile openssl for Arm A9 & VxWorks
[External email: Use caution with links and attachments]
________________________________
Hi,
Thanks for your support.
We are planning to use ECDH Algorithm(Group 19) with a minimal footprint in an Embedded System Product for the shared secret key generation.
I have few questions in my mind:
1. Is it recommended to use ECDH Algorithm (Group 19) for an embedded product ? does ECDH (Group 19) requires any hardware support(i.e. engine libraries/files)? We don’t have hardware/engine support in the target.
2. If ECDH Algorithm (Group 19) recommended, How will be the performance?
3. If ECDH Algorithm (Group 19) not recommended, What would be the simple & secure DH or ECDH algorithm for shared secret key generation?
When I go through the code, I could see many conditional compilation macros. What are the conditional macros I need to enable for minimal footprint? What are the source file I need to build?
OPENSSL_NO_ENGINE
OPENSSL_NO_AUTOLOAD_CONFIG
OPENSSL_NO_RDRAND
OPENSSL_NO_PADLOCKENG
OPENSSL_NO_AFALGENG
OPENSSL_NO_STATIC_ENGINE
Thanks & Regards,
Damodhar.
+91-7702191212
General
From: Neil Horman <nhorman at openssl.org<mailto:nhorman at openssl.org>>
Sent: Wednesday, July 24, 2024 11:04 PM
To: Damodhar Boddukuri <damodhar.boddukuri at non.se.com<mailto:damodhar.boddukuri at non.se.com>>
Cc: openssl-users at openssl.org<mailto:openssl-users at openssl.org>
Subject: Re: compile openssl for Arm A9 & VxWorks
[External email: Use caution with links and attachments]
________________________________
At this point you really are going to need to dig into the VxWorks documentation to figure out what compiler flags and include files you need to set to get this all to work. It may require some openssl code changes to use your compiler/build environment
General
On Wed, Jul 24, 2024 at 12:51 PM Damodhar Boddukuri <damodhar.boddukuri at non.se.com<mailto:damodhar.boddukuri at non.se.com>> wrote:
Hi,
Thank you for your support. I have tried with the following target. Now, its invoking the compiler.
"vxworks-armv7a" => {
inherit_from => [ "BASE_Windows" ],
CC => "ccarm",
cflags => '-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" ',
sys_id => "VXWORKS",
lflags => add('-L$(VSB_DIR)\arm\ARMARCH7\gnu_standard -L$(VSB_DIR)\arm\ARMARCH7\gnu -L$(VSB_DIR)\arm\ARMARCH7\common -L$(VSB_DIR)\arm\ARMARCH7\gnu -L$(VSB_DIR)\arm\ARMARCH7\common -L$(WS_ROOT_DIR)\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\gnu -L$(WS_ROOT_DIR)\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\common -L$(WIND_HOME)\components\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\gnu -L$(WIND_HOME)\components\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\common'),
ex_libs => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000"),
AR => add("ararm"),
ARFLAGS => add("-rsv"),
includes => ["\$(WIND_BASE)/target/usr/h" ,"\$(WIND_BASE)/target/h" , "\$(VSB_INCLUDE_DIR)"],
},
With this, in Makefile
1. LIBS= apps\libapps.lib libcrypto.lib libssl.lib providers\libcommon.lib providers\libdefault.lib providers\liblegacy.lib test\libtestutil.lib
Makefile generated library extension with .lib. But our target is expecting .a libraries & .o object files
1. It’s unable to find the include files even though path include path is correct.
Eg: apps\lib\libapps-lib-app_libctx.obj: apps\lib\app_libctx.c
$(CC) $(LIB_CFLAGS) -I"." -I"include" -I"apps\include" $(LIB_CPPFLAGS) -c $(COUTFLAG)$@ "apps\lib\app_libctx.c"
cmd /C " $(LIB_CFLAGS) -I"." -I"include" -I"apps\include" $(LIB_CPPFLAGS) "apps\lib\app_libctx.c" > apps\lib\libapps-lib-app_libctx.d 2>&1"
I have attached makefile & log captured while executing Config and nmke. Please have a look at & suggest me the way forward to resolve these issues.
Thanks in advance.
Log:
perl Configure vxworks-armv7a no-shared no-dso no-pic no-aria no-async no-autoload-config no-blake2 no-bf no-camellia no-cast no-chacha no-cmac no-cmp no-cms no-comp no-ct no-des no-dgram no-dtls no-engine no-filenames no-gost no-idea no-ktls no-mdc2 no-md2 no-md4 no-multiblock no-nextprotoneg no-ocsp no-ocb no-poly1305 no-psk no-rc2 no-rc4 no-rc5 no-rmd160 no-scrypt no-seed no-siphash no-siv no-sm2 no-sm3 no-sm4 no-srp no-srtp no-sse2 no-ssl3 no-ssl3-method no-threads no-ts no-ui-console no-whirlpool no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT
>nmake
"ccarm" -g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"\" -I"." -I"include" -I"apps\include" -D"OPENSSLDIR=\"C:\\Program Files\\Common Files\\SSL\"" -D"ENGINESDIR=\"C:\\Program Files\\OpenSSL\\lib\\engines-3\"" -D"MODULESDIR=\"C:\\Program Files\\OpenSSL\\lib\\ossl-modules\"" -D"OPENSSL_BUILDING_OPENSSL" -D"NDEBUG" -I"C:\Dev\WindRiverDSMPDDR_V18\vxworks-6.9/target/usr/h" -I"C:\Dev\WindRiverDSMPDDR_V18\vxworks-6.9/target/h" -I"" -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT -c apps\lib\libapps-lib-app_libctx.obj "apps\lib\app_libctx.c"
ccarm.EXE: apps\lib\libapps-lib-app_libctx.obj: No such file or directory
In file included from c:\windriverdsmpddr_v18\gnu\4.3.3-vxworks-6.9\x86-win32\bin\../../lib/gcc/arm-wrs-vxworks/4.3.3/include-fixed/syslimits.h:7,
from c:\windriverdsmpddr_v18\gnu\4.3.3-vxworks-6.9\x86-win32\bin\../../lib/gcc/arm-wrs-vxworks/4.3.3/include-fixed/limits.h:11,
from include/openssl/types.h:26,
from apps\include/app_libctx.h:13,
from apps\lib\app_libctx.c:9:
c:\windriverdsmpddr_v18\gnu\4.3.3-vxworks-6.9\x86-win32\bin\../../lib/gcc/arm-wrs-vxworks/4.3.3/include-fixed/limits.h:122:61: error: no include path in which to search for limits.h
In file included from include/openssl/types.h:32,
from apps\include/app_libctx.h:13,
from apps\lib\app_libctx.c:9:
include/openssl/e_os2.h:256:22: error: stdint.h: No such file or directory
In file included from include/openssl/types.h:32,
from apps\include/app_libctx.h:13,
from apps\lib\app_libctx.c:9:
include/openssl/e_os2.h:265: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ossl_intmax_t'
include/openssl/e_os2.h:266: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ossl_uintmax_t'
In file included from include/internal/e_os.h:17,
from apps\include/apps.h:13,
from apps\lib\app_libctx.c:10:
include/openssl/crypto.h:25:21: error: stdlib.h: No such file or directory
include/openssl/crypto.h:26:19: error: time.h: No such file or directory
include/openssl/crypto.h:31:21: error: stdio.h: No such file or directory
In file included from include/internal/e_os.h:17,
from apps\include/apps.h:13,
from apps\lib\app_libctx.c:10:
include/openssl/crypto.h:88: error: expected ')' before '*' token
include/openssl/crypto.h:90: error: expected ')' before '*' token
include/openssl/crypto.h:434: warning: type defaults to 'int' in declaration of 'time_t'
include/openssl/crypto.h:434: error: expected ';', ',' or ')' before '*' token
include/openssl/crypto.h:486: error: expected ')' before 'opts'
include/openssl/crypto.h:556: error: expected ')' before 'millis'
In file included from apps\include/apps.h:13,
from apps\lib\app_libctx.c:10:
Thanks & Regards,
Damodhar.
+91-7702191212
General
From: Neil Horman <nhorman at openssl.org<mailto:nhorman at openssl.org>>
Sent: Wednesday, July 24, 2024 7:25 PM
To: Damodhar Boddukuri <damodhar.boddukuri at non.se.com<mailto:damodhar.boddukuri at non.se.com>>
Cc: openssl-users at openssl.org<mailto:openssl-users at openssl.org>
Subject: Re: compile openssl for Arm A9 & VxWorks
[External email: Use caution with links and attachments]
________________________________
If you're trying to build on windows, you don't want to inherit from BASE_unix, you want to inherit from BASE_Windows
On Tue, Jul 23, 2024 at 8:40 PM Damodhar Boddukuri <damodhar.boddukuri at non.se.com<mailto:damodhar.boddukuri at non.se.com>> wrote:
Hi,
Thank you for the support.
I am trying to compile “openSSL cross compilation for target "vxworks-armv7a" in Windows platform”:
The target compiler is ccarm.exe
Approach-1:
In Linux platform, Added the following target details in 10-main.conf file and ran the ./config <appropriate options>. It generated the configdata.pm<http://configdata.pm/>, configdata.pm<http://configdata.pm/>, Makefile.in, Makefile, include/openssl/configuration.h files for the target "vxworks-armv7a". When I run the make, it generating the required files with perl script, But its unable to invoke the compiler ccarm.exe because it’s a .exe file.
When I move entire source-code to windows platform try to run the make, its giving errors in the perl script.
"vxworks-armv7a" => {
inherit_from => [ "BASE_unix" ],
CC => "ccarm",
CFLAGS => '-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)/config/all -I$(TGT_DIR)/h -I$(WIND_HOME)/components/windml-5.3/h -I$(WIND_HOME)/components/webservices-1.8/h -I$(WIND_HOME)/components/webcli-4.9/target/h -I$(WIND_HOME)/components/tcf_agent-1.4/agent -I$(WIND_HOME)/components/stacktrace-1.0/include -I$(WIND_HOME)/components/opc-3.2/h -I$(WIND_HOME)/components/dcom-2.3/h -I$(WIND_HOME)/components/cafe-0.1/hpc/include -I$(WIND_HOME)/components/cafe-0.1/cafe/include -I$(WIND_HOME)/components/ip_net2-6.9/ipcom/config -I$(WIND_HOME)/components/cafe-0.1/vxworks/include -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/src -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/src -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/src -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/src -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/src -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/h -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/h -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/h -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/h -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/h -I$(TGT_DIR)/src/hwif -I$(TGT_DIR)/src/hwif/h -I $(TGT_DIR)/3rdparty/pbcl/h -I. -I$(TGT_DIR)/h/wrn/coreip -I$(TGT_DIR)/src/config -I$(TGT_DIR)/config/comps/src -I$(TGT_DIR)/config/comps/src/dosfs2 -I$(TGT_DIR)/src/drv -I$(TGT_DIR)/src/hwif/h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)',
cflags => '-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)/config/all -I$(TGT_DIR)/h -I$(WIND_HOME)/components/windml-5.3/h -I$(WIND_HOME)/components/webservices-1.8/h -I$(WIND_HOME)/components/webcli-4.9/target/h -I$(WIND_HOME)/components/tcf_agent-1.4/agent -I$(WIND_HOME)/components/stacktrace-1.0/include -I$(WIND_HOME)/components/opc-3.2/h -I$(WIND_HOME)/components/dcom-2.3/h -I$(WIND_HOME)/components/cafe-0.1/hpc/include -I$(WIND_HOME)/components/cafe-0.1/cafe/include -I$(WIND_HOME)/components/ip_net2-6.9/ipcom/config -I$(WIND_HOME)/components/cafe-0.1/vxworks/include -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/src -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/src -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/src -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/src -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/src -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/h -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/h -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/h -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/h -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/h -I$(TGT_DIR)/src/hwif -I$(TGT_DIR)/src/hwif/h -I $(TGT_DIR)/3rdparty/pbcl/h -I. -I$(TGT_DIR)/h/wrn/coreip -I$(TGT_DIR)/src/config -I$(TGT_DIR)/config/comps/src -I$(TGT_DIR)/config/comps/src/dosfs2 -I$(TGT_DIR)/src/drv -I$(TGT_DIR)/src/hwif/h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)',
cppflags => combine('-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)/config/all -I$(TGT_DIR)/h -I$(WIND_HOME)/components/windml-5.3/h -I$(WIND_HOME)/components/webservices-1.8/h -I$(WIND_HOME)/components/webcli-4.9/target/h -I$(WIND_HOME)/components/tcf_agent-1.4/agent -I$(WIND_HOME)/components/stacktrace-1.0/include -I$(WIND_HOME)/components/opc-3.2/h -I$(WIND_HOME)/components/dcom-2.3/h -I$(WIND_HOME)/components/cafe-0.1/hpc/include -I$(WIND_HOME)/components/cafe-0.1/cafe/include -I$(WIND_HOME)/components/ip_net2-6.9/ipcom/config -I$(WIND_HOME)/components/cafe-0.1/vxworks/include -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/src -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/src -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/src -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/src -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/src -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/h -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/h -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/h -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/h -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/h -I$(TGT_DIR)/src/hwif -I$(TGT_DIR)/src/hwif/h -I $(TGT_DIR)/3rdparty/pbcl/h -I. -I$(TGT_DIR)/h/wrn/coreip -I$(TGT_DIR)/src/config -I$(TGT_DIR)/config/comps/src -I$(TGT_DIR)/config/comps/src/dosfs2 -I$(TGT_DIR)/src/drv -I$(TGT_DIR)/src/hwif/h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)'),
sys_id => "VXWORKS",
lflags => add('-L$(VSB_DIR)/arm/ARMARCH7/gnu_standard -L$(VSB_DIR)/arm/ARMARCH7/gnu -L$(VSB_DIR)/arm/ARMARCH7/common -L$(VSB_DIR)/arm/ARMARCH7/gnu -L$(VSB_DIR)/arm/ARMARCH7/common -L$(WS_ROOT_DIR)/obj/vxworks-6.9/krnl/lib_smp/arm/ARMARCH7/gnu -L$(WS_ROOT_DIR)/obj/vxworks-6.9/krnl/lib_smp/arm/ARMARCH7/common -L$(WIND_HOME)/components/obj/vxworks-6.9/krnl/lib_smp/arm/ARMARCH7/gnu -L$(WIND_HOME)/components/obj/vxworks-6.9/krnl/lib_smp/arm/ARMARCH7/common'),
ex_libs => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000"),
},
Approach-2:
In windows platform, Added the following target details in 10-main.conf file and ran the ./config <appropriate options>. It generated the configdata.pm<http://configdata.pm/>, configdata.pm<http://configdata.pm/>, Makefile.in, Makefile, include/openssl/configuration.h files for the target "vxworks-armv7a". When I run the make, it generating the required files with perl script, Its invoking the compiler ccarm.exe.
But its adding unwanted CFLAGS like "ccarm" /Zi /Fdossl_static.pdb /MT /Zl. Also observed that it’s trying to create .lib libraries, But wanted .a libraries.
"vxworks-armv7a" => {
inherit_from => [ "VC-WIN64-common" ],
CC => "ccarm",
CFLAGS => '-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)\config\all -I$(TGT_DIR)\h -I$(WIND_HOME)\components\windml-5.3\h -I$(WIND_HOME)\components\webservices-1.8\h -I$(WIND_HOME)\components\webcli-4.9\target\h -I$(WIND_HOME)\components\tcf_agent-1.4\agent -I$(WIND_HOME)\components\stacktrace-1.0\include -I$(WIND_HOME)\components\opc-3.2\h -I$(WIND_HOME)\components\dcom-2.3\h -I$(WIND_HOME)\components\cafe-0.1\hpc\include -I$(WIND_HOME)\components\cafe-0.1\cafe\include -I$(WIND_HOME)\components\ip_net2-6.9\ipcom\config -I$(WIND_HOME)\components\cafe-0.1\vxworks\include -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\src -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\src -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\src -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\src -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\src -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\h -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\h -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\h -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\h -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\h -I$(TGT_DIR)\src\hwif -I$(TGT_DIR)\src\hwif\h -I $(TGT_DIR)\3rdparty\pbcl\h -I. -I$(TGT_DIR)\h\wrn\coreip -I$(TGT_DIR)\src\config -I$(TGT_DIR)\config\comps\src -I$(TGT_DIR)\config\comps\src\dosfs2 -I$(TGT_DIR)\src\drv -I$(TGT_DIR)\src\hwif\h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)',
cflags => '-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)\config\all -I$(TGT_DIR)\h -I$(WIND_HOME)\components\windml-5.3\h -I$(WIND_HOME)\components\webservices-1.8\h -I$(WIND_HOME)\components\webcli-4.9\target\h -I$(WIND_HOME)\components\tcf_agent-1.4\agent -I$(WIND_HOME)\components\stacktrace-1.0\include -I$(WIND_HOME)\components\opc-3.2\h -I$(WIND_HOME)\components\dcom-2.3\h -I$(WIND_HOME)\components\cafe-0.1\hpc\include -I$(WIND_HOME)\components\cafe-0.1\cafe\include -I$(WIND_HOME)\components\ip_net2-6.9\ipcom\config -I$(WIND_HOME)\components\cafe-0.1\vxworks\include -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\src -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\src -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\src -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\src -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\src -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\h -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\h -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\h -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\h -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\h -I$(TGT_DIR)\src\hwif -I$(TGT_DIR)\src\hwif\h -I $(TGT_DIR)\3rdparty\pbcl\h -I. -I$(TGT_DIR)\h\wrn\coreip -I$(TGT_DIR)\src\config -I$(TGT_DIR)\config\comps\src -I$(TGT_DIR)\config\comps\src\dosfs2 -I$(TGT_DIR)\src\drv -I$(TGT_DIR)\src\hwif\h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)',
cppflags => combine('-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)\config\all -I$(TGT_DIR)\h -I$(WIND_HOME)\components\windml-5.3\h -I$(WIND_HOME)\components\webservices-1.8\h -I$(WIND_HOME)\components\webcli-4.9\target\h -I$(WIND_HOME)\components\tcf_agent-1.4\agent -I$(WIND_HOME)\components\stacktrace-1.0\include -I$(WIND_HOME)\components\opc-3.2\h -I$(WIND_HOME)\components\dcom-2.3\h -I$(WIND_HOME)\components\cafe-0.1\hpc\include -I$(WIND_HOME)\components\cafe-0.1\cafe\include -I$(WIND_HOME)\components\ip_net2-6.9\ipcom\config -I$(WIND_HOME)\components\cafe-0.1\vxworks\include -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\src -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\src -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\src -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\src -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\src -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\h -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\h -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\h -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\h -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\h -I$(TGT_DIR)\src\hwif -I$(TGT_DIR)\src\hwif\h -I $(TGT_DIR)\3rdparty\pbcl\h -I. -I$(TGT_DIR)\h\wrn\coreip -I$(TGT_DIR)\src\config -I$(TGT_DIR)\config\comps\src -I$(TGT_DIR)\config\comps\src\dosfs2 -I$(TGT_DIR)\src\drv -I$(TGT_DIR)\src\hwif\h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)'),
sys_id => "VXWORKS",
lflags => add('-L$(VSB_DIR)\arm\ARMARCH7\gnu_standard -L$(VSB_DIR)\arm\ARMARCH7\gnu -L$(VSB_DIR)\arm\ARMARCH7\common -L$(VSB_DIR)\arm\ARMARCH7\gnu -L$(VSB_DIR)\arm\ARMARCH7\common -L$(WS_ROOT_DIR)\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\gnu -L$(WS_ROOT_DIR)\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\common -L$(WIND_HOME)\components\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\gnu -L$(WIND_HOME)\components\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\common'),
ex_libs => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000"),
},
Please suggest best way to go forward with our requirement.
Thanks in advance.
Thanks & Regards,
Damodhar.
+91-7702191212
General
From: Neil Horman <nhorman at openssl.org<mailto:nhorman at openssl.org>>
Sent: Thursday, July 18, 2024 12:16 AM
To: Damodhar Boddukuri <damodhar.boddukuri at non.se.com<mailto:damodhar.boddukuri at non.se.com>>
Cc: openssl-users at openssl.org<mailto:openssl-users at openssl.org>
Subject: Re: compile openssl for Arm A9 & VxWorks
[External email: Use caution with links and attachments]
________________________________
There are already several targets defined for vxworks. First step I would think would be cloning one of those targets in Configurations/10-main.conf for your purposes and adjusting the settings accordingly:
"vxworks-ppc60x" => { <= Change this to "vxworks-arm9' or some such
inherit_from => [ "BASE_unix" ], <= Leave this alone I imagine
CC => "ccppc", <= set the appropriate compiler command here
CFLAGS => "-O2 -Wall -fstrength-reduce", <= For this and below, adjust as needed
cflags => "-mrtp -mhard-float -mstrict-align -fno-implicit-fp -fno-builtin -fno-strict-aliasing",
cppflags => combine("-D_REENTRANT -DPPC32_fp60x -DCPU=PPC32",
"_DTOOL_FAMILY=gnu -DTOOL=gnu",
"-I\$(WIND_BASE)/target/usr/h",
"-I\$(WIND_BASE)/target/usr/h/wrn/coreip"),
sys_id => "VXWORKS", <= leave this alone
lflags => add("-L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/common"), <= Set this to your vxworks library path
ex_libs => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000"), <= Probably leave this alone too
},
On Wed, Jul 17, 2024 at 12:42 PM Damodhar Boddukuri via openssl-users <openssl-users at openssl.org<mailto:openssl-users at openssl.org>> wrote:
Hi openSSL users,
I would like to port openssl for Arm A9 & VxWorks Target. If someone can share the details, Its really helpful for me.
Thanks in advance.
Thanks & Regards,
Damodhar.
+91-7702191212
General
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mta.openssl.org/pipermail/openssl-users/attachments/20240729/7355488e/attachment-0001.htm>
More information about the openssl-users
mailing list