On Wed, Jul 17, 2019 at 2:10 PM Jeff Law <l...@redhat.com> 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

Reply via email to