Re: LTO Optimization with asm renames of intrinsic functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2020-08-12 at 17:26 -0500, Paul E Murphy via Gcc-help wrote:
> I ran into a slight divergence of behavior when enabling LTO using GCC
> 10.2 or newer when building libdfp on x86 and ppc64.
> 
> Libdfp builds a copy of libdecnumber which exports its own copy of ABI
> as specified for _Decimal types in the GCC documentation.  Some of this
> ABI is implicitly used in libdfp to implement various facilities.
> 
> These intrinsic calls generate PLT calls which should resolve to
> symbols provided by libdfp.  However, libdfp tries to avoid these
> by inserting asm renames of the form:
> 
>    asm ("__bid_floatsidd  = __GI___bid_floatsidd");
If you've got an ASM like this, then you can't use LTO.  In simplest terms LTO
doesn't look inside ASMs for symbol references and can't inherently do the right
thing.

You might be able to use the symver attribute to do renaming, but I don't know if
anyone's tried it yet for anything other than specifying symbol versioning.

jeff
> 
> 




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux