On Wed, 28 Sep 2016, Alan Modra wrote:

> compatibility-ldbl.o is compiled with -mlong-double-64.  When
> long double .gnu_attribute tags are checked by the linker, it
> complains about the mismatch between this file and others in
> libstdc++.

Is that the only file in libstdc++ that involves long double in its 
interface at all, and so that gets such attributes?

I'd expect libraries such as libstdc++ and libgcc (generally, all compiler 
and libc libraries) to be set up in such a way that they will work with 
all long double choices in user code (via mangling and headers mapping 
access to long double library functions to the right versions for the 
chosen type) - and so need to be compiled without these attribute tags to 
avoid the linker complaining when someone links them with user code built 
with a non-default choice of long double.  Certainly for glibc I'd think 
using the option globally to build everything is the right choice (well, 
except for libnldbl.a, where -mlong-double-64 attributes are logically 
correct).

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to