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

Carmelo AMOROSO carmelo.amoroso at st.com
Wed Nov 16 10:14:00 UTC 2011


Hi William,

On 16/11/2011 11.05, William Pitcock wrote:
> 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

why this change ?

> 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)

ok for this, instead.

Carmelo

>  ifneq ($(findstring  $(TARGET_ARCH) , hppa64 ia64 mips64 powerpc64 s390x sparc64 x86_64 ),)
>  UCLIBC_LDSO_NAME := ld64-uClibc
>  ARCH_NATIVE_BIT := 64



More information about the uClibc mailing list