Skip to contentSkip to conversation

mtdblock with gcc 2.95.4 patch

PATCH Alex Pelts 2 participants 2 messages Aug 20, 2002 – Aug 31, 2002 Memory technology devices (MTD)

lore
Share & tools
lore

Alex Pelts

author
#0 lore raw

Hi,
After installing new debian stable with gcc 2.95.4, kernel 2.4.17 stopped linking. The error is "undefined reference to local symbols...". Problem seems to appear in different parts of the kernel at some time or another. This is patch against 2.4.17 that I am using at this time. This patch should apply to 2.4.18 and 2.4.19 as well. There seems to be something tricky about __exit macro and 2.95.4 compiler. For people getting error:
drivers/mtd/mtdlink.o(.text.lock+0x26c): undefined reference to `local symbols in discarded section .text.exit'

here is the patch that seems to fix it.
Thanks,
Alex

drivers/mtd/mtdblock.c +1 -1
@@ -641,7 +641,7 @@
 	return 0;
 }
 
-static void __exit cleanup_mtdblock(void)
+static void __devexit cleanup_mtdblock(void)
 {
 	leaving = 1;
 	wake_up(&thr_wq);
#1 lore raw
Quoted 1 line · Alex Pelts

Hi,

Hi Alex,

Quoted 7 lines

After installing new debian stable with gcc 2.95.4, kernel 2.4.17 stopped linking. The error is "undefined reference to local symbols...".
...
something tricky about __exit macro and 2.95.4 compiler.
For people getting error:
drivers/mtd/mtdlink.o(.text.lock+0x26c): undefined reference to `local symbols in discarded section .text.exit'

this is a known issue with recent binutils - and it's considered to be a bug in the kernel.

Quoted 1 line

here is the patch that seems to fix it.

I do currently not understand why your patch should fix it. Could you send me the .config you used to reproduce the problem in 2.4.19?

Quoted 3 lines

Thanks,
Alex
...

TIA
Adrian

Signature · 3 lines
You only think this is a free country. Like the US the UK spends a lot of
time explaining its a free country because its a police state.
								Alan Cox