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