Don't sort shared library link order.
Only sort the list of shared libraries used for naming dependencies, not the order they are actually linked in. The order in which shared libraries appear to the linker affects which symbols get used if there is a multiply defined symbol. Also link system shared libraries _after_ user provided libraries, since a user will want their functions to override the system's if they exist. Change-Id: I071059d940d40a648d69d90e0699073ef520138a
This commit is contained in:
parent
4dfda1fa42
commit
04eead7e2b
1 changed files with 2 additions and 3 deletions
|
@ -235,16 +235,15 @@ ifdef LOCAL_SDK_VERSION
|
||||||
$(my_shared_libraries)
|
$(my_shared_libraries)
|
||||||
else
|
else
|
||||||
installed_shared_library_module_names := \
|
installed_shared_library_module_names := \
|
||||||
$(my_system_shared_libraries) $(my_shared_libraries)
|
$(my_shared_libraries) $(my_system_shared_libraries)
|
||||||
endif
|
endif
|
||||||
installed_shared_library_module_names := $(sort $(installed_shared_library_module_names))
|
|
||||||
|
|
||||||
# The real dependency will be added after all Android.mks are loaded and the install paths
|
# The real dependency will be added after all Android.mks are loaded and the install paths
|
||||||
# of the shared libraries are determined.
|
# of the shared libraries are determined.
|
||||||
ifdef LOCAL_INSTALLED_MODULE
|
ifdef LOCAL_INSTALLED_MODULE
|
||||||
ifdef installed_shared_library_module_names
|
ifdef installed_shared_library_module_names
|
||||||
$(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += \
|
$(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += \
|
||||||
$(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(installed_shared_library_module_names))
|
$(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(sort $(installed_shared_library_module_names)))
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue