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 <[email protected]> On Behalf Of Damodhar
Boddukuri via openssl-users
Sent: Friday, July 26, 2024 5:33 PM
To: Neil Horman <[email protected]>
Cc: [email protected]
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 <[email protected]<mailto:[email protected]>>
Sent: Wednesday, July 24, 2024 11:04 PM
To: Damodhar Boddukuri
<[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
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
<[email protected]<mailto:[email protected]>> 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 <[email protected]<mailto:[email protected]>>
Sent: Wednesday, July 24, 2024 7:25 PM
To: Damodhar Boddukuri
<[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
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
<[email protected]<mailto:[email protected]>> 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 <[email protected]<mailto:[email protected]>>
Sent: Thursday, July 18, 2024 12:16 AM
To: Damodhar Boddukuri
<[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
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
<[email protected]<mailto:[email protected]>> 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