Skip to contentSkip to conversation

2.5.56: Two global symbols "io"

DISCUSSION Adrian Bunk 2 participants 3 messages Jan 12, 2003 – Jan 13, 2003 Network drivers

lore
Share & tools
lore
#0 lore raw

I got the following compile error in 2.5.56:

<-- snip -->

...

        ld -m elf_i386 -e stext -T arch/i386/vmlinux.lds.s 

arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/built-in.o --start-group usr/built-in.o arch/i386/kernel/built-in.o arch/i386/mm/built-in.o arch/i386/mach-default/built-in.o kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o lib/lib.a arch/i386/lib/lib.a drivers/built-in.o sound/built-in.o arch/i386/math-emu/built-in.o arch/i386/pci/built-in.o arch/i386/oprofile/built-in.o net/built-in.o --end-group -o .tmp_vmlinux1
sound/built-in.o(.data+0x7b30): multiple definition of `io' drivers/built-in.o(.data+0x738a0):
...
ld: Warning: size of symbol `io' changed from 68 to 4 in sound/built-in.o
...
make: *** [.tmp_vmlinux1] Error 1

<-- snip -->

The offending files are:
sound/oss/awe_wave.c
drivers/net/wan/cosa.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 Seed
#1 lore raw

Adrian Bunk wrote:
: I got the following compile error in 2.5.56:
:
[...]
: sound/built-in.o(.data+0x7b30): multiple definition of `io'
: drivers/built-in.o(.data+0x738a0):
: ...
: ld: Warning: size of symbol `io' changed from 68 to 4 in sound/built-in.o : ...
: make: *** [.tmp_vmlinux1] Error 1
[...]
: The offending files are:
: sound/oss/awe_wave.c
: drivers/net/wan/cosa.c

Just change it to "static". This has been reported before
by Arnd Bergmann from the Kernel Janitors Project. However: cosa.c can be built as a module only. Linus, please apply this.

From: Arnd Bergmann <[email protected]>

drivers/net/wan/cosa.c renamed from drivers/net/wan/cosa.c.orig +2 -2
@@ -227,8 +227,8 @@
 /* NOTE: DMA is not autoprobed!!! */
 static int dma[MAX_CARDS+1] = { 1, 7, 1, 7, 1, 7, 1, 7, 0, };
 #else
-int io[MAX_CARDS+1]  = { 0, };
-int dma[MAX_CARDS+1] = { 0, };
+static int io[MAX_CARDS+1];
+static int dma[MAX_CARDS+1];
 #endif
 /* IRQ can be safely autoprobed */
 static int irq[MAX_CARDS+1] = { -1, -1, -1, -1, -1, -1, 0, };

-Yenya

Signature · 5 lines
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/   Czech Linux Homepage: http://www.linux.cz/ |
|-- If you start doing things because you hate others and want to screw  --|
|-- them over the end result is bad.   --Linus Torvalds to the BBC News  --|
#2 lore raw
Quoted 4 lines · Jan Yenya Kasprzak

...
by Arnd Bergmann from the Kernel Janitors Project. However: cosa.c can be built as a module only.
...

Ups, sorry, that was again the "Kconfig doesn't handle && m in kernels without module support" bug (#269 at bugzilla.kernel.org).

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 Seed