Re: [Geekos-devel] Possible bug, or just me ?
Status: Pre-Alpha
Brought to you by:
daveho
From: J K <art...@gm...> - 2006-11-21 18:56:56
|
> > I'm trying to compile the project0 as shown below, but the linker fails > with > this message: > > ld -o geekos/kernel.exe -Ttext 0x00010000 -e Main \ > geekos/idt.o geekos/int.o geekos/trap.o geekos/irq.o > geekos/io.o geekos/keyboard.o geekos/screen.o geekos/timer.o geekos/mem.o > geekos/crc32.o geekos/gdt.o geekos/tss.o geekos/segment.o geekos/bget.o > geekos/malloc.o geekos/synch.o geekos/kthread.o geekos/main.o > geekos/lowlevel.o common/fmtout.o common/string.o common/memmove.o > common/fmtout.o: In function `Format_Output': > fmtout.c:(.text+0x896): undefined reference to `__stack_chk_fail' > make: *** [geekos/kernel.exe] Error 1 > > I'm currently running Ubuntu Edgy with NASM version 0.98.38, GNU ld > version > 2.17 and gcc version 4.1.2 20060928 and not to mention version 0.3 of > GeekOS. I can't find a reference to the function anywhere in the project0 > code, nor when I egrep through all the project directories. Any clues? I just successfully compiled GeekOS on Edgy i386 with GCC 4.1. I accomplished this by changing line 149 in the Makefile like so: old: CC_GENERAL_OPTS := $(GENERAL_OPTS) -Werror new: CC_GENERAL_OPTS := $(GENERAL_OPTS) -Werror -fno-stack-protector >From a vanilla Edgy i386 install, I also had to load: nasm bochs bochs-x build-essential I have believe a better fix for this would be sensing the version of GCC, and including the switch if the version is high enough - I believe all the stack protector stuff started being available with GCC 4. I'll probably work on a script tonight. |