LTO Optimization with asm renames of intrinsic functions

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

 



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");

Where the libdfp copy of such symbols are prefixed with __GI_ using
the trick inherited from glibc.

This creative workaround has worked with lto disabled, but
when enabled, it is effectively ignored.  Is there a more robust way
to bypass plt calls for intrinsic functions when using LTO?



[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