------- 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