Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04eead7e authored by Dan Albert's avatar Dan Albert
Browse files

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
parent 4dfda1fa
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -235,16 +235,15 @@ ifdef LOCAL_SDK_VERSION
      $(my_shared_libraries)
else
  installed_shared_library_module_names := \
      $(my_system_shared_libraries) $(my_shared_libraries)
      $(my_shared_libraries) $(my_system_shared_libraries)
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
# of the shared libraries are determined.
ifdef LOCAL_INSTALLED_MODULE
ifdef installed_shared_library_module_names
$(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