From owner-freebsd-hackers@FreeBSD.ORG Mon Feb 21 20:46:22 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 65018106566C for ; Mon, 21 Feb 2011 20:46:22 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (lev.vlakno.cz [77.93.215.190]) by mx1.freebsd.org (Postfix) with ESMTP id 2288C8FC0C for ; Mon, 21 Feb 2011 20:46:22 +0000 (UTC) Received: from lev.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 570C39CB0CA; Mon, 21 Feb 2011 21:46:21 +0100 (CET) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by lev.vlakno.cz (lev.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZjlJjIl4BHEJ; Mon, 21 Feb 2011 21:46:09 +0100 (CET) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 473ED9CB472; Mon, 21 Feb 2011 21:46:09 +0100 (CET) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.14.4/8.14.4/Submit) id p1LKk8CK029819; Mon, 21 Feb 2011 21:46:08 +0100 (CET) (envelope-from rdivacky) Date: Mon, 21 Feb 2011 21:46:08 +0100 From: Roman Divacky To: Yuri Message-ID: <20110221204608.GA29656@freebsd.org> References: <4D62B0B7.1060604@rawbw.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4D62B0B7.1060604@rawbw.com> User-Agent: Mutt/1.4.2.3i Cc: freebsd-hackers@freebsd.org Subject: Re: FreeBSD ABI? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Feb 2011 20:46:22 -0000 On Mon, Feb 21, 2011 at 10:36:39AM -0800, Yuri wrote: > Where is it documented? > Are there differences with the linux ABI? > > Particularly I am interested in stack alignment requirement. For example > i386 Solaris, Linux and MacOS have 16 bit stack alignment for procedure > calls. This is reflected in LLVM sources: > > if (isTargetDarwin() || isTargetLinux() || isTargetSolaris() || Is64Bit) > stackAlignment = 16; > > > But FreeBSD is excluded there. Is this a bug in LLVM which magically > doesn't cause crashes or this is correct and FreeBSD doesn't have 16 bit > alignment? the alignment is specified in bytes but yes, I wonder too, what is the stack alignment on freebsd on amd64/i386?