Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Dec 2003 17:36:44 -0800 (PST)
From:      Peter Wemm <peter@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/lib/libc/amd64/gen makecontext.c
Message-ID:  <200312050136.hB51aibO068399@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
peter       2003/12/04 17:36:44 PST

  FreeBSD src repository

  Modified files:
    lib/libc/amd64/gen   makecontext.c 
  Log:
  "Fix" makecontext() so that the C code begins execution with its
  ABI-required stack alignment.  C code expects that the push of the
  return address disturbed the 16 byte alignment and it will take corrective
  measures to fix it before making another call.  Of course, if its wrong
  to start with, then all hell breaks loose.  Essentially we "fix" this
  by making the stack alignment odd to start with.
  
  This was one of the things that broke on libkse with apps that use
  floating point/varargs/etc.
  
  Approved by:  re (scottl)
  
  Revision  Changes    Path
  1.2       +6 -2      src/lib/libc/amd64/gen/makecontext.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200312050136.hB51aibO068399>