arm64: pass code model to LLVMgold

With LTO_CLANG, even if we pass -mcmodel to clang, the flag isn't
stored in the generated LLVM IR, which means it won't be used for
the actual compilation at link time. Therefore, the flag needs to
be passed to LLVMgold to actually take effect.

Bug: 62093296
Bug: 67506682
Change-Id: I5cd21f97c800466f1bce039df56101ce4087ae20
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
This commit is contained in:
Sami Tolvanen
2017-11-16 15:56:44 -08:00
parent 79b4e3cb74
commit 7e77d5eee7

View File

@@ -79,6 +79,10 @@ CHECKFLAGS += -D__aarch64__
ifeq ($(CONFIG_ARM64_MODULE_CMODEL_LARGE), y)
KBUILD_CFLAGS_MODULE += -mcmodel=large
ifeq ($(CONFIG_LTO_CLANG), y)
# Code model is not stored in LLVM IR, so we need to pass it also to LLVMgold
LDFLAGS += -plugin-opt=-code-model=large
endif
endif
ifeq ($(CONFIG_ARM64_MODULE_PLTS),y)