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

Dongsheng Song dongsheng.song at gmail.com
Thu Jun 20 09:46:35 PDT 2013


On Fri, Jun 21, 2013 at 12:42 AM, 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

__register_frame and __deregister_frame only in libgcc_s_sjlj-1.dll,
not in libgcc_s_seh-1.dll

So maybe clang 3.3 does not support SEH (yet) ?



More information about the cfe-dev mailing list