diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2011-06-15 06:26:05 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2011-06-15 09:23:54 +0000 |
commit | 6fa50adc4d0ab25d2ad24df914893a3cc66d3baf (patch) | |
tree | b3ea6442543eee1080dc574cc2db153303dbb2a8 | |
parent | 9132b760e8fa027f206d3c16fa45ab73e3b45721 (diff) | |
download | aports-6fa50adc4d0ab25d2ad24df914893a3cc66d3baf.tar.bz2 aports-6fa50adc4d0ab25d2ad24df914893a3cc66d3baf.tar.xz |
main/libc0.9.32: upgrade to 0.9.32
-rw-r--r-- | main/libc0.9.32/0001-posix_fadvise64-fix-x86-implementation.patch | 53 | ||||
-rw-r--r-- | main/libc0.9.32/0001-resolv-fix-res_close-not-to-hang-with-ipv6.patch | 34 | ||||
-rw-r--r-- | main/libc0.9.32/0001-utils-ldd-Check-for-returned-pointer-from-strrchr-no.patch | 28 | ||||
-rw-r--r-- | main/libc0.9.32/APKBUILD | 28 | ||||
-rw-r--r-- | main/libc0.9.32/uclibc-epoll_pwait-hack.patch | 20 | ||||
-rw-r--r-- | main/libc0.9.32/uclibc-generic-backtrace.patch | 262 | ||||
-rw-r--r-- | main/libc0.9.32/uclibc-ubacktrace-asneeded-fix.patch | 2 | ||||
-rw-r--r-- | main/libc0.9.32/uclibcconfig.arm | 1 | ||||
-rw-r--r-- | main/libc0.9.32/uclibcconfig.powerpc | 1 | ||||
-rw-r--r-- | main/libc0.9.32/uclibcconfig.x86 | 5 | ||||
-rw-r--r-- | main/libc0.9.32/uclibcconfig.x86_64 | 1 |
11 files changed, 38 insertions, 397 deletions
diff --git a/main/libc0.9.32/0001-posix_fadvise64-fix-x86-implementation.patch b/main/libc0.9.32/0001-posix_fadvise64-fix-x86-implementation.patch deleted file mode 100644 index 382cc94aba..0000000000 --- a/main/libc0.9.32/0001-posix_fadvise64-fix-x86-implementation.patch +++ /dev/null @@ -1,53 +0,0 @@ -From d4db9d07a970e27e3042d09892fbaeca5f40c1a8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Wed, 20 Apr 2011 13:45:36 +0300 -Subject: [PATCH] posix_fadvise64: fix x86 implementation -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Commit 73d59554144f429b1cf0d4d7fa7de42bdf59ad92 completely broke -the x86 implementation of posix_fadvise64. It moved the first -the assembly code retn instruction gets missing depending on the - -Technically the file has two implementaions for posix_fadvise64, -one when __NR_fadvise64_64 is available, and second one if only -__NR_fadvise64 is there. Fix the #ifdef's to be proper for that. - -Signed-off-by: Timo Teräs <timo.teras@iki.fi> ---- - libc/sysdeps/linux/i386/posix_fadvise64.S | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) - -diff --git a/libc/sysdeps/linux/i386/posix_fadvise64.S b/libc/sysdeps/linux/i386/posix_fadvise64.S -index b4aeff1..8a8947d 100644 ---- a/libc/sysdeps/linux/i386/posix_fadvise64.S -+++ b/libc/sysdeps/linux/i386/posix_fadvise64.S -@@ -22,7 +22,7 @@ - #include <bits/errno.h> - #include <sys/syscall.h> - --#if defined __NR_fadvise64_64 -+#if defined __NR_fadvise64_64 || defined __NR_fadvise64 - - /* Was named __libc_posix_fadvise64 for some inexplicable reason. - ** google says only uclibc has *__libc*_posix_fadviseXXX, -@@ -35,6 +35,7 @@ - .global posix_fadvise64 - .type posix_fadvise64,%function - posix_fadvise64: -+#if defined __NR_fadvise64_64 - /* Save regs */ - pushl %ebp - pushl %ebx -@@ -91,6 +92,7 @@ overflow: - - /* Returns 0 on success, else an error code. */ - negl %eax -+#endif - - /* Successful; return the syscall's value. */ - ret --- -1.7.1 - diff --git a/main/libc0.9.32/0001-resolv-fix-res_close-not-to-hang-with-ipv6.patch b/main/libc0.9.32/0001-resolv-fix-res_close-not-to-hang-with-ipv6.patch deleted file mode 100644 index 4567817f11..0000000000 --- a/main/libc0.9.32/0001-resolv-fix-res_close-not-to-hang-with-ipv6.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 0256aca9b486f77af72ea941dfc852c2c4cff15b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Fri, 8 Apr 2011 11:51:03 +0300 -Subject: [PATCH] resolv: fix res_close not to hang with ipv6 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The memory release loop is missing an obvious counter increment. - -Signed-off-by: Timo Teräs <timo.teras@iki.fi> ---- - libc/inet/resolv.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c -index 47bab75..1e394d4 100644 ---- a/libc/inet/resolv.c -+++ b/libc/inet/resolv.c -@@ -3006,9 +3006,9 @@ void res_close(void) - #ifdef __UCLIBC_HAS_IPV6__ - { - char *p1 = (char*) &(_res.nsaddr_list[0]); -- int m = 0; -+ int m; - /* free nsaddrs[m] if they do not point to nsaddr_list[x] */ -- while (m < ARRAY_SIZE(_res._u._ext.nsaddrs)) { -+ for (m = 0; m < ARRAY_SIZE(_res._u._ext.nsaddrs); m++) { - char *p2 = (char*)(_res._u._ext.nsaddrs[m]); - if (p2 < p1 || (p2 - p1) > sizeof(_res.nsaddr_list)) - free(p2); --- -1.7.1 - diff --git a/main/libc0.9.32/0001-utils-ldd-Check-for-returned-pointer-from-strrchr-no.patch b/main/libc0.9.32/0001-utils-ldd-Check-for-returned-pointer-from-strrchr-no.patch deleted file mode 100644 index 4764e006dc..0000000000 --- a/main/libc0.9.32/0001-utils-ldd-Check-for-returned-pointer-from-strrchr-no.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 85f4b028d767fc390a7b866d2f58d58be489242d Mon Sep 17 00:00:00 2001 -From: Kevin Day <thekevinday@gmail.com> -Date: Wed, 30 Mar 2011 04:51:22 -0700 -Subject: [PATCH] utils/ldd: Check for returned pointer from strrchr not the - value it holds - -Signed-off-by: Kevin Day <thekevinday@gmail.com> -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - utils/ldd.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/utils/ldd.c b/utils/ldd.c -index 3858c81..904075c 100644 ---- a/utils/ldd.c -+++ b/utils/ldd.c -@@ -553,7 +553,7 @@ static struct library *find_elf_interpreter(ElfW(Ehdr) *ehdr) - interp_name = strdup(s); - interp_dir = strdup(s); - tmp = strrchr(interp_dir, '/'); -- if (*tmp) -+ if (tmp) - *tmp = '\0'; - else { - free(interp_dir); --- -1.7.4.4 - diff --git a/main/libc0.9.32/APKBUILD b/main/libc0.9.32/APKBUILD index 51a8f8eb74..80cacf8978 100644 --- a/main/libc0.9.32/APKBUILD +++ b/main/libc0.9.32/APKBUILD @@ -2,9 +2,9 @@ _abiver=0.9.32 pkgname=libc$_abiver _gitver= -pkgver=0.9.32_rc3 +pkgver=0.9.32 _ver=${pkgver/_/-} -pkgrel=16 +pkgrel=0 pkgdesc="C library for developing embedded Linux systems" url=http://uclibc.org license="LGPL-2" @@ -28,14 +28,11 @@ source="http://uclibc.org/downloads/uClibc-${_ver}.tar.bz2 0003-ldso-support-RTLD_NOLOAD.patch 0001-libdl-rudimentary-locking-for-dlopen-dlsym-dlclose.patch 0001-malloc-standard-synchronize-on-fork.patch - 0001-resolv-fix-res_close-not-to-hang-with-ipv6.patch - 0001-utils-ldd-Check-for-returned-pointer-from-strrchr-no.patch - 0001-posix_fadvise64-fix-x86-implementation.patch 0001-time-fix-parsing-of-tzdata-files-where-off_t-is-64-b.patch 0001-getaddrinfo-allow-numeric-service-without-any-hints.patch - uclibc-generic-backtrace.patch uclibc-ubacktrace-asneeded-fix.patch uclibc-librt-asneeded-fix.patch + uclibc-epoll_pwait-hack.patch uclibcconfig.x86 uclibcconfig.x86_64 uclibcconfig.i486 @@ -130,7 +127,7 @@ libthread_db() { mv "$pkgdir"/lib/libthread_db* "$subpkgdir"/lib/ } -md5sums="e7f420aa2fb28e7021d02c043acba71b uClibc-0.9.32-rc3.tar.bz2 +md5sums="cfcb6c25d8ebe12817499d8749ee8ae1 uClibc-0.9.32.tar.bz2 a9bfb77ea7dc5fb9abf4d4b19201c614 compat-stack-guard.patch 5d6e3e382b66f59cfd7242a4fe453f98 uclibc-resolv-cname-fix.diff e0c901502602f7e9e002d910d0f32ab9 0001-libm-x86_64-implement-fesetround.patch @@ -139,18 +136,15 @@ b4fb68ad3d0e8331b1b40c30eb21dfdc 0002-stdlib-fix-arc4random-return-type-to-u_in 6147efd2eee5af5e734896823c2d1a3d 0003-ldso-support-RTLD_NOLOAD.patch 3e151ae3d3613dff9296d166aca3a800 0001-libdl-rudimentary-locking-for-dlopen-dlsym-dlclose.patch 30f27fe51fdc4d121166ad2af18dfb8d 0001-malloc-standard-synchronize-on-fork.patch -2ab8c375fe1cd406319b4c5ef538da2b 0001-resolv-fix-res_close-not-to-hang-with-ipv6.patch -12f6297249755d3996918485bbd6031d 0001-utils-ldd-Check-for-returned-pointer-from-strrchr-no.patch -100d026c2d7cf7fc5906229448c791d4 0001-posix_fadvise64-fix-x86-implementation.patch 2548d9f470c9a5b2c117ec3d6f35c105 0001-time-fix-parsing-of-tzdata-files-where-off_t-is-64-b.patch 9e1ffc8dae55f4489c770f284734804f 0001-getaddrinfo-allow-numeric-service-without-any-hints.patch -871956085df0bf90f4054e294a3770ce uclibc-generic-backtrace.patch -814ae23243116cf61690218b9b6019f6 uclibc-ubacktrace-asneeded-fix.patch +7c47e9cb284b0da8df6ed2096b2c9c66 uclibc-ubacktrace-asneeded-fix.patch e5caf13c43ee8d48f22eded21b857d81 uclibc-librt-asneeded-fix.patch -35ef159d3c56ad67f520ab033e0f6930 uclibcconfig.x86 -a0b00fb82825f91671b76b1d8f979944 uclibcconfig.x86_64 -35ef159d3c56ad67f520ab033e0f6930 uclibcconfig.i486 -9c4708d6d5868c2a24f46959eb0be1c7 uclibcconfig.arm -f37b8efb311aadf2084dbd25f8b09b07 uclibcconfig.powerpc +0ed588014227935fbb83b207282f3c15 uclibc-epoll_pwait-hack.patch +7a0a26d002de3a2dcb541e4db9840485 uclibcconfig.x86 +d08010019b097a099ab23810c0da60ce uclibcconfig.x86_64 +7a0a26d002de3a2dcb541e4db9840485 uclibcconfig.i486 +af6526daf5adb86398cab1bf67514c51 uclibcconfig.arm +a8eb360d4ae99dc6e7634d7e9b5c653a uclibcconfig.powerpc 7bf1af84106de9e05160ed6d4853c54f sha512-crypt.patch f3be4f2bc54d7561d252937e10abf0d2 uclibc-utils.trigger" diff --git a/main/libc0.9.32/uclibc-epoll_pwait-hack.patch b/main/libc0.9.32/uclibc-epoll_pwait-hack.patch new file mode 100644 index 0000000000..7e28056848 --- /dev/null +++ b/main/libc0.9.32/uclibc-epoll_pwait-hack.patch @@ -0,0 +1,20 @@ +diff --git a/libc/sysdeps/linux/common/epoll.c b/libc/sysdeps/linux/common/epoll.c +index 85b0cfd..8fff9e6 100644 +--- a/libc/sysdeps/linux/common/epoll.c ++++ b/libc/sysdeps/linux/common/epoll.c +@@ -67,12 +67,13 @@ extern __typeof(epoll_pwait) __libc_epoll_pwait; + int __libc_epoll_pwait(int epfd, struct epoll_event *events, int maxevents, + int timeout, const sigset_t *set) + { ++ int n = _NSIG / 8; + if (SINGLE_THREAD_P) +- return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8); ++ return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, n); + # ifdef __UCLIBC_HAS_THREADS_NATIVE__ + else { + int oldtype = LIBC_CANCEL_ASYNC (); +- int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8); ++ int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, n); + LIBC_CANCEL_RESET (oldtype); + return result; + } diff --git a/main/libc0.9.32/uclibc-generic-backtrace.patch b/main/libc0.9.32/uclibc-generic-backtrace.patch deleted file mode 100644 index 13281a9491..0000000000 --- a/main/libc0.9.32/uclibc-generic-backtrace.patch +++ /dev/null @@ -1,262 +0,0 @@ -From 7b5b79f09f0bffe1fccda00d4c5cdf7a7be45413 Mon Sep 17 00:00:00 2001 -From: Carmelo Amoroso <carmelo.amoroso@st.com> -Date: Fri, 22 Apr 2011 10:55:43 +0000 -Subject: libubacktrace: generic implementation based dwarf - -Use the initial implementation for SH4 based on dwarf for all archs. -Indeed there are not obvious reason for which it should not work in general. - -Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com> ---- -diff --git a/libubacktrace/Makefile.in b/libubacktrace/Makefile.in -index c1dd5d7..fac684e 100644 ---- a/libubacktrace/Makefile.in -+++ b/libubacktrace/Makefile.in -@@ -18,29 +18,16 @@ libubacktrace_FULL_NAME := libubacktrace-$(VERSION).so - - libubacktrace_DIR := $(top_srcdir)libubacktrace - libubacktrace_OUT := $(top_builddir)libubacktrace --libubacktrace_ARCH_DIR := $(libubacktrace_DIR)/sysdeps/$(TARGET_ARCH) --libubacktrace_ARCH_OUT := $(libubacktrace_OUT)/sysdeps/$(TARGET_ARCH) -- ---include $(libubacktrace_ARCH_DIR)/Makefile.arch - - libubacktrace_SRC-y := - libubacktrace_SRC-$(UCLIBC_HAS_BACKTRACE) := backtrace.c backtracesyms.c backtracesymsfd.c - --CFLAGS-libubacktrace/sysdeps/$(TARGET_ARCH)/ := $(CFLAGS-libubacktrace) -- --# remove generic sources, if arch specific version is present --ifneq ($(strip $(libubacktrace_ARCH_SRC-y)),) --libubacktrace_SRC-y := $(filter-out $(notdir $(libubacktrace_ARCH_SRC-y)),$(libubacktrace_SRC-y)) --libubacktrace_ARCH_SRC := $(addprefix $(libubacktrace_ARCH_DIR)/,$(libubacktrace_ARCH_SRC-y)) --libubacktrace_ARCH_OBJ := $(patsubst $(libubacktrace_ARCH_DIR)/%.c,$(libubacktrace_ARCH_OUT)/%.o,$(libubacktrace_ARCH_SRC)) --endif -- -+# -fexections is required for backtrace to work using dwarf2 -+CFLAGS-backtrace.c := -fexceptions - --libubacktrace_SRC := $(addprefix $(libubacktrace_DIR)/,$(libubacktrace_SRC-y)) --libubacktrace_OBJ := $(patsubst $(libubacktrace_DIR)/%.c,$(libubacktrace_OUT)/%.o,$(libubacktrace_SRC)) - --libubacktrace_SRCS := $(libubacktrace_SRC) $(libubacktrace_ARCH_SRC) --libubacktrace_OBJS := $(libubacktrace_OBJ) $(libubacktrace_ARCH_OBJ) -+libubacktrace_SRCS := $(addprefix $(libubacktrace_DIR)/,$(libubacktrace_SRC-y)) -+libubacktrace_OBJS := $(patsubst $(libubacktrace_DIR)/%.c,$(libubacktrace_OUT)/%.o,$(libubacktrace_SRCS)) - - ifeq ($(DOPIC),y) - libubacktrace-a-y := $(libubacktrace_OBJS:.o=.os) -diff --git a/libubacktrace/backtrace.c b/libubacktrace/backtrace.c -index 8721800..18b91b1 100644 ---- a/libubacktrace/backtrace.c -+++ b/libubacktrace/backtrace.c -@@ -4,16 +4,81 @@ - * User application that wants to use backtrace needs to be - * compiled with -fexceptions option and -rdynamic to get full - * symbols printed. -- -- * Copyright (C) 2010 STMicroelectronics Ltd -+ * -+ * Copyright (C) 2009, 2010 STMicroelectronics Ltd. -+ * -+ * Author(s): Giuseppe Cavallaro <peppe.cavallaro@st.com> -+ * - Initial implementation for glibc -+ * - * Author(s): Carmelo Amoroso <carmelo.amoroso@st.com> -+ * - Reworked for uClibc -+ * - use dlsym/dlopen from libdl -+ * - rewrite initialisation to not use libc_once -+ * - make it available in static link too - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - * - */ --#error "Arch specific implementation must be provided to properly work" --int backtrace (void **array, int size) -+ -+#include <execinfo.h> -+#include <dlfcn.h> -+#include <stdlib.h> -+#include <unwind.h> -+#include <assert.h> -+#include <stdio.h> -+ -+struct trace_arg - { -- return -1; -+ void **array; -+ int cnt, size; -+}; -+ -+static _Unwind_Reason_Code (*unwind_backtrace) (_Unwind_Trace_Fn, void *); -+static _Unwind_Ptr (*unwind_getip) (struct _Unwind_Context *); -+ -+static void backtrace_init (void) -+{ -+ void *handle = dlopen ("libgcc_s.so.1", RTLD_LAZY); -+ -+ if (handle == NULL -+ || ((unwind_backtrace = dlsym (handle, "_Unwind_Backtrace")) == NULL) -+ || ((unwind_getip = dlsym (handle, "_Unwind_GetIP")) == NULL)) { -+ printf("libgcc_s.so.1 must be installed for backtrace to work\n"); -+ abort(); -+ } - } - -+static _Unwind_Reason_Code -+backtrace_helper (struct _Unwind_Context *ctx, void *a) -+{ -+ struct trace_arg *arg = a; -+ -+ assert (unwind_getip != NULL); -+ -+ /* We are first called with address in the __backtrace function. Skip it. */ -+ if (arg->cnt != -1) -+ arg->array[arg->cnt] = (void *) unwind_getip (ctx); -+ if (++arg->cnt == arg->size) -+ return _URC_END_OF_STACK; -+ return _URC_NO_REASON; -+} -+ -+/* -+ * Perform stack unwinding by using the _Unwind_Backtrace. -+ * -+ * User application that wants to use backtrace needs to be -+ * compiled with -fexceptions option and -rdynamic to get full -+ * symbols printed. -+ */ -+int backtrace (void **array, int size) -+{ -+ struct trace_arg arg = { .array = array, .size = size, .cnt = -1 }; -+ -+ if (unwind_backtrace == NULL) -+ backtrace_init(); -+ -+ if (size >= 1) -+ unwind_backtrace (backtrace_helper, &arg); -+ -+ return arg.cnt != -1 ? arg.cnt : 0; -+} -diff --git a/libubacktrace/sysdeps/sh/Makefile.arch b/libubacktrace/sysdeps/sh/Makefile.arch -deleted file mode 100644 -index 9b0de38..0000000 ---- a/libubacktrace/sysdeps/sh/Makefile.arch -+++ b/dev/null -@@ -1,12 +0,0 @@ --# Makefile for uClibc (sh/libubacktrace) --# --# Copyright (C) 2010 STMicroelectronics Ltd --# Author: Carmelo Amoroso <carmelo.amoroso@st.com> -- --# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. --# -- --libubacktrace_ARCH_SRC-y := backtrace.c -- --# -fexections is required for backtrace to work using dwarf2 --CFLAGS-backtrace.c := -fexceptions -diff --git a/libubacktrace/sysdeps/sh/backtrace.c b/libubacktrace/sysdeps/sh/backtrace.c -deleted file mode 100644 -index 18b91b1..0000000 ---- a/libubacktrace/sysdeps/sh/backtrace.c -+++ b/dev/null -@@ -1,84 +0,0 @@ --/* -- * Perform stack unwinding by using the _Unwind_Backtrace. -- * -- * User application that wants to use backtrace needs to be -- * compiled with -fexceptions option and -rdynamic to get full -- * symbols printed. -- * -- * Copyright (C) 2009, 2010 STMicroelectronics Ltd. -- * -- * Author(s): Giuseppe Cavallaro <peppe.cavallaro@st.com> -- * - Initial implementation for glibc -- * -- * Author(s): Carmelo Amoroso <carmelo.amoroso@st.com> -- * - Reworked for uClibc -- * - use dlsym/dlopen from libdl -- * - rewrite initialisation to not use libc_once -- * - make it available in static link too -- * -- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. -- * -- */ -- --#include <execinfo.h> --#include <dlfcn.h> --#include <stdlib.h> --#include <unwind.h> --#include <assert.h> --#include <stdio.h> -- --struct trace_arg --{ -- void **array; -- int cnt, size; --}; -- --static _Unwind_Reason_Code (*unwind_backtrace) (_Unwind_Trace_Fn, void *); --static _Unwind_Ptr (*unwind_getip) (struct _Unwind_Context *); -- --static void backtrace_init (void) --{ -- void *handle = dlopen ("libgcc_s.so.1", RTLD_LAZY); -- -- if (handle == NULL -- || ((unwind_backtrace = dlsym (handle, "_Unwind_Backtrace")) == NULL) -- || ((unwind_getip = dlsym (handle, "_Unwind_GetIP")) == NULL)) { -- printf("libgcc_s.so.1 must be installed for backtrace to work\n"); -- abort(); -- } --} -- --static _Unwind_Reason_Code --backtrace_helper (struct _Unwind_Context *ctx, void *a) --{ -- struct trace_arg *arg = a; -- -- assert (unwind_getip != NULL); -- -- /* We are first called with address in the __backtrace function. Skip it. */ -- if (arg->cnt != -1) -- arg->array[arg->cnt] = (void *) unwind_getip (ctx); -- if (++arg->cnt == arg->size) -- return _URC_END_OF_STACK; -- return _URC_NO_REASON; --} -- --/* -- * Perform stack unwinding by using the _Unwind_Backtrace. -- * -- * User application that wants to use backtrace needs to be -- * compiled with -fexceptions option and -rdynamic to get full -- * symbols printed. -- */ --int backtrace (void **array, int size) --{ -- struct trace_arg arg = { .array = array, .size = size, .cnt = -1 }; -- -- if (unwind_backtrace == NULL) -- backtrace_init(); -- -- if (size >= 1) -- unwind_backtrace (backtrace_helper, &arg); -- -- return arg.cnt != -1 ? arg.cnt : 0; --} --- -cgit v0.8.2.1 - -Fix up config file reference. ---- uClibc-0.9.32-rc3.orig/extra/Configs/Config.in -+++ uClibc-0.9.32-rc3/extra/Configs/Config.in -@@ -2322,7 +2322,7 @@ - - config UCLIBC_HAS_BACKTRACE - bool "Add support for application self-debugging" -- depends on HAVE_SHARED && TARGET_sh -+ depends on HAVE_SHARED - default n - help - Answer Y here to compile support for application self-debugging, by adding diff --git a/main/libc0.9.32/uclibc-ubacktrace-asneeded-fix.patch b/main/libc0.9.32/uclibc-ubacktrace-asneeded-fix.patch index 7ac85a03f3..8fc06508eb 100644 --- a/main/libc0.9.32/uclibc-ubacktrace-asneeded-fix.patch +++ b/main/libc0.9.32/uclibc-ubacktrace-asneeded-fix.patch @@ -4,7 +4,7 @@ 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_MAJORNAME) ] ; then \ +- 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 diff --git a/main/libc0.9.32/uclibcconfig.arm b/main/libc0.9.32/uclibcconfig.arm index 09897ab54e..da17fec837 100644 --- a/main/libc0.9.32/uclibcconfig.arm +++ b/main/libc0.9.32/uclibcconfig.arm @@ -220,6 +220,7 @@ UCLIBC_HAS_FNMATCH=y UCLIBC_HAS_WORDEXP=y UCLIBC_HAS_NFTW=y UCLIBC_HAS_FTW=y +# UCLIBC_HAS_FTS is not set UCLIBC_HAS_GLOB=y UCLIBC_HAS_GNU_GLOB=y UCLIBC_HAS_UTMPX=y diff --git a/main/libc0.9.32/uclibcconfig.powerpc b/main/libc0.9.32/uclibcconfig.powerpc index e0597ae5ab..e4d8779395 100644 --- a/main/libc0.9.32/uclibcconfig.powerpc +++ b/main/libc0.9.32/uclibcconfig.powerpc @@ -204,6 +204,7 @@ UCLIBC_HAS_FNMATCH=y UCLIBC_HAS_WORDEXP=y UCLIBC_HAS_NFTW=y UCLIBC_HAS_FTW=y +# UCLIBC_HAS_FTS is not set UCLIBC_HAS_GLOB=y UCLIBC_HAS_GNU_GLOB=y UCLIBC_HAS_UTMPX=y diff --git a/main/libc0.9.32/uclibcconfig.x86 b/main/libc0.9.32/uclibcconfig.x86 index 510759e50c..dcbe1d010b 100644 --- a/main/libc0.9.32/uclibcconfig.x86 +++ b/main/libc0.9.32/uclibcconfig.x86 @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Version: 0.9.32-rc3 -# Tue Mar 22 12:47:37 2011 +# Version: 0.9.32 +# Tue Jun 14 09:35:04 2011 # # TARGET_alpha is not set # TARGET_arm is not set @@ -219,6 +219,7 @@ UCLIBC_HAS_FNMATCH=y UCLIBC_HAS_WORDEXP=y UCLIBC_HAS_NFTW=y UCLIBC_HAS_FTW=y +# UCLIBC_HAS_FTS is not set UCLIBC_HAS_GLOB=y UCLIBC_HAS_GNU_GLOB=y UCLIBC_HAS_UTMPX=y diff --git a/main/libc0.9.32/uclibcconfig.x86_64 b/main/libc0.9.32/uclibcconfig.x86_64 index e218fc0f52..29a81d3dd0 100644 --- a/main/libc0.9.32/uclibcconfig.x86_64 +++ b/main/libc0.9.32/uclibcconfig.x86_64 @@ -202,6 +202,7 @@ UCLIBC_HAS_FNMATCH=y UCLIBC_HAS_WORDEXP=y UCLIBC_HAS_NFTW=y UCLIBC_HAS_FTW=y +# UCLIBC_HAS_FTS is not set UCLIBC_HAS_GLOB=y UCLIBC_HAS_GNU_GLOB=y UCLIBC_HAS_UTMPX=y |