public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Dave Korn <dave.korn.cygwin@googlemail.com>
To: laurent@guerby.net
Cc: Dave Korn <dave.korn.cygwin@googlemail.com>,
	gcc <gcc@gcc.gnu.org>,   Paolo Bonzini <bonzini@gnu.org>,
	 Arnaud Charlet <charlet@adacore.com>,
	  Eric Botcazou <ebotcazou@adacore.com>
Subject: Re: Need some Unix and /bin/sh expertise for GCC testsuite
Date: Sat, 15 Aug 2009 07:06:00 -0000	[thread overview]
Message-ID: <4A860351.2080805@gmail.com> (raw)
In-Reply-To: <1250284636.20287.123.camel@localhost>

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

  reply	other threads:[~2009-08-15  0:24 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-14 21:17 Laurent GUERBY
2009-08-14 21:32 ` Dave Korn
2009-08-14 21:37   ` Laurent GUERBY
2009-08-15  7:06     ` Dave Korn [this message]
2009-08-15 14:00       ` Laurent GUERBY
2009-08-14 21:43 ` Ralf Wildenhues
2009-08-14 22:57   ` Laurent GUERBY
2009-08-15  9:57     ` Ralf Wildenhues
2009-08-15 14:12       ` Laurent GUERBY
2009-08-15  0:24 ` Andreas Schwab
2009-08-15  4:11   ` Laurent GUERBY

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A860351.2080805@gmail.com \
    --to=dave.korn.cygwin@googlemail.com \
    --cc=bonzini@gnu.org \
    --cc=charlet@adacore.com \
    --cc=ebotcazou@adacore.com \
    --cc=gcc@gcc.gnu.org \
    --cc=laurent@guerby.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).