2.5.55: Two global symbols driver_lock
I got the following compile error in 2.5.55:
<-- snip -->
...
ld -m elf_i386 -r -o drivers/built-in.o drivers/pci/built-in.odrivers/acpi/built-in.o drivers/pnp/built-in.o drivers/serial/built-in.o drivers/parport/built-in.o drivers/base/built-in.o drivers/char/built-in.o drivers/block/built-in.o drivers/misc/built-in.o drivers/net/built-in.o drivers/media/built-in.o drivers/atm/built-in.o drivers/ide/built-in.o drivers/scsi/built-in.o drivers/ieee1394/built-in.o drivers/cdrom/built-in.o drivers/video/built-in.o drivers/mtd/built-in.o drivers/pcmcia/built-in.o drivers/block/paride/built-in.o drivers/usb/built-in.o drivers/input/built-in.o drivers/input/gameport/built-in.o drivers/input/serio/built-in.o drivers/message/built-in.o drivers/i2c/built-in.o drivers/telephony/built-in.o drivers/md/built-in.o drivers/bluetooth/built-in.o drivers/hotplug/built-in.o drivers/mca/built-in.o
drivers/i2c/built-in.o(.data+0x14): multiple definition of `driver_lock' drivers/net/built-in.o(.data+0xcf14): first defined here
ld: Warning: size of symbol `driver_lock' changed from 4 to 20 in drivers/i2c/built-in.o
make[1]: *** [drivers/built-in.o] Error 1
<-- snip -->
The offending files are:
drivers/i2c/i2c-core.c
drivers/net/aironet4500_proc.c
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedQuoted 26 lines · Adrian Bunk
I got the following compile error in 2.5.55:
<-- snip -->
...
ld -melf_i386-r -odrivers/built-in.odrivers/pci/built-in.odrivers/acpi/built-in.odrivers/pnp/built-in.odrivers/serial/built-in.odrivers/parport/built-in.odrivers/base/built-in.odrivers/char/built-in.odrivers/block/built-in.odrivers/misc/built-in.odrivers/net/built-in.odrivers/media/built-in.odrivers/atm/built-in.odrivers/ide/built-in.odrivers/scsi/built-in.odrivers/ieee1394/built-in.odrivers/cdrom/built-in.odrivers/video/built-in.odrivers/mtd/built-in.odrivers/pcmcia/built-in.odrivers/block/paride/built-in.odrivers/usb/built-in.odrivers/input/built-in.odrivers/input/gameport/built-in.odrivers/input/serio/built-in.odrivers/message/built-in.odrivers/i2c/built-in.odrivers/telephony/built-in.odrivers/md/built-in.odrivers/bluetooth/built-in.odrivers/hotplug/built-in.odrivers/mca/built-in.o
drivers/i2c/built-in.o(.data+0x14): multiple definition of `driver_lock' drivers/net/built-in.o(.data+0xcf14): first defined here
ld: Warning: size of symbol `driver_lock' changed from 4 to 20 indrivers/i2c/built-in.o
make[1]: *** [drivers/built-in.o] Error 1
Quoted 5 lines
<-- snip -->
The offending files are:
drivers/i2c/i2c-core.c
drivers/net/aironet4500_proc.c
[This email and the original bug report are also at
http://bugme.osdl.org/show_bug.cgi?id=268]
I can't reproduce this bug since aironet does not compile for me due to usage of cli()/sti() and save_flags(), but it defines driver_lock as static anyway. That leaves the i2c driver_lock as the only externally visible driver_lock in the tree. Attached is a patch to make it static. Compiles fine.
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas:
# ChangeSet 1.931 -> 1.932
# drivers/i2c/i2c-core.c 1.14 -> 1.15
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/01/12 [email protected] 1.932
# make the driver_lock mutex static, to avoid polluting the global name space. # -------------------------------------------- # diff -Nru a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c --- a/drivers/i2c/i2c-core.c Sun Jan 12 14:00:50 2003 +++ b/drivers/i2c/i2c-core.c Sun Jan 12 14:00:50 2003 @@ -57,7 +57,7 @@
/**** lock for writing to global variables: the adapter & driver list */ DECLARE_MUTEX(adap_lock);
-DECLARE_MUTEX(driver_lock);
+static DECLARE_MUTEX(driver_lock);
/**** adapter list */
static struct i2c_adapter *adapters[I2C_ADAP_MAX];
Signature · 4 lines
Muli Ben-Yehuda my opinions may seem crazy. But they all make sense. Insane sense, but sense nontheless. -- Shlomi Fish on #offtopic.