Skip to content

Commit 973fd3c

Browse files
committed
Add -lstd to the stage0, 1, 2 test executable link commands.
1 parent 94c0617 commit 973fd3c

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

Makefile.in

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ endif
7171

7272
CFG_LDPATH :=$(CFG_BUILD_DIR)/rt
7373
CFG_LDPATH :=$(CFG_LDPATH):$(CFG_BUILD_DIR)/rustllvm
74+
CFG_TESTLIB=$(dir $(firstword $(1))):$(patsubst .%,%,$(suffix $(1)))
75+
CFG_EXE_TESTLIB=$(call CFG_TESTLIB,$(patsubst %.exe,%))
7476

7577
ifdef CFG_WINDOWSY
7678
CFG_INFO := $(info cfg: windows-y environment)
@@ -79,7 +81,7 @@ ifdef CFG_WINDOWSY
7981
CFG_LIB_NAME=$(1).dll
8082
CFG_LDPATH :=$(CFG_LDPATH):$(CFG_LLVM_BINDIR)
8183
CFG_LDPATH :=$(CFG_LDPATH):$$PATH
82-
CFG_RUN_TEST=PATH="$(CFG_LDPATH)" $(1)
84+
CFG_RUN_TEST=PATH="$(CFG_LDPATH):$(call CFG_EXE_TESTLIB,$(1))" $(1)
8385
CFG_RUN_TARG=PATH="$(CFG_LDPATH)" $(1)
8486

8587
CFG_PATH_MUNGE := $(strip perl -i.bak -p \
@@ -101,7 +103,7 @@ ifdef CFG_UNIXY
101103
CFG_LDPATH :=$(CFG_LDPATH):$(CFG_LLVM_LIBDIR)
102104
CFG_RUN_TARG=$(CFG_LDENV)=$(CFG_LDPATH) $(1)
103105
CFG_RUN_TEST=\
104-
$(CFG_LDENV)=$(dir $(firstword $(1))):$(CFG_LDPATH) \
106+
$(CFG_LDENV)=$(call CFG_TESTLIB,$(1)):$(CFG_LDPATH) \
105107
$(CFG_VALGRIND) $(1)
106108

107109
CFG_BOOT_NATIVE := 1
@@ -112,7 +114,7 @@ ifdef CFG_UNIXY
112114
CFG_LDPATH :=$(CFG_LDPATH):$(CFG_LLVM_BINDIR)
113115
CFG_LDPATH :=$(CFG_LDPATH):$$PATH
114116
CFG_RUN_TARG=PATH=$(CFG_LDPATH) $(1)
115-
CFG_RUN_TEST=PATH=$(CFG_LDPATH) $(1)
117+
CFG_RUN_TEST=PATH=$(CFG_LDPATH):$(call CFG_EXE_TESTLIB,$(1)) $(1)
116118

117119
CFG_INFO := $(info cfg: mingw-cross)
118120
CFG_GCC_CROSS := i586-mingw32msvc-
@@ -714,23 +716,26 @@ compile-check: tidy \
714716

715717
%.stage0$(X): %.stage0.o rt/$(CFG_RUNTIME) stage0/glue.o
716718
@$(call E, link [gcc]: $@)
717-
$(Q)gcc $(CFG_GCC_CFLAGS) stage0/glue.o -o $@ $< -Lstage0 -Lrt -lrustrt
719+
$(Q)gcc $(CFG_GCC_CFLAGS) stage0/glue.o -o $@ $< \
720+
-Lstage0 -Lrt -lrustrt -lstd
718721
@# dsymutil sometimes fails or prints a warning, but the
719722
@# program still runs. Since it simplifies debugging other
720723
@# programs, I\'ll live with the noise.
721724
-$(Q)$(CFG_DSYMUTIL) $@
722725

723726
%.stage1(X): %.stage1.o rt/$(CFG_RUNTIME) stage1/glue.o
724727
@$(call E, link [gcc]: $@)
725-
$(Q)gcc $(CFG_GCC_CFLAGS) stage1/glue.o -o $@ $< -Lstage1 -Lrt -lrustrt
728+
$(Q)gcc $(CFG_GCC_CFLAGS) stage1/glue.o -o $@ $< \
729+
-Lstage1 -Lrt -lrustrt -lstd
726730
@# dsymutil sometimes fails or prints a warning, but the
727731
@# program still runs. Since it simplifies debugging other
728732
@# programs, I\'ll live with the noise.
729733
-$(Q)$(CFG_DSYMUTIL) $@
730734

731735
%.stage2$(X): %.stage2.o rt/$(CFG_RUNTIME) stage2/glue.o
732736
@$(call E, link [gcc]: $@)
733-
$(Q)gcc $(CFG_GCC_CFLAGS) stage2/glue.o -o $@ $< -Lstage2 -Lrt -lrustrt
737+
$(Q)gcc $(CFG_GCC_CFLAGS) stage2/glue.o -o $@ $< \
738+
-Lstage2 -Lrt -lrustrt -lstd
734739
@# dsymutil sometimes fails or prints a warning, but the
735740
@# program still runs. Since it simplifies debugging other
736741
@# programs, I\'ll live with the noise.

0 commit comments

Comments
 (0)