[TRIVIAL][PATCH] UDF filesystem: array '__mon_yday' declared as not static

From: Goffredo Baroncelli
Date: Mon May 30 2005 - 16:55:16 EST


[Please CC' me in the reply because I'am not in the mailing list ]

Hi,

I sent already this mail to the linux_udf@xxxxxxxxxxxxxxxxx and to
bfennema@xxxxxxxxxxxxxxxxxxxxxx, the address reported in MAINTAINER file, but
no response was returned.

in fs/udf/udftime.c the global array '__mon_yday' are defined as not static,
so it conflicts with the glibc one when the kernel are compiled as user mode
linux.

[ghigo@therra 2.6.10]$ make linux ARCH=um
[....]
CC fs/udf/udftime.o
LD fs/udf/udf.o
LD fs/udf/built-in.o
[....]
/usr/lib/libc.a(mktime.o)(.rodata+0x0): multiple definition of
`__mon_yday'
fs/built-in.o(.rodata+0x3540):fs/buffer.c:375: first defined here
collect2: ld returned 1 exit status
KSYM .tmp_kallsyms1.S
nm '.tmp_vmlinux1': No such file
make: *** [.tmp_kallsyms1.S] Error 139

Even tough I don't understand why the error message complains about
fs/buffer.c, I found that the problem is in fs/udf/udftime.c.


The patch below declare the array static. I checked the linux tree and I
didn't find any reference to an array '__mon_yday' from an extern module.

diff -Naur new/fs/udf/udftime.c orig/fs/udf/udftime.c

--- new/fs/udf/udftime.c Sun Feb 20 12:18:06 2005
+++ orig/fs/udf/udftime.c Sun Feb 20 12:18:32 2005
@@ -46,7 +46,7 @@
#endif

/* How many days come before each month (0-12). */
-const unsigned short int __mon_yday[2][13] =
+static const unsigned short int __mon_yday[2][13] =
{
/* Normal years. */
{ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 },

--
gpg key@ keyserver.linux.it:
Goffredo Baroncelli (ghigo) <kreijack AT inwind DOT it>
Key fingerprint = CE3C 7E01 6782 30A3 5B87 87C0 BB86 505C 6B2A CFF9



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/