diff options
-rw-r--r-- | meta/recipes-core/uclibc/uclibc-git.inc | 1 | ||||
-rw-r--r-- | meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch | 44 |
2 files changed, 45 insertions, 0 deletions
diff --git a/meta/recipes-core/uclibc/uclibc-git.inc b/meta/recipes-core/uclibc/uclibc-git.inc index a56fa7cb64..718bee9eee 100644 --- a/meta/recipes-core/uclibc/uclibc-git.inc +++ b/meta/recipes-core/uclibc/uclibc-git.inc | |||
@@ -6,6 +6,7 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/uclibc-git:" | |||
6 | 6 | ||
7 | SRC_URI = "git://uclibc-ng.org/git/uclibc-ng \ | 7 | SRC_URI = "git://uclibc-ng.org/git/uclibc-ng \ |
8 | file://0001-Disable-lrount_tes-function.patch \ | 8 | file://0001-Disable-lrount_tes-function.patch \ |
9 | file://0001-Provide-an-alias-to-_obstack_free.patch \ | ||
9 | file://uClibc.machine \ | 10 | file://uClibc.machine \ |
10 | file://uClibc.distro \ | 11 | file://uClibc.distro \ |
11 | file://obstack.cfg \ | 12 | file://obstack.cfg \ |
diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch new file mode 100644 index 0000000000..30b443f592 --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | From 06e4fe64bbd01f16ee84da161b8e1a61e73b4cdb Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexey Neyman <aneyman@lynx.com> | ||
3 | Date: Thu, 31 Mar 2016 13:02:47 -0700 | ||
4 | Subject: [PATCH] Provide an alias to _obstack_free | ||
5 | |||
6 | GDB 7.11 does not build if compiled against uclibc-ng (1.0.12 was used, | ||
7 | but the problematic code exists in 1.0.13 as well). The reason is that | ||
8 | GDB release includes its own obstack implementation, but elides the code | ||
9 | if <gnu-versions.h> declares a compatible obstack implementation in | ||
10 | libc. uclibc-ng does claim compatible obstack interface (GDB expects | ||
11 | version 2, but accepts version 1 if sizeof(int) == sizeof(size_t)), | ||
12 | however, uclibc-ng does not provide the _obstack_free symbol that is a | ||
13 | part of the interface (glibc does provide this symbol). This later | ||
14 | causes a link failure. | ||
15 | |||
16 | The attached patch makes uclibc-ng enables an alias _obstack_free -> | ||
17 | obstack_free. | ||
18 | |||
19 | Signed-off-by: Alexey Neyman <stilor@att.net> | ||
20 | --- | ||
21 | Upstream-Status: Backport | ||
22 | |||
23 | libc/misc/gnu/obstack.c | 2 -- | ||
24 | 1 file changed, 2 deletions(-) | ||
25 | |||
26 | diff --git a/libc/misc/gnu/obstack.c b/libc/misc/gnu/obstack.c | ||
27 | index 38cfd83..6acc567 100644 | ||
28 | --- a/libc/misc/gnu/obstack.c | ||
29 | +++ b/libc/misc/gnu/obstack.c | ||
30 | @@ -385,11 +385,9 @@ obstack_free (struct obstack *h, void *obj) | ||
31 | abort (); | ||
32 | } | ||
33 | |||
34 | -# if 0 | ||
35 | /* Older versions of libc used a function _obstack_free intended to be | ||
36 | called by non-GCC compilers. */ | ||
37 | strong_alias (obstack_free, _obstack_free) | ||
38 | -# endif | ||
39 | |||
40 | int | ||
41 | _obstack_memory_used (struct obstack *h) | ||
42 | -- | ||
43 | 2.8.1 | ||
44 | |||