Author: Raphael Isemann Date: 2020-05-30T18:05:16+02:00 New Revision: fd0ab3b3eb88de3fe4792c34b50084595e22d68d
URL: https://github.com/llvm/llvm-project/commit/fd0ab3b3eb88de3fe4792c34b50084595e22d68d DIFF: https://github.com/llvm/llvm-project/commit/fd0ab3b3eb88de3fe4792c34b50084595e22d68d.diff LOG: [lldb] Pass -fPIC flag even when DYLIB_ONLY is set Summary: It seems that when we rewrite a few rules to only build a dylib (i.e., when DYLIB_ONLY is set), the rule for setting the CFLAGS for the dylib's object file compilation will no longer work. From what I can see this is because in DYLIB_ONLY mode we pretend to compile the main executable so the DYLIB_OBJECTS scope is actually never used. This patch makes `-fPIC` unstopped if DYLIB_ONLY is set so that -fPIC actually ends up in the CFLAGS for the dylib object file compilation. The test for this is D80798 which only compiles on Linux with this patch. Reviewers: friss, labath Reviewed By: friss Subscribers: JDevlieghere Differential Revision: https://reviews.llvm.org/D80789 Added: Modified: lldb/packages/Python/lldbsuite/test/make/Makefile.rules Removed: ################################################################################ diff --git a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules index ea0fa748bc36..5e3f47884990 100644 --- a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules +++ b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules @@ -657,9 +657,14 @@ endif $(DYLIB_OBJECTS) : CFLAGS += -DCOMPILING_LLDB_TEST_DLL ifneq "$(OS)" "Windows_NT" +ifeq "$(DYLIB_ONLY)" "" +CFLAGS += -fPIC +CXXFLAGS += -fPIC +else $(DYLIB_OBJECTS) : CFLAGS += -fPIC $(DYLIB_OBJECTS) : CXXFLAGS += -fPIC endif +endif $(DYLIB_FILENAME) : $(DYLIB_OBJECTS) ifeq "$(OS)" "Darwin" _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits