Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

Mike via D.gnu d.gnu at puremagic.com
Mon Jul 17 13:26:57 PDT 2017


On Wednesday, 28 June 2017 at 22:17:09 UTC, Iain Buclaw wrote:

> A thought just occurred to me, you are compiling the entire 
> program + object.d right?  Nothing else will link/be linked to 
> the binary?
>
> If that is the case, you should definitely compile with 
> -fwhole-program.  I suspect that may cut down your compilation 
> time by half or even more.

I'm back and have spend the last two days trying to get my 
project compiled with -fwhole-program in an effort to reduce the 
compile times, but I haven't had any success.

Regardless of what I do, the compiler doesn't emit anything 
except main.

arm-none-eabi-gdc -c -O2 -finline-functions -nophoboslib 
-nostdinc -nodefaultlibs -nostdlib -fno-emit-moduleinfo -mthumb 
-mcpu=cortex-m4 -fwhole-program -Isource/entrypoint 
-fno-bounds-check -ffunction-sections -fdata-sections 
source/gcc/attribute.d source/runtime/exception.d 
source/runtime/invariant.d source/runtime/object.d 
source/runtime/dmain2.d source/board/lcd.d source/board/ILI9341.d 
source/board/package.d source/board/statusLED.d 
source/board/ltdc.d source/board/random.d source/board/spi5.d 
source/stm32f42/nvic.d source/stm32f42/gpio.d 
source/stm32f42/flash.d source/stm32f42/scb.d 
source/stm32f42/spi.d source/stm32f42/pwr.d 
source/stm32f42/ltdc.d source/stm32f42/trace.d 
source/stm32f42/rcc.d source/stm32f42/bus.d source/stm32f42/rng.d 
source/stm32f42/dma2d.d source/stm32f42/mmio.d source/main.d -o 
binary/firmware.o

arm-none-eabi-nm binary/firmware.o
          U _Dmain
          U _d_run_main
00000000 T main

Are you sure this works with multiple modules passed to the 
compiler on one line?

Mike




More information about the D.gnu mailing list