Skip to content

Commit

Permalink
[LLVM-3.9] Pass correct relocation model flag
Browse files Browse the repository at this point in the history
  • Loading branch information
badboy committed Jul 29, 2016
1 parent 2c92756 commit dc7076b
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
5 changes: 5 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 8 additions & 1 deletion mk/platform.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit dc7076b

Please sign in to comment.