Hi! On Mon, 3 Oct 2011 22:02:11 +0200, Sergio López <sl...@sinrega.org> wrote: > GCC 4.6.1 manual states that, starting with version 4.6, targets > Linux_x86 and Darwin_x86 use "-fomit-frame-pointer" when not > optimizing for size. This seems to be also the case for Hurd_x86, > since compiling GNU Mach with it breaks i386/i386/locore.S:kdb_kintr, > as it expects to find the base frame pointer in ebp. > > I see three solutions for this problem: > > 1.- Modify GCC build options to disable "-fomit-frame-pointer" for > Hurd_x86 target. > 2.- Compile GNU Mach with "-fno-omit-frame-pointer". > 3.- Fix all code which depends on having the frame pointer in ebp. > > Personally, I'd go with the first one. What do you think?
Obviously, 3. is the most work-intensive one, but would be my preference. Meanwhile, I'd suggest 2. (but only if --enable-kdb is specified?). I don't like 1: generally, we try not to differ/can't afford to differ from GNU/Linux toolchain configuration unless there are striking reasons, which a deficiency in the in-kernel debugger is not, in my opinion. (Of course, this specific proposed change (1.) wouldn't cause a big future maintenance overhead, but still.) Grüße, Thomas
pgpCIbu7W3xgU.pgp
Description: PGP signature