On Wed, Jul 17, 2019 at 2:10 PM Jeff Law <[email protected]> wrote:
>
> ...
> SuSE's announcement today is quite ironic. Red Hat's toolchain team is
> planning to propose switching to LTO by default for Fedora 32 and were
> working through various details yesterday. Our proposal will almost
> certainly include stripping out the LTO bits from .o's and any static
> libraries.
Be sure to include an ARMv7 test case where on source file uses a the
default arch flags, and one source file uses -march=armv7-a
-mfpu=neon. (With runtime feature checking):
for example:
a.cpp - default flags
b.cpp - -march=armv7-a -mfpu=neon
We can't seem to get around errors like this during link driven through GCC:
[ 303s] /usr/lib/gcc/armv7hl-suse-linux-gnueabi/9/include/arm_neon.h:4835:48:
fatal error: You must enable NEON instructions (e.g.
'-mfloat-abi=softfp' '-mfpu=neon') to use these intrinsics.
[ 303s] 4835 | return (uint32x4_t)__builtin_neon_vshl_nv4si
((int32x4_t) __a, __b);
[ 303s] | ^
[ 303s] compilation terminated.
The only thing we have found to sidestep the problem is, disable LTO for ARM.
Jeff