[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: %gs:0x14
From: |
Thomas Schwinge |
Subject: |
Re: %gs:0x14 |
Date: |
Tue, 14 Nov 2006 17:57:50 +0100 |
User-agent: |
Mutt/1.5.6+20040907i |
Hello!
On Tue, Nov 14, 2006 at 05:38:21PM +0100, I wrote:
> On Tue, Nov 14, 2006 at 04:26:26PM +0100, Samuel Thibault wrote:
> > Thomas Schwinge, le Tue 14 Nov 2006 16:15:08 +0100, a ?crit :
> > > Using `-fstack-protector' with GCC 4.1 made it include assembler code
> > > using ``%gs:0x14'' even with `-ffreestanding'. However, this isn't the
> > > correct thing to do in kernel
> > > space (with `-ffreestanding'). I think I've now tracked where this is
> > > coming from. This is not an issue anymore with GCC 4.2 or a GCC 4.1 that
> > > is recent enough,
> >
> > You mean that gcc now correctly switches to using __stack_chk_guard in
> > freestanding mode?
>
> It always does that on x86 on GNU/Linux with such a fixed version of GCC,
> i.e. even in hosted mode. Hm.
... because this is a Debian testing system and they're still using a
2.3-based glibc. That's probably it. If someone has easy access to a
system with a really recent GCC 4.1 or GCC 4.2 and a glibc like 2.4 or
newer, could they please post the output of the following:
#v+
$ echo 'void f (void) { volatile char a[8]; a[3]; }' | gcc -S -x c -O2
-fstack-protector - -o -; uname -a; /lib/libc-*.so
#v-
Regards,
Thomas
signature.asc
Description: Digital signature
Re: %gs:0x14, Thomas Schwinge, 2006/11/15
Re: %gs:0x14, Roland McGrath, 2006/11/22