I am porting the crypto folder of Open_SSL 1.0.1 to a Cortex-M4 (Atmel SAM4S Xplained) board. I can build this folder using the Yagarto toolchain and run it. But building it with your latest toolchain fails with the error below:
________________________________________
GNU C (GNU Tools for ARM Embedded Processors) version 4.7.3 20121207 (release) [ARM/embedded-4_7-branch revision 194305] (arm-none-eabi)
compiled by GNU C version 4.3.6, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: de394053dbf55c8655d4d034c9ddd45f
../src/tpm/open_ssl/crypto/stack/stack.c: In function 'sk_insert':
../src/tpm/open_ssl/crypto/stack/stack.c:157:2: internal compiler error: in arm_cortex_v7m_branch_cost, at config/arm/arm.c:8761
_______________________________________
The gcc input is:
make all
Building file: ../src/tpm/open_ssl/crypto/stack/stack.c
Using built-in specs.
Invoking: Cross GCC Compiler
~/gcc-arm-none-eabi-4_7-2012q4/bin/arm-none-eabi-gcc -D__SAM4S16__ -DUSE_OSSL -DBOARD=SAM4S_XPLAINED -DARM_MATH_CM4=true -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/config" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/tpm/include" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/tpm/include/openssl" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/tpm/open_ssl" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/tpm/open_ssl/crypto" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/common/boards" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/common/utils" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/common/utils/stdio/stdio_serial" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/common/services/clock" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/common/services/gpio" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/common/services/serial" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/common/services/serial/sam_uart" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/boards" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/boards/sam4s_xplained" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/drivers/pio" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/drivers/pmc" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/drivers/rtt" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/drivers/spi" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/drivers/uart" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/drivers/usart" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/utils" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/utils/preprocessor" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/utils/header_files" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/utils/cmsis/sam4s/include" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/sam/utils/cmsis/sam4s/source/templates" -I"/home/gfuchs/workspace_gfuchs/OpenSSL_SAM4S/src/asf/thirdparty/CMSIS/Lib/GCC" -O1 -ffunction-sections -mlong-calls -g -Wall -Wextra -c -fmessage-length=0 -mtune=cortex-m4 -mthumb -v -MMD -MP -MF"src/tpm/open_ssl/crypto/stack/stack.d" -MT"src/tpm/open_ssl/crypto/stack/stack.d" -o "src/tpm/open_ssl/crypto/stack/stack.o" "../src/tpm/open_ssl/crypto/stack/stack.c"
COLLECT_GCC=/home/gfuchs/gcc-arm-none-eabi-4_7-2012q4/bin/arm-none-eabi-gcc
Target: arm-none-eabi
Configured with: /home/build/work/GCC-4-7-build/src/gcc/configure --target=arm-none-eabi --prefix=/home/build/work/GCC-4-7-build/install-native --libexecdir=/home/build/work/GCC-4-7-build/install-native/lib --infodir=/home/build/work/GCC-4-7-build/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/home/build/work/GCC-4-7-build/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/home/build/work/GCC-4-7-build/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/home/build/work/GCC-4-7-build/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-lto --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/home/build/work/GCC-4-7-build/install-native/arm-none-eabi --build=i686-linux-gnu --host=i686-linux-gnu --with-gmp=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-mpfr=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-mpc=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-ppl=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-cloog=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-libelf=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for ARM Embedded Processors' --with-multilib-list=armv6-m,armv7-m,armv7e-m,armv7-r
Thread model: single
gcc version 4.7.3 20121207 (release) [ARM/embedded-4_7-branch revision 194305] (GNU Tools for ARM Embedded Processors)