@@ -38,7 +38,8 @@ ifeq ($(CFG_OSTYPE), Linux)
38
38
CFG_LIB_NAME =lib$(1 ) .so
39
39
CFG_GCC_CFLAGS += -fPIC -march=i686
40
40
CFG_GCC_LINK_FLAGS += -shared -fPIC -ldl -lpthread -lrt
41
- CFG_GCC_DEF_FLAG := -Wl,--export-dynamic,--dynamic-list=
41
+ CFG_GCC_DEF_FLAG := -Wl,-whole-archive,--export-dynamic,--dynamic-list=
42
+ CFG_GCC_POST_LIB_FLAGS := -Wl,-no-whole-archive
42
43
ifeq ($(CFG_CPUTYPE), x86_64)
43
44
CFG_GCC_CFLAGS += -m32
44
45
CFG_GCC_LINK_FLAGS += -m32
@@ -347,6 +348,7 @@ RUNTIME_HDR := rt/globals.h \
347
348
RUNTIME_DEF := rt/rustrt$(CFG_DEF_SUFFIX )
348
349
RUNTIME_INCS := -I $(S ) src/rt/isaac -I $(S ) src/rt/uthash
349
350
RUNTIME_OBJS := $(RUNTIME_CS:.cpp=.o )
351
+ RUNTIME_LIBS := $(CFG_GCC_POST_LIB_FLAGS )
350
352
351
353
# #####################################################################
352
354
# rustc LLVM-extensions (C++) library variables
@@ -361,7 +363,8 @@ RUSTLLVM_DEF := rustllvm/rustllvm$(CFG_DEF_SUFFIX)
361
363
RUSTLLVM_INCS := -iquote $(CFG_LLVM_INCDIR ) \
362
364
-iquote $(S ) src/rustllvm/include
363
365
RUSTLLVM_OBJS := $(RUSTLLVM_CS:.cpp=.o )
364
- RUSTLLVM_LIBS := $(CFG_LLVM_LDFLAGS ) $(CFG_LLVM_LIBS )
366
+ RUSTLLVM_LIBS := $(CFG_LLVM_LDFLAGS ) $(CFG_LLVM_LIBS ) \
367
+ $(CFG_GCC_POST_LIB_FLAGS )
365
368
366
369
# #####################################################################
367
370
# Standard library variables
@@ -404,12 +407,12 @@ all: boot/rustboot$(X) \
404
407
405
408
rt/$(CFG_RUNTIME ) : $(RUNTIME_OBJS ) $(MKFILES ) $(RUNTIME_HDR ) $(RUNTIME_DEF )
406
409
@$(call E, link: $@ )
407
- $(Q )$(call CFG_LINK_C,$@ ,$(RUNTIME_OBJS ) ,$(RUNTIME_DEF ) )
410
+ $(Q )$(call CFG_LINK_C,$@ ,$(RUNTIME_LIBS ) $( RUNTIME_OBJS ) ,$(RUNTIME_DEF ) )
408
411
409
412
rustllvm/$(CFG_RUSTLLVM ) : $(RUSTLLVM_OBJS ) $(MKFILES ) $(RUSTLLVM_HDR ) \
410
413
$(RUSTLLVM_DEF)
411
414
@$(call E, link: $@)
412
- $(Q)$(call CFG_LINK_C,$@,$(CFG_LLVM_LDFLAGS ) $(RUSTLLVM_OBJS) \
415
+ $(Q)$(call CFG_LINK_C,$@,$(RUSTLLVM_LIBS ) $(RUSTLLVM_OBJS) \
413
416
$(CFG_LLVM_LIBS) $(CFG_LLVM_LDFLAGS),$(RUSTLLVM_DEF))
414
417
415
418
ifdef CFG_BOOT_NATIVE
0 commit comments