@@ -144,14 +144,14 @@ FIND_COMPILER = $(word 1,$(1:ccache=))
144
144
define CFG_MAKE_TOOLCHAIN
145
145
# Prepend the tools with their prefix if cross compiling
146
146
ifneq ($(CFG_BUILD ) ,$(1 ) )
147
- CC_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(CC_$(1 ) )
148
- CXX_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(CXX_$(1 ) )
149
- CPP_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(CPP_$(1 ) )
150
- AR_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(AR_$(1 ) )
151
- RUSTC_CROSS_FLAGS_$(1 ) =-C linker=$$(call FIND_COMPILER,$$(CC_$(1 ) ) ) \
152
- -C ar=$$(call FIND_COMPILER,$$(AR_$(1 ) ) ) $(RUSTC_CROSS_FLAGS_$(1 ) )
153
-
154
- RUSTC_FLAGS_$(1 ) =$$(RUSTC_CROSS_FLAGS_$(1 ) ) $(RUSTC_FLAGS_$(1 ) )
147
+ CC_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(CC_$(1 ) )
148
+ CXX_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(CXX_$(1 ) )
149
+ CPP_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(CPP_$(1 ) )
150
+ AR_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(AR_$(1 ) )
151
+ RUSTC_CROSS_FLAGS_$(1 ) =-C linker=$$(call FIND_COMPILER,$$(CC_$(1 ) ) ) \
152
+ -C ar=$$(call FIND_COMPILER,$$(AR_$(1 ) ) ) $(RUSTC_CROSS_FLAGS_$(1 ) )
153
+
154
+ RUSTC_FLAGS_$(1 ) =$$(RUSTC_CROSS_FLAGS_$(1 ) ) $(RUSTC_FLAGS_$(1 ) )
155
155
endif
156
156
157
157
CFG_COMPILE_C_$(1 ) = $$(CC_$(1 ) ) \
@@ -179,11 +179,19 @@ define CFG_MAKE_TOOLCHAIN
179
179
180
180
ifeq ($$(findstring $(HOST_$(1 ) ) ,arm aarch64 mips mipsel powerpc) ,)
181
181
182
+ # On Bitrig, we need the relocation model to be PIC for everthing
183
+ ifeq (,$(filter $(OSTYPE_$(1 ) ) ,bitrig) )
184
+ LLVM_MC_RELOCATION_MODEL="pic"
185
+ else
186
+ LLVM_MC_RELOCATION_MODEL="default"
187
+ endif
188
+
182
189
# We're using llvm-mc as our assembler because it supports
183
190
# .cfi pseudo-ops on mac
184
191
CFG_ASSEMBLE_$(1 ) =$$(CPP_$(1 ) ) -E $$(CFG_DEPEND_FLAGS ) $$(2 ) | \
185
192
$$(LLVM_MC_$$(CFG_BUILD ) ) \
186
193
-assemble \
194
+ -relocation-model=$$(LLVM_MC_RELOCATION_MODEL ) \
187
195
-filetype=obj \
188
196
-triple=$(1 ) \
189
197
-o=$$(1 )
@@ -192,7 +200,7 @@ define CFG_MAKE_TOOLCHAIN
192
200
# For the ARM, AARCH64, MIPS and POWER crosses, use the toolchain assembler
193
201
# FIXME: We should be able to use the LLVM assembler
194
202
CFG_ASSEMBLE_$(1 ) =$$(CC_$(1 ) ) $$(CFG_GCCISH_CFLAGS_$(1 ) ) \
195
- $$(CFG_DEPEND_FLAGS ) $$(2 ) -c -o $$(1 )
203
+ $$(CFG_DEPEND_FLAGS ) $$(2 ) -c -o $$(1 )
196
204
197
205
endif
198
206
0 commit comments