OSDN Git Service

Update build rule for executable with PRIVATE_ALL_WHOLE_STATIC_LIBRARIES
authorKito Cheng <kito@0xlab.org>
Fri, 20 Jan 2012 11:21:46 +0000 (19:21 +0800)
committerKito Cheng <kito@0xlab.org>
Wed, 9 May 2012 15:54:45 +0000 (23:54 +0800)
Change-Id: I9ff53f51dcb57511a24765bdf6a61c000a7ce977

Signed-off-by: Kito Cheng <kito@0xlab.org>
core/combo/TARGET_linux-arm.mk
core/combo/TARGET_linux-sh.mk
core/combo/TARGET_linux-x86.mk

index 987afd4..1cb02de 100644 (file)
@@ -278,6 +278,9 @@ $(hide) $(PRIVATE_CXX) -nostdlib -Bdynamic -Wl,-T,$(BUILD_SYSTEM)/armelf.x \
        $(call normalize-target-libraries,$(PRIVATE_ALL_SHARED_LIBRARIES)) \
        $(if $(filter true,$(PRIVATE_NO_CRT)),,$(TARGET_CRTBEGIN_DYNAMIC_O)) \
        $(PRIVATE_ALL_OBJECTS) \
+       -Wl,--whole-archive \
+       $(call normalize-target-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
+       -Wl,--no-whole-archive \
        $(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--start-group) \
        $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \
        $(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--end-group) \
@@ -297,6 +300,9 @@ $(hide) $(PRIVATE_CXX) -nostdlib -Bstatic -Wl,-T,$(BUILD_SYSTEM)/armelf.x \
        $(TARGET_GLOBAL_LDFLAGS) \
        $(PRIVATE_LDFLAGS) \
        $(PRIVATE_ALL_OBJECTS) \
+       -Wl,--whole-archive \
+       $(call normalize-target-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
+       -Wl,--no-whole-archive \
        $(call normalize-target-libraries,$(filter-out %libc_nomalloc.a,$(filter-out %libc.a,$(PRIVATE_ALL_STATIC_LIBRARIES)))) \
        -Wl,--start-group \
        $(call normalize-target-libraries,$(filter %libc.a,$(PRIVATE_ALL_STATIC_LIBRARIES))) \
index b8e00dd..fe4c4f3 100644 (file)
@@ -153,6 +153,9 @@ $(hide) $(PRIVATE_CXX) -nostdlib -Bdynamic  -Wl,-T,$(BUILD_SYSTEM)/shlelf.x \
        $(call normalize-target-libraries,$(PRIVATE_ALL_SHARED_LIBRARIES)) \
        $(if $(filter true,$(PRIVATE_NO_CRT)),,$(TARGET_CRTBEGIN_DYNAMIC_O)) \
        $(PRIVATE_ALL_OBJECTS) \
+       -Wl,--whole-archive \
+       $(call normalize-target-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
+       -Wl,--no-whole-archive \
        $(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--start-group) \
        $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \
        $(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--end-group) \
@@ -170,6 +173,9 @@ $(hide) $(PRIVATE_CXX) -nostdlib -Bstatic  -Wl,-T,$(BUILD_SYSTEM)/shlelf.x \
        $(if $(filter true,$(PRIVATE_NO_CRT)),,$(TARGET_CRTBEGIN_STATIC_O)) \
        $(PRIVATE_LDFLAGS) \
        $(PRIVATE_ALL_OBJECTS) \
+       -Wl,--whole-archive \
+       $(call normalize-target-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
+       -Wl,--no-whole-archive \
        -Wl,--start-group \
        $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \
        -Wl,--end-group \
index df5ebee..b170060 100644 (file)
@@ -181,6 +181,9 @@ $(hide) $(PRIVATE_CXX) \
        $(call normalize-target-libraries,$(PRIVATE_ALL_SHARED_LIBRARIES)) \
        $(if $(filter true,$(PRIVATE_NO_CRT)),,$(TARGET_CRTBEGIN_DYNAMIC_O)) \
        $(PRIVATE_ALL_OBJECTS) \
+       -Wl,--whole-archive \
+       $(call normalize-target-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
+       -Wl,--no-whole-archive \
        $(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--start-group) \
        $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \
        $(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--end-group) \
@@ -198,6 +201,9 @@ $(hide) $(PRIVATE_CXX) \
        $(if $(filter true,$(PRIVATE_NO_CRT)),,$(TARGET_CRTBEGIN_STATIC_O)) \
        $(PRIVATE_LDFLAGS) \
        $(PRIVATE_ALL_OBJECTS) \
+       -Wl,--whole-archive \
+       $(call normalize-target-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
+       -Wl,--no-whole-archive \
        -Wl,--start-group \
        $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \
        $(TARGET_LIBGCC) \