mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
[LLVM-3.9] Pass correct relocation model flag
This commit is contained in:
parent
2c92756dde
commit
dc7076b52e
5
configure
vendored
5
configure
vendored
@ -1020,6 +1020,11 @@ then
|
||||
err "bad LLVM version: $LLVM_VERSION, need >=3.7"
|
||||
;;
|
||||
esac
|
||||
|
||||
if "$CFG_LLVM_ROOT/bin/llvm-mc" -help | grep "-relocation-model"; then
|
||||
CFG_LLVM_MC_HAS_RELOCATION_MODEL=1
|
||||
putvar CFG_LLVM_MC_HAS_RELOCATION_MODEL
|
||||
fi
|
||||
fi
|
||||
|
||||
# Even when the user overrides the choice of CC, still try to detect
|
||||
|
@ -221,12 +221,19 @@ define CFG_MAKE_TOOLCHAIN
|
||||
LLVM_MC_RELOCATION_MODEL="default"
|
||||
endif
|
||||
|
||||
# LLVM changed this flag in 3.9
|
||||
ifdef CFG_LLVM_MC_HAS_RELOCATION_MODEL
|
||||
LLVM_MC_RELOC_FLAG := -relocation-model=$$(LLVM_MC_RELOCATION_MODEL)
|
||||
else
|
||||
LLVM_MC_RELOC_FLAG := -position-independent
|
||||
endif
|
||||
|
||||
# We're using llvm-mc as our assembler because it supports
|
||||
# .cfi pseudo-ops on mac
|
||||
CFG_ASSEMBLE_$(1)=$$(CPP_$(1)) -E $$(2) | \
|
||||
$$(LLVM_MC_$$(CFG_BUILD)) \
|
||||
-assemble \
|
||||
-relocation-model=$$(LLVM_MC_RELOCATION_MODEL) \
|
||||
$$(LLVM_MC_RELOC_FLAG) \
|
||||
-filetype=obj \
|
||||
-triple=$(1) \
|
||||
-o=$$(1)
|
||||
|
Loading…
Reference in New Issue
Block a user