aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0029-fix-accidental-global-static-pointer-in-ldso.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/musl/0029-fix-accidental-global-static-pointer-in-ldso.patch')
-rw-r--r--main/musl/0029-fix-accidental-global-static-pointer-in-ldso.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/main/musl/0029-fix-accidental-global-static-pointer-in-ldso.patch b/main/musl/0029-fix-accidental-global-static-pointer-in-ldso.patch
new file mode 100644
index 0000000000..6d18c6a721
--- /dev/null
+++ b/main/musl/0029-fix-accidental-global-static-pointer-in-ldso.patch
@@ -0,0 +1,29 @@
+From 86e8cc0fd46f5789e80a16d68ae86f7358f64705 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <nsz@port70.net>
+Date: Tue, 1 Nov 2016 02:44:56 +0100
+Subject: [PATCH] fix accidental global static pointer in ldso
+
+this was harmless as load_library is not called concurrently,
+but it used one word of bss.
+---
+ ldso/dynlink.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/ldso/dynlink.c b/ldso/dynlink.c
+index e458f386..d11776dc 100644
+--- a/ldso/dynlink.c
++++ b/ldso/dynlink.c
+@@ -905,8 +905,9 @@ static struct dso *load_library(const char *name, struct dso *needed_by)
+
+ /* Catch and block attempts to reload the implementation itself */
+ if (name[0]=='l' && name[1]=='i' && name[2]=='b') {
+- static const char *rp, reserved[] =
++ static const char reserved[] =
+ "c\0pthread\0rt\0m\0dl\0util\0xnet\0";
++ const char *rp;
+ char *z = strchr(name, '.');
+ if (z) {
+ size_t l = z-name;
+--
+2.11.0
+