[LLVMdev] problem compiling the cfrontend on Linux/PPC
Cyrille Mescam
cyrille.mescam at lip6.fr
Mon Jun 13 10:41:18 PDT 2005
> Okay, I took a closer look at your output.
>
> I was correct in that gccas is attempting to assemble a native PPC
> assembly language file. However, this appears to be happening because
> the assembly file is generated by the GCC Makefiles for libgcc2 (in
> llvm-gcc/gcc/config/rs6000/t-ppccomm, I think).
>
> The first thing I would try is Marco's suggestion: add
> --disable-multilib to the configure command line and rebuild. Hopefully
> this will disable the generation of this assembly code.
it doesn't work for me
>
> If that doesn't work, then you will need to comment out stuff in
> llvm-gcc/gcc/config/rs6000/t-ppccomm and try to rebuild (you may need to
> reconfigure and rebuild). Hopefully, we will not need to create LLVM
> equivalents of this assembly code; I think it's there for ABI
> compatibility and shouldn't be needed by LLVM.
>
> -- John T.
>
i edit the file llvm-gcc/gcc/config/rs6000/t-ppccomm and remove some
targets from the variable EXTRA_MULTILIB_PARTS (bug stop after bug stop)
:
-------------------------------------------------------------
EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
crtbeginS$(objext) crtendS$(objext) crtbeginT$(objext)
-------------------------------------------------------------
Now, it stoppes there:
gmake[1]: Entering directory
`/usr/local/home/cyrille/project/llvm/cfrontend/build/powerpc-unknown-linux-gnu/libiberty'
if [ x"" != x ] && [ ! -d pic ]; then \
mkdir pic; \
else true; fi
touch stamp-picdir
CONFIG_FILES= CONFIG_HEADERS=config.h:config.in /bin/sh
./config.status
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing default commands
--------------------------------
.... (xgcc compilation with no error), then
--------------------------------
/usr/local/home/cyrille/project/llvm/cfrontend/build/gcc/xgcc
-B/usr/local/home/cyrille/project/llvm/cfrontend/build/gcc/
-B/usr/local/home/cyrille/project/llvm/cfrontend/install/powerpc-unknown-linux-gnu/bin/
-B/usr/local/home/cyrille/project/llvm/cfrontend/install/powerpc-unknown-linux-gnu/lib/
-isystem
/usr/local/home/cyrille/project/llvm/cfrontend/install/powerpc-unknown-linux-gnu/include
-isystem
/usr/local/home/cyrille/project/llvm/cfrontend/install/powerpc-unknown-linux-gnu/sys-include
-c -DHAVE_CONFIG_H -O2 -O2 -I. -I../../../src/libiberty/../include -W
-Wall -Wtraditional -pedantic ../../../src/libiberty/cp-demangle.c -o
cp-demangle.o
Call parameter type does not match function signature!
ubyte* getelementptr ([27 x ubyte]* %.str_247, int 0, int 0)
sbyte* %tmp.51 = tail call uint %fwrite( ubyte* getelementptr ([27 x
ubyte]* %.str_247, int 0, int 0), uint 26, uint 1, %struct._IO_FILE*
%tmp.52 ) ; <uint> [#uses=0]
Broken module found, compilation aborted!
gccas((anonymous namespace)::PrintStackTrace()+0x24)[0x1066da30]
gccas((anonymous namespace)::SignalHandler(int)+0x100)[0x1066dcdc]
[0x7fffc1a8]
gccas(__libc_csu_init+0x0)[0x1066ed60]
/lib/libc.so.6(abort+0x1b8)[0xfcda018]
gccas((anonymous
namespace)::Verifier::abortIfBroken()+0x10c)[0x10569e18]
gccas((anonymous
namespace)::Verifier::runOnFunction(llvm::Function&)+0x7c)[0x10569f9c]
gccas(llvm::PassManagerTraits<llvm::Function>::runPass(llvm::FunctionPass*,
llvm::Function*)+0x3c)[0x105428b4]
gccas(llvm::PassManagerT<llvm::Function>::runOnUnit(llvm::Function*)+0x68c)[0x10542148]
gccas(llvm::PassManagerTraits<llvm::Function>::runOnFunction(llvm::Function&)+0x3c)[0x10543104]
gccas(llvm::FunctionPass::runOnModule(llvm::Module&)+0xf4)[0x104a7504]
gccas(llvm::PassManagerTraits<llvm::Module>::runPass(llvm::ModulePass*,
llvm::Module*)+0x3c)[0x1053b538]
gccas(llvm::PassManagerT<llvm::Module>::runOnUnit(llvm::Module*)+0x684)[0x10539c24]
gccas(llvm::PassManagerTraits<llvm::Module>::runOnModule(llvm::Module&)+0x3c)[0x1053ec68]
gccas(llvm::PassManager::run(llvm::Module&)+0x44)[0x104a6344]
gccas(main+0x77c)[0x102e602c]
/lib/libc.so.6(__libc_start_main+0x1a0)[0xfcc1e60]
xgcc: Internal error: Aborted (program as)
Please submit a full bug report.
See <URL:http://llvm.cs.uiuc.edu> for instructions.
gmake[1]: *** [cp-demangle.o] Erreur 1
gmake[1]: Leaving directory
`/usr/local/home/cyrille/project/llvm/cfrontend/build/powerpc-unknown-linux-gnu/libiberty'
gmake: *** [all-target-libiberty] Erreur 2
any clue ?
cyrille
--
M. Cyrille Mescam (o_
UPMC-LIP6-SRC //\
8 rue du Capitaine Scott v_/_
75015 Paris, France
More information about the llvm-dev
mailing list