diff options
-rw-r--r-- | meta/recipes-core/uclibc/uclibc-git.inc | 1 | ||||
-rw-r--r-- | meta/recipes-core/uclibc/uclibc-git/0001-gcc5-optimizes-away-the-write-only-static-functions-.patch | 51 |
2 files changed, 52 insertions, 0 deletions
diff --git a/meta/recipes-core/uclibc/uclibc-git.inc b/meta/recipes-core/uclibc/uclibc-git.inc index 14a577f432..9e3d64408c 100644 --- a/meta/recipes-core/uclibc/uclibc-git.inc +++ b/meta/recipes-core/uclibc/uclibc-git.inc | |||
@@ -16,5 +16,6 @@ SRC_URI = "git://uclibc.org/uClibc.git;branch=master \ | |||
16 | file://0005-Always-use-O2-for-compiling-fork.c.patch \ | 16 | file://0005-Always-use-O2-for-compiling-fork.c.patch \ |
17 | file://0006-ldso-limited-support-for-ORIGIN-in-rpath.patch \ | 17 | file://0006-ldso-limited-support-for-ORIGIN-in-rpath.patch \ |
18 | file://0007-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch \ | 18 | file://0007-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch \ |
19 | file://0001-gcc5-optimizes-away-the-write-only-static-functions-.patch \ | ||
19 | " | 20 | " |
20 | S = "${WORKDIR}/git" | 21 | S = "${WORKDIR}/git" |
diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-gcc5-optimizes-away-the-write-only-static-functions-.patch b/meta/recipes-core/uclibc/uclibc-git/0001-gcc5-optimizes-away-the-write-only-static-functions-.patch new file mode 100644 index 0000000000..e622f87ba9 --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/0001-gcc5-optimizes-away-the-write-only-static-functions-.patch | |||
@@ -0,0 +1,51 @@ | |||
1 | From 2659fb25d32f4b29c1c96aa5730fe40e19d53ab0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 14 Oct 2015 17:38:37 -0700 | ||
4 | Subject: [PATCH] gcc5 optimizes away the write only static functions and we | ||
5 | end up with | ||
6 | |||
7 | librt/librt_so.a(rt-unwind-resume.oS): In function `_Unwind_Resume': | ||
8 | rt-unwind-resume.c:(.text+0x3c): undefined reference to `libgcc_s_resume' | ||
9 | collect2: error: ld returned 1 exit status | ||
10 | make[2]: *** [lib/librt.so] Error 1 | ||
11 | |||
12 | marking these functions explicitly used with __attribute_used__ avoids | ||
13 | that optimization. | ||
14 | |||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | --- | ||
17 | Upstream-Status: Pending | ||
18 | |||
19 | libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c | 2 +- | ||
20 | libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c | 2 +- | ||
21 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
22 | |||
23 | diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c | ||
24 | index f4d6f41..0c2edd7 100644 | ||
25 | --- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c | ||
26 | +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c | ||
27 | @@ -27,7 +27,7 @@ | ||
28 | #define __libc_fatal(x) {/*write(STDERR_FILENO, x, strlen(x));*/ abort();} | ||
29 | |||
30 | static void *libgcc_s_handle; | ||
31 | -static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); | ||
32 | +static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__; | ||
33 | static _Unwind_Reason_Code (*libgcc_s_personality) | ||
34 | (_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *); | ||
35 | static _Unwind_Reason_Code (*libgcc_s_forcedunwind) | ||
36 | diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c | ||
37 | index f9a4ffb..f0c3047 100644 | ||
38 | --- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c | ||
39 | +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c | ||
40 | @@ -25,7 +25,7 @@ | ||
41 | #define __libc_dlclose dlclose | ||
42 | #define __libc_fatal(x) {/*write(STDERR_FILENO, x, strlen(x));*/ abort();} | ||
43 | |||
44 | -static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); | ||
45 | +static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__; | ||
46 | static _Unwind_Reason_Code (*libgcc_s_personality) | ||
47 | (_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *); | ||
48 | |||
49 | -- | ||
50 | 2.6.1 | ||
51 | |||