From 4089bd6080d41450adab1e0ac0d63cfeab4a78e7 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Mon, 16 Dec 2013 14:29:20 +0000 Subject: [PATCH] eCos ARMv4/5 support --- Configure | 2 ++ config | 5 +++++ fips/fips_canister.c | 1 + 3 files changed, 8 insertions(+) diff --git a/Configure b/Configure index 99b386b7c0..0107002037 100755 --- a/Configure +++ b/Configure @@ -397,6 +397,8 @@ my %table=( "linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}", "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}", +# eCos ARMv4/5 +"ecos-armv4", "gcc:-D__ECOS__ -I\$(ECOSCFG)/include -Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Wno-write-strings -mno-thumb-interwork -mcpu=arm926ej-s -g -O2 -fno-exceptions::-D_REENTRANT::-nostartfiles -L\$(ECOSCFG)/lib -Ttarget.ld::".eval{my $asm=$armv4_asm;$asm=~s/armcap.o//;$asm}, # Android: linux-* but without -DTERMIO and pointers to headers and libs. "android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", diff --git a/config b/config index 93dde30168..2c245e6f62 100755 --- a/config +++ b/config @@ -134,6 +134,10 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in echo "${MACHINE}-dg-dgux"; exit 0 ;; + ecos:*) + echo "${MACHINE}-whatever-ecos"; exit 0 + ;; + HI-UX:*) echo "${MACHINE}-hi-hiux"; exit 0 ;; @@ -645,6 +649,7 @@ case "$GUESSOS" in options="$options -DB_ENDIAN -mschedule=$CPUSCHEDULE -march=$CPUARCH" OUT="linux-generic32" ;; + armv[45]*-*-ecos) OUT="ecos-armv4" ;; armv[1-3]*-*-linux2) OUT="linux-generic32" ;; armv[7-9]*-*-linux2) OUT="linux-armv4"; options="$options -march=armv7-a" ;; arm*-*-linux2) OUT="linux-armv4" ;; diff --git a/fips/fips_canister.c b/fips/fips_canister.c index 9a3cffb8f9..6fefcceb6d 100644 --- a/fips/fips_canister.c +++ b/fips/fips_canister.c @@ -38,6 +38,7 @@ const void *FIPS_text_end(void); defined(__mips__)) || \ (defined(__APPLE__) /* verified on all MacOS X & iOS flavors */)|| \ (defined(_TMS320C6X)) || \ + (defined(__ECOS__)) || \ (defined(_WIN32) && defined(_MSC_VER)) # define FIPS_REF_POINT_IS_CROSS_COMPILER_AWARE # endif