Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@false.org>
To: Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: gdb-patches@sourceware.org
Subject: Re: RFA: Support Windows extended error numbers in safe_strerror
Date: Sat, 04 Feb 2006 14:52:00 -0000	[thread overview]
Message-ID: <20060204145220.GA17011@nevyn.them.org> (raw)
In-Reply-To: <200602041435.k14EZ6NK016329@elgar.sibelius.xs4all.nl>

On Sat, Feb 04, 2006 at 03:35:06PM +0100, Mark Kettenis wrote:
> > I don't know who said "only minimal changes were necessary" but I'm
> > sure they were making their best guess at the time.
> 
> In my recollection, Mark Mitchell, did say that.  I grudgingly agreed
> to having the MinGW32 supprt in and actively worked together with him
> to reduce the amount of clutter from #ifdef's and such.  It now turns
> out even more #ifdef's are needed.  Will this ever stop?

Mark's an optimist.  What can I say?  :-)

Honestly, I don't think there's much more - this was the big missing
feature for cross hosts, any more would be native support and that
is more easily compartmentalizable.  But the port is still very
young, so I do not know.  My crystal ball's in the shop.

> > 3.  Relying on Cygwin to support Windows is awkward for a whole lot
> > of reasons, which are in many cases accepted as good ones, and I hope
> > that I don't need to rehash right now.  But I will if I have to.  Just
> > ask.
> > 
> > That's why some people do it with Cygwin and some people do it without.
> > CodeSourcery has both decided on our own (based on the technical
> > merits) and heard unequivocally from our customers that relying on
> > Cygwin just isn't going to cut it.
> 
> You may have to refresh my mind.  I can see that depending on a third
> party library makes life a bit more difficult since you have to
> distribute it together with your project, but doesn't MinGW require
> you to do something similar?

No.  MinGW is primarily header files and import stubs for the standard
Microsoft DLLs, which are already present on just about any Windows
system.  I'm not sure if they're all always installed or just most of
them are always installed and the others usually installed.

A GDB linked to MinGW runs on a clean Windows install; gdb.exe is all
you need.  It uses kernel32.dll, msvcrt.dll, and ws2_32.dll.

> > It might be possible to create a minimalist set of POSIX wrapper
> > functions for Windows which were nowhere near as complete as Cygwin,
> > were built on top of mingw32, and were moderately more transparent to
> > GDB.  But I don't think they'd be of much general use besides for GDB,
> > because there's real limits to how good an emulation you can manage
> > without - surprise! - reinventing Cygwin!  See #1 above, please.
> 
> So why aren't you using Cygwin then?  It really seems that this was a
> bussiness decision rather than a decision made on purely technical
> grounds.

Sorry, Mark, but did you not read the bit you quoted above?  "on or own
(based on the technical merits)".  It was also a business decision, but
there are compelling technical reasons for us not to use Cygwin.

For instance, the Cygwin DLL is a sort of "consensual reality", if
you'll forgive the analogy.  The emulation involves communication
between Cygwin processes in some non-obvious ways (to me anyway).
One of the consequences is that Cygwin apps get real unhappy
when there's multiple copies of Cygwin installed, and there are folks
who already use Cygwin (obviously), so installing one's own
copy is fragile.  And there's vendors of third-party software
who ship copies of Cygwin in private directories, or heavily
modified, so you can't always rely on the installed copy.

Another reason is performance.  Not a big issue for GDB, but Cygwin
makes a pretty measurable dent in GCC compile times, or at least
it did the last time we did measurements.  That's another reason
we really needed to ship a MinGW toolchain, and having done so
there could be even more interoperability problems using it with
a Cygwin GDB.

