This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC 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]

[Bug target/30370] [regression] Build failure in libgcc2 powitf2 with ICE in gen_reg_rtx



------- Comment #1 from joseph at codesourcery dot com  2007-01-04 20:34 -------
Subject: Re:   New: [regression] Build failure in libgcc2
 powitf2 with ICE in gen_reg_rtx

On Thu, 4 Jan 2007, rask at sygehus dot dk wrote:

>  -isystem ./include   -specs=ldblspecs -g  -DIN_LIBGCC2

There's your problem: -specs=ldblspecs should not be used for this target, 
where did it come from?

-specs=ldblspecs is a hack formerly used to disable 128-bit long double 
for soft float but enable it for hard float when building libgcc.  Ever 
since it was added, building libgcc for E500 GNU/Linux has been broken 
because -mlong-double-128 doesn't work there without my patch, so 
resulting in undefined references in libgcc_s, so meaning that it was 
necessary to disable -mlong-double-128 for E500 as well.  However, 
-spec=ldblspecs should never have been used on EABI, only on GNU/Linux; 
EABI doesn't build the darwin-ldouble.c support file needed.  With 
toplevel libgcc, -specs=ldblspecs is no more; instead 
libgcc/config/rs6000/t-ldbl128 adds -mlong-double-128 more directly for 
hard float (with the same breakage for E500), but again only for certain 
targets not including EABI.

To have long double actually work for E500 you'll need my patch 
<http://gcc.gnu.org/ml/gcc-patches/2006-12/msg01388.html>.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30370


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