HEADS UP: cvs commit: src/lib/libc/amd64/gen makecontext.c
signalcontext.c
Peter Wemm
peter at wemm.org
Tue Mar 30 23:36:05 PST 2004
I've found another stack alignment bug. This one is an easy fix, it
just needs a libc rebuild/install.
Can I get a sanity check from the folks who can break ogg123? I
actually found this using ogg123 in case you're interested.
---------- Forwarded Message ----------
Subject: cvs commit: src/lib/libc/amd64/gen makecontext.c
signalcontext.c
Date: Tuesday 30 March 2004 11:27 pm
From: Peter Wemm <peter at FreeBSD.org>
To: src-committers at FreeBSD.org, cvs-src at FreeBSD.org, cvs-all at FreeBSD.org
peter 2004/03/30 23:27:31 PST
FreeBSD src repository
Modified files:
lib/libc/amd64/gen makecontext.c signalcontext.c
Log:
Fix Yet Another 16 byte stack alignment bug. Thankfully, this one is
solved by a simple 'make world'. The signalcontext function was
going to the trouble of generating an even 16 byte alignment, but in
fact it needed to be odd aligned to simulate the 8-byte return address
having been pushed by the caller. This fixes yet another group of
crashes in applications using libpthread. And yet again, it was my
fault all along.
While here, rename the duplicate internal ctx_wrapper() functions to
makectx_wrapper() and sigctx_wrapper() so that traces aren't
ambiguous.
Revision Changes Path
1.3 +3 -3 src/lib/libc/amd64/gen/makecontext.c
1.3 +7 -7 src/lib/libc/amd64/gen/signalcontext.c
-------------------------------------------------------
--
Peter Wemm - peter at wemm.org; peter at FreeBSD.org; peter at yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5
More information about the freebsd-amd64
mailing list