[PATCH] buildsys: set up ASNEEDED entries for libubacktrace.so correctly.

William Pitcock nenolod at dereferenced.org
Wed Nov 16 10:05:33 UTC 2011


The linker script that is generated does not pull in the right file for
libubacktrace.so in the event that $(ABI_VERSION) is not $(MAJOR_VERSION).

This is the case for Alpine where multiple versions of uClibc are provided
in slotted form, with distinct ABI versions.

The correct variable to use is $(ABI_VERSION), which is what is used in other
instances in the buildsys when referring to the SONAME instance of the files.

Signed-off-by: William Pitcock <nenolod at dereferenced.org>
---
 Makefile.in |    2 +-
 Rules.mak   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 0a4347b..0f8b48e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -345,7 +345,7 @@ else
 endif
 ifeq ($(UCLIBC_HAS_BACKTRACE),y)
 # Add the AS_NEEDED entry for libubacktrace.so
-	if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR)/$(SHARED_LIBNAME) ] ; then \
+	if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libc.so ] ; then \
 		echo "GROUP ( $(UBACKTRACE_ASNEEDED) )" >> $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libc.so; \
 	fi
 endif
diff --git a/Rules.mak b/Rules.mak
index 4e4baf9..a5b6901 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -118,7 +118,7 @@ export MAJOR_VERSION MINOR_VERSION SUBLEVEL VERSION ABI_VERSION LC_ALL
 
 LIBC := libc
 SHARED_LIBNAME := $(LIBC).so.$(ABI_VERSION)
-UBACKTRACE_DSO := libubacktrace.so.$(MAJOR_VERSION)
+UBACKTRACE_DSO := libubacktrace.so.$(ABI_VERSION)
 ifneq ($(findstring  $(TARGET_ARCH) , hppa64 ia64 mips64 powerpc64 s390x sparc64 x86_64 ),)
 UCLIBC_LDSO_NAME := ld64-uClibc
 ARCH_NATIVE_BIT := 64
-- 
1.7.7.3



More information about the uClibc mailing list