hallo,
nachdem ich's jetzt geschafft habe, dass gcc meinen code auch unter linux übersetzt steh ich jetzt noch vor einem letzten problem beim linken der objektdateien:
folgender code erzeugt nachfolgenden fehler:
void PrintHexNumber(ulong ulNumber, ulong ulColor)
{
char c = 0;
char acNumber[10];
for ( ; c < 8; c++ )
{
acNumber[c] = ulNumber & 0xf;
ulNumber >>= 4;
}
acNumber[c++] = 'x';
acNumber[c] = 0;
for ( ; c >= 0; c-- )
{
switch (acNumber[c])
{
case 'x' : PrintChar('x', ulColor); break;
case 15 : PrintChar('f', ulColor); break;
case 14 : PrintChar('e', ulColor); break;
case 13 : PrintChar('d', ulColor); break;
case 12 : PrintChar('c', ulColor); break;
case 11 : PrintChar('b', ulColor); break;
case 10 : PrintChar('a', ulColor); break;
case 9 : PrintChar('9', ulColor); break;
case 8 : PrintChar('8', ulColor); break;
case 7 : PrintChar('7', ulColor); break;
case 6 : PrintChar('6', ulColor); break;
case 5 : PrintChar('5', ulColor); break;
case 4 : PrintChar('4', ulColor); break;
case 3 : PrintChar('3', ulColor); break;
case 2 : PrintChar('2', ulColor); break;
case 1 : PrintChar('1', ulColor); break;
case 0 : PrintChar('0', ulColor); break;
default : PrintChar('-', ulColor); break;
}
}
}
fehler:
ld -m elf_i386 -T link.ld -o kernel.sys
video.o: In function `_PrintHexNumber':
video.c:(.text+0x3327): undefined reference to `___stack_chk_fail'
grüße
Cheebi