Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr>
To: "'Pedro Alves'" <palves@redhat.com>, <gdb-patches@sourceware.org>
Subject: RE: [RFA/mingw32] environment variables are case-insensitive on win32
Date: Tue, 11 Dec 2012 15:23:00 -0000	[thread overview]
Message-ID: <000301cdd7b3$76052960$620f7c20$@muller@ics-cnrs.unistra.fr> (raw)
In-Reply-To: <50C74C0F.7040607@redhat.com>

> > However, when a Cygwin process gets started by a *non*-Cygwin process,
> > this internal mechanism can't work, and the POSIX environment is created
> > from the Windows environment.  Up until 2008, all environment variables
> > in the Windows env were converted to uppercase when creating the POSIX
> > env.  In 2008 we changed that mechanism to uppercase only a certain set
> > of env vars, and that's done up to today for compatibility reasons.  The
> > list of still uppercased vars is this:
> >
> >   ALLUSERSPROFILE
> >   COMMONPROGRAMFILES
> >   COMPUTERNAME
> >   COMSPEC
> >   HOME
> >   HOMEDRIVE
> >   HOMEPATH
> >   NUMBER_OF_PROCESSORS
> >   OS
> >   PATH
  This explains why Cygwin doesn't show the same problem
as mingw does.
  You never end up have Path variable...

> >   PATHEXT
> >   PROCESSOR_ARCHITECTURE
> >   PROCESSOR_IDENTIFIER
> >   PROCESSOR_LEVEL
> >   PROCESSOR_REVISION
> >   PROGRAMFILES
> >   SYSTEMDRIVE
> >   SYSTEMROOT
> >   TEMP
> >   TERM
> >   TMP
> >   TMPDIR
> >   WINDIR
> 
> Then, the situation of GDB (a Cygwin process) starting the inferior with
> CreateProcess ends up being the same as if GDB was not a Cygwin process, and
> that set of vars always ends up uppercased in the inferior, right?  Or does
> Cygwin have some magic that detects the case, and avoids the uppercasing in
> this case?

  Coming back to the mingw32 case,
currently you can perfectly pass both Path and PATH environment variables to debuggee.
  If this debuggee is cmd.exe, the funny thing is that it will use
the value of Path rather than that of PATH ....
  Let me show to you:
(gdb) file cmd.exe (output suppressed)
(gdb) set env PATH=e:\pas\svnbin
(gdb) set env Path=c:\windows\system32
(gdb) run
e:\
  set
lists both Path and PATH
...lines suppressed
OS=Windows_NT
Path=c:\windows\system32
PATH=e:\pas\svnbin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
...lines suppressed
but
 svn.exe (present in e:\pas\svnbin) 
is not found...
%PATH%\svn.exe
also doesn't work, because cmd.exe
expands  %PATH% to the value of Path variable...

Isn't this all strange...

Pierre




  parent reply	other threads:[~2012-12-11 15:23 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-30 13:37 Jerome Guitton
2012-11-30 13:47 ` Eli Zaretskii
2012-11-30 14:08   ` Jerome Guitton
2012-11-30 15:27     ` Eli Zaretskii
2012-11-30 15:34       ` Jerome Guitton
2012-11-30 16:07         ` Eli Zaretskii
2012-11-30 16:29           ` Jerome Guitton
2012-11-30 18:55             ` Eli Zaretskii
2012-12-07  9:22               ` Jerome Guitton
2012-12-07  9:30                 ` Eli Zaretskii
2012-12-07 10:06                   ` Jerome Guitton
2012-12-07 10:06                 ` Joel Brobecker
2012-12-07 10:11                   ` Jerome Guitton
2012-12-07 10:18                     ` Joel Brobecker
2012-11-30 19:02             ` Pedro Alves
2012-12-03 11:31               ` Jerome Guitton
2012-12-09 23:53                 ` Christopher Faylor
2012-12-10 10:51                   ` Jerome Guitton
2012-12-10 11:01                     ` Corinna Vinschen
2012-12-10 13:50                       ` Joel Brobecker
2012-12-10 15:24                         ` Corinna Vinschen
2012-12-10 15:42                           ` Jerome Guitton
2012-12-10 15:58                             ` Corinna Vinschen
2012-12-10 16:08                               ` Jerome Guitton
2012-12-10 16:09                               ` Eli Zaretskii
2012-12-10 16:17                                 ` Corinna Vinschen
2012-12-10 16:24                                   ` Jerome Guitton
2012-12-10 16:24                                   ` Eli Zaretskii
2012-12-10 16:57                                     ` Corinna Vinschen
2012-12-10 20:11                                       ` Eli Zaretskii
2012-12-11 10:20                                         ` Corinna Vinschen
2012-12-11 14:25                               ` Pedro Alves
2012-12-11 14:41                                 ` Corinna Vinschen
2012-12-11 15:07                                   ` Pedro Alves
2012-12-11 15:21                                     ` Corinna Vinschen
2012-12-11 15:23                                     ` Pierre Muller [this message]
2012-12-14 10:55                                       ` Jerome Guitton
2012-12-14 10:35                                 ` Jerome Guitton
2012-12-10 15:35                         ` Jerome Guitton
2012-12-10 16:09                           ` Pierre Muller
2012-12-10 16:18                             ` 'Jerome Guitton'
2012-12-10 16:27                               ` Pierre Muller
2012-12-10 16:54                                 ` Corinna Vinschen
2012-12-10 18:22                                   ` Jerome Guitton
2012-12-10 18:35                                     ` Pierre Muller
2012-12-10 18:36                                       ` 'Jerome Guitton'
2012-12-11  9:50                                         ` 'Jerome Guitton'
2012-12-11 16:27                               ` Christopher Faylor
     [not found]                           ` <002401cdd6f0$c0b317b0$42194710$%muller@ics-cnrs.unistra.fr>
2012-12-10 16:26                             ` Eli Zaretskii
2012-12-10 16:40                               ` Pierre Muller
2012-12-10 16:51                                 ` Jerome Guitton
2012-12-10 17:16                                 ` Jerome Guitton
2012-11-30 14:43 ` Pedro Alves
2012-11-30 15:03   ` Jerome Guitton
2012-11-30 15:38     ` Jerome Guitton
2012-11-30 15:41       ` Pedro Alves
2012-11-30 15:46         ` Tom Tromey
2012-11-30 15:49           ` Pedro Alves
2012-11-30 16:02         ` Jerome Guitton

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='000301cdd7b3$76052960$620f7c20$@muller@ics-cnrs.unistra.fr' \
    --to=pierre.muller@ics-cnrs.unistra.fr \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    /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