@@ -144,14 +144,14 @@ FIND_COMPILER = $(word 1,$(1:ccache=))
144144define  CFG_MAKE_TOOLCHAIN 
145145  #  Prepend the tools with their prefix if cross compiling
146146  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 )  ) 
155155  endif
156156
157157  CFG_COMPILE_C_$(1 )  = $$(CC_$(1 )  )  \
@@ -179,11 +179,19 @@ define CFG_MAKE_TOOLCHAIN
179179
180180  ifeq ($$(findstring  $(HOST_$(1 )  ) ,arm aarch64 mips mipsel powerpc) ,)
181181
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+ 
182189  #  We're using llvm-mc as our assembler because it supports
183190  #  .cfi pseudo-ops on mac
184191  CFG_ASSEMBLE_$(1 ) =$$(CPP_$(1 )  )  -E $$(CFG_DEPEND_FLAGS )  $$(2 )  | \
185192                    $$(LLVM_MC_$$(CFG_BUILD )  )  \
186193                    -assemble \
194+                     -relocation-model=$$(LLVM_MC_RELOCATION_MODEL )  \
187195                    -filetype=obj \
188196                    -triple=$(1 )  \
189197                    -o=$$(1 ) 
@@ -192,7 +200,7 @@ define CFG_MAKE_TOOLCHAIN
192200  #  For the ARM, AARCH64, MIPS and POWER crosses, use the toolchain assembler
193201  #  FIXME: We should be able to use the LLVM assembler
194202  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 ) 
196204
197205  endif
198206
0 commit comments