Nabend zusammen,
ich habe mal wieder ein Problem mit der libgcc.
LD meldet folgende Fehler:
/home/rizor/Desktop/projects/os-development/trunk/libc/libc.lib(printf.c.o): In function `printf_value':
/home/rizor/Desktop/projects/os-development/trunk/libc/src/printf.c:213: undefined reference to `__umoddi3'
/home/rizor/Desktop/projects/os-development/trunk/libc/src/printf.c:214: undefined reference to `__udivdi3'
/home/rizor/Desktop/projects/os-development/trunk/libc/src/printf.c:312: undefined reference to `__stack_chk_fail'
Ich binde die libgcc mit ein.
Der Code, der diese Fehler wirft sieht wie folgt aus:
div64(val , args->base , &rest);
div64:
__asm__("div %%ecx\n\t"
"xchg %%ebx, %%eax\n\t"
"div %%ecx\n\t"
"xchg %%edx, %%ebx"
: "=A"(quot), "=b"(r)
: "a"(high), "b"(low), "c"(y), "d"(0)
);
if (rest)
*rest = r;
Der Stack_chk_fail wird einfach durch ein return retval ausgelöst.
retval ist ein int, der immer wieder hochgezählt wird
Den Fehler finde ich leider nicht