Cyrille Mescam
2005-Jun-13 16:07 UTC
[LLVMdev] problem compiling the cfrontend on Linux/PPC
On Mon, Jun 13, 2005 at 11:02:10AM -0500, John Criswell wrote:> Cyrille Mescam wrote: > >Hi, > > > > > >When compiling the cfrontend for Linux/PPC architecture on a powermac > >G5, i got > >the following error : > > I hate to ask a silly question, but are you using "make bootstrap" to > build the cfrontend? Your output looks like gccas is being given a > native code assembly language file to parse, and I seem to recall that > that happens if you try doing a "make bootstrap". > > Our cfrontend doesn't follow the standard GCC build procedures (mainly > because we haven't gotten the cfrontend to compile itself with LLVM). > Instead, you have to follow our CFE build procedures > (http://llvm.cs.uiuc.edu/docs/CFEBuildInstrs.html) to get it to build. > > -- John T.In fact, i am using the CFE build procedures. I am on instructions 5. cyrille -- M. Cyrille Mescam (o_ UPMC-LIP6-SRC //\ 8 rue du Capitaine Scott v_/_ 75015 Paris, France
John Criswell
2005-Jun-13 16:30 UTC
[LLVMdev] problem compiling the cfrontend on Linux/PPC
Cyrille Mescam wrote:> On Mon, Jun 13, 2005 at 11:02:10AM -0500, John Criswell wrote: > >>Cyrille Mescam wrote: >>[snip]> > In fact, i am using the CFE build procedures. I am on instructions 5. > > cyrille >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. 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. -- John T. Criswell Research Programmer University of Illinois at Urbana-Champaign "It's today!" said Piglet. "My favorite day," said Pooh.
Cyrille Mescam
2005-Jun-13 17:41 UTC
[LLVMdev] problem compiling the cfrontend on Linux/PPC
> 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