Closed rleh closed 5 years ago
Looks like the linker uses
/usr/arm-none-eabi/lib/libc_nano.a
and /usr/arm-none-eabi/lib/libm.a
instead of
/usr/arm-none-eabi/lib/hard/libc_nano.a
and /usr/arm-none-eabi/lib/hard/libm.a
.
If I overwrite the libraries in lib/
with the libraries from lib/hard/
linking works fine.
Is this a GCC, a Fedora packaging or a modm issue?
modm:build
only specifies the modm:build:archflags
once and they are then added to all relevant tool flags only once. That's all modm can do.
Then the GCC compiler uses internal configuration files called spec files
, which translate the compile flags into more specific commands, for example, which libc/libm to include for what flags.
There may be an issue there (check arm-none-eabi-gcc -dumpspecs
output for *multilib
entries), but then again every time I sought to blame the compiler I was wrong…
On the other hand, thumb/v7e-m+fp/hard;@mthumb@march=armv7e-m+fp@mfloat-abi=hard
is what should be used for the F4 series, so why is it not?
Did they mess up the combination of using libc nano and FP?
arm-none-eabi-gcc -dumpspecs
*multilib:
. !marm !mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;arm/v5te/softfp marm !mthumb march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;arm/v5te/hard marm !mthumb march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7/nofp !marm mthumb !march=armv5te+fp march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7+fp/softfp !marm mthumb !march=armv5te+fp !march=armv7 march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7+fp/hard !marm mthumb !march=armv5te+fp !march=armv7 march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/v6-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7e-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7e-m+fp/softfp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7e-m+fp/hard !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/v7e-m+dp/softfp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7e-m+dp/hard !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/v8-m.base/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.main/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.main+fp/softfp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.main+fp/hard !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/v8-m.main+dp/softfp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.main+dp/hard !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;
*multilib_defaults:
*multilib_extra:
*multilib_matches:
march=armv6-m march=armv6s-m;march=armv8-m.main+dsp march=armv8-m.main;march=armv8-m.main+dsp+fp march=armv8-m.main+fp;march=armv8-m.main+dsp+fp.dp march=armv8-m.main+fp.dp;march=armv7e-m+fpv5 march=armv7e-m+fp;march=armv7-r march=armv7;march=armv7-r+idiv march=armv7;march=armv7-r+fp march=armv7+fp;march=armv7-r+fp+idiv march=armv7+fp;march=armv5tej+fp march=armv5te+fp;march=armv6+fp march=armv5te+fp;march=armv6j+fp march=armv5te+fp;march=armv6k+fp march=armv5te+fp;march=armv6z+fp march=armv5te+fp;march=armv6kz+fp march=armv5te+fp;march=armv6zk+fp march=armv5te+fp;march=armv6t2+fp march=armv5te+fp;march=iwmmxt+fp march=armv5te+fp;march=iwmmxt2+fp march=armv5te+fp;march=armv8-r march=armv7;march=armv8-r+crc march=armv7;march=armv8-r+simd march=armv7+fp;march=armv8-r+crc+simd march=armv7+fp;march=armv8-r+crypto march=armv7+fp;march=armv8-r+crc+crypto march=armv7+fp;march=armv7-a march=armv7;march=armv7-a+fp march=armv7+fp;march=armv7-a+vfpv3 march=armv7+fp;march=armv7-a+vfpv3-d16-fp16 march=armv7+fp;march=armv7-a+vfpv3-fp16 march=armv7+fp;march=armv7-a+vfpv4-d16 march=armv7+fp;march=armv7-a+vfpv4 march=armv7+fp;march=armv7-a+simd march=armv7+fp;march=armv7-a+neon-fp16 march=armv7+fp;march=armv7-a+neon-vfpv4 march=armv7+fp;march=armv7ve march=armv7;march=armv7ve+vfpv3-d16 march=armv7+fp;march=armv7ve+vfpv3 march=armv7+fp;march=armv7ve+vfpv3-d16-fp16 march=armv7+fp;march=armv7ve+vfpv3-fp16 march=armv7+fp;march=armv7ve+fp march=armv7+fp;march=armv7ve+vfpv4 march=armv7+fp;march=armv7ve+neon march=armv7+fp;march=armv7ve+neon-fp16 march=armv7+fp;march=armv7ve+simd march=armv7+fp;march=armv8-a march=armv7;march=armv8-a+crc march=armv7;march=armv8-a+crc+simd march=armv7+fp;march=armv8-a+simd march=armv7+fp;march=armv8-a+crc+simd march=armv7+fp;march=armv8-a+simd+crypto march=armv7+fp;march=armv8-a+crc+simd+crypto march=armv7+fp;march=armv8-a+crypto march=armv7+fp;march=armv8-a+crc+crypto march=armv7+fp;march=armv8.1-a march=armv7;march=armv8.1-a+simd march=armv7+fp;march=armv8.1-a+simd+crypto march=armv7+fp;march=armv8.1-a+crypto march=armv7+fp;march=armv8.2-a march=armv7;march=armv8.3-a march=armv7;march=armv8.2-a+simd march=armv7+fp;march=armv8.3-a+simd march=armv7+fp;march=armv8.2-a+simd+fp16 march=armv7+fp;march=armv8.3-a+simd+fp16 march=armv7+fp;march=armv8.2-a+fp16 march=armv7+fp;march=armv8.3-a+fp16 march=armv7+fp;march=armv8.2-a+simd+fp16+fp16fml march=armv7+fp;march=armv8.3-a+simd+fp16+fp16fml march=armv7+fp;march=armv8.2-a+fp16+fp16fml march=armv7+fp;march=armv8.3-a+fp16+fp16fml march=armv7+fp;march=armv8.2-a+simd+fp16fml march=armv7+fp;march=armv8.3-a+simd+fp16fml march=armv7+fp;march=armv8.2-a+fp16fml march=armv7+fp;march=armv8.3-a+fp16fml march=armv7+fp;march=armv8.2-a+simd+fp16+fp16fml+crypto march=armv7+fp;march=armv8.3-a+simd+fp16+fp16fml+crypto march=armv7+fp;march=armv8.2-a+fp16+fp16fml+crypto march=armv7+fp;march=armv8.3-a+fp16+fp16fml+crypto march=armv7+fp;march=armv8.2-a+simd+fp16fml+crypto march=armv7+fp;march=armv8.3-a+simd+fp16fml+crypto march=armv7+fp;march=armv8.2-a+fp16fml+crypto march=armv7+fp;march=armv8.3-a+fp16fml+crypto march=armv7+fp;march=armv8.2-a+simd+fp16+crypto march=armv7+fp;march=armv8.3-a+simd+fp16+crypto march=armv7+fp;march=armv8.2-a+fp16+crypto march=armv7+fp;march=armv8.3-a+fp16+crypto march=armv7+fp;march=armv8.2-a+simd+crypto march=armv7+fp;march=armv8.3-a+simd+crypto march=armv7+fp;march=armv8.2-a+crypto march=armv7+fp;march=armv8.3-a+crypto march=armv7+fp;march=armv8.2-a+simd+fp16+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.2-a+fp16+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.3-a+fp16+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.2-a+simd+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.2-a+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.3-a+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.2-a+simd+fp16+crypto+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16+crypto+dotprod march=armv7+fp;march=armv8.2-a+fp16+crypto+dotprod march=armv7+fp;march=armv8.3-a+fp16+crypto+dotprod march=armv7+fp;march=armv8.2-a+simd+crypto+dotprod march=armv7+fp;march=armv8.3-a+simd+crypto+dotprod march=armv7+fp;march=armv8.2-a+crypto+dotprod march=armv7+fp;march=armv8.3-a+crypto+dotprod march=armv7+fp;march=armv8.2-a+simd+fp16+fp16fml+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16+fp16fml+dotprod march=armv7+fp;march=armv8.2-a+fp16+fp16fml+dotprod march=armv7+fp;march=armv8.3-a+fp16+fp16fml+dotprod march=armv7+fp;march=armv8.2-a+simd+fp16fml+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16fml+dotprod march=armv7+fp;march=armv8.2-a+fp16fml+dotprod march=armv7+fp;march=armv8.3-a+fp16fml+dotprod march=armv7+fp;march=armv8.2-a+simd+fp16+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16+dotprod march=armv7+fp;march=armv8.2-a+fp16+dotprod march=armv7+fp;march=armv8.3-a+fp16+dotprod march=armv7+fp;march=armv8.2-a+simd+dotprod march=armv7+fp;march=armv8.3-a+simd+dotprod march=armv7+fp;march=armv8.2-a+dotprod march=armv7+fp;march=armv8.3-a+dotprod march=armv7+fp;march=armv8.4-a march=armv7;march=armv8.4-a+simd march=armv7+fp;march=armv8.4-a+simd+fp16 march=armv7+fp;march=armv8.4-a+fp16 march=armv7+fp;march=armv8.4-a+simd+fp16+crypto march=armv7+fp;march=armv8.4-a+fp16+crypto march=armv7+fp;march=armv8.4-a+simd+crypto march=armv7+fp;march=armv8.4-a+crypto march=armv7+fp;march=armv8.5-a march=armv7;march=armv8.5-a+simd march=armv7+fp;march=armv8.5-a+simd+fp16 march=armv7+fp;march=armv8.5-a+fp16 march=armv7+fp;march=armv8.5-a+simd+fp16+crypto march=armv7+fp;march=armv8.5-a+fp16+crypto march=armv7+fp;march=armv8.5-a+simd+crypto march=armv7+fp;march=armv8.5-a+crypto march=armv7+fp;marm marm;mthumb mthumb;march=armv5te+fp march=armv5te+fp;march=armv7 march=armv7;march=armv7+fp march=armv7+fp;march=armv6s-m march=armv6s-m;march=armv7-m march=armv7-m;march=armv7e-m march=armv7e-m;march=armv7e-m+fp march=armv7e-m+fp;march=armv7e-m+fp.dp march=armv7e-m+fp.dp;march=armv8-m.base march=armv8-m.base;march=armv8-m.main march=armv8-m.main;march=armv8-m.main+fp march=armv8-m.main+fp;march=armv8-m.main+fp.dp march=armv8-m.main+fp.dp;mfloat-abi=soft mfloat-abi=soft;mfloat-abi=softfp mfloat-abi=softfp;mfloat-abi=hard mfloat-abi=hard;
*multilib_exclusions:
*multilib_options:
marm/mthumb march=armv5te+fp/march=armv7/march=armv7+fp/march=armv6s-m/march=armv7-m/march=armv7e-m/march=armv7e-m+fp/march=armv7e-m+fp.dp/march=armv8-m.base/march=armv8-m.main/march=armv8-m.main+fp/march=armv8-m.main+fp.dp mfloat-abi=soft/mfloat-abi=softfp/mfloat-abi=hard
*multilib_reuse:
thumb/v6-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7e-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.base/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.main/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7/nofp marm !mthumb !march=armv5te+fp march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7+fp/hard marm !mthumb !march=armv5te+fp !march=armv7 march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/v7+fp/softfp marm !mthumb !march=armv5te+fp !march=armv7 march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7/nofp marm !mthumb !march=armv5te+fp march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7/nofp !marm mthumb !march=armv5te+fp march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;
*asm: %{mbig-endian:-EB} %{mlittle-endian:-EL} %(asm_cpu_spec) %{mapcs-*:-mapcs-%*} %(subtarget_asm_float_spec) %{mthumb-interwork:-mthumb-interwork} %{mfloat-abi=*} %{!mfpu=auto: %{mfpu=*}} %(subtarget_extra_asm_spec) *asm_debug: %{%:debug-level-gt(0):%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}} %{fdebug-prefix-map=*:--debug-prefix-map %*} *asm_final: %{gsplit-dwarf: objcopy --extract-dwo %{c:%{o*:%*}%{!o*:%b%O}}%{!c:%U%O} %{c:%{o*:%:replace-extension(%{o*:%*} .dwo)}%{!o*:%b.dwo}}%{!c:%b.dwo} objcopy --strip-dwo %{c:%{o*:%*}%{!o*:%b%O}}%{!c:%U%O} } *asm_options: %{-target-help:%:print-asm-header()} %{v} %{w:-W} %{I*} %{gz|gz=zlib:--compress-debug-sections=zlib} %{gz=none:--compress-debug-sections=none} %{gz=zlib-gnu:--compress-debug-sections=zlib-gnu} %a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O} *invoke_as: %{!fwpa*: %{fcompare-debug=*|fdump-final-insns=*:%:compare-debug-dump-opt()} %{!S:-o %|.s | as %(asm_options) %m.s %A } } *cpp: %(subtarget_cpp_spec) %{mfloat-abi=soft:%{mfloat-abi=hard: %e-mfloat-abi=soft and -mfloat-abi=hard may not be used together}} %{mbig-endian:%{mlittle-endian: %e-mbig-endian and -mlittle-endian may not be used together}} *cpp_options: %(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w} %{f*} %{g*:%{%:debug-level-gt(0):%{g*} %{!fno-working-directory:-fworking-directory}}} %{O*} %{undef} %{save-temps*:-fpch-preprocess} *cpp_debug_options: %{d*} *cpp_unique_options: %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %@{I*&F*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}} %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*} %{!E:%{!M:%{!MM:%{!MT:%{!MQ:%{MD|MMD:%{o*:-MQ %*}}}}}}} %{remap} %{g3|ggdb3|gstabs3|gxcoff3|gvms3:-dD} %{!iplugindir*:%{fplugin*:%:find-plugindir()}} %{H} %C %{D*&U*&A*} %{i*} %Z %i %{E|M|MM:%W{o*}} *trad_capable_cpp: cc1 -E %{traditional|traditional-cpp:-traditional-cpp} *cc1: *cc1_options: %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %{!iplugindir*:%{fplugin*:%:find-plugindir()}} %1 %{!Q:-quiet} %{!dumpbase:-dumpbase %B} %{d*} %{m*} %{aux-info*} %{fcompare-debug-second:%:compare-debug-auxbase-opt(%b)} %{!fcompare-debug-second:%{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}}%{!c:%{!S:-auxbase %b}} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi&trigraphs} %{v:-version} %{pg:-p} %{p} %{f*} %{undef} %{Qn:-fno-ident} %{Qy:} %{-help:--help} %{-target-help:--target-help} %{-version:--version} %{-help=*:--help=%*} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*} %{coverage:-fprofile-arcs -ftest-coverage} %{fprofile-arcs|fprofile-generate*|coverage: %{!fprofile-update=single: %{pthread:-fprofile-update=prefer-atomic}}} *cc1plus: *link_gcc_c_sequence: --start-group %G %{!nolibc:%L} --end-group *link_ssp: %{fstack-protector|fstack-protector-all|fstack-protector-strong|fstack-protector-explicit:} *endfile: crtend%O%s crtn%O%s *link: %{mbig-endian:-EB} %{mlittle-endian:-EL} %{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic} -X %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx}%{!r:%{!mbe32:%:be8_linkopt(%{mlittle-endian:little} %{mbig-endian:big} %{mbe8:be8} %{march=*:arch %*})}} *lib: %{!shared:%{g*:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}} *link_gomp: *libgcc: -lgcc *startfile: %{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} crti%O%s crtbegin%O%s crt0%O%s *cross_compile: 1 *version: 9.2.0 *multilib: . !marm !mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;arm/v5te/softfp marm !mthumb march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;arm/v5te/hard marm !mthumb march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7/nofp !marm mthumb !march=armv5te+fp march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7+fp/softfp !marm mthumb !march=armv5te+fp !march=armv7 march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7+fp/hard !marm mthumb !march=armv5te+fp !march=armv7 march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/v6-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7e-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7e-m+fp/softfp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7e-m+fp/hard !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/v7e-m+dp/softfp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7e-m+dp/hard !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/v8-m.base/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.main/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.main+fp/softfp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.main+fp/hard !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/v8-m.main+dp/softfp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.main+dp/hard !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard; *multilib_defaults: *multilib_extra: *multilib_matches: march=armv6-m march=armv6s-m;march=armv8-m.main+dsp march=armv8-m.main;march=armv8-m.main+dsp+fp march=armv8-m.main+fp;march=armv8-m.main+dsp+fp.dp march=armv8-m.main+fp.dp;march=armv7e-m+fpv5 march=armv7e-m+fp;march=armv7-r march=armv7;march=armv7-r+idiv march=armv7;march=armv7-r+fp march=armv7+fp;march=armv7-r+fp+idiv march=armv7+fp;march=armv5tej+fp march=armv5te+fp;march=armv6+fp march=armv5te+fp;march=armv6j+fp march=armv5te+fp;march=armv6k+fp march=armv5te+fp;march=armv6z+fp march=armv5te+fp;march=armv6kz+fp march=armv5te+fp;march=armv6zk+fp march=armv5te+fp;march=armv6t2+fp march=armv5te+fp;march=iwmmxt+fp march=armv5te+fp;march=iwmmxt2+fp march=armv5te+fp;march=armv8-r march=armv7;march=armv8-r+crc march=armv7;march=armv8-r+simd march=armv7+fp;march=armv8-r+crc+simd march=armv7+fp;march=armv8-r+crypto march=armv7+fp;march=armv8-r+crc+crypto march=armv7+fp;march=armv7-a march=armv7;march=armv7-a+fp march=armv7+fp;march=armv7-a+vfpv3 march=armv7+fp;march=armv7-a+vfpv3-d16-fp16 march=armv7+fp;march=armv7-a+vfpv3-fp16 march=armv7+fp;march=armv7-a+vfpv4-d16 march=armv7+fp;march=armv7-a+vfpv4 march=armv7+fp;march=armv7-a+simd march=armv7+fp;march=armv7-a+neon-fp16 march=armv7+fp;march=armv7-a+neon-vfpv4 march=armv7+fp;march=armv7ve march=armv7;march=armv7ve+vfpv3-d16 march=armv7+fp;march=armv7ve+vfpv3 march=armv7+fp;march=armv7ve+vfpv3-d16-fp16 march=armv7+fp;march=armv7ve+vfpv3-fp16 march=armv7+fp;march=armv7ve+fp march=armv7+fp;march=armv7ve+vfpv4 march=armv7+fp;march=armv7ve+neon march=armv7+fp;march=armv7ve+neon-fp16 march=armv7+fp;march=armv7ve+simd march=armv7+fp;march=armv8-a march=armv7;march=armv8-a+crc march=armv7;march=armv8-a+crc+simd march=armv7+fp;march=armv8-a+simd march=armv7+fp;march=armv8-a+crc+simd march=armv7+fp;march=armv8-a+simd+crypto march=armv7+fp;march=armv8-a+crc+simd+crypto march=armv7+fp;march=armv8-a+crypto march=armv7+fp;march=armv8-a+crc+crypto march=armv7+fp;march=armv8.1-a march=armv7;march=armv8.1-a+simd march=armv7+fp;march=armv8.1-a+simd+crypto march=armv7+fp;march=armv8.1-a+crypto march=armv7+fp;march=armv8.2-a march=armv7;march=armv8.3-a march=armv7;march=armv8.2-a+simd march=armv7+fp;march=armv8.3-a+simd march=armv7+fp;march=armv8.2-a+simd+fp16 march=armv7+fp;march=armv8.3-a+simd+fp16 march=armv7+fp;march=armv8.2-a+fp16 march=armv7+fp;march=armv8.3-a+fp16 march=armv7+fp;march=armv8.2-a+simd+fp16+fp16fml march=armv7+fp;march=armv8.3-a+simd+fp16+fp16fml march=armv7+fp;march=armv8.2-a+fp16+fp16fml march=armv7+fp;march=armv8.3-a+fp16+fp16fml march=armv7+fp;march=armv8.2-a+simd+fp16fml march=armv7+fp;march=armv8.3-a+simd+fp16fml march=armv7+fp;march=armv8.2-a+fp16fml march=armv7+fp;march=armv8.3-a+fp16fml march=armv7+fp;march=armv8.2-a+simd+fp16+fp16fml+crypto march=armv7+fp;march=armv8.3-a+simd+fp16+fp16fml+crypto march=armv7+fp;march=armv8.2-a+fp16+fp16fml+crypto march=armv7+fp;march=armv8.3-a+fp16+fp16fml+crypto march=armv7+fp;march=armv8.2-a+simd+fp16fml+crypto march=armv7+fp;march=armv8.3-a+simd+fp16fml+crypto march=armv7+fp;march=armv8.2-a+fp16fml+crypto march=armv7+fp;march=armv8.3-a+fp16fml+crypto march=armv7+fp;march=armv8.2-a+simd+fp16+crypto march=armv7+fp;march=armv8.3-a+simd+fp16+crypto march=armv7+fp;march=armv8.2-a+fp16+crypto march=armv7+fp;march=armv8.3-a+fp16+crypto march=armv7+fp;march=armv8.2-a+simd+crypto march=armv7+fp;march=armv8.3-a+simd+crypto march=armv7+fp;march=armv8.2-a+crypto march=armv7+fp;march=armv8.3-a+crypto march=armv7+fp;march=armv8.2-a+simd+fp16+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.2-a+fp16+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.3-a+fp16+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.2-a+simd+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.2-a+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.3-a+fp16fml+crypto+dotprod march=armv7+fp;march=armv8.2-a+simd+fp16+crypto+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16+crypto+dotprod march=armv7+fp;march=armv8.2-a+fp16+crypto+dotprod march=armv7+fp;march=armv8.3-a+fp16+crypto+dotprod march=armv7+fp;march=armv8.2-a+simd+crypto+dotprod march=armv7+fp;march=armv8.3-a+simd+crypto+dotprod march=armv7+fp;march=armv8.2-a+crypto+dotprod march=armv7+fp;march=armv8.3-a+crypto+dotprod march=armv7+fp;march=armv8.2-a+simd+fp16+fp16fml+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16+fp16fml+dotprod march=armv7+fp;march=armv8.2-a+fp16+fp16fml+dotprod march=armv7+fp;march=armv8.3-a+fp16+fp16fml+dotprod march=armv7+fp;march=armv8.2-a+simd+fp16fml+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16fml+dotprod march=armv7+fp;march=armv8.2-a+fp16fml+dotprod march=armv7+fp;march=armv8.3-a+fp16fml+dotprod march=armv7+fp;march=armv8.2-a+simd+fp16+dotprod march=armv7+fp;march=armv8.3-a+simd+fp16+dotprod march=armv7+fp;march=armv8.2-a+fp16+dotprod march=armv7+fp;march=armv8.3-a+fp16+dotprod march=armv7+fp;march=armv8.2-a+simd+dotprod march=armv7+fp;march=armv8.3-a+simd+dotprod march=armv7+fp;march=armv8.2-a+dotprod march=armv7+fp;march=armv8.3-a+dotprod march=armv7+fp;march=armv8.4-a march=armv7;march=armv8.4-a+simd march=armv7+fp;march=armv8.4-a+simd+fp16 march=armv7+fp;march=armv8.4-a+fp16 march=armv7+fp;march=armv8.4-a+simd+fp16+crypto march=armv7+fp;march=armv8.4-a+fp16+crypto march=armv7+fp;march=armv8.4-a+simd+crypto march=armv7+fp;march=armv8.4-a+crypto march=armv7+fp;march=armv8.5-a march=armv7;march=armv8.5-a+simd march=armv7+fp;march=armv8.5-a+simd+fp16 march=armv7+fp;march=armv8.5-a+fp16 march=armv7+fp;march=armv8.5-a+simd+fp16+crypto march=armv7+fp;march=armv8.5-a+fp16+crypto march=armv7+fp;march=armv8.5-a+simd+crypto march=armv7+fp;march=armv8.5-a+crypto march=armv7+fp;marm marm;mthumb mthumb;march=armv5te+fp march=armv5te+fp;march=armv7 march=armv7;march=armv7+fp march=armv7+fp;march=armv6s-m march=armv6s-m;march=armv7-m march=armv7-m;march=armv7e-m march=armv7e-m;march=armv7e-m+fp march=armv7e-m+fp;march=armv7e-m+fp.dp march=armv7e-m+fp.dp;march=armv8-m.base march=armv8-m.base;march=armv8-m.main march=armv8-m.main;march=armv8-m.main+fp march=armv8-m.main+fp;march=armv8-m.main+fp.dp march=armv8-m.main+fp.dp;mfloat-abi=soft mfloat-abi=soft;mfloat-abi=softfp mfloat-abi=softfp;mfloat-abi=hard mfloat-abi=hard; *multilib_exclusions: *multilib_options: marm/mthumb march=armv5te+fp/march=armv7/march=armv7+fp/march=armv6s-m/march=armv7-m/march=armv7e-m/march=armv7e-m+fp/march=armv7e-m+fp.dp/march=armv8-m.base/march=armv8-m.main/march=armv8-m.main+fp/march=armv8-m.main+fp.dp mfloat-abi=soft/mfloat-abi=softfp/mfloat-abi=hard *multilib_reuse: thumb/v6-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7e-m/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.base/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v8-m.main/nofp !marm mthumb !march=armv5te+fp !march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7/nofp marm !mthumb !march=armv5te+fp march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp mfloat-abi=soft !mfloat-abi=softfp !mfloat-abi=hard;thumb/v7+fp/hard marm !mthumb !march=armv5te+fp !march=armv7 march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft !mfloat-abi=softfp mfloat-abi=hard;thumb/v7+fp/softfp marm !mthumb !march=armv5te+fp !march=armv7 march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7/nofp marm !mthumb !march=armv5te+fp march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard;thumb/v7/nofp !marm mthumb !march=armv5te+fp march=armv7 !march=armv7+fp !march=armv6s-m !march=armv7-m !march=armv7e-m !march=armv7e-m+fp !march=armv7e-m+fp.dp !march=armv8-m.base !march=armv8-m.main !march=armv8-m.main+fp !march=armv8-m.main+fp.dp !mfloat-abi=soft mfloat-abi=softfp !mfloat-abi=hard; *linker: collect2 *linker_plugin_file: *lto_wrapper: *lto_gcc: *post_link: *link_libgcc: %D *md_exec_prefix: *md_startfile_prefix: *md_startfile_prefix_1: *startfile_prefix_spec: *sysroot_spec: --sysroot=%R *sysroot_suffix_spec: *sysroot_hdrs_suffix_spec: *self_spec: *subtarget_cpp_spec: -D__USES_INITFINI__ *asm_cpu_spec: %{mfpu=auto:%
Hm, now what?
Also, 🤓🤓technically🤓🤓, your toolchain isn't supported by modm. #RuleLawyering
Install the ARM toochain by downloading the pre-built version for 64-bit Linux and adding its /bin directory to your path. Even though your distribution may ship their own ARM toolchain, we very strongly recommend using the official toolchain, since all of modm is tested with it.
Could someone else using the arm-none-eabi toolchain provided by their Linux distribution be kind enough to check if they get the same bug? @ekiwi @chris-durand @mhthies @daniel-k
Any new insight on this issue?
Looks like Fedoras arm-none-eabi-newlib update from September 11 has fixed the issue.
When compiling a STM32F429 example on my Linux/Fedora 30 machine with GCC 9.2 I get the following error:
Complier flags: "-mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mthumb"
``` arm-none-eabi-g++ -o [...]/blink/release/main.o -c -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-unwind-tables -fstrict-enums -fuse-cxa-atexit -std=c++17 -Woverloaded-virtual -fdata-sections -ffunction-sections -finline-limit=10000 -fshort-wchar -fsingle-precision-constant -funsigned-bitfields -funsigned-char -fwrapv -g3 -gdwarf -W -Wall -Wdouble-promotion -Wduplicated-cond -Werror=format -Werror=maybe-uninitialized -Werror=overflow -Werror=sign-compare -Wextra -Wlogical-op -Wpointer-arith -Wundef -Os -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mthumb -Imodm/ext -Imodm/ext/cmsis/core -Imodm/ext/cmsis/device -Imodm/src -I. main.cpp ```Linker flags: "-mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mthumb"
``` arm-none-eabi-g++ -o[...]/blink/release/blink.elf --specs=nano.specs --specs=nosys.specs -L[...]/blink/modm/link -nostartfiles -Tlinkerscript.ld -Wl,--build-id=sha1 -Wl,--fatal-warnings -Wl,--gc-sections -Wl,--no-wchar-size-warning -Wl,--relax -Wl,-wrap,_calloc_r -Wl,-wrap,_free_r -Wl,-wrap,_malloc_r -Wl,-wrap,_realloc_r -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mthumb [...]/blink/release/main.o -L[...]/blink/release/modm -Wl,--whole-archive -Wl,--start-group [...]/blink/release/modm/libmodm.a -Wl,--end-group -Wl,--no-whole-archive ```Toolchain: arm-none-eabi-gcc 9.2.0 on Fedora 30 (9.2.0-1.fc30) with multi-lib
``` $ arm-none-eabi-gcc --version arm-none-eabi-gcc (Fedora 9.2.0-1.fc30) 9.2.0 ``` ```bash $ arm-none-eabi-gcc -print-multi-lib .; arm/v5te/softfp;@marm@march=armv5te+fp@mfloat-abi=softfp arm/v5te/hard;@marm@march=armv5te+fp@mfloat-abi=hard thumb/nofp;@mthumb@mfloat-abi=soft thumb/v7/nofp;@mthumb@march=armv7@mfloat-abi=soft thumb/v7+fp/softfp;@mthumb@march=armv7+fp@mfloat-abi=softfp thumb/v7+fp/hard;@mthumb@march=armv7+fp@mfloat-abi=hard thumb/v6-m/nofp;@mthumb@march=armv6s-m@mfloat-abi=soft thumb/v7-m/nofp;@mthumb@march=armv7-m@mfloat-abi=soft thumb/v7e-m/nofp;@mthumb@march=armv7e-m@mfloat-abi=soft thumb/v7e-m+fp/softfp;@mthumb@march=armv7e-m+fp@mfloat-abi=softfp thumb/v7e-m+fp/hard;@mthumb@march=armv7e-m+fp@mfloat-abi=hard thumb/v7e-m+dp/softfp;@mthumb@march=armv7e-m+fp.dp@mfloat-abi=softfp thumb/v7e-m+dp/hard;@mthumb@march=armv7e-m+fp.dp@mfloat-abi=hard thumb/v8-m.base/nofp;@mthumb@march=armv8-m.base@mfloat-abi=soft thumb/v8-m.main/nofp;@mthumb@march=armv8-m.main@mfloat-abi=soft thumb/v8-m.main+fp/softfp;@mthumb@march=armv8-m.main+fp@mfloat-abi=softfp thumb/v8-m.main+fp/hard;@mthumb@march=armv8-m.main+fp@mfloat-abi=hard thumb/v8-m.main+dp/softfp;@mthumb@march=armv8-m.main+fp.dp@mfloat-abi=softfp thumb/v8-m.main+dp/hard;@mthumb@march=armv8-m.main+fp.dp@mfloat-abi=hard ```What is the issue here?