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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,689c85e38306393,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-07-26 13:24:27 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: mcq95@earthlink.net (Marc A. Criley) Newsgroups: comp.lang.ada Subject: RedHat 9, GNAT 3.15p, and Pentium 4 tasking failure/work-around Date: 26 Jul 2003 13:24:25 -0700 Organization: http://groups.google.com/ Message-ID: <254c16a.0307261224.347f4fe2@posting.google.com> NNTP-Posting-Host: 63.189.201.181 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1059251067 32657 127.0.0.1 (26 Jul 2003 20:24:27 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 26 Jul 2003 20:24:27 GMT Xref: archiver1.google.com comp.lang.ada:40851 Date: 2003-07-26T20:24:27+00:00 List-Id: On my new system that has the mentioned configuration, programs compiled with GNAT 3.15p that have tasking hang. The reason appears to be some sort of incompatibility between GNAT 3.15p tasking and the "Native POSIX Threads Library" (NPTL) implementation of libpthread.so distributed with RH 9. This problematic version of libpthread.so resides in /lib/tls/libpthread.so, while the alternate LinuxThreads version resides in /lib/i686/libpthread.so. Under RedHat Linux 9, the version that is linked against depends on your system's processor: "On an i686, you get NPTL -- /lib/tls/libpthread.so.0 On i586, you get LinuxThreads -- /lib/libpthread.so.0" (Bob Holder) Since I'm getting the NPTL versions and I have a Pentium 4, I presume that an i686 is a Pentium 4. The work-around for this is to set the LD_ASSUME_KERNEL environment variable to the appropriate value (I use 2.4.1): '"export LD_ASSUME_KERNEL=2.4.1" will "force" LinuxThreads on i686 -- you'll get /lib/i686/libpthread.so.0, and LD_ASSUME_KERNEL=2.2.5 will force i586 version from /lib/lipthread.so.0' This information is extracted from the following comp.programming.threads posting: http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=uel0sqyq8.fsfYB8X%40earthlink.net and is posted here for archival purposes. Marc A. Criley