From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12642 invoked by alias); 19 Jun 2013 06:53:38 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 12632 invoked by uid 89); 19 Jun 2013 06:53:38 -0000 X-Spam-SWARE-Status: No, score=2.6 required=5.0 tests=AWL,BAYES_00,CHARSET_FARAWAY_HEADER,FREEMAIL_FROM,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,SPF_PASS autolearn=ham version=3.3.1 Received: from mail-wg0-f54.google.com (HELO mail-wg0-f54.google.com) (74.125.82.54) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Wed, 19 Jun 2013 06:53:37 +0000 Received: by mail-wg0-f54.google.com with SMTP id n11so4286212wgh.9 for ; Tue, 18 Jun 2013 23:53:35 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.194.86.106 with SMTP id o10mr951857wjz.93.1371624815050; Tue, 18 Jun 2013 23:53:35 -0700 (PDT) Received: by 10.216.11.2 with HTTP; Tue, 18 Jun 2013 23:53:34 -0700 (PDT) In-Reply-To: <20130619020234.GA3669@ednor.casa.cgf.cx> References: <51C0B08E.8080900@etr-usa.com> <51C0D956.4090905@etr-usa.com> <20130619020234.GA3669@ednor.casa.cgf.cx> Date: Wed, 19 Jun 2013 07:17:00 -0000 Message-ID: Subject: Re: Adding MSYS functionality to Cygwin From: =?KOI8-R?B?4czFy9PFyiDwwdfMz9c=?= To: cygwin@cygwin.com Content-Type: text/plain; charset=ISO-8859-1 X-SW-Source: 2013-06/txt/msg00486.txt.bz2 2013/6/19 Christopher Faylor wrote: > On Tue, Jun 18, 2013 at 04:04:06PM -0600, Warren Young wrote: >>On 6/18/2013 13:30, ??????? ?????? wrote: >>> 2013/6/18 Warren Young : >>>> On 6/18/2013 12:40, ??????? ?????? wrote: >>>>> >>>>> 1. The correct definition of executables belonging to Cygwin DLL. >>>> >>>> Can you give an example of what you mean here? >>>> >>> All cygwin applications depends on cygwin1.dll. We need to translate >>> arguments only for non-cygwin applications. >> >>It would be possible, though somewhat evil, for Cygwin's exec() >>implementation to peek at the DLL dependency list of a program before >>starting it, and from that infer whether it should automatically >>translate paths. > > Cygwin already does this. It detects whether the program it is about > to run uses the Cygwin DLL and, if not, makes decisions on how to > handle exec. It would be relatively easy to extend this. > Thanks for the point Christopher. Today I investigate in this direction and find that logic works well except one line in spawn.cc that I think can be fixed without break anything. Index: cygwin/spawn.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/spawn.cc,v retrieving revision 1.345 diff -u -p -r1.345 spawn.cc --- cygwin/spawn.cc 3 May 2013 19:39:01 -0000 1.345 +++ cygwin/spawn.cc 19 Jun 2013 05:53:36 -0000 @@ -406,7 +406,7 @@ child_info_spawn::worker (const char *pr } else { - if (wascygexec) + if (real_path.iscygexec ()) newargv.dup_all (); else if (!one_line.fromargv (newargv, real_path.get_win32 (), real_path.iscygexec ())) Regards, Alexey. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple