[cfe-dev] Build failure on PowerPC and PowerPC64.

Richard Pennington rich at pennware.com
Sat Feb 4 19:45:31 PST 2012


On Saturday, February 04, 2012 11:13:23 AM Richard Pennington wrote:
> I updated to TOT today and now get the following on ppc and ppc64:
> 
> Making all in c/
> make[3]: Entering directory `/home/rich/ellcc/libecc/obj/ppc64/linux/c'
> ../../../../../bin/ppc64-linux-ecc   -c -fno-builtin -Werror -MD -MP -O1 -g
> - I../../../../src/c/include -I../../../../src/c/locale
> ../../../../src/c/gen/isnanl.c
> ecc: warning: unknown platform, assuming -mfloat-abi=soft
> ecc: /home/rich/ellcc/llvm/lib/Target/TargetData.cpp:366: unsigned int
> llvm::TargetData::getAlignmentInfo(llvm::AlignTypeEnum, uint32_t, bool,
> llvm::Type*) const: Assertion `AlignType == VECTOR_ALIGN && "Unknown
> alignment type!"' failed.
> 0  ecc             0x0000000001f4070f
> 1  ecc             0x0000000001f4124a
> 2  libpthread.so.0 0x0000003ecca0eeb0
> 3  libc.so.6       0x0000003ecbe330c5 gsignal + 53
> ...
> 
> All the other targets I tried workd (arm, i386, mips, microblaze, x86_64).
> 

I tracked it down to incomplete target data for 128 bit floats: f128 wasn't 
defined, which caused compilation errors. This uncovered a larger problem. The 
ppc long double format isn't supported by APFloat.cpp. This makes things like 
hex float constants fail. I'll think about it and figure out what to do 
tomorrow.

--Rich



More information about the cfe-dev mailing list