This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Gold on PowerPC checks/merges long double FP ABI tag across shared libraries

On Sat, Dec 14, 2019 at 09:24:37PM +0100, Daniel Kolesa wrote:
> True, but having to explicitly provide that is problematic. That
> said, I resolved this for libgcc, by making the bits explicitly
> compiled with -mlong-double-128 also compile with -mno-gnu-attribute,
> so only the glibc -mlong-double-64 issue remains. 

What is supposed to happen when you mix -mlong-double-128 and
-mlong-double-64 code is a link warning or error depending on
--no-warn-mismatch, and then *not* emitting the .gnu.attributes field
specifying long double type.  You could use this feature to solve the
libgcc issue in a little more sophisticated way, ie. just omit the
long double type, by adding an otherwise empty file to libgcc that has
a .gnu.attributes tag saying 64-bit long double.

"Tag_GNU_Power_ABI_FP: hard float, unspecified long double"
will at least stop you accidentally using a soft-float libgcc.

glibc ought to do the same.

Alan Modra
Australia Development Lab, IBM

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]