kumquat-buildroot/package/uclibc/0004-fix-static-linking-for-FDPIC-toolchains.patch
Waldemar Brodkorb 41e5c94c56 uclibc: add various upstream patches
Fix some static linking issues for Xtensa/Blackfin.
Optimize the size for non-threaded static binaries and
fix static C/C++ applications when running on the target.
Fix noMMU madvise declarations.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-12-10 15:59:28 +01:00

50 lines
1.3 KiB
Diff

From 569914be2e968a1bda8b4982ca97c1524635174e Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Thu, 8 Dec 2016 04:36:10 +0100
Subject: [PATCH] fix static linking for FDPIC toolchains
Fixes following problem, when trying to compile a simple
C application statically with a FDPIC toolchain (for example
with Blackfin architecture):
lib/libc.a(libdl.os): In function `do_dlclose':
(.text+0x6be): undefined reference to `_dl_free'
..
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
ldso/libdl/libdl.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c
index 0cf3b70..04d7c43 100644
--- a/ldso/libdl/libdl.c
+++ b/ldso/libdl/libdl.c
@@ -30,6 +30,14 @@
*/
+/* When libdl is linked in statically into libc.a, we need to replace
+ * these symbols that otherwise would have been loaded in from ldso.
+ * This must be before including ldso.h */
+#ifndef SHARED
+#define _dl_malloc malloc
+#define _dl_free free
+#endif
+
#include <ldso.h>
#include <stdio.h>
#include <string.h>
@@ -86,9 +94,6 @@ extern char *_dl_debug;
#else /* !SHARED */
-#define _dl_malloc malloc
-#define _dl_free free
-
/* When libdl is linked as a static library, we need to replace all
* the symbols that otherwise would have been loaded in from ldso... */
--
2.1.4