From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,115bda8caeda5fa4 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!postnews.google.com!et6g2000vbb.googlegroups.com!not-for-mail From: Ludovic Brenta Newsgroups: comp.lang.ada Subject: Re: Does GNAT support a thread-free RTS? Date: Mon, 12 Sep 2011 02:26:23 -0700 (PDT) Organization: http://groups.google.com Message-ID: <9a41811f-086a-4447-a3c7-6144f68c16b4@et6g2000vbb.googlegroups.com> References: <4E6C8D7D.2020803@obry.net> NNTP-Posting-Host: 153.98.68.197 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1315819690 13626 127.0.0.1 (12 Sep 2011 09:28:10 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 12 Sep 2011 09:28:10 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: et6g2000vbb.googlegroups.com; posting-host=153.98.68.197; posting-account=pcLQNgkAAAD9TrXkhkIgiY6-MDtJjIlC User-Agent: G2/1.0 X-HTTP-Via: ICAP/1.0 192.168.152.4 X-Google-Web-Client: true X-Google-Header-Order: HUALESRCVNK X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101206 Red Hat/3.6-2.el5 Firefox/3.6.13,gzip(gfe) Xref: g2news2.google.com comp.lang.ada:21872 Date: 2011-09-12T02:26:23-07:00 List-Id: anon wrote on comp.lang.ada: > Reference: GCC.GNU.org and Adacore.com > > My point is. Since "Glade" was put out to pasture, there is no package > that fulfil the requirement for Annex D, that is stated for the "FSU > threads" RTL. Because, "PolyOrb" does not meet the "completely accurate > implementation of Annex D." requirement for "FSU threads". > > Plus, between 2004 .. 2010 for Linux (binary package) from > Libre.Adacore.com only contains native, siji, and maRTE libraries > only. No default FSU or ZCX RTL. If still available you will have > to download source and compile your own version to get FSU threads. Presumably, by "siji" you meant "sjlj" which stands for "setjump/ longjump exception handling". GCC presently comes with two run-time systems: - zero-cost exception handling aka ZCX aka "native", which is the default on most architectures. The phrase "zero-cost" really means "zero distributed cost" which means you do not pay a performance penalty unless and until you raise an exception. Raising an exception is however costly. - sjlj aka setjump/longjump, which is the alternative, in which every frame that might possibly raise an exception calls setjmp(3), thus incurring distributed cost, and raising an exception calls longjmp(3), which is cheap compared to the raising of an exception with ZCX. sjlj is the only supported run-time system on a few, non-mainstream architectures. Both run-time systems now use native threads and both support Annex D (real-time systems) insofar as the underlying kernel does. The old FSU threads were intended to provide better support for Annex D but that was rendered unnecessary by the advances in Linux, Solaris and other kernels. It is true that, a few years ago, Glade used to require the sjlj run- time system to implement exception handling across partitions in in distributed programs (Annex E). I know because I packaged it for Debian. However, PolyORB has not required sjlj since it introduced support for Annex E in version 2.2. -- Ludovic Brenta. The stakeholders enable the educated core business by leveraging the plannings.