Re: compile openssl for Arm A9 & VxWorks

Neil Horman <[email protected]>
Newsgroups gmane.comp.encryption.openssl.user
Message-ID <CAJbOq16YgaJu2EiOB5sRVZioDEPtjAMd5k5O3ZbTNK4YP0mG-w@mail.gmail.com>
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]> 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]>
> *Sent:* Thursday, July 18, 2024 12:16 AM
> *To:* Damodhar Boddukuri <[email protected]>
> *Cc:* [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]> 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
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.