Hi Steve,
this patch to fix a problem into nptl branch related to strong_alias
used for data. Any code linked with the uCLibc-nptl trying to dereference
the 'environ' variable will segfault.
This has been already solved in trunk, and there are a lot of posts
into libc-alpha related to the wrong usage of strong_alias with data.

I caught a SIGSEV using busybox (env and awk applets). With this patch
it works fine.

Thanks and regards,
Carmelo
Index: libc/misc/internals/__uClibc_main.c
===================================================================
--- libc/misc/internals/__uClibc_main.c (revision 18699)
+++ libc/misc/internals/__uClibc_main.c (working copy)
@@ -119,12 +119,10 @@
 #endif
 
 /*
- * Declare the __environ global variable and create a strong alias environ.
- * Note: Apparently we must initialize __environ to ensure that the strong
- * environ symbol is also included.
+ * Declare the __environ global variable and create a weak alias environ.
  */
 char **__environ = 0;
-strong_alias(__environ,environ)
+weak_alias(__environ,environ)
 
 /* TODO: don't export __pagesize; we cant now because libpthread uses it */
 size_t __pagesize = 0;
_______________________________________________
uClibc mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/uclibc

Reply via email to