-- 
Daniel Jacobowitz
CodeSourcery


  reply	other threads:[~2006-02-04 14:52 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-03 21:55 Daniel Jacobowitz
2006-02-03 23:25 ` Mark Kettenis
2006-02-03 23:39   ` Christopher Faylor
2006-02-04  3:27     ` Daniel Jacobowitz
2006-02-04  6:29       ` Jim Blandy
2006-02-04 10:33         ` Eli Zaretskii
2006-02-04 10:59       ` Eli Zaretskii
2006-02-04 14:35       ` Mark Kettenis
2006-02-04 14:52         ` Daniel Jacobowitz [this message]
2006-02-04 15:14         ` Eli Zaretskii
2006-02-05  0:15           ` Christopher Faylor
2006-02-05  4:46             ` Eli Zaretskii
2006-02-05 19:34               ` Christopher Faylor
2006-02-05 19:49                 ` Daniel Jacobowitz
2006-02-05 20:19                 ` Eli Zaretskii
2006-02-05 20:22                   ` Daniel Jacobowitz
2006-02-05 21:50                     ` Christopher Faylor
2006-02-05 21:57                       ` Daniel Jacobowitz
2006-02-05 22:33                         ` Christopher Faylor
2006-02-05 22:41                           ` Daniel Jacobowitz
2006-02-06  6:35                             ` Christopher Faylor
2006-02-06 17:26                               ` Daniel Jacobowitz
2006-02-05 22:59                           ` Eli Zaretskii
2006-02-05 22:47                         ` Eli Zaretskii
2006-02-06  2:41                           ` Daniel Jacobowitz
2006-02-06  4:20                             ` Eli Zaretskii
2006-02-05 22:57                       ` Eli Zaretskii
2006-02-05 22:44                   ` Christopher Faylor
2006-02-05 23:07                     ` Eli Zaretskii
2006-02-06  5:14                       ` Christopher Faylor
2006-02-06  7:20                         ` Eli Zaretskii
2006-02-06  8:47                           ` Corinna Vinschen
2006-02-06 12:07                             ` Bob Rossi
2006-02-06 14:23                               ` Daniel Jacobowitz
2006-02-06 18:37                                 ` Eli Zaretskii
2006-02-04 10:03     ` Eli Zaretskii
2006-02-05  0:27       ` Christopher Faylor
2006-02-05  2:01         ` Daniel Jacobowitz
2006-02-05  4:49           ` Eli Zaretskii
2006-02-05  7:39             ` Jim Blandy
2006-02-05 20:01               ` Eli Zaretskii
2006-02-05 20:20                 ` Daniel Jacobowitz
2006-02-05 22:45                   ` Eli Zaretskii
2006-02-06  2:38                     ` Daniel Jacobowitz
2006-02-05  4:48         ` Eli Zaretskii
2006-02-04  1:06   ` Jim Blandy
2006-02-04  3:00     ` Daniel Jacobowitz
2006-02-04  6:22       ` Ian Lance Taylor
2006-02-04 10:29         ` Eli Zaretskii
2006-02-04 13:53           ` Mark Kettenis
2006-02-04 15:17             ` Eli Zaretskii
2006-02-04 10:24       ` Eli Zaretskii
2006-02-04 15:33         ` Mark Kettenis
2006-02-04 15:35           ` Eli Zaretskii
2006-02-04 10:20     ` Eli Zaretskii
2006-02-04 13:14     ` Mark Kettenis
2006-02-05  7:41       ` Jim Blandy
2006-03-02  0:53   ` Michael Snyder
2006-02-04 11:58 ` Eli Zaretskii
2006-02-04 14:53   ` Daniel Jacobowitz
2006-02-04 15:09     ` Eli Zaretskii
2006-02-04 15:57       ` David Ayers
2006-02-06 17:35 ` Daniel Jacobowitz
2006-02-06 17:54   ` Christopher Faylor
2006-02-06 18:23   ` Jim Blandy
2006-02-06 19:08   ` Eli Zaretskii
2006-02-06 19:58     ` Daniel Jacobowitz
2006-02-06 20:59   ` Daniel Jacobowitz
2006-02-06 22:55   ` Mark Kettenis
2006-02-06 22:58     ` Daniel Jacobowitz
2006-02-08  0:08       ` Daniel Jacobowitz
2006-02-08 21:08         ` Mark Kettenis
2006-02-08 21:12           ` Bob Rossi
2006-02-08 23:17             ` Mark Kettenis
2006-02-08 23:23               ` Daniel Jacobowitz
2006-02-09  0:12               ` Joel Brobecker
2006-02-09  1:54                 ` Bob Rossi
2006-02-09  7:47                 ` Eli Zaretskii
2006-02-09  9:18                   ` Jim Blandy
2006-02-08 21:54           ` Eli Zaretskii
2006-02-08 23:10             ` Mark Kettenis
2006-02-08 23:22               ` Daniel Jacobowitz
2006-02-09 14:40                 ` Mark Kettenis
2006-02-09 15:14                   ` Daniel Jacobowitz
2006-02-09 20:24                   ` Eli Zaretskii
2006-02-09  8:00               ` Eli Zaretskii
2006-02-09 14:44                 ` Mark Kettenis
2006-02-09 14:57                   ` Daniel Jacobowitz
2006-02-09 20:40                     ` Eli Zaretskii
2006-02-09 21:06                       ` Daniel Jacobowitz
2006-02-09 22:13                         ` Eli Zaretskii
2006-02-09 20:26                   ` Eli Zaretskii
2006-02-09 22:37           ` Daniel Jacobowitz
2006-02-10  7:53             ` Eli Zaretskii
2006-02-10 16:18               ` Christopher Faylor
2006-02-10 16:49                 ` Daniel Jacobowitz
2006-02-10 18:18                 ` Eli Zaretskii
2006-02-10 21:56 ` Daniel Jacobowitz

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=20060204145220.GA17011@nevyn.them.org \
    --to=drow@false.org \
    --cc=gdb-patches@sourceware.org \
    --cc=mark.kettenis@xs4all.nl \
    /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