From e758e059e76573b9feba8a337c6b6ce4ad33688a Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Mon, 19 Oct 2009 23:26:05 +0000
Subject: [PATCH] mklibs: preserve the uclibc init symbol

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18085 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 tools/mklibs/patches/007-uclibc_init.patch | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 tools/mklibs/patches/007-uclibc_init.patch

diff --git a/tools/mklibs/patches/007-uclibc_init.patch b/tools/mklibs/patches/007-uclibc_init.patch
new file mode 100644
index 000000000..e76515085
--- /dev/null
+++ b/tools/mklibs/patches/007-uclibc_init.patch
@@ -0,0 +1,14 @@
+--- a/src/mklibs.py
++++ b/src/mklibs.py
+@@ -571,6 +571,11 @@ while 1:
+                 extra_post_obj.append(sysroot + libc_extras_dir + "/sofini.o")
+                 symbols.add(ProvidedSymbol('__dso_handle', None, None, True))
+ 
++            if soname in ("libc.so.0"):
++                symbols.add(ProvidedSymbol('__uClibc_init', None, None, True))
++                symbols.add(ProvidedSymbol('__uClibc_fini', None, None, True))
++                extra_flags.append("-Wl,-init,__uClibc_init")
++
+             map_file = find_pic_map(library)
+             if map_file:
+                 extra_flags.append("-Wl,--version-script=" + map_file)
-- 
2.20.1