[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GCC 4.6 breaks GNU Mach debugger
From: |
Thomas Schwinge |
Subject: |
Re: GCC 4.6 breaks GNU Mach debugger |
Date: |
Mon, 03 Oct 2011 22:32:47 +0200 |
User-agent: |
Notmuch/0.9_rc1-83-g4db24ba (http://notmuchmail.org) Emacs/23.3.1 (i486-pc-linux-gnu) |
Hi!
On Mon, 3 Oct 2011 22:02:11 +0200, Sergio López <slpml@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
pgpJ1a1akDD2X.pgp
Description: PGP signature