[PATCH] D75068: libclang: Add static build support for Windows

Cristian Adam via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 25 06:48:11 PST 2020


cristian.adam added a comment.

I've tested this patch with:

  -D LIBCLANG_BUILD_STATIC=OFF
  -D LLVM_ENABLE_PIC=ON

All green https://github.com/cristianadam/llvm-project/actions/runs/44839699

Then:

  -D LIBCLANG_BUILD_STATIC=ON
  -D LLVM_ENABLE_PIC=OFF

All green https://github.com/cristianadam/llvm-project/actions/runs/44755935

And lastly:

  -D LIBCLANG_BUILD_STATIC=OFF
  -D LLVM_ENABLE_PIC=OFF

Which builds on Windows and macOS, and fails on Linux as expected 
https://github.com/cristianadam/llvm-project/actions/runs/44423211

The expected Linux error is:

  /usr/bin/ld: lib/libclangBasic.a(Stack.cpp.o): relocation R_X86_64_TPOFF32 against `_ZL13BottomOfStack' can not be used when making a shared object; recompile with -fPIC
  /usr/bin/ld: lib/libLLVMSupport.a(PrettyStackTrace.cpp.o): relocation R_X86_64_TPOFF32 against `_ZL20PrettyStackTraceHead' can not be used when making a shared object; recompile with -fPIC
  /usr/bin/ld: lib/libLLVMSupport.a(TimeProfiler.cpp.o): relocation R_X86_64_TPOFF32 against `_ZN12_GLOBAL__N_125TimeTraceProfilerInstanceE' can not be used when making a shared object; recompile with -fPIC
  /usr/bin/ld: tools/clang/tools/libclang/CMakeFiles/obj.libclang.dir/CIndex.cpp.o: relocation R_X86_64_PC32 against symbol `clang_getCursorLocation' can not be used when making a shared object; recompile with -fPIC
  /usr/bin/ld: final link failed: Bad value

>From my point of view it passes all configurations. What do you think?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75068/new/

https://reviews.llvm.org/D75068





More information about the cfe-commits mailing list