On Sunday, 19 May 2019 at 10:49:51 UTC, Mike Franklin wrote:
On Sunday, 19 May 2019 at 06:54:14 UTC, Timo Sintonen wrote:
I am updating my toolset and libraries to GCC/GDC 9.1 release. First impression is that druntime needs more work than with previous versions. Many places to change and even compiler crashes when compiling some files.

Before I look further I want to ask if there has been any testing with this target (cross compiler linux->arm-eabi). Is it expected to work, not to work or not tested at all.

Several months ago, I used this script (https://github.com/JinShil/native-gdc/blob/master/native-gdc.sh) to build a native GDC compiler. I then used that compiler by way of this script (https://github.com/JinShil/arm-none-eabi-gdc/blob/master/arm-none-eabi-gdc.sh) to build an arm-none-eabi cross-compiler from head.

I then used that cross-compiler to build this ARM Cortex-M project (https://github.com/JinShil/stm32f42_discovery_demo). Everything worked fine.

I don't know if that helps, but that's my experience for whatever it's worth.

Mike

As we know there is always three possible sources of failure:
- the compiler sources may have a bug
- my local tools (gcc binutils etc) may build a buggy compiler
- my use of the built compiler is wrong (compiler flags etc)

This is what I currently use to build the compiler. C compilers built with this are used in production.

cat >file <<EOF
MULTILIB_OPTIONS += mcpu=cortex-m0/mcpu=cortex-m0plus/mcpu=cortex-m3/mcpu=cortex-m4/mcpu=cortex-m7 mfloat-abi=hard mfpu=fpv4-sp-d16 mfpu=fpv5-sp-d16 MULTILIB_DIRNAMES += cortex-m0 cortex-m0plus cortex-m3 cortex-m4 cortex-m7 hardfp fpv4 fpv5
MULTILIB_REQUIRED += mcpu=cortex-m0
MULTILIB_REQUIRED += mcpu=cortex-m0plus
MULTILIB_REQUIRED += mcpu=cortex-m3
MULTILIB_REQUIRED += mcpu=cortex-m4/mfloat-abi=hard/mfpu=fpv4-sp-d16 MULTILIB_REQUIRED += mcpu=cortex-m7/mfloat-abi=hard/mfpu=fpv5-sp-d16
MULTILIB_EXTRA_OPTS += mthumb

EOF
cp file gcc/gcc/config/arm/t-arm-elf

rm -rf build-gcc
mkdir build-gcc
cd build-gcc

../gcc/configure --disable-bootstrap --disable-nls --disable-werror \
--target=arm-eabi --enable-languages=c,d \
--without-isl --without-cloog \
--enable-multilib --disable-libphobos \
--disable-libstdcxx  --disable-libssp --disable-libquadmath \
--without-headers --with-newlib --with-system-zlib

Reply via email to