mtdblock with gcc 2.95.4 patch
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);
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__exitmacro 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