Seite 1 von 1

Linux-gcc fehler

Verfasst: Mi Sep 23, 2009 3:20 pm
von Jside
Ich wollte mal wieder an SaphireUX(alias SaphireOS) rumschrauben, und zwar auf meiner Linux Installation(sonst immer auf FreeBSD dran rumgeproggt). Als ich es kompilieren wollte bekam ich einen netten undefined reference to `__stack_chk_fail' Ok, kenn ich ja, unter Linux läuft das mit dem kompiler nit so, ist nicht das erste mal, und hab -fno-stack-protector drangehängt. Dann gings auch. Ich starte Qemu, denke mir nix böses, und woosh ne nen Divide by Zero:
Loading SaphireUX kernel... [jmp]
SaphireUX Release 9.6 i386 Version 0002416 - 32 Bit
Starting up System...

mb0: 1048576
panic (0x00) : cpu0: trap exception
eip 1018E6 104000 103E66 0 0 0 0 0 0 0 0
Muss an der Kenrel binary liegen, ein Process(oder Programm) das einen Fehler auslöst wird gekillt, da is also 100% der Linux-gcc dran Schuld!!(unter FreeBSD gehts nämlich)
Was kann ich jetzt tun, damit der linux-gcc das annimmt, ohne das ich den netten /by0 bekomme? Irgendwie mit Kompatibilitätsmodus? (wird ohne Warnungen/Fehler Kompiliert auf sowohl als auch)
cc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu4)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
CFLAGS beim compilieren:
CFLAGS = -fno-builtin -fno-stack-protector -O2 -Wall -MD
:(

Re: Linux-gcc fehler

Verfasst: Mi Sep 23, 2009 3:53 pm
von Xin
Das klingt, als würden Teile des Compilers fehlen!?

Sicher, dass die Installation ordnungsgemäß gelaufen ist?!

Re: Linux-gcc fehler

Verfasst: Mi Sep 23, 2009 3:57 pm
von cloidnerux
Häng -werror noch dran, damit die Warnungen auch alle als Fehler behandelt werden.
Und nimm mal das "-O2" raus, denn Ich glaube der gcc Optimiert dir etwas weg.
a is also 100% der Linux-gcc dran Schuld!!(unter FreeBSD gehts nämlich)
Du sagtest du wolltest am Kernel "rumschrauben", bist du sicher das nicht du(oder jemand anderes) ncoh eine Änderung am Kernel durchgeführt hat?

Re: Linux-gcc fehler

Verfasst: Mi Sep 23, 2009 4:38 pm
von Jside
Xin hat geschrieben:Das klingt, als würden Teile des Compilers fehlen!?

Sicher, dass die Installation ordnungsgemäß gelaufen ist?!
Jein, keine Ahnung, ist der im standard mit installierte(wie bei FreeBSD auch)!?
binutils, libc6 usw. hab ich noch nachinstalliert(wobei die ja bei OS proggen nix zur Sache tut)
Was könnte denn fehlen?
cloidnerux hat geschrieben:Häng -werror noch dran, damit die Warnungen auch alle als Fehler behandelt werden.
Nunja, gibt weder Fehler noch Warnungen läuft alles glatt auch mit -Werror
cloidnerux hat geschrieben:Und nimm mal das "-O2" raus, denn Ich glaube der gcc Optimiert dir etwas weg.
Kommt dasselbe bei heraus, nur das der Fehler jetzt um einige Adressen weiter ausgelößt wird:
panic (0x00) : cpu0: trap exception
eip 101C52 105391 104FEE 1 0 0 0 0 0 0 0
cloidnerux hat geschrieben:Du sagtest du wolltest am Kernel "rumschrauben", bist du sicher das nicht du(oder jemand anderes) ncoh eine Änderung am Kernel durchgeführt hat?
Nope, da hat sich schon ne Weile lang nixmehr getan, die anderen, mitdenen ich das zusammen geproggt habe, haben zurzeit keine Lust, und ich hab am Kernel selber seit her nixmehr gemacht, nur an den Benutzterprogrammen...

/Edit
Hat geklappt, und zwar einfach so, selbe Parameter, nix gemacht, was ich eben auch nicht gemacht habe. Das ist sehr Merkwürdig?! Wie kann es sein, das der Compiler einfach spontan funktioniert, wann er Lust hat?

Re: Linux-gcc fehler

Verfasst: Mi Sep 23, 2009 4:41 pm
von Xin
Jside hat geschrieben:Hat geklappt, und zwar einfach so, selbe Parameter, nix gemacht, was ich eben auch nicht gemacht habe. Das ist sehr Merkwürdig?! Wie kann es sein, das der Compiler einfach spontan funktioniert, wann er Lust hat?
Möglichkeit 1: Compilerfehler.
Möglichkeit 2: Du hast etwas in Enviroment verändert, es kann reichen, dass einfach zwei Pages hintereinander liegen, die vorher nicht hintereinander lagen. Das ist reine Willkür, solche Fehler zu finden ist immer besonders spaßig. :-)

Re: Linux-gcc fehler

Verfasst: Mi Sep 23, 2009 6:26 pm
von Dirty Oerti
Um ganz ehrlich zu sein:

Das hört sich nicht so an, als ob der gcc dafür etwas könnte...der Fehler wird da wohl eher in einem Userprogramm liegen oder sogar im Kernel selber (anderer Computer, anderer Emulator, anderer Computer auf dem der Emulator läuft....also veränderte Bedingungen)