uClibc-0.9.31 symbol table oddities

Michael Deutschmann michael at talamasca.ocis.net
Fri Apr 9 22:30:39 UTC 2010


On Fri, 9 Apr 2010, Carmelo AMOROSO wrote:
> Hi Michael,
> you analysis is really interesting, hopefully some patches will come soon.
> I'll try to do my part.

I can help out a bit myself.  Appended is a patch to make capget
consistent with capset, and stop the namespace pollution from the time
module.

It's not run tested (it will be awhile before I get around to crossing
over, and even then that will be with several other local patches), but I
have verified it compiles and produces saner looking nm output.

That leaves the __res* issue, and the posix_fadvise64 issue.

---- Michael Deutschmann <michael at talamasca.ocis.net>

diff -durpN uClibc-0.9.31/libc/misc/time/time.c uClibc-0.9.31-symclean/libc/misc/time/time.c
--- uClibc-0.9.31/libc/misc/time/time.c	2010-04-02 08:34:27.000000000 -0700
+++ uClibc-0.9.31-symclean/libc/misc/time/time.c	2010-04-09 14:44:26.000000000 -0700
@@ -604,11 +604,11 @@ typedef struct ll_tzname_item {
 } ll_tzname_item_t;
 
 /* Structures form a list "UTC" -> "???" -> "tzname1" -> "tzname2"... */
-struct {
+static struct {
 	struct ll_tzname_item *next;
 	char tzname[4];
 } ll_tzname_UNKNOWN = { NULL, "???" };
-const struct {
+static const struct {
 	struct ll_tzname_item *next;
 	char tzname[4];
 } ll_tzname_UTC = { (void*)&ll_tzname_UNKNOWN, "UTC" };
diff -durpN uClibc-0.9.31/libc/sysdeps/linux/common/capget.c uClibc-0.9.31-symclean/libc/sysdeps/linux/common/capget.c
--- uClibc-0.9.31/libc/sysdeps/linux/common/capget.c	2010-04-02 08:34:27.000000000 -0700
+++ uClibc-0.9.31-symclean/libc/sysdeps/linux/common/capget.c	2010-04-09 14:43:37.000000000 -0700
@@ -11,7 +11,7 @@
 int capget(void *header, void *data);
 #ifdef __NR_capget
 _syscall2(int, capget, void *, header, void *, data)
-#else
+#elif defined __UCLIBC_HAS_STUBS__
 int capget(void *header, void *data)
 {
 	__set_errno(ENOSYS);


More information about the uClibc mailing list