From owner-cvs-src@FreeBSD.ORG Sat May 31 12:42:52 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DE7CA37B40F; Sat, 31 May 2003 12:42:51 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8DC2943F93; Sat, 31 May 2003 12:42:51 -0700 (PDT) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h4VJgp0U019202; Sat, 31 May 2003 12:42:51 -0700 (PDT) (envelope-from marcel@repoman.freebsd.org) Received: (from marcel@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h4VJgpEx019201; Sat, 31 May 2003 12:42:51 -0700 (PDT) Message-Id: <200305311942.h4VJgpEx019201@repoman.freebsd.org> From: Marcel Moolenaar Date: Sat, 31 May 2003 12:42:51 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/lib/libc/ia64/gen Makefile.inc makecontext.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 May 2003 19:42:52 -0000 marcel 2003/05/31 12:42:51 PDT FreeBSD src repository Modified files: lib/libc/ia64/gen Makefile.inc Added files: lib/libc/ia64/gen makecontext.c Log: Rough implement of makecontext() needed to support libthr. o Up to 8 arguments are allowed. This is the number of arguments passed in registers. Subsequent registers are passed on the stack. Trying to deal with this is not easy in C and likely forces us to use assembly code. Let's avoid that for now. There's no indication that more than 8 arguments is a strong requirement (Linux also has an 8 argument limit). o We expect that the stack base is 16-byte aligned and the stack size is a multiple of 16-byte. We bomb out if this is not the case. We probably want to be less strict by enforcing it ourselves. For now it's better to not hide gross alignment bogons by silently correcting it. Revision Changes Path 1.7 +1 -1 src/lib/libc/ia64/gen/Makefile.inc 1.1 +121 -0 src/lib/libc/ia64/gen/makecontext.c (new)