[cfe-dev] clang 3.3 does not build with gcc 4.8 (with Windows SEH exception)

Reid Kleckner rnk at google.com
Thu Jun 20 09:56:48 PDT 2013


First, you are building lli, not clang.  If you build clang directly (make
clang), you won't hit this.

Second, __register_frame is for registering DWARF unwind info.  It's
currently under __GNUC__, since that usually implies linkage of libgcc,
which provides that symbol.

Patches and bugs for avoiding this under mingw when libgcc is using SEH for
unwinding are welcome.


On Thu, Jun 20, 2013 at 12:42 PM, Dongsheng Song
<dongsheng.song at gmail.com>wrote:

> SET
> PATH=C:\opt\python-2.7;C:\opt\cmake-2.8-win32\bin;C:\opt\gcc-4.8-win64\bin;C:\var\gnuwin32\bin
> SET LIT_USE_INTERNAL_SHELL=1
>
> rm -fr   C:\var\building\clang_3.3-gcc_4.8-win64
> mkdir -p C:\var\building\clang_3.3-gcc_4.8-win64
> cd       C:\var\building\clang_3.3-gcc_4.8-win64
>
> cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
> -DLLVM_TARGETS_TO_BUILD=X86 ..\llvm-3.3
> mingw32-make VERBOSE=1 ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1 -j4
>
> I got the following building errors:
>
> [  6%] Built target LLVMSupport
> [  6%] Built target LLVMTableGen
> [  9%] Built target llvm-tblgen
> [  9%] Built target intrinsics_gen
> [ 12%] Built target LLVMCore
> [ 12%] Built target LLVMAsmParser
> [ 12%] Built target LLVMBitReader
> [ 12%] Built target LLVMIRReader
> [ 13%] Built target LLVMObject
> [ 16%] Built target LLVMMC
> [ 17%] Built target LLVMTarget
> [ 23%] Built target LLVMAnalysis
> [ 24%] Built target LLVMipa
> [ 26%] Built target LLVMTransformUtils
> [ 27%] Built target LLVMInstCombine
> [ 29%] Built target LLVMScalarOpts
> [ 30%] Built target LLVMObjCARCOpts
> [ 39%] Built target LLVMCodeGen
> [ 41%] Built target LLVMSelectionDAG
> [ 41%] Built target LLVMMCParser
> [ 42%] Built target LLVMAsmPrinter
> [ 42%] Built target LLVMBitWriter
> [ 43%] Built target LLVMInstrumentation
> [ 43%] Built target LLVMVectorize
> [ 45%] Built target LLVMipo
> [ 45%] Built target LLVMLinker
> [ 45%] Built target LLVMMCDisassembler
> [ 45%] Built target LLVMOption
> [ 46%] Built target LLVMDebugInfo
> [ 46%] Built target LLVMExecutionEngine
> [ 46%] Built target LLVMInterpreter
> [ 46%] Built target LLVMRuntimeDyld
> [ 47%] Built target LLVMJIT
> [ 47%] Built target LLVMMCJIT
> [ 47%] Built target X86CommonTableGen
> [ 47%] Built target LLVMX86Utils
> [ 47%] Built target LLVMX86AsmPrinter
> [ 47%] Built target LLVMX86Info
> [ 47%] Built target LLVMX86Desc
> [ 50%] Built target LLVMX86CodeGen
> [ 50%] Built target LLVMX86AsmParser
> [ 50%] Built target LLVMX86Disassembler
> [ 50%] Built target LLVMArchive
> [ 51%] Built target FileCheck
> [ 51%] Built target FileUpdate
> [ 51%] Built target count
> [ 51%] Built target not
> [ 51%] Built target yaml-bench
> [ 52%] Built target opt
> [ 52%] Built target llvm-as
> [ 52%] Built target llvm-dis
> [ 52%] Built target llvm-mc
> [ 52%] Built target llc
> [ 52%] Built target llvm-ranlib
> [ 52%] Built target llvm-ar
> [ 52%] Built target llvm-nm
> [ 52%] Built target llvm-size
> [ 52%] Built target llvm-cov
> [ 52%] Built target llvm-prof
> [ 52%] Built target llvm-link
> Linking CXX executable ..\..\bin\lli.exe
>
> ..\..\lib\libLLVMMCJIT.a(SectionMemoryManager.cpp.obj):SectionMemoryManager.cpp:(.text+0x3b):
> undefined reference to `__register_frame'
> ..\..\lib\libLLVMJIT.a(JIT.cpp.obj):JIT.cpp:(.text+0x7b76): undefined
> reference to `__register_frame'
> ..\..\lib\libLLVMJIT.a(JIT.cpp.obj):JIT.cpp:(.text+0x7b87): undefined
> reference to `__deregister_frame'
>
> c:/opt/gcc-4.8-win64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe:
> ..\..\lib\libLLVMJIT.a(JIT.cpp.obj): bad reloc address 0x0 in section
>
> `.pdata$_ZN4llvm16JITEventListener21NotifyFunctionEmittedERKNS_8FunctionEPvyRKNS_31JITEvent_EmittedFunctionDetailsE'
> collect2.exe: error: ld returned 1 exit status
> mingw32-make[2]: *** [bin/lli.exe] Error 1
> mingw32-make[1]: *** [tools/lli/CMakeFiles/lli.dir/all] Error 2
> mingw32-make: *** [all] Error 2
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130620/35c37a37/attachment.html>


More information about the cfe-dev mailing list