Closed issue by lemmi on void-packages repository https://github.com/void-linux/void-packages/issues/4931 Description: I suspect that other chips are affected as well. First issue is #1824, which i think can be resolved by not stripping the libs. ### Expected behavior Can compile for stm32. Output of [arm binary compiler](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads): ``` /opt/gcc-arm-none-eabi-7-2018-q2-update/bin/arm-none-eabi-gcc -print-multi-lib .; thumb;@mthumb hard;@mfloat-abi=hard thumb/v6-m;@mthumb@march=armv6s-m thumb/v7-m;@mthumb@march=armv7-m thumb/v7e-m;@mthumb@march=armv7e-m thumb/v7-ar;@mthumb@march=armv7 thumb/v8-m.base;@mthumb@march=armv8-m.base thumb/v8-m.main;@mthumb@march=armv8-m.main thumb/v7e-m/fpv4-sp/softfp;@mthumb@march=armv7e-m@mfpu=fpv4-sp-d16@mfloat-abi=softfp thumb/v7e-m/fpv4-sp/hard;@mthumb@march=armv7e-m@mfpu=fpv4-sp-d16@mfloat-abi=hard thumb/v7e-m/fpv5/softfp;@mthumb@march=armv7e-m@mfpu=fpv5-d16@mfloat-abi=softfp thumb/v7e-m/fpv5/hard;@mthumb@march=armv7e-m@mfpu=fpv5-d16@mfloat-abi=hard thumb/v7-ar/fpv3/softfp;@mthumb@march=armv7@mfpu=vfpv3-d16@mfloat-abi=softfp thumb/v7-ar/fpv3/hard;@mthumb@march=armv7@mfpu=vfpv3-d16@mfloat-abi=hard thumb/v8-m.main/fpv5-sp/softfp;@mthumb@march=armv8-m.main@mfpu=fpv5-sp-d16@mfloat-abi=softfp thumb/v8-m.main/fpv5-sp/hard;@mthumb@march=armv8-m.main@mfpu=fpv5-sp-d16@mfloat-abi=hard thumb/v8-m.main/fpv5/softfp;@mthumb@march=armv8-m.main@mfpu=fpv5-d16@mfloat-abi=softfp thumb/v8-m.main/fpv5/hard;@mthumb@march=armv8-m.main@mfpu=fpv5-d16@mfloat-abi=hard ``` ### Actual behavior ``` arm-none-eabi-gcc build/main.o build/usb_device.o build/usbd_conf.o build/usbd_desc.o build/usbd_custom_hid_if.o build/stm32f3xx_it.o build/stm32f3xx_hal_msp.o build/stm32f3xx_hal_pcd.o build/stm32f3xx_hal_pcd_ex.o build/stm32f3xx_hal_i2c.o build/stm32f3xx_hal_i2c_ex.o build/stm32f3xx_hal_spi.o build/stm32f3xx_hal_spi_ex.o build/stm32f3xx_hal_tim.o build/stm32f3xx_hal_tim_ex.o build/stm32f3xx_hal.o build/stm32f3xx_hal_rcc.o build/stm32f3xx_hal_rcc_ex.o build/stm32f3xx_hal_gpio.o build/stm32f3xx_hal_dma.o build/stm32f3xx_hal_cortex.o build/stm32f3xx_hal_pwr.o build/stm32f3xx_hal_pwr_ex.o build/stm32f3xx_hal_flash.o build/stm32f3xx_hal_flash_ex.o build/system_stm32f3xx.o build/usbd_core.o build/usbd_ctlreq.o build/usbd_ioreq.o build/usbd_customhid.o build/startup_stm32f303xc.o -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -specs=nano.specs -TSTM32F303VCTx_FLASH.ld -lc -lm -lnosys -Wl,-Map=build/kbdf3.map,--cref -Wl,--gc-sections -o build/kbdf3.elf /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a: error adding symbols: archive has no index; run ranlib to add one collect2: error: ld returned 1 exit status make: *** [Makefile:180: build/kbdf3.elf] Error 1 ``` Without stripped libs: (removed https://github.com/void-linux/void-packages/blob/master/srcpkgs/cross-arm-none-eabi/template#L351-L352) ``` arm-none-eabi-gcc build/main.o build/usb_device.o build/usbd_conf.o build/usbd_desc.o build/usbd_custom_hid_if.o build/stm32f3xx_it.o build/stm32f3xx_hal_msp.o build/stm32f3xx_hal_pcd.o build/stm32f3xx_hal_pcd_ex.o build/stm32f3xx_hal_i2c.o build/stm32f3xx_hal_i2c_ex.o build/stm32f3xx_hal_spi.o build/stm32f3xx_hal_spi_ex.o build/stm32f3xx_hal_tim.o build/stm32f3xx_hal_tim_ex.o build/stm32f3xx_hal.o build/stm32f3xx_hal_rcc.o build/stm32f3xx_hal_rcc_ex.o build/stm32f3xx_hal_gpio.o build/stm32f3xx_hal_dma.o build/stm32f3xx_hal_cortex.o build/stm32f3xx_hal_pwr.o build/stm32f3xx_hal_pwr_ex.o build/stm32f3xx_hal_flash.o build/stm32f3xx_hal_flash_ex.o build/system_stm32f3xx.o build/usbd_core.o build/usbd_ctlreq.o build/usbd_ioreq.o build/usbd_customhid.o build/startup_stm32f303xc.o -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -specs=nano.specs -TSTM32F303VCTx_FLASH.ld -lc -lm -lnosys -Wl,-Map=build/kbdf3.map,--cref -Wl,--gc-sections -o build/kbdf3.elf /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: error: /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/crt0.o: Conflicting CPU architectures 13/0 /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/crt0.o /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: error: build/kbdf3.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-atexit.o) does not /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-atexit.o) /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: error: build/kbdf3.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-exit.o) does not /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-exit.o) /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: error: build/kbdf3.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-fini.o) does not /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-fini.o) /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: error: build/kbdf3.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-impure.o) does not /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-impure.o) /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: error: build/kbdf3.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-init.o) does not /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-init.o) /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: error: build/kbdf3.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-memset.o) does not /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-memset.o) /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: error: build/kbdf3.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-__atexit.o) does not /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-__atexit.o) /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: error: build/kbdf3.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-__call_atexit.o) does not /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libc_nano.a(lib_a-__call_atexit.o) /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: error: build/kbdf3.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libnosys.a(_exit.o) does not /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/lib/libnosys.a(_exit.o) collect2: error: ld returned 1 exit status ``` ``` $ arm-none-eabi-gcc -print-multi-lib .; thumb;@mthumb fpu;@mfloat-abi=hard armv6-m;@mthumb@march=armv6s-m armv7-m;@mthumb@march=armv7-m armv7e-m;@mthumb@march=armv7e-m armv7-ar/thumb;@mthumb@march=armv7 armv7e-m/softfp;@mthumb@march=armv7e-m@mfloat-abi=softfp@mfpu=fpv4-sp-d16 armv7e-m/fpu;@mthumb@march=armv7e-m@mfloat-abi=hard@mfpu=fpv4-sp-d16 armv7-ar/thumb/softfp;@mthumb@march=armv7@mfloat-abi=softfp@mfpu=vfpv3-d16 armv7-ar/thumb/fpu;@mthumb@march=armv7@mfloat-abi=hard@mfpu=vfpv3-d16 ``` ### Steps to reproduce the behavior Generate any project with `STM32CubeMX` and `make`. @teajay-fr