Re: Windows support in GDB

Mark Mitchell
2005-04-29T16:08:30Z

Mark Kettenis wrote:
> Guys, I'm getting a bit of an uneasy feeling here. It may be that I'm
> getting the wrong impression here, but I've seen quite a bit more
> Windows-related patches than I had in mind when Mark started submitted
> his first patches and said they were fairly limited and mostly some
> configure bits.

I think that characterization was pretty accurate: most of the changes
have been to configure bits -- I've littered #ifdef HAVE_FOO around the
sources in more places, for the most part. I think that's a pretty
minimal intrusion; realistically, there's a lot of that anyhow in GDB,
as even the various UNIX variants don't all define the same set of
signals, etc. In a couple of cases, stuff has gone into libiberty.

The other changes in GDB were the cleanup of ser-unix.c to create
ser-base.c (which I think actually made the code cleaner), and the
gdb_select function, which has the same API as POSIX.

I have no more changes for GDB proper, except a change to safe_strerror
that's been rejected. I'll either clean that up in some acceptable way,
or abandon it. All I've got left are readline patches.

> The problem here is that they mostly concern the
> non-POSIX nature of Windows

GCC (and the GNU project in general, I think) have taken the attitude
that while free operating systems are definitely the primary target,
it's OK to support other systems, including Windows, so that people who
uses those systems have the benefit of GNU software, and so that they
can see that it might be worthwhile switching to a GNU system.

Of course, it takes some work to support Windows, but -- thanks to your
careful reviews -- the amount of impact on POSIX programmers from my
patches is pretty nearly zero. They might break Windows support, but
they're not likely to get confused by the Windows bits, becuase they're
so clearly segregated.

> It's fairly obvious that this development is coming from CodeSourcery.
> There's nothing wrong with that, but I'd like to ask CodeSourcery what
> their commitment to maintaining this new code is.

We have customers that want this functionality. We didn't do this work
on spec from a single company; we did it because we have multiple
customers who wanted it. We distribute toolchains that use it, and have
ongoing contracts to continue delivering such toolchains. We will be
including this functionality in our nightly builds, once the FSF version
works.

I'd also note that there's a very active MinGW community out there.
Part of the reason that their GDB support is complete separate is that
they've found it hard to get their patches contributed and accepted.
I'd expect that once basic support is available, you'd see activity from
that direction as well.

--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304