[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