OSDN Git Service

Place linker arguments after objects for gcc
authorConley Owens <cco3@android.com>
Thu, 10 Nov 2011 17:57:40 +0000 (09:57 -0800)
committerConley Owens <cco3@android.com>
Thu, 10 Nov 2011 18:55:13 +0000 (10:55 -0800)
gcc 4.6.1 does not properly link if libraries are specified before
objects.

Change-Id: Iabe3eac831fe597abe8a93a946ab7a22d584db46

core/definitions.mk

index 1a7cf4b..f4da297 100644 (file)
@@ -1290,13 +1290,6 @@ endef
 ifneq ($(HOST_CUSTOM_LD_COMMAND),true)
 define transform-host-o-to-executable-inner
 $(hide) $(PRIVATE_CXX) \
-       -Wl,-rpath-link=$(HOST_OUT_INTERMEDIATE_LIBRARIES) \
-       -Wl,-rpath,\$$ORIGIN/../lib \
-       $(HOST_GLOBAL_LD_DIRS) \
-       $(PRIVATE_LDFLAGS) \
-       $(if $(PRIVATE_NO_DEFAULT_COMPILER_FLAGS),, \
-               $(HOST_GLOBAL_LDFLAGS) \
-       ) \
        $(PRIVATE_ALL_OBJECTS) \
        -Wl,--whole-archive \
        $(call normalize-host-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
@@ -1305,6 +1298,13 @@ $(hide) $(PRIVATE_CXX) \
        $(call normalize-host-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \
        $(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--end-group) \
        $(call normalize-host-libraries,$(PRIVATE_ALL_SHARED_LIBRARIES)) \
+       -Wl,-rpath-link=$(HOST_OUT_INTERMEDIATE_LIBRARIES) \
+       -Wl,-rpath,\$$ORIGIN/../lib \
+       $(HOST_GLOBAL_LD_DIRS) \
+       $(PRIVATE_LDFLAGS) \
+       $(if $(PRIVATE_NO_DEFAULT_COMPILER_FLAGS),, \
+               $(HOST_GLOBAL_LDFLAGS) \
+       ) \
        -o $@ \
        $(PRIVATE_LDLIBS)
 endef