From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22908 invoked by alias); 15 Aug 2009 00:24:22 -0000 Received: (qmail 22855 invoked by uid 22791); 15 Aug 2009 00:24:22 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from ey-out-1920.google.com (HELO ey-out-1920.google.com) (74.125.78.147) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 15 Aug 2009 00:24:12 +0000 Received: by ey-out-1920.google.com with SMTP id 13so403466eye.14 for ; Fri, 14 Aug 2009 17:24:09 -0700 (PDT) Received: by 10.211.179.6 with SMTP id g6mr3896032ebp.65.1250295847840; Fri, 14 Aug 2009 17:24:07 -0700 (PDT) Received: from ?192.168.2.99? (cpc2-cmbg8-0-0-cust61.cmbg.cable.ntl.com [82.6.108.62]) by mx.google.com with ESMTPS id 5sm6783731eyf.38.2009.08.14.17.24.05 (version=SSLv3 cipher=RC4-MD5); Fri, 14 Aug 2009 17:24:06 -0700 (PDT) Message-ID: <4A860351.2080805@gmail.com> Date: Sat, 15 Aug 2009 07:06:00 -0000 From: Dave Korn User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: laurent@guerby.net CC: Dave Korn , gcc , Paolo Bonzini , Arnaud Charlet , Eric Botcazou Subject: Re: Need some Unix and /bin/sh expertise for GCC testsuite References: <1250283155.20287.116.camel@localhost> <4A85D4EE.7040503@gmail.com> <1250284636.20287.123.camel@localhost> In-Reply-To: <1250284636.20287.123.camel@localhost> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2009-08/txt/msg00254.txt.bz2 Laurent GUERBY wrote: > gnatmake uses Non_Blocking_Spawn to call the compiler (gnatmake supports > "-j N" like make), but for the gnatlink call (we see in the "ps fauxww") > it uses in gcc/ada/make.adb: > > procedure Link > ... > GNAT.OS_Lib.Spawn (Gnatlink_Path.all, Link_Args, Success); > end Link; > > which ends up calling gcc/ada/s-os_lib.adb > > Spawn_Internal (Program_Name, Args, Result, Junk, Blocking => > True); > ... > function Portable_Spawn (Args : Address) return Integer; > pragma Import (C, Portable_Spawn, "__gnat_portable_spawn"); > > which ends up calling in gcc/ada/adaint.c: > > int > __gnat_portable_spawn (char *args[]) > ... > pid = fork (); > if (pid < 0) > return -1; > > if (pid == 0) > { > /* The child. */ > if (execv (args[0], MAYBE_TO_PTR32 (args)) != 0) > _exit (1); > } > > /* The parent. */ > finished = waitpid (pid, &status, 0); > > if (finished != pid || WIFEXITED (status) == 0) > return -1; > > return WEXITSTATUS (status); > } Hmpf. That seems to rule out that theory. Gnatlink is still spawning the gcc driver to link, rather than the linker itself; maybe the driver's doing something wrong? Is collect-ld a shell script or an executable on your host? cheers, DaveK