@@ -89,6 +89,7 @@ INSTALL ?= $(X_INSTALL_TOOL)
8989FLAG_RELRO := -Wl,-z,relro,-z,now
9090FLAG_STDLIB :=
9191FLAG_GC_SECTIONS := -Wl,--gc-sections
92+ FLAG_AS_NEEDED := -Wl,-as-needed
9293NOARCH_CFLAGS :=
9394NOARCH_CXXFLAGS :=
9495NOARCH_EXE_FLAGS :=
@@ -108,7 +109,8 @@ else ifeq ($(PLATFORM),Windows)
108109 NOARCH_LDFLAGS += -T $(CURDIR ) /make/ld-windows.script
109110else ifeq ($(PLATFORM),MacOS)
110111 FLAG_RELRO =
111- FLAG_GC_SECTIONS =
112+ FLAG_GC_SECTIONS =
113+ FLAG_AS_NEEDED =
112114 NOARCH_CXXFLAGS += -std=c++0x
113115 NOARCH_LDFLAGS += -keep_private_externs
114116else ifeq ($(PLATFORM),BSD)
@@ -200,11 +202,11 @@ NOARCH_LDFLAGS += -r
200202LDFLAGS := $(ARCHITECTURE_LDFLAGS ) $(NOARCH_LDFLAGS )
201203HOST_LDFLAGS := $(HOST_ARCHITECTURE_LDFLAGS ) $(NOARCH_LDFLAGS )
202204
203- NOARCH_EXE_FLAGS += $(FLAG_RELRO ) $(FLAG_GC_SECTIONS )
205+ NOARCH_EXE_FLAGS += $(FLAG_RELRO ) $(FLAG_GC_SECTIONS ) $( FLAG_AS_NEEDED )
204206EXE_FLAGS := $(ARCHITECTURE_CFLAGS ) $(NOARCH_EXE_FLAGS )
205207HOST_EXE_FLAGS := $(HOST_ARCHITECTURE_CFLAGS ) $(NOARCH_EXE_FLAGS )
206208
207- NOARCH_SO_FLAGS += $(FLAG_RELRO ) $(FLAG_GC_SECTIONS ) -shared $(FLAG_STDLIB ) -fPIC
209+ NOARCH_SO_FLAGS += $(FLAG_RELRO ) $(FLAG_GC_SECTIONS ) $( FLAG_AS_NEEDED ) -shared $(FLAG_STDLIB ) -fPIC
208210SO_FLAGS := $(ARCHITECTURE_CFLAGS ) $(NOARCH_SO_FLAGS )
209211HOST_SO_FLAGS := $(HOST_ARCHITECTURE_CFLAGS ) $(NOARCH_SO_FLAGS )
210212
0 commit comments