Hi! I'm trying to use tcc as CC compiler for usual kernel compilation (2.4.37) i.e. cd linux make bzImage CC=tcc
Kernel compiles fine, but hangs some time after start. After Investigating a problem, I got the following difference: a file mem-2.s (a part of the file drivers/char/mem.c) .section .initcall.init .long chr_dev_init objdump -Dtsr mem-2.o (compiled by gcc) mem-2.o: file format elf32-i386 SYMBOL TABLE: 00000000 l d .text<>00000000 .text 00000000 l d .data<>00000000 .data 00000000 l d .bss<->00000000 .bss 00000000 l d .initcall.init>00000000 .initcall.init 00000000 *UND*<>00000000 chr_dev_init Disassembly of section .initcall.init: 00000000 <.initcall.init>: 0:<->00 00 <->add %al,(%eax) <------><------><------>0: R_386_32<--->chr_dev_init objdump -Dtsr mem-2.o (compiled by tcc) mem-2.o: file format elf32-i386 SYMBOL TABLE: 00000000 l df *ABS*<>00000000 mem-2.s 00000000 *UND*<>00000000 chr_dev_init Disassembly of section .initcall.init: 00000000 <.initcall.init>: 0:<->00 00 <->add %al,(%eax) <------><------><------>0: R_386_32<--->chr_dev_init As you can see, there is only one difference: in mem-2.o compiled by gcc we see extra data in symbol table 00000000 l d .text<>00000000 .text 00000000 l d .data<>00000000 .data 00000000 l d .bss<->00000000 .bss 00000000 l d .initcall.init>00000000 .initcall.init Nothing serious. But kernel hangs with mem-2.o compiled by tcc. May be gnu ld needs that? Is it possible to modify tcc in the way like gcc? _______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel