[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