compile openssl for Arm A9 & VxWorks

Damodhar Boddukuri damodhar.boddukuri at non.se.com
Fri Jul 26 12:02:31 UTC 2024


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>
Sent: Wednesday, July 24, 2024 11:04 PM
To: Damodhar Boddukuri <damodhar.boddukuri at non.se.com>
Cc: 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

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/20240726/4fee7c17/attachment-0001.htm>


More information about the openssl-users mailing list