This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [HURD, PATCH] Fix stack switching at initialization time


Hi!

On Fri, 22 Jul 2011 15:48:29 +0200, ludo@gnu.org wrote:
> The attached patch fixes stack switching in init-first.c when cthreads
> are used (this is for code compiled with a cross-GCC 4.5.1 for
> i586-pc-gnu; Debian GNU/Hurd uses an older GCC and is not affected.)
> 
> With this compiler, âdata[-1]â does not point to the return address.
> Thus, âswitch_stacksâ would never be called, which breaks TLS.
> 
> It seems to me that using âdata[-1]â here was fragile in the presence of
> nested functions, inlining, and tail-call optimizations.

If for sure is ugly enough...  :-)

This patch is to be put on top of our TopGit t/init-first.c branch, I
guess, which itself is not yet in the sourceware repository, I think?


GrÃÃe,
 Thomas

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]