Re: RFA: Support Windows extended error numbers in safe_strerror

Mark Kettenis
2006-02-04T14:35:44Z

> Date: Fri, 3 Feb 2006 22:27:30 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> I have some general responses to this thread so far, which
> unfortunately hasn't addressed the actual patch at all but the overall
> goal of working on MinGW32 i.e. Windows-without-Cygwin.
>
> On Fri, Feb 03, 2006 at 06:39:35PM -0500, Christopher Faylor wrote:
> > On Sat, Feb 04, 2006 at 12:25:19AM +0100, Mark Kettenis wrote:
> > >I think this is ugly. When the win32 support was added, we were told
> > >that only minimal changes were necessary. But people keep pushing
> > >#ifdef EVIL_CLOSED_SOURCE_PLATFORM_FROM_REDMOND patches.
> > >
> > >GDB is written for POSIX systems. It's clear that Windows isn't even
> > >remotely POSIX compliant.
>
> I'm sorry you feel the need to use terms like "evil" to deal with a
> real operating system that real people use.

Perhaps I should have said

#ifdef CLOSED_SOURCE_PLATFORM_FROM_EVIL_COMPANY_FROM_REDMOND

You're right an operating system can't be evil. (But this is probably
not the point you wanted to make ;-)).

> 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?

> 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?

> 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.

> I'm sorry a lot of you find the changes either morally or aesthetically
> objectionable. I'm not entirely sure which it is.

My objections are mostly techincal, or easthetical if you want to call
it that. Having two different versions of support code for what's in
the end the same platform is silly. But I admot morality plays a role
here. I'm much more inclined to accept #ifdef's for a Free (as in
Freedom) system than I am for a non-free system.

Mark