From 3e90d206c5c7ddacb00d9947cb7d495a2e999bcc Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Fri, 10 Jun 2011 22:07:16 -0500 Subject: main/libc0.9.32: pull librt in as needed, this is the same behaviour as glibc >= 2.7 --- main/libc0.9.32/APKBUILD | 4 ++- main/libc0.9.32/uclibc-librt-asneeded-fix.patch | 39 +++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 main/libc0.9.32/uclibc-librt-asneeded-fix.patch (limited to 'main') diff --git a/main/libc0.9.32/APKBUILD b/main/libc0.9.32/APKBUILD index a1ff9e434..51a8f8eb7 100644 --- a/main/libc0.9.32/APKBUILD +++ b/main/libc0.9.32/APKBUILD @@ -4,7 +4,7 @@ pkgname=libc$_abiver _gitver= pkgver=0.9.32_rc3 _ver=${pkgver/_/-} -pkgrel=15 +pkgrel=16 pkgdesc="C library for developing embedded Linux systems" url=http://uclibc.org license="LGPL-2" @@ -35,6 +35,7 @@ source="http://uclibc.org/downloads/uClibc-${_ver}.tar.bz2 0001-getaddrinfo-allow-numeric-service-without-any-hints.patch uclibc-generic-backtrace.patch uclibc-ubacktrace-asneeded-fix.patch + uclibc-librt-asneeded-fix.patch uclibcconfig.x86 uclibcconfig.x86_64 uclibcconfig.i486 @@ -145,6 +146,7 @@ b4fb68ad3d0e8331b1b40c30eb21dfdc 0002-stdlib-fix-arc4random-return-type-to-u_in 9e1ffc8dae55f4489c770f284734804f 0001-getaddrinfo-allow-numeric-service-without-any-hints.patch 871956085df0bf90f4054e294a3770ce uclibc-generic-backtrace.patch 814ae23243116cf61690218b9b6019f6 uclibc-ubacktrace-asneeded-fix.patch +e5caf13c43ee8d48f22eded21b857d81 uclibc-librt-asneeded-fix.patch 35ef159d3c56ad67f520ab033e0f6930 uclibcconfig.x86 a0b00fb82825f91671b76b1d8f979944 uclibcconfig.x86_64 35ef159d3c56ad67f520ab033e0f6930 uclibcconfig.i486 diff --git a/main/libc0.9.32/uclibc-librt-asneeded-fix.patch b/main/libc0.9.32/uclibc-librt-asneeded-fix.patch new file mode 100644 index 000000000..d85af19f2 --- /dev/null +++ b/main/libc0.9.32/uclibc-librt-asneeded-fix.patch @@ -0,0 +1,39 @@ +--- uClibc-0.9.32-rc3.orig/Makefile.in ++++ uClibc-0.9.32-rc3/Makefile.in +@@ -340,6 +340,12 @@ + echo "GROUP ( $(UBACKTRACE_ASNEEDED) )" >> $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libc.so; \ + fi + endif ++ifeq ($(UCLIBC_HAS_REALTIME),y) ++# Add the AS_NEEDED entry for librt.so ++ if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libc.so ] ; then \ ++ echo "GROUP ( $(LIBRT_ASNEEDED) )" >> $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libc.so; \ ++ fi ++endif + ifeq ($(UCLIBC_HAS_THREADS),y) + ifneq ($(LINUXTHREADS_OLD),y) + ifeq ($(HARDWIRED_ABSPATH),y) +--- uClibc-0.9.32-rc3.orig/Rules.mak ++++ uClibc-0.9.32-rc3/Rules.mak +@@ -119,6 +119,7 @@ + LIBC := libc + SHARED_LIBNAME := $(LIBC).so.$(ABI_VERSION) + UBACKTRACE_DSO := libubacktrace.so.$(ABI_VERSION) ++LIBRT_DSO := librt.so.$(ABI_VERSION) + ifneq ($(findstring $(TARGET_ARCH) , hppa64 ia64 mips64 powerpc64 s390x sparc64 x86_64 ),) + UCLIBC_LDSO_NAME := ld64-uClibc + ARCH_NATIVE_BIT := 64 +@@ -542,6 +543,13 @@ + export UBACKTRACE_ASNEEDED:=$(shell $(LD) --help 2>/dev/null | grep -q -- --as-needed && echo "AS_NEEDED ( $(UBACKTRACE_FULL_NAME) )" || echo "$(UBACKTRACE_FULL_NAME)") + else + export UBACKTRACE_ASNEEDED:="" ++endif ++ifeq ($(UCLIBC_HAS_REALTIME),y) ++# Only used in installed libc.so linker script ++LIBRT_FULL_NAME := $(RUNTIME_PREFIX)lib/$(LIBRT_DSO) ++export LIBRT_ASNEEDED:=$(shell $(LD) --help 2>/dev/null | grep -q -- --as-needed && echo "AS_NEEDED ( $(LIBRT_FULL_NAME) )" || echo "$(LIBRT_FULL_NAME)") ++else ++export LIBRT_ASNEEDED:="" + endif + endif + -- cgit v1.2.3