From owner-freebsd-threads@FreeBSD.ORG Fri Dec 31 13:37:33 2010 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E8F4106564A for ; Fri, 31 Dec 2010 13:37:33 +0000 (UTC) (envelope-from freebsdml@marino.st) Received: from shepard.synsport.net (mail.synsport.com [208.69.230.148]) by mx1.freebsd.org (Postfix) with ESMTP id 55D588FC0A for ; Fri, 31 Dec 2010 13:37:33 +0000 (UTC) Received: from [192.168.1.33] (78.red-79-158-163.staticip.rima-tde.net [79.158.163.78]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by shepard.synsport.net (Postfix) with ESMTP id BA43A438BE; Fri, 31 Dec 2010 07:37:31 -0600 (CST) Message-ID: <4D1DDC99.7000400@marino.st> Date: Fri, 31 Dec 2010 14:37:29 +0100 From: John Marino User-Agent: Thunderbird 2.0.0.24 (Windows/20100228) MIME-Version: 1.0 To: Kostik Belousov References: <4D1DC299.2090808@marino.st> <20101231122225.GK90883@deviant.kiev.zoral.com.ua> <4D1DCE02.3050601@marino.st> <20101231125215.GL90883@deviant.kiev.zoral.com.ua> <4D1DD5CF.5020305@marino.st> <20101231132706.GN90883@deviant.kiev.zoral.com.ua> In-Reply-To: <20101231132706.GN90883@deviant.kiev.zoral.com.ua> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-threads@freebsd.org Subject: Re: AMD64 version of GNAT Ada compiler broken due to libthr X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Dec 2010 13:37:33 -0000 Yeah, that's kind of what I was getting at. Would this patch get into FreeBSD 8.2, and would that mean that GNAT would start working properly starting with FreeBSD 8.2 if that happened? I guess that also means the other BSD's have been allowing executable stacks all along. Thanks! Kostik Belousov wrote: > This means that the Ada complier or tasking library uses on-stack > trampolines for something. Since FreeBSD threads on amd64 get > non-executable stacks, the tasking fails. > > The proper solution is to provide a support for conditional > non-executable stacks, as described in > http://lists.freebsd.org/pipermail/freebsd-arch/2010-November/010826.html > The latest WIP patch is > http://people.freebsd.org/~kib/misc/nxstacks.3.patch > I hope to get something in the tree not too long. >