@@ -105,14 +105,16 @@ ifdef CFG_UNIXY
105
105
CFG_VALGRIND += --leak-check=full \
106
106
--error-exitcode=1 \
107
107
--quiet --vex-iropt-level=0 \
108
- --suppressions=etc/x86.supp
108
+ --suppressions=$( S ) src/ etc/x86.supp
109
109
endif
110
110
endif
111
111
112
112
CFG_RUNTIME :=$(call CFG_LIB_NAME,rustrt)
113
113
CFG_LLVMEXT :=$(call CFG_LIB_NAME,llvmext)
114
114
CFG_STDLIB :=$(call CFG_LIB_NAME,std)
115
115
116
+ CFG_LLC_CFLAGS := -march=x86
117
+
116
118
ifdef CFG_GCC
117
119
CFG_INFO := $(info cfg: using gcc)
118
120
CFG_GCC_CFLAGS += -Wall -Werror -fno-rtti -fno-exceptions -g
@@ -331,6 +333,7 @@ all: boot/rustboot$(X) \
331
333
rt/$(CFG_RUNTIME) \
332
334
llvmext/$(CFG_LLVMEXT) \
333
335
stage0/rustc$(X) \
336
+ stage0/glue.o \
334
337
$(GENERATED)
335
338
336
339
rt/$(CFG_RUNTIME ) : $(RUNTIME_OBJS ) $(MKFILES ) $(RUNTIME_HDR )
@@ -400,6 +403,19 @@ llvmext/%.o: llvmext/%.cpp $(MKFILES)
400
403
@$(call E, lex-gen: $@ )
401
404
$(Q ) ocamllex$(OPT ) -q -o $@ $<
402
405
406
+ % .o : % .s
407
+ @$(call E, assemble [llvm]: $@ )
408
+ $(Q ) gcc $(CFG_GCC_CFLAGS ) -o $@ -c $<
409
+
410
+ % .ll : % .bc
411
+ @$(call E, dis [llvm]: $@ )
412
+ $(Q )$(CFG_LLVM_BINDIR ) /llvm-dis -o $@ $<
413
+
414
+
415
+ % .s : % .bc
416
+ @$(call E, compile [llvm]: $@ )
417
+ $(Q )$(CFG_LLVM_BINDIR ) /llc $(CFG_LLC_CFLAGS ) -o $@ $<
418
+
403
419
404
420
# #####################################################################
405
421
# Cleanup
0 commit comments