January 18, 2015
I have been trying to compile multilib for cortex-m0/m3/m4

I added this to gcc/config/arm/t-arm-elf:

MULTILIB_OPTIONS  += mcpu=cortex-m0/mcpu=cortex-m3/mcpu=cortex-m4  mfloat-abi=hard mfpu=fpv4-sp-d16
MULTILIB_DIRNAMES += cortex-m0 cortex-m3 cortex-m4
MULTILIB_REQUIRED += mcpu=cortex-m0
MULTILIB_REQUIRED += mcpu=cortex-m3
MULTILIB_REQUIRED += mcpu=cortex-m4
MULTILIB_EXTRA_OPTS += mthumb

The first line tells to build all combinations of those options but the next three lines telss to build only with these options. The last adds that option to all builds.

This works and makes three libraries with the correct cpu option.

This does not work although it should according to
https://gcc.gnu.org/onlinedocs/gccint/Target-Fragment.html

MULTILIB_OPTIONS  += mcpu=cortex-m0/mcpu=cortex-m3/mcpu=cortex-m4  mfloat-abi=hard mfpu=fpv4-sp-d16
MULTILIB_DIRNAMES += cortex-m0 cortex-m3 cortex-m4
MULTILIB_REQUIRED += mcpu=cortex-m0
MULTILIB_REQUIRED += mcpu=cortex-m3
MULTILIB_REQUIRED += mcpu=cortex-m4/mfloat-abi=hard/mfpu=fpv4-sp-d16
MULTILIB_EXTRA_OPTS += mthumb

After creating cortex-m4 directory the error message is:
././ is a directory

Does anybody have any idea or should I ask this in gcc list?
April 04, 2015
On Sunday, 18 January 2015 at 18:15:32 UTC, Timo Sintonen wrote:
> MULTILIB_OPTIONS  += mcpu=cortex-m0/mcpu=cortex-m3/mcpu=cortex-m4
>  mfloat-abi=hard mfpu=fpv4-sp-d16

shouldn't fpv4 be fpuv4 =?

For comparison / ideas, try my modification; I took a launchpad t-arm-elf and added arm7tdmi:

curl -O dl.gpio.dk/t-arm-elf-4.9.2.patch