* RFA: Support Windows extended error numbers in safe_strerror
@ 2006-02-03 21:55 Daniel Jacobowitz
2006-02-03 23:25 ` Mark Kettenis
` (3 more replies)
0 siblings, 4 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-03 21:55 UTC (permalink / raw)
To: gdb-patches
This is an improved version of a patch Mark Mitchell submitted last
year. If you give strerror() anything above 42 (sys_nerr) on Windows,
it gives you back "Unknown error" - particularly unfortunate since
WSAECONNREFUSED is way above there, so connecting to a closed socket
will give you a generic error message. This patch lets us try an
OS-specific interface to fetch an error string.
[Actually you need my next patch too to get the connection refused message;
right now you'll get a timeout.]
Any comments on this patch?
--
Daniel Jacobowitz
CodeSourcery
2006-02-03 Daniel Jacobowitz <dan@codesourcery.com>
* utils.c (safe_strerror): Try to use FormatMessage for otherwise
unknown messages on Windows.
Index: src/gdb/utils.c
===================================================================
--- src.orig/gdb/utils.c 2006-02-03 15:13:03.000000000 -0500
+++ src/gdb/utils.c 2006-02-03 15:16:24.000000000 -0500
@@ -1,8 +1,8 @@
/* General utility routines for GDB, the GNU debugger.
Copyright (C) 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
- 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free
- Software Foundation, Inc.
+ 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
This file is part of GDB.
@@ -36,6 +36,10 @@
#include <pc.h>
#endif
+#ifdef USE_WIN32API
+#include <windows.h>
+#endif
+
/* SunOS's curses.h has a '#define reg register' in it. Thank you Sun. */
#ifdef reg
#undef reg
@@ -847,7 +851,34 @@ safe_strerror (int errnum)
{
char *msg;
- msg = strerror (errnum);
+#ifdef USE_WIN32API
+ /* On Windows, strerror never returns NULL, but it returns a useless
+ string for anything above sys_nerr. Try a little harder to find
+ a system-provided error message in that case. */
+ if (errnum >= sys_nerr)
+ {
+ static char *buffer;
+
+ if (buffer)
+ LocalFree (buffer);
+
+ if (FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER
+ | FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL, errnum,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR) &buffer, 0, NULL) != 0)
+ {
+ if (strcmp (buffer + strlen (buffer) - 3, ".\r\n") == 0)
+ buffer[strlen (buffer) - 3] = '\0';
+ return buffer;
+ }
+ else
+ msg = NULL;
+ }
+ else
+#endif
+ msg = strerror (errnum);
+
if (msg == NULL)
{
static char buf[32];
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-03 21:55 RFA: Support Windows extended error numbers in safe_strerror Daniel Jacobowitz
@ 2006-02-03 23:25 ` Mark Kettenis
2006-02-03 23:39 ` Christopher Faylor
` (2 more replies)
2006-02-04 11:58 ` Eli Zaretskii
` (2 subsequent siblings)
3 siblings, 3 replies; 98+ messages in thread
From: Mark Kettenis @ 2006-02-03 23:25 UTC (permalink / raw)
To: drow; +Cc: gdb-patches
> Date: Fri, 3 Feb 2006 16:54:55 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> This is an improved version of a patch Mark Mitchell submitted last
> year. If you give strerror() anything above 42 (sys_nerr) on Windows,
> it gives you back "Unknown error" - particularly unfortunate since
> WSAECONNREFUSED is way above there, so connecting to a closed socket
> will give you a generic error message. This patch lets us try an
> OS-specific interface to fetch an error string.
>
> [Actually you need my next patch too to get the connection refused message;
> right now you'll get a timeout.]
>
> Any comments on this patch?
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.
Mark
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-03 23:25 ` Mark Kettenis
@ 2006-02-03 23:39 ` Christopher Faylor
2006-02-04 3:27 ` Daniel Jacobowitz
2006-02-04 10:03 ` Eli Zaretskii
2006-02-04 1:06 ` Jim Blandy
2006-03-02 0:53 ` Michael Snyder
2 siblings, 2 replies; 98+ messages in thread
From: Christopher Faylor @ 2006-02-03 23:39 UTC (permalink / raw)
To: gdb-patches
On Sat, Feb 04, 2006 at 12:25:19AM +0100, Mark Kettenis wrote:
>> Date: Fri, 3 Feb 2006 16:54:55 -0500
>> From: Daniel Jacobowitz <drow@false.org>
>>
>> This is an improved version of a patch Mark Mitchell submitted last
>> year. If you give strerror() anything above 42 (sys_nerr) on Windows,
>> it gives you back "Unknown error" - particularly unfortunate since
>> WSAECONNREFUSED is way above there, so connecting to a closed socket
>> will give you a generic error message. This patch lets us try an
>> OS-specific interface to fetch an error string.
>>
>> [Actually you need my next patch too to get the connection refused message;
>> right now you'll get a timeout.]
>>
>> Any comments on this patch?
>
>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.
Hmm. As it turns out, I have some email sitting in my "to be sent"
folder that I've held back on sending which is tangentially related
to this.
The gist of the email is that I'm not happy having to support
windows-specific workarounds in gdb while standing on my head in
cygwin-land to make sure that as few workarounds as possible are needed
for programs like gdb.
I'm concerned that the MinGW patches are going to eventually start
encroaching on win32-nat.c (which we've already seen). I don't *want*
to litter that file with any special non-cygwin accommodations.
I feel hypocritical here because I've suggested several times that the
MinGW people should be sending their patches to the gdb list but now
that that day is here, I find that I have no interest in worrying about
windows-native issues at all.
So, my email suggested that if MinGW is important to gdb then I probably
shouldn't be the maintainer for Windows. I do understand why people like
Codesourcery want a native version of gdb. That doesn't mean that I
have to happily support it, though.
So, I'm not sure what to do here. I agree with Mark, though (and with
Ulrich Drepper when he made points about non-POSIX systems in his blog).
cgf
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-03 23:25 ` Mark Kettenis
2006-02-03 23:39 ` Christopher Faylor
@ 2006-02-04 1:06 ` Jim Blandy
2006-02-04 3:00 ` Daniel Jacobowitz
` (2 more replies)
2006-03-02 0:53 ` Michael Snyder
2 siblings, 3 replies; 98+ messages in thread
From: Jim Blandy @ 2006-02-04 1:06 UTC (permalink / raw)
To: Mark Kettenis; +Cc: drow, gdb-patches
On 2/3/06, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
> GDB is written for POSIX systems. It's clear that Windows isn't even
> remotely POSIX compliant.
Technically, Stallman would say that GDB is written for GNU systems,
and *all* non-GNU support is a distraction. Iffy. So I'm not sure
you really want to push that argument too hard.
But I agree, about the patch.
If we had safe_strerror try a macro which the nm-*.h file could
define, I'd feel better about the change.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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:24 ` Eli Zaretskii
2006-02-04 10:20 ` Eli Zaretskii
2006-02-04 13:14 ` Mark Kettenis
2 siblings, 2 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-04 3:00 UTC (permalink / raw)
To: Jim Blandy; +Cc: Mark Kettenis, gdb-patches
On Fri, Feb 03, 2006 at 05:06:11PM -0800, Jim Blandy wrote:
> On 2/3/06, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
> > GDB is written for POSIX systems. It's clear that Windows isn't even
> > remotely POSIX compliant.
>
> Technically, Stallman would say that GDB is written for GNU systems,
> and *all* non-GNU support is a distraction. Iffy. So I'm not sure
> you really want to push that argument too hard.
>
> But I agree, about the patch.
>
> If we had safe_strerror try a macro which the nm-*.h file could
> define, I'd feel better about the change.
Except we're trying to kill the aggravating NM files, remember? Also,
it would be an XM file, and we've already successfully killed those (or
most of them). We replaced them with autoconf magic, which is not
fundamentally different from the USE_WIN32API bits.
I'll be back to the rest of this in a separate message.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-03 23:39 ` Christopher Faylor
@ 2006-02-04 3:27 ` Daniel Jacobowitz
2006-02-04 6:29 ` Jim Blandy
` (2 more replies)
2006-02-04 10:03 ` Eli Zaretskii
1 sibling, 3 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-04 3:27 UTC (permalink / raw)
To: gdb-patches
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.
I don't know who said "only minimal changes were necessary" but I'm
sure they were making their best guess at the time.
I don't know why you say that GDB was written for POSIX systems. I
haven't been around long enough in GNU land and GDB land to know what
it was "written for", but I'd wager from changelogs that GDB was
written for SunOS and other proprietary OS's available at the time, and
written with the eventual goal of working on GNU systems. Neither of
which was a particularly good map onto what we now think of as POSIX.
I'd say that GDB was written for the hosts that were interesting at the
time. Many of which happened to have a BSD heritage.
> Hmm. As it turns out, I have some email sitting in my "to be sent"
> folder that I've held back on sending which is tangentially related
> to this.
>
> The gist of the email is that I'm not happy having to support
> windows-specific workarounds in gdb while standing on my head in
> cygwin-land to make sure that as few workarounds as possible are needed
> for programs like gdb.
I'm going to make a couple of points here. They're mostly aimed at the
GDB list, not at Chris - who's well aware of all of them already.
1. Cygwin is an amazing, and amazingly useful, piece of work.
2. Cygwin is not an FSF project.
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.
What I'd _love_ to do is refactor the bits of Cygwin which we need,
which are considerably smaller than the whole of Cygwin, so that we
could link them directly into GDB and not have to worry about it any
more. Given the copyright status of Cygwin, however, I think this is a
non-starter. I'm not even sure whether it would fit into the design
of Cygwin, or end up rewriting much of it anyway.
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.
> I'm concerned that the MinGW patches are going to eventually start
> encroaching on win32-nat.c (which we've already seen). I don't *want*
> to litter that file with any special non-cygwin accommodations.
How bad do you really expect this to be? I've never seen the native
MinGW debugging patches; I don't intend to take a look at them, since
right now we (i.e. in my day job) only need Windows hosting and not
Windows native debugging. But I'd expect that changes would either be
small (if done right), or else relatively easy to break out into a
separate file using this neat target inheritance concept we put so much
effort into.
The question of Windows support is not going to go away at any point in
the foreseeable future. If the GDB community is going to throw up its
hands and say ugh, well, I'd be pretty disappointed. And CodeSourcery
would be maintaining a branch with these patches for all of that
foreseeable future, and shipping it. We're trying as hard as we can to
not do that - it's not good for us, it's not good for GDB, it's not
good for users who would like to build GDB releases on Windows.
I'm sorry a lot of you find the changes either morally or aesthetically
objectionable. I'm not entirely sure which it is.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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 10:24 ` Eli Zaretskii
1 sibling, 1 reply; 98+ messages in thread
From: Ian Lance Taylor @ 2006-02-04 6:22 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: Jim Blandy, Mark Kettenis, gdb-patches
Daniel Jacobowitz <drow@false.org> writes:
> Except we're trying to kill the aggravating NM files, remember? Also,
> it would be an XM file, and we've already successfully killed those (or
> most of them). We replaced them with autoconf magic, which is not
> fundamentally different from the USE_WIN32API bits.
USE_WIN32API is different because it selects an API which is not Unix
like. It's the only non-Unix-like host which gdb runs on today. I
think it would be reasonable to have special .h and .c files to handle
Windows code. You can call them XM files, or you can call them
something else. Scattering Windows code through the Unix code seems
like a bad idea to me.
I think that scattering autoconf magic through the code is also a bad
idea, and should be avoided. But I think it is less bad, because at
least the code all looks the same. Windows code does not.
Ian
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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
2 siblings, 1 reply; 98+ messages in thread
From: Jim Blandy @ 2006-02-04 6:29 UTC (permalink / raw)
To: gdb-patches
On 2/3/06, Daniel Jacobowitz <drow@false.org> wrote:
> I'm sorry a lot of you find the changes either morally or aesthetically
> objectionable. I'm not entirely sure which it is.
When I worked on Emacs from 1990, that was before the autoconf era,
and the code was covered with #ifdef blocks for various architectures
and operating systems. I found them extremely irritating to work
with, since it took careful examination to figure out exactly what
invariants each branch of the #if expected from the surrounding code.
It didn't help that I didn't usually have documentation handy for
whatever OS-specific bits that #if branch was trying to use.
So I find that kind of thing confusing, and it slows me down. I don't
expect that everyone has my limitations, but I don't think they're so
rare, either. A macro that takes documented arguments and is expected
not to randomly refer to stuff from its context is a big improvement
for me.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-03 23:39 ` Christopher Faylor
2006-02-04 3:27 ` Daniel Jacobowitz
@ 2006-02-04 10:03 ` Eli Zaretskii
2006-02-05 0:27 ` Christopher Faylor
1 sibling, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-04 10:03 UTC (permalink / raw)
To: gdb-patches
> Date: Fri, 3 Feb 2006 18:39:35 -0500
> From: Christopher Faylor <cgf-please-use-the-mailinglist@sourceware.org>
>
> The gist of the email is that I'm not happy having to support
> windows-specific workarounds in gdb while standing on my head in
> cygwin-land to make sure that as few workarounds as possible are needed
> for programs like gdb.
Why do you guys always start important arguments while I'm asleep? ;-)
> I'm concerned that the MinGW patches are going to eventually start
> encroaching on win32-nat.c (which we've already seen). I don't *want*
> to litter that file with any special non-cygwin accommodations.
Then perhaps we should create a new -nat.c file, say mingw-nat.c, and
maintain it separately. (For that matter, I'd really love to see
win32-nat.c be renamed to cygwin-nat.c, since that's what it really is
going to be.) If neither Daniel nor Mark M. can afford becoming
responsible maintainers for such a new native file, I volunteer to do
my best to do that.
Would you agree to such a solution?
> So, I'm not sure what to do here. I agree with Mark, though (and with
> Ulrich Drepper when he made points about non-POSIX systems in his blog).
I suggest we don't go there, and don't start arguing about Ulrich's
points (which I personally find deeply flawed). We don't need to
agree on ideology, as long as we find a good way of cooperating
towards common goals, a way that leaves everybody reasonably happy.
After all, even I could drink beer with Ulrich when we met in Japan,
although our email relationship--how should I put it?--leaves a lot to
be desired ;-)
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 1:06 ` Jim Blandy
2006-02-04 3:00 ` Daniel Jacobowitz
@ 2006-02-04 10:20 ` Eli Zaretskii
2006-02-04 13:14 ` Mark Kettenis
2 siblings, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-04 10:20 UTC (permalink / raw)
To: Jim Blandy; +Cc: mark.kettenis, drow, gdb-patches
> Date: Fri, 3 Feb 2006 17:06:11 -0800
> From: Jim Blandy <jimb@red-bean.com>
> Cc: drow@false.org, gdb-patches@sourceware.org
>
> If we had safe_strerror try a macro which the nm-*.h file could
> define, I'd feel better about the change.
Which to me sounds strange: when Mark M. suggested his original patch
for the event loop, I asked for the Windows specific parts to be put
in win32-nat.c, instead of littering a system-independent file.
However, no one supported me in that request then, AFAIR. Would
people who argue for cleansing GDB sources of non-Posix filth please
take a good look at event-loop.c? If we agree to having that code
there, I don't see how we can possibly lecture Daniel about keeping
system-dependent stuff out. We need to be consistent about our
standards.
(For the record, in that past discussion about gdb_select I mentioned
above, Daniel argued for having the code in event-loop.c, so Daniel
_is_ consistent about _his_ standards.)
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 3:00 ` Daniel Jacobowitz
2006-02-04 6:22 ` Ian Lance Taylor
@ 2006-02-04 10:24 ` Eli Zaretskii
2006-02-04 15:33 ` Mark Kettenis
1 sibling, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-04 10:24 UTC (permalink / raw)
To: gdb-patches; +Cc: jimb
> Date: Fri, 3 Feb 2006 22:00:25 -0500
> From: Daniel Jacobowitz <drow@false.org>
> Cc: Mark Kettenis <mark.kettenis@xs4all.nl>, gdb-patches@sourceware.org
>
> > If we had safe_strerror try a macro which the nm-*.h file could
> > define, I'd feel better about the change.
>
> Except we're trying to kill the aggravating NM files, remember? Also,
> it would be an XM file, and we've already successfully killed those (or
> most of them). We replaced them with autoconf magic, which is not
> fundamentally different from the USE_WIN32API bits.
Right.
But we still can separate system-specific code from system-independent
one. One way is to have a function which is only defined on systems
which need it. Something like this:
#ifdef NEED_FOOBAR
foobar ();
#endif
with the body of `foobar' hiding all the rest on a Windows-specific
source file. I think such a method minimizes the bad impact of
ifdef's and does not annoy too much when one reads the sources.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 6:22 ` Ian Lance Taylor
@ 2006-02-04 10:29 ` Eli Zaretskii
2006-02-04 13:53 ` Mark Kettenis
0 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-04 10:29 UTC (permalink / raw)
To: Ian Lance Taylor; +Cc: gdb-patches
> Cc: Jim Blandy <jimb@red-bean.com>, Mark Kettenis <mark.kettenis@xs4all.nl>, gdb-patches@sourceware.org
> From: Ian Lance Taylor <ian@airs.com>
> Date: 03 Feb 2006 22:22:10 -0800
>
> It's the only non-Unix-like host which gdb runs on today.
That's not true: there's the DJGPP (a.k.a. MS-DOS) port of GDB, where
GDB still runs. It just needs less DOS-specific code because it has a
Posix-compliant library (which includes `select' emulation). But you
can still see an occasional "#ifdef __MSDOS__" or "#ifdef __DJGPP__"
or "#ifdef __GO32__" in the sources.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 6:29 ` Jim Blandy
@ 2006-02-04 10:33 ` Eli Zaretskii
0 siblings, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-04 10:33 UTC (permalink / raw)
To: Jim Blandy; +Cc: gdb-patches
> Date: Fri, 3 Feb 2006 22:29:26 -0800
> From: Jim Blandy <jimb@red-bean.com>
>
> A macro that takes documented arguments and is expected not to
> randomly refer to stuff from its context is a big improvement for
> me.
The problem with a macro is where to define it. We previously defined
them on the various *.mt and *.mh files, but now we are trying to
eliminate those. And the code we are talking about is unsuitable for
the configury stuff, since it is quite long.
So I think, in practice, in this case a macro is not a good solution,
except if it names a function whose implementation is elsewhere.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 3:27 ` Daniel Jacobowitz
2006-02-04 6:29 ` Jim Blandy
@ 2006-02-04 10:59 ` Eli Zaretskii
2006-02-04 14:35 ` Mark Kettenis
2 siblings, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-04 10:59 UTC (permalink / raw)
To: gdb-patches
> Date: Fri, 3 Feb 2006 22:27:30 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> What I'd _love_ to do is refactor the bits of Cygwin which we need,
> which are considerably smaller than the whole of Cygwin, so that we
> could link them directly into GDB and not have to worry about it any
> more. Given the copyright status of Cygwin, however, I think this is a
> non-starter. I'm not even sure whether it would fit into the design
> of Cygwin, or end up rewriting much of it anyway.
I think this should be possible, using as the starting point the MinGW
port of glibc (libgw32c from the GnuWin32 download server at
http://prdownloads.sourceforge.net/gnuwin32). The problem (at least
my problem) is that Some Work Is Needed(tm) to add the missing bits to
that library, e.g. their `select' is a stab that always fails. So, if
someone wants to go that way, they will need to free some non-trivial
amount of time for the job.
> The question of Windows support is not going to go away at any point in
> the foreseeable future. If the GDB community is going to throw up its
> hands and say ugh, well, I'd be pretty disappointed.
Me too. When I work on Windows, I use the MinGW port of GCC
exclusively, even though there's a ``free'' (as in "free beer")
Microsoft compiler one can download from the net. Not having a good
port of GDB would be a deadly blow for me, and installing Cygwin is
not an option, because I still need to use native Windows programs.
> And CodeSourcery would be maintaining a branch with these patches
> for all of that foreseeable future, and shipping it.
Would CodeSourcery consider supporting a MinGW specific port, along
the lines I suggested elsewhere in this thread (i.e., having a
separate -nat.c file and other files as needed)? If you will, and if
that support is consistent with the GPL, then I think we can have
everybody happy.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-03 21:55 RFA: Support Windows extended error numbers in safe_strerror Daniel Jacobowitz
2006-02-03 23:25 ` Mark Kettenis
@ 2006-02-04 11:58 ` Eli Zaretskii
2006-02-04 14:53 ` Daniel Jacobowitz
2006-02-06 17:35 ` Daniel Jacobowitz
2006-02-10 21:56 ` Daniel Jacobowitz
3 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-04 11:58 UTC (permalink / raw)
To: gdb-patches
> Date: Fri, 3 Feb 2006 16:54:55 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> This is an improved version of a patch Mark Mitchell submitted last
> year. If you give strerror() anything above 42 (sys_nerr) on Windows,
> it gives you back "Unknown error" - particularly unfortunate since
> WSAECONNREFUSED is way above there, so connecting to a closed socket
> will give you a generic error message. This patch lets us try an
> OS-specific interface to fetch an error string.
>
> [Actually you need my next patch too to get the connection refused message;
> right now you'll get a timeout.]
>
> Any comments on this patch?
>
> --
> Daniel Jacobowitz
> CodeSourcery
>
> 2006-02-03 Daniel Jacobowitz <dan@codesourcery.com>
>
> * utils.c (safe_strerror): Try to use FormatMessage for otherwise
> unknown messages on Windows.
How about if you put this in some function on win32-nat.c, and then
leave only the conditional call to that function in utils.c? Actualy,
perhaps we don't need any ifdef at all, since I think there's no way
the argument can be greater than sys_nerr on other platforms, right?
Otherwise, I'm okay with this patch.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 1:06 ` Jim Blandy
2006-02-04 3:00 ` Daniel Jacobowitz
2006-02-04 10:20 ` Eli Zaretskii
@ 2006-02-04 13:14 ` Mark Kettenis
2006-02-05 7:41 ` Jim Blandy
2 siblings, 1 reply; 98+ messages in thread
From: Mark Kettenis @ 2006-02-04 13:14 UTC (permalink / raw)
To: jimb; +Cc: drow, gdb-patches
> Date: Fri, 3 Feb 2006 17:06:11 -0800
> From: Jim Blandy <jimb@red-bean.com>
>
> On 2/3/06, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
> > GDB is written for POSIX systems. It's clear that Windows isn't even
> > remotely POSIX compliant.
>
> Technically, Stallman would say that GDB is written for GNU systems,
> and *all* non-GNU support is a distraction. Iffy. So I'm not sure
> you really want to push that argument too hard.
Guess I'l have to start GNU/OpenBSD ;-).
Mark
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 10:29 ` Eli Zaretskii
@ 2006-02-04 13:53 ` Mark Kettenis
2006-02-04 15:17 ` Eli Zaretskii
0 siblings, 1 reply; 98+ messages in thread
From: Mark Kettenis @ 2006-02-04 13:53 UTC (permalink / raw)
To: eliz; +Cc: ian, gdb-patches
> Date: Sat, 04 Feb 2006 12:29:22 +0200
> From: Eli Zaretskii <eliz@gnu.org>
>
> > Cc: Jim Blandy <jimb@red-bean.com>, Mark Kettenis <mark.kettenis@xs4all.nl>, gdb-patches@sourceware.org
> > From: Ian Lance Taylor <ian@airs.com>
> > Date: 03 Feb 2006 22:22:10 -0800
> >
> > It's the only non-Unix-like host which gdb runs on today.
>
> That's not true: there's the DJGPP (a.k.a. MS-DOS) port of GDB, where
> GDB still runs. It just needs less DOS-specific code because it has a
> Posix-compliant library (which includes `select' emulation). But you
> can still see an occasional "#ifdef __MSDOS__" or "#ifdef __DJGPP__"
> or "#ifdef __GO32__" in the sources.
But DJGPP at least takes the trouble of providing that POSIX
compatible library. And there is a Free (as in Freedom) MS-DOS
available (don't know if DJGPP runs on it though).
That said, I'd probably object if someone would contribute a DJGPP
port with all its #ifdef's today. But we've had DJGPP support in the
tree for ages, and as long as there's someone actively working on
DJGPP support I feel that I can't ask for its removal.
Mark
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 3:27 ` Daniel Jacobowitz
2006-02-04 6:29 ` Jim Blandy
2006-02-04 10:59 ` Eli Zaretskii
@ 2006-02-04 14:35 ` Mark Kettenis
2006-02-04 14:52 ` Daniel Jacobowitz
2006-02-04 15:14 ` Eli Zaretskii
2 siblings, 2 replies; 98+ messages in thread
From: Mark Kettenis @ 2006-02-04 14:35 UTC (permalink / raw)
To: drow; +Cc: gdb-patches
> 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
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 14:35 ` Mark Kettenis
@ 2006-02-04 14:52 ` Daniel Jacobowitz
2006-02-04 15:14 ` Eli Zaretskii
1 sibling, 0 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-04 14:52 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
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
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 11:58 ` Eli Zaretskii
@ 2006-02-04 14:53 ` Daniel Jacobowitz
2006-02-04 15:09 ` Eli Zaretskii
0 siblings, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-04 14:53 UTC (permalink / raw)
To: gdb-patches
On Sat, Feb 04, 2006 at 01:58:45PM +0200, Eli Zaretskii wrote:
> How about if you put this in some function on win32-nat.c, and then
> leave only the conditional call to that function in utils.c? Actualy,
> perhaps we don't need any ifdef at all, since I think there's no way
> the argument can be greater than sys_nerr on other platforms, right?
Well, it can't be in win32-nat.c - it's for Windows hosting rather
than Windows native. But I could move the code to a new
Windows-specific file, like ser-windows.o introduced in my other
patch, and call it there. I've no objection to that.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 14:53 ` Daniel Jacobowitz
@ 2006-02-04 15:09 ` Eli Zaretskii
2006-02-04 15:57 ` David Ayers
0 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-04 15:09 UTC (permalink / raw)
To: gdb-patches
> Date: Sat, 4 Feb 2006 09:53:32 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> Well, it can't be in win32-nat.c - it's for Windows hosting rather
> than Windows native. But I could move the code to a new
> Windows-specific file, like ser-windows.o introduced in my other
> patch, and call it there. I've no objection to that.
ser-windows.c would be good, I think.
Does anyone else object to that?
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 14:35 ` Mark Kettenis
2006-02-04 14:52 ` Daniel Jacobowitz
@ 2006-02-04 15:14 ` Eli Zaretskii
2006-02-05 0:15 ` Christopher Faylor
1 sibling, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-04 15:14 UTC (permalink / raw)
To: Mark Kettenis; +Cc: drow, gdb-patches
> Date: Sat, 4 Feb 2006 15:35:06 +0100 (CET)
> From: Mark Kettenis <mark.kettenis@xs4all.nl>
> CC: gdb-patches@sourceware.org
>
> 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 it isn't the same platform, anymore than MIPS/Linux and MIPS/Irix
are the same platform. Cygwin requires a considerable amount of
additional software to be installed, of which a large part is a system
library that presents a very different API than the native OS.
> 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.
Then I think you should have similar reservations about the Cygwin
port, because (as you believe) it is for the same non-free platform.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 13:53 ` Mark Kettenis
@ 2006-02-04 15:17 ` Eli Zaretskii
0 siblings, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-04 15:17 UTC (permalink / raw)
To: Mark Kettenis; +Cc: ian, gdb-patches
> Date: Sat, 4 Feb 2006 14:52:47 +0100 (CET)
> From: Mark Kettenis <mark.kettenis@xs4all.nl>
> CC: ian@airs.com, gdb-patches@sourceware.org
>
> That said, I'd probably object if someone would contribute a DJGPP
> port with all its #ifdef's today.
Sometimes, there's no other good way, if the original code was too
entrenched in Posix assumptions (which isn't portability in my book,
btw).
Again, I wonder why you didn't back me up back when Mark Mitchell
submitted his `select' emulation and I suggested to encapsulate the
Windows-specific bits in a Windows-specific file. Did you change your
views since then?
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 10:24 ` Eli Zaretskii
@ 2006-02-04 15:33 ` Mark Kettenis
2006-02-04 15:35 ` Eli Zaretskii
0 siblings, 1 reply; 98+ messages in thread
From: Mark Kettenis @ 2006-02-04 15:33 UTC (permalink / raw)
To: eliz; +Cc: gdb-patches, jimb
> Date: Sat, 04 Feb 2006 12:24:31 +0200
> From: Eli Zaretskii <eliz@gnu.org>
>
> > Date: Fri, 3 Feb 2006 22:00:25 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> > Cc: Mark Kettenis <mark.kettenis@xs4all.nl>, gdb-patches@sourceware.org
> >
> > > If we had safe_strerror try a macro which the nm-*.h file could
> > > define, I'd feel better about the change.
> >
> > Except we're trying to kill the aggravating NM files, remember? Also,
> > it would be an XM file, and we've already successfully killed those (or
> > most of them). We replaced them with autoconf magic, which is not
> > fundamentally different from the USE_WIN32API bits.
>
> Right.
>
> But we still can separate system-specific code from system-independent
> one. One way is to have a function which is only defined on systems
> which need it. Something like this:
>
> #ifdef NEED_FOOBAR
> foobar ();
> #endif
>
> with the body of `foobar' hiding all the rest on a Windows-specific
> source file. I think such a method minimizes the bad impact of
> ifdef's and does not annoy too much when one reads the sources.
This is slightly better, but starts to get problematic if there are
many places in the code where this is necessary.
Mark
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 15:33 ` Mark Kettenis
@ 2006-02-04 15:35 ` Eli Zaretskii
0 siblings, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-04 15:35 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches, jimb
> Date: Sat, 4 Feb 2006 16:32:51 +0100 (CET)
> From: Mark Kettenis <mark.kettenis@xs4all.nl>
> CC: gdb-patches@sourceware.org, jimb@red-bean.com
>
> > #ifdef NEED_FOOBAR
> > foobar ();
> > #endif
> >
> > with the body of `foobar' hiding all the rest on a Windows-specific
> > source file. I think such a method minimizes the bad impact of
> > ifdef's and does not annoy too much when one reads the sources.
>
> This is slightly better, but starts to get problematic if there are
> many places in the code where this is necessary.
I think we can worry about that when we come to that point. For now,
I'll be happy just to reach consensus on using this method ;-)
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 15:09 ` Eli Zaretskii
@ 2006-02-04 15:57 ` David Ayers
0 siblings, 0 replies; 98+ messages in thread
From: David Ayers @ 2006-02-04 15:57 UTC (permalink / raw)
To: gdb-patches
Eli Zaretskii schrieb:
>>Date: Sat, 4 Feb 2006 09:53:32 -0500
>>From: Daniel Jacobowitz <drow@false.org>
>>
>>Well, it can't be in win32-nat.c - it's for Windows hosting rather
>>than Windows native. But I could move the code to a new
>>Windows-specific file, like ser-windows.o introduced in my other
>>patch, and call it there. I've no objection to that.
>
>
> ser-windows.c would be good, I think.
>
<de-lurk>
Well I think that treating cygwin and mingw as separate platforms is
something that is creeping into many GNU projects. (Well I suppose that
development is not really confined to GNU projects). But I think if
both cygwin and mingw will be supported that it is important recognize
them as different platforms. Therefor it seems any project would be
well advised to avoid the term 'windows' and use 'cygwin' and 'mingw'
respectively.
IOW, I'd suggest ser-mingw.c instead.
</de-lurk>
Cheers,
David
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 15:14 ` Eli Zaretskii
@ 2006-02-05 0:15 ` Christopher Faylor
2006-02-05 4:46 ` Eli Zaretskii
0 siblings, 1 reply; 98+ messages in thread
From: Christopher Faylor @ 2006-02-05 0:15 UTC (permalink / raw)
To: gdb-patches, drow, Mark Kettenis, Eli Zaretskii
On Sat, Feb 04, 2006 at 05:13:41PM +0200, Eli Zaretskii wrote:
>>Date: Sat, 4 Feb 2006 15:35:06 +0100 (CET)
>>From: Mark Kettenis
>>
>>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 it isn't the same platform, anymore than MIPS/Linux and MIPS/Irix
>are the same platform. Cygwin requires a considerable amount of
>additional software to be installed, of which a large part is a system
>library that presents a very different API than the native OS.
The minimal amount of software required for gdb to run with cygwin is:
gdb.exe, cygwin1.dll, cygiconv-2.dll, and cygncurses-8.dll . You may
potentially need to have the terminfo library installed, too, don't know
for sure, and I'm not really interested in testing. I wouldn't call
that a considerable amount of software.
You are apparently confusing the cygwin distribution with the cygwin
DLL. That's like conflating Fedora Core 5 with the linux kernel.
However, even if you're installing a minimal cygwin distribution + gdb
it still should not fall into the category of "a considerable amount of
additional software". Also, there is nothing in cygwin which stops you
from running native windows apps (e.g., a mingw version of gcc) if that
is your preference.
I am well aware of all of the usual arguments which are raised when the
use of the cygwin DLL is mentioned but I don't think you can really make
the case that the Cygwin version of gdb requires a considerable amount
of software to run.
cgf
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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:48 ` Eli Zaretskii
0 siblings, 2 replies; 98+ messages in thread
From: Christopher Faylor @ 2006-02-05 0:27 UTC (permalink / raw)
To: gdb-patches
On Sat, Feb 04, 2006 at 12:03:38PM +0200, Eli Zaretskii wrote:
>> Date: Fri, 3 Feb 2006 18:39:35 -0500
>> From: Christopher Faylor <cgf-please-use-the-mailinglist@sourceware.org>
>>
>> The gist of the email is that I'm not happy having to support
>> windows-specific workarounds in gdb while standing on my head in
>> cygwin-land to make sure that as few workarounds as possible are needed
>> for programs like gdb.
>
>Why do you guys always start important arguments while I'm asleep? ;-)
>
>> I'm concerned that the MinGW patches are going to eventually start
>> encroaching on win32-nat.c (which we've already seen). I don't *want*
>> to litter that file with any special non-cygwin accommodations.
>
>Then perhaps we should create a new -nat.c file, say mingw-nat.c, and
>maintain it separately. (For that matter, I'd really love to see
>win32-nat.c be renamed to cygwin-nat.c, since that's what it really is
>going to be.) If neither Daniel nor Mark M. can afford becoming
>responsible maintainers for such a new native file, I volunteer to do
>my best to do that.
>
>Would you agree to such a solution?
That is *exactly* what I expected to come out of this discussion. And,
I suspect that it won't just be win32-nat.c which will have to be changed.
There will be a header file or two, and probably some configuration magic.
And, really, it is a bad design decision to have two different files
using the same debugging mechanism. If this was to be done right then
win32-nat.c should somehow be factored out further so that the common
bits can be shared. Cygwin and MinGW are alike enough that they should
share code.
However, that is, again, not something that I have any interest in doing.
This is a personal preference and I'm afraid that it is very unlikely that
anyone is going to convince me otherwise.
>> So, I'm not sure what to do here. I agree with Mark, though (and with
>> Ulrich Drepper when he made points about non-POSIX systems in his blog).
>
>I suggest we don't go there, and don't start arguing about Ulrich's
>points (which I personally find deeply flawed). We don't need to
>agree on ideology, as long as we find a good way of cooperating
>towards common goals, a way that leaves everybody reasonably happy.
>
>After all, even I could drink beer with Ulrich when we met in Japan,
>although our email relationship--how should I put it?--leaves a lot to
>be desired ;-)
I think Ulrich's point was that wasting time tinkering with code to make
it work better with non-POSIX platforms was counter-productive for
projects which are designed to run on same.
However, I'm not really interested in debating this either. I just
mentioned it as an illustration of the fact that I have two problems
with MinGW. One is a very strong personal preference to not have to
worry about it in the part of gdb that I maintain and the other is a
personal belief that the addition of accommodations for Windows in
programs like gdb (or glibc) will prove to be detrimental to development
in the long run.
So, you might wear me down on the personal belief but it is extremely
unlikely that anyone is going to change my personal preference.
cgf
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 0:27 ` Christopher Faylor
@ 2006-02-05 2:01 ` Daniel Jacobowitz
2006-02-05 4:49 ` Eli Zaretskii
2006-02-05 4:48 ` Eli Zaretskii
1 sibling, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-05 2:01 UTC (permalink / raw)
To: gdb-patches
On Sat, Feb 04, 2006 at 07:27:10PM -0500, Christopher Faylor wrote:
> On Sat, Feb 04, 2006 at 12:03:38PM +0200, Eli Zaretskii wrote:
> >Then perhaps we should create a new -nat.c file, say mingw-nat.c, and
> >maintain it separately. (For that matter, I'd really love to see
> >win32-nat.c be renamed to cygwin-nat.c, since that's what it really is
> >going to be.) If neither Daniel nor Mark M. can afford becoming
> >responsible maintainers for such a new native file, I volunteer to do
> >my best to do that.
> >
> >Would you agree to such a solution?
>
> That is *exactly* what I expected to come out of this discussion. And,
> I suspect that it won't just be win32-nat.c which will have to be changed.
> There will be a header file or two, and probably some configuration magic.
>
> And, really, it is a bad design decision to have two different files
> using the same debugging mechanism. If this was to be done right then
> win32-nat.c should somehow be factored out further so that the common
> bits can be shared. Cygwin and MinGW are alike enough that they should
> share code.
>
> However, that is, again, not something that I have any interest in doing.
> This is a personal preference and I'm afraid that it is very unlikely that
> anyone is going to convince me otherwise.
Wouldn't dream of trying.
I think that mingw32 hosting support and mingw32 native support can be
treated separately; do you disagree? I'm not actually interested in
adding the latter, not at the moment anyway, and neither are you; if
someone becomes interested, we can hold them to an appropriately high
standard of separation from Cygwin support.
My only interest is in cross debuggers (mostly ARM and PPC at the
moment) hosted on MinGW32. So you've already seen most of what I
expect to do. I'll plan to rename ser-windows.c to something less
ambiguous; and since there was a clear reaction that the call to
FormatMessage doesn't belong in utils.c, I'm going to put that in a new
file too (I am considering "mingw32-hdep.c"). We can include that
in Windows support, or separate the two, whichever you'd prefer.
In case it isn't clear, one of my foremost goals here is to prevent
maintenance burden: on the one hand, for my employer, and on the other
hand, for the GDB community. Both hands are important to me, but
it's not easy to balance them.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 0:15 ` Christopher Faylor
@ 2006-02-05 4:46 ` Eli Zaretskii
2006-02-05 19:34 ` Christopher Faylor
0 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-05 4:46 UTC (permalink / raw)
To: gdb-patches; +Cc: drow, Mark Kettenis
> Date: Sat, 4 Feb 2006 19:15:03 -0500
> From: Christopher Faylor <me@cgf.cx>
>
> >But it isn't the same platform, anymore than MIPS/Linux and MIPS/Irix
> >are the same platform. Cygwin requires a considerable amount of
> >additional software to be installed, of which a large part is a system
> >library that presents a very different API than the native OS.
>
> The minimal amount of software required for gdb to run with cygwin is:
> gdb.exe, cygwin1.dll, cygiconv-2.dll, and cygncurses-8.dll . You may
> potentially need to have the terminfo library installed, too, don't know
> for sure, and I'm not really interested in testing. I wouldn't call
> that a considerable amount of software.
First, I think you need the shell as well (correct me if I'm wrong).
Second, running GDB alone is not useful. People use the Cygwin build
of GDB to debug other Cygwin programs. Just building those other
programs requires a more or less full Cygwin installation, including
the shell, Coreutils, Grep, Gawk, and whatsnot.
More importantly, what matters is that the software that makes your
system a Cygwin system modifies the OS interface in important ways, so
it can no longer be considered the same platform, IMO.
> You are apparently confusing the cygwin distribution with the cygwin
> DLL. That's like conflating Fedora Core 5 with the linux kernel.
Please give me more credit than that, Chris.
> Also, there is nothing in cygwin which stops you from running native
> windows apps (e.g., a mingw version of gcc) if that is your
> preference.
Yes, there is. But I'm sure you know that, so I won't elaborate.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 0:27 ` Christopher Faylor
2006-02-05 2:01 ` Daniel Jacobowitz
@ 2006-02-05 4:48 ` Eli Zaretskii
1 sibling, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-05 4:48 UTC (permalink / raw)
To: gdb-patches
> Date: Sat, 4 Feb 2006 19:27:10 -0500
> From: Christopher Faylor <me@cgf.cx>
>
> >Then perhaps we should create a new -nat.c file, say mingw-nat.c, and
> >maintain it separately. (For that matter, I'd really love to see
> >win32-nat.c be renamed to cygwin-nat.c, since that's what it really is
> >going to be.) If neither Daniel nor Mark M. can afford becoming
> >responsible maintainers for such a new native file, I volunteer to do
> >my best to do that.
> >
> >Would you agree to such a solution?
>
> That is *exactly* what I expected to come out of this discussion. And,
> I suspect that it won't just be win32-nat.c which will have to be changed.
> There will be a header file or two, and probably some configuration magic.
Whatever it takes, yes.
> And, really, it is a bad design decision to have two different files
> using the same debugging mechanism. If this was to be done right then
> win32-nat.c should somehow be factored out further so that the common
> bits can be shared. Cygwin and MinGW are alike enough that they should
> share code.
That would be going back to where you don't want to: to a maintenance
burden on you, due to sharing code with MinGW.
> I think Ulrich's point was that wasting time tinkering with code to make
> it work better with non-POSIX platforms was counter-productive for
> projects which are designed to run on same.
I think Ulrich's point was that it would be waste of Ulrich's time to
do what Ulrich doesn't want to do.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 2:01 ` Daniel Jacobowitz
@ 2006-02-05 4:49 ` Eli Zaretskii
2006-02-05 7:39 ` Jim Blandy
0 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-05 4:49 UTC (permalink / raw)
To: gdb-patches
> Date: Sat, 4 Feb 2006 21:01:14 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> I think that mingw32 hosting support and mingw32 native support can be
> treated separately; do you disagree?
I do. I think they should be treated together, as having a cross
debugger that cannot debug natively is kinda silly.
> I'm not actually interested in
> adding the latter, not at the moment anyway, and neither are you; if
> someone becomes interested, we can hold them to an appropriately high
> standard of separation from Cygwin support.
>
> My only interest is in cross debuggers (mostly ARM and PPC at the
> moment) hosted on MinGW32.
I'm sorry to hear that.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 4:49 ` Eli Zaretskii
@ 2006-02-05 7:39 ` Jim Blandy
2006-02-05 20:01 ` Eli Zaretskii
0 siblings, 1 reply; 98+ messages in thread
From: Jim Blandy @ 2006-02-05 7:39 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
On 2/4/06, Eli Zaretskii <eliz@gnu.org> wrote:
> > Date: Sat, 4 Feb 2006 21:01:14 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> >
> > I think that mingw32 hosting support and mingw32 native support can be
> > treated separately; do you disagree?
>
> I do. I think they should be treated together, as having a cross
> debugger that cannot debug natively is kinda silly.
I don't think it's silly. If you are using Windows as a platform for
cross-development, you may not even have shelled out the bucks for a
native compiler. In that situation, why would it be ridiculous to
have a debugger that, like your compiler, is only useful debugging
programs on your cross target?
Also, the kinds of things needed to host GDB on a platform are best
kept partitioned away from the stuff needed for doing native target
debugging, simply as a matter of design. It's a simple matter of
separation of concerns.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-04 13:14 ` Mark Kettenis
@ 2006-02-05 7:41 ` Jim Blandy
0 siblings, 0 replies; 98+ messages in thread
From: Jim Blandy @ 2006-02-05 7:41 UTC (permalink / raw)
To: Mark Kettenis; +Cc: drow, gdb-patches
On 2/4/06, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
> Guess I'l have to start GNU/OpenBSD ;-).
Exactly. My point was that arguments that start with "GDB is meant to
run on system X" get silly quickly.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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
0 siblings, 2 replies; 98+ messages in thread
From: Christopher Faylor @ 2006-02-05 19:34 UTC (permalink / raw)
To: gdb-patches
On Sun, Feb 05, 2006 at 06:46:06AM +0200, Eli Zaretskii wrote:
>>Date: Sat, 4 Feb 2006 19:15:03 -0500
>>From: Christopher Faylor
>>
>>>But it isn't the same platform, anymore than MIPS/Linux and MIPS/Irix
>>>are the same platform. Cygwin requires a considerable amount of
>>>additional software to be installed, of which a large part is a system
>>>library that presents a very different API than the native OS.
>>
>>The minimal amount of software required for gdb to run with Cygwin is:
>>gdb.exe, Cygwin1.dll, cygiconv-2.dll, and cygncurses-8.dll . You may
>>potentially need to have the terminfo library installed, too, don't
>>know for sure, and I'm not really interested in testing. I wouldn't
>>call that a considerable amount of software.
>
>First, I think you need the shell as well (correct me if I'm wrong).
The shell is needed for the "shell" command. The shell is not used for
running programs.
So, yes, if you don't have a Cygwin shell, then the shell command won't
work. If that is a show stopper, I could have gdb revert to using a
windows shell if /bin/sh is missing.
>Second, running GDB alone is not useful. People use the Cygwin build
>of GDB to debug other Cygwin programs. Just building those other
>programs requires a more or less full Cygwin installation, including
>the shell, Coreutils, Grep, Gawk, and whatsnot.
You've lost me. So people *do* (because they can) download a lot of
other packages along with gdb so that means that gdb is unacceptable as
a native debugger?
I thought the point was that you needed too many packages to debug
windows programs. Of course you can debug Cygwin programs with the
Cygwin version of gdb. If you are going to be building programs which
use configure then you will need coreutils, grep, gawk, and maybe even
M4. Many people who use MinGW have native versions of these programs on
their system, but that's sort of besides the point. We are talking
about debugging Windows apps which do not use any of these.
>More importantly, what matters is that the software that makes your
>system a Cygwin system modifies the OS interface in important ways, so
>it can no longer be considered the same platform, IMO.
Cygwin is just a DLL. It doesn't inject itself into native windows
applications to change what they see as the "OS interface", except for
the, IMO, minor, caveats mentioned below.
People use the Cygwin version of gdb to debug MinGW applications all of
the time. In fact, I believe that one of the main MinGW developers uses
Cygwin as his platform for working on MinGW.
Other developers use MSYS which is a Cygwin fork.
>>You are apparently confusing the Cygwin distribution with the Cygwin
>>DLL. That's like conflating Fedora Core 5 with the linux kernel.
>
>Please give me more credit than that, Chris.
Eli, you are making statements which I know to be false, so I can only
draw the conclusion that you are either confused or misinformed.
Neither is an an indication of lack of intelligence or something to be
taken as an insult.
>>Also, there is nothing in Cygwin which stops you from running native
>>windows apps (e.g., a MinGW version of gcc) if that is your preference.
>
>Yes, there is. But I'm sure you know that, so I won't elaborate.
I'd prefer that you did elaborate since you seem to be implying that I
was (to put it politely) withholding information, and I have no idea
what you're talking about.
It would not make much sense to think that the existence of the Cygwin
DLL on a windows system would somehow interfere with the correct
operation of a windows program since there are scores of windows
programs running on a correctly functioning Windows system at any given
time. So, you can't mean that, obviously.
If you're talking about trying to run programs under bash, then, the
only problem that I can think of is what Daniel found - some native
Windows programs misbehave if used with Cygwin's ttys or ptys. The
solution to this dilemma is the same that you'd use if Cygwin was not on
the system - don't use ptys or ttys. If you are a purist, then don't
use bash. Just run gdb directly.
I am not aware of any problems with running native windows programs
under gdb. If there are, then I'd be happy to look into fixing them for
as long as I continue to be maintainer.
cgf
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 19:34 ` Christopher Faylor
@ 2006-02-05 19:49 ` Daniel Jacobowitz
2006-02-05 20:19 ` Eli Zaretskii
1 sibling, 0 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-05 19:49 UTC (permalink / raw)
To: gdb-patches
On Sun, Feb 05, 2006 at 02:34:40PM -0500, Christopher Faylor wrote:
> I am not aware of any problems with running native windows programs
> under gdb. If there are, then I'd be happy to look into fixing them for
> as long as I continue to be maintainer.
FWIW, neither am I; I used a Cygwin GDB to debug all the patches I
posted!
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 7:39 ` Jim Blandy
@ 2006-02-05 20:01 ` Eli Zaretskii
2006-02-05 20:20 ` Daniel Jacobowitz
0 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-05 20:01 UTC (permalink / raw)
To: Jim Blandy; +Cc: gdb-patches
> Date: Sat, 4 Feb 2006 23:39:17 -0800
> From: Jim Blandy <jimb@red-bean.com>
> Cc: gdb-patches@sourceware.org
>
> On 2/4/06, Eli Zaretskii <eliz@gnu.org> wrote:
> > > Date: Sat, 4 Feb 2006 21:01:14 -0500
> > > From: Daniel Jacobowitz <drow@false.org>
> > >
> > > I think that mingw32 hosting support and mingw32 native support can be
> > > treated separately; do you disagree?
> >
> > I do. I think they should be treated together, as having a cross
> > debugger that cannot debug natively is kinda silly.
>
> I don't think it's silly. If you are using Windows as a platform for
> cross-development, you may not even have shelled out the bucks for a
> native compiler. In that situation, why would it be ridiculous to
> have a debugger that, like your compiler, is only useful debugging
> programs on your cross target?
Reality check: how many other non-embedded platforms have their cross-
and native targets separated?
> Also, the kinds of things needed to host GDB on a platform are best
> kept partitioned away from the stuff needed for doing native target
> debugging, simply as a matter of design. It's a simple matter of
> separation of concerns.
Then please explain why do we compile ser-unix.c with native Unix
targets, and ser-go32.c with the DJGPP native target.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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 22:44 ` Christopher Faylor
1 sibling, 2 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-05 20:19 UTC (permalink / raw)
To: gdb-patches
> Date: Sun, 5 Feb 2006 14:34:40 -0500
> From: Christopher Faylor <cgf-please-use-the-mailinglist@sourceware.org>
>
> On Sun, Feb 05, 2006 at 06:46:06AM +0200, Eli Zaretskii wrote:
> >>Date: Sat, 4 Feb 2006 19:15:03 -0500
> >>From: Christopher Faylor
> >>
> >>>But it isn't the same platform, anymore than MIPS/Linux and MIPS/Irix
> >>>are the same platform. Cygwin requires a considerable amount of
> >>>additional software to be installed, of which a large part is a system
> >>>library that presents a very different API than the native OS.
> >>
> >>The minimal amount of software required for gdb to run with Cygwin is:
> >>gdb.exe, Cygwin1.dll, cygiconv-2.dll, and cygncurses-8.dll . You may
> >>potentially need to have the terminfo library installed, too, don't
> >>know for sure, and I'm not really interested in testing. I wouldn't
> >>call that a considerable amount of software.
> >
> >First, I think you need the shell as well (correct me if I'm wrong).
>
> The shell is needed for the "shell" command. The shell is not used for
> running programs.
The latter is unlike on Posix platforms, right?
> So, yes, if you don't have a Cygwin shell, then the shell command won't
> work. If that is a show stopper, I could have gdb revert to using a
> windows shell if /bin/sh is missing.
I don't know if that's a show-stopper: I don't use Cygwin. But if
Cygwin users frequently have a development environment without a shell
(which I doubt is the case), then yes, having a workable `shell'
command without Bash would be a good change.
> >Second, running GDB alone is not useful. People use the Cygwin build
> >of GDB to debug other Cygwin programs. Just building those other
> >programs requires a more or less full Cygwin installation, including
> >the shell, Coreutils, Grep, Gawk, and whatsnot.
>
> You've lost me. So people *do* (because they can) download a lot of
> other packages along with gdb so that means that gdb is unacceptable as
> a native debugger?
I didn't say that; please re-read the wording you quoted. I said:
But it isn't the same platform, anymore than MIPS/Linux and MIPS/Irix
are the same platform. Cygwin requires a considerable amount of
additional software to be installed, of which a large part is a system
library that presents a very different API than the native OS.
So this was in the context of discussing the ``2 ports on the same
platform'' issue, not GDB being run alone. I'm saying that a Cygwin
development environment changes the OS to a degree that it isn't the
same system anymore.
As another data point, consider this: Emacs now supports a Cygwin
build as well as a native Windows build (either with MinGW or MSVC).
The amount of Windows-specific code that is common to those two ports
is close to nil.
> >>Also, there is nothing in Cygwin which stops you from running native
> >>windows apps (e.g., a MinGW version of gcc) if that is your preference.
> >
> >Yes, there is. But I'm sure you know that, so I won't elaborate.
>
> I'd prefer that you did elaborate since you seem to be implying that I
> was (to put it politely) withholding information, and I have no idea
> what you're talking about.
>
> It would not make much sense to think that the existence of the Cygwin
> DLL on a windows system would somehow interfere with the correct
> operation of a windows program since there are scores of windows
> programs running on a correctly functioning Windows system at any given
> time. So, you can't mean that, obviously.
What I mean is that cooperation between native and Cygwin programs is
not easy, to say the least.
> If you're talking about trying to run programs under bash, then, the
> only problem that I can think of is what Daniel found - some native
> Windows programs misbehave if used with Cygwin's ttys or ptys. The
> solution to this dilemma is the same that you'd use if Cygwin was not on
> the system - don't use ptys or ttys. If you are a purist, then don't
> use bash. Just run gdb directly.
>
> I am not aware of any problems with running native windows programs
> under gdb. If there are, then I'd be happy to look into fixing them for
> as long as I continue to be maintainer.
I'm talking about ttys and ptys. I'm talking about Ctrl-C. I'm
talking about incompatible quoting of command-line arguments and &&.
I'm talking about mount points and text/binary I/O. Perhaps all this
was solved in recent versions of Cygwin, I'm just repeating what I
hear from Cygwin users around me. Which is why I didn't want to
repeat that hearsay, but you left me no choice.
Anyway, this discussion obviously doesn't lead to any constructive
direction, so I suggest we drop it. Our disagreements about this were
not born yesterday. Let's concentrate on the common goals, not on
disagreements.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 20:01 ` Eli Zaretskii
@ 2006-02-05 20:20 ` Daniel Jacobowitz
2006-02-05 22:45 ` Eli Zaretskii
0 siblings, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-05 20:20 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Jim Blandy, gdb-patches
On Sun, Feb 05, 2006 at 10:00:24PM +0200, Eli Zaretskii wrote:
> > Date: Sat, 4 Feb 2006 23:39:17 -0800
> > From: Jim Blandy <jimb@red-bean.com>
> > Cc: gdb-patches@sourceware.org
> >
> > On 2/4/06, Eli Zaretskii <eliz@gnu.org> wrote:
> > > > Date: Sat, 4 Feb 2006 21:01:14 -0500
> > > > From: Daniel Jacobowitz <drow@false.org>
> > > >
> > > > I think that mingw32 hosting support and mingw32 native support can be
> > > > treated separately; do you disagree?
> > >
> > > I do. I think they should be treated together, as having a cross
> > > debugger that cannot debug natively is kinda silly.
> >
> > I don't think it's silly. If you are using Windows as a platform for
> > cross-development, you may not even have shelled out the bucks for a
> > native compiler. In that situation, why would it be ridiculous to
> > have a debugger that, like your compiler, is only useful debugging
> > programs on your cross target?
>
> Reality check: how many other non-embedded platforms have their cross-
> and native targets separated?
Could you clarify what you mean by this? As far as I can interpret it,
the answer is "every".
We have three kinds of support. Cross target, native target, and
general host. We've labored for years to keep cross target and native
target completely separate. General host is normally distributed
through all of GDB - except for e.g. the serial files.
You never build a debugger with just one; normally you want one from
column A, zero or one from column B, and one from column C. In a
pure multi-arch world you want one or more from column A, but the other
columns are unchanged.
> > Also, the kinds of things needed to host GDB on a platform are best
> > kept partitioned away from the stuff needed for doing native target
> > debugging, simply as a matter of design. It's a simple matter of
> > separation of concerns.
>
> Then please explain why do we compile ser-unix.c with native Unix
> targets, and ser-go32.c with the DJGPP native target.
I'd call that a perfect example of Jim's point. You don't _need_
ser-unix.c to do native debugging; that's the partitioning at work.
It's included as a side effect of the fact that a native target depends
on also having a cross target. Thus a native Unix GDB can debug a
remote Unix program (and I do this every week). A native DJGPP GDB
could also debug a remote DJGPP program (if there were an appropriate
remote stub, I don't know).
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 20:19 ` Eli Zaretskii
@ 2006-02-05 20:22 ` Daniel Jacobowitz
2006-02-05 21:50 ` Christopher Faylor
2006-02-05 22:44 ` Christopher Faylor
1 sibling, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-05 20:22 UTC (permalink / raw)
To: gdb-patches
On Sun, Feb 05, 2006 at 10:19:12PM +0200, Eli Zaretskii wrote:
> > The shell is needed for the "shell" command. The shell is not used for
> > running programs.
>
> The latter is unlike on Posix platforms, right?
That is an implementation artifact that, IMO, we desperately need to
move away from. It's a continual source of trouble from e.g.
unexpected variable settings in shell initialization files, and it's
an aggravating (to me) external dependency for GDB.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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:57 ` Eli Zaretskii
0 siblings, 2 replies; 98+ messages in thread
From: Christopher Faylor @ 2006-02-05 21:50 UTC (permalink / raw)
To: gdb-patches
On Sun, Feb 05, 2006 at 03:22:22PM -0500, Daniel Jacobowitz wrote:
>On Sun, Feb 05, 2006 at 10:19:12PM +0200, Eli Zaretskii wrote:
>> > The shell is needed for the "shell" command. The shell is not used for
>> > running programs.
>>
>> The latter is unlike on Posix platforms, right?
>
>That is an implementation artifact that, IMO, we desperately need to
>move away from. It's a continual source of trouble from e.g.
>unexpected variable settings in shell initialization files, and it's
>an aggravating (to me) external dependency for GDB.
I did try to implement this artifact in Cygwin once but I never got
it right.
Isn't the shell used to allow redirection and shell-like quoting from
the gdb command-line? Lack of redirection, at least, is an occasional
complaint about gdb-under-cygwin.
cgf
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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:47 ` Eli Zaretskii
2006-02-05 22:57 ` Eli Zaretskii
1 sibling, 2 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-05 21:57 UTC (permalink / raw)
To: gdb-patches
On Sun, Feb 05, 2006 at 04:50:36PM -0500, Christopher Faylor wrote:
> On Sun, Feb 05, 2006 at 03:22:22PM -0500, Daniel Jacobowitz wrote:
> >On Sun, Feb 05, 2006 at 10:19:12PM +0200, Eli Zaretskii wrote:
> >> > The shell is needed for the "shell" command. The shell is not used for
> >> > running programs.
> >>
> >> The latter is unlike on Posix platforms, right?
> >
> >That is an implementation artifact that, IMO, we desperately need to
> >move away from. It's a continual source of trouble from e.g.
> >unexpected variable settings in shell initialization files, and it's
> >an aggravating (to me) external dependency for GDB.
>
> I did try to implement this artifact in Cygwin once but I never got
> it right.
>
> Isn't the shell used to allow redirection and shell-like quoting from
> the gdb command-line? Lack of redirection, at least, is an occasional
> complaint about gdb-under-cygwin.
That's right; and we certainly can't ditch that support. But what we
do today is pass the command line arguments directly to a shell, which
means all sorts of worrying about quoting, and also means that we get
Bourne shell behavior if the user has an appropriate $SHELL, or C shell
if they're using csh/tcsh, et cetera. I don't know if anyone takes
advantage of that as a feature, but it's sure confusing!
I keep telling myself we ought to somehow get rid of this, but I'm
fuzzy on the details.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 21:57 ` Daniel Jacobowitz
@ 2006-02-05 22:33 ` Christopher Faylor
2006-02-05 22:41 ` Daniel Jacobowitz
2006-02-05 22:59 ` Eli Zaretskii
2006-02-05 22:47 ` Eli Zaretskii
1 sibling, 2 replies; 98+ messages in thread
From: Christopher Faylor @ 2006-02-05 22:33 UTC (permalink / raw)
To: gdb-patches
On Sun, Feb 05, 2006 at 04:56:59PM -0500, Daniel Jacobowitz wrote:
>On Sun, Feb 05, 2006 at 04:50:36PM -0500, Christopher Faylor wrote:
>>On Sun, Feb 05, 2006 at 03:22:22PM -0500, Daniel Jacobowitz wrote:
>>>On Sun, Feb 05, 2006 at 10:19:12PM +0200, Eli Zaretskii wrote:
>>>>>The shell is needed for the "shell" command. The shell is not used for
>>>>>running programs.
>>>>
>>>>The latter is unlike on Posix platforms, right?
>>>
>>>That is an implementation artifact that, IMO, we desperately need to
>>>move away from. It's a continual source of trouble from e.g.
>>>unexpected variable settings in shell initialization files, and it's an
>>>aggravating (to me) external dependency for GDB.
>>
>>I did try to implement this artifact in Cygwin once but I never got it
>>right.
>>
>>Isn't the shell used to allow redirection and shell-like quoting from
>>the gdb command-line? Lack of redirection, at least, is an occasional
>>complaint about gdb-under-cygwin.
>
>That's right; and we certainly can't ditch that support. But what we
>do today is pass the command line arguments directly to a shell, which
>means all sorts of worrying about quoting, and also means that we get
>Bourne shell behavior if the user has an appropriate $SHELL, or C shell
>if they're using csh/tcsh, et cetera. I don't know if anyone takes
>advantage of that as a feature, but it's sure confusing!
>
>I keep telling myself we ought to somehow get rid of this, but I'm
>fuzzy on the details.
I'm feeling deja vu here. I suspect that we've probably discussed this
before. :-)
If so, I probably said something like "Maybe we could just standardize
on /bin/bash quoting and redirection rules and put a shell-like command
parser in gdb."
cgf
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 22:33 ` Christopher Faylor
@ 2006-02-05 22:41 ` Daniel Jacobowitz
2006-02-06 6:35 ` Christopher Faylor
2006-02-05 22:59 ` Eli Zaretskii
1 sibling, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-05 22:41 UTC (permalink / raw)
To: gdb-patches
On Sun, Feb 05, 2006 at 05:33:51PM -0500, Christopher Faylor wrote:
> I'm feeling deja vu here. I suspect that we've probably discussed this
> before. :-)
>
> If so, I probably said something like "Maybe we could just standardize
> on /bin/bash quoting and redirection rules and put a shell-like command
> parser in gdb."
Well, it'd work for me, but I have no idea if anyone relies on the
current behavior or not.
I guess we can come back to this one later :-) I'll post a revised
patch on Monday and see if I can make folks a bit happier.
How would you feel if I created two MinGW-specific files, and would you
prefer not to be their maintainer?
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 20:19 ` Eli Zaretskii
2006-02-05 20:22 ` Daniel Jacobowitz
@ 2006-02-05 22:44 ` Christopher Faylor
2006-02-05 23:07 ` Eli Zaretskii
1 sibling, 1 reply; 98+ messages in thread
From: Christopher Faylor @ 2006-02-05 22:44 UTC (permalink / raw)
To: gdb-patches
On Sun, Feb 05, 2006 at 10:19:12PM +0200, Eli Zaretskii wrote:
>> Date: Sun, 5 Feb 2006 14:34:40 -0500
>> From: Christopher Faylor
>>
>> On Sun, Feb 05, 2006 at 06:46:06AM +0200, Eli Zaretskii wrote:
>> >>Date: Sat, 4 Feb 2006 19:15:03 -0500
>> >>From: Christopher Faylor
>> >>
>
>I don't know if that's a show-stopper: I don't use Cygwin.
!!!
>But if Cygwin users frequently have a development environment without a
>shell (which I doubt is the case), then yes, having a workable `shell'
>command without Bash would be a good change.
I'm not sure how this was misconstrued but I wasn't asking for your
advice about the Cygwin development environment. I was referring to the
minimal environment that I was mentioning. By listing the DLLs required
to run gdb, I thought that it would show that you don't need a whole
cygwin distribution if you want to debug your MinGW-based applications.
>> >Second, running GDB alone is not useful. People use the Cygwin build
>> >of GDB to debug other Cygwin programs. Just building those other
>> >programs requires a more or less full Cygwin installation, including
>> >the shell, Coreutils, Grep, Gawk, and whatsnot.
>>
>> You've lost me. So people *do* (because they can) download a lot of
>> other packages along with gdb so that means that gdb is unacceptable as
>> a native debugger?
>
>I didn't say that; please re-read the wording you quoted. I said:
>
> But it isn't the same platform, anymore than MIPS/Linux and MIPS/Irix
> are the same platform. Cygwin requires a considerable amount of
> additional software to be installed, of which a large part is a system
> library that presents a very different API than the native OS.
>
>So this was in the context of discussing the ``2 ports on the same
>platform'' issue, not GDB being run alone. I'm saying that a Cygwin
>development environment changes the OS to a degree that it isn't the
>same system anymore.
You were arguing that Cygwin "isn't the same platform" as Windows. I am
arguing that, as far as GDB is concerned, the distinction is
meaningless. (It really is pretty much meaningless in general, but that
is a separate issue)
If you want to develop programs for any platform then, *of course* you
need the compilers and any supporting software necessary. If you only
want to compile programs, the software requirements for Cygwin and MinGW
are pretty much the same. Once you start moving into the realm of
complicated autoconf-based packages you leave MinGW behind (by its very
nature) so the distinction is pointless.
So, a development environment for MinGW could just consist of the MinGW
version of gcc, the MinGW version of make, and the Cygwin version of gdb
plus a few dlls. Given the number of auxilliary files that are installed
with gcc, I don't see how anyone could really complain about the addition
of a few extra files with gdb.exe.
>As another data point, consider this: Emacs now supports a Cygwin
>build as well as a native Windows build (either with MinGW or MSVC).
>The amount of Windows-specific code that is common to those two ports
>is close to nil.
Until the time that Cygwin implements ptrace or some other UNIX-alike
debugging scheme, a native windows debuger will use the low-level
Windows-specific API for debugging (which is actually, IMO, a pretty
nice interface). gdb is different than 'gcc' or 'make' or most other
programs because it is not possible to easily hide OS differences with
wrapper functions. The majority of the code in win32-nat.c is not
cygwin-specific. It's just there to plug the Windows debugging API into
gdb.
So, drawing analogies with emacs or most other programs is meaningless.
>>If you're talking about trying to run programs under bash, then, the
>>only problem that I can think of is what Daniel found - some native
>>Windows programs misbehave if used with Cygwin's ttys or ptys. The
>>solution to this dilemma is the same that you'd use if Cygwin was not
>>on the system - don't use ptys or ttys. If you are a purist, then
>>don't use bash. Just run gdb directly.
>>
>>I am not aware of any problems with running native windows programs
>>under gdb. If there are, then I'd be happy to look into fixing them
>>for as long as I continue to be maintainer.
>
>I'm talking about ttys and ptys. I'm talking about Ctrl-C.
Aha! Details.
Ctrl-C is not an issue for running windows programs in gdb.
>I'm talking about incompatible quoting of command-line arguments and
>&&.
Don't know what "&&" is but the quoting of command-line arguments in
Cygwin is supposed to mimic MSVCRT. I'm sure that we didn't get it
entirely right wrt things like quoting quotes, however. And, getting it
100% compliant is not a huge goal for the project. It's difficult to
accept patches for it since understanding the quoting rules is not easy
and so you can't trust that random-Joe-patcher got it right.
Luckily, this is not an issue for gdb since gdb passes arguments
verbatim.
>I'm talking about mount points and text/binary I/O.
Not an issue for native windows programs. Certainly not an issue for
programs run by gdb.
(And, I'm wondering how anyone can think that Cygwin's mount points
could impact windows programs. Maybe it's spooky action at a distance.)
>Perhaps all this was solved in recent versions of Cygwin, I'm just
>repeating what I hear from Cygwin users around me. Which is why I
>didn't want to repeat that hearsay, but you left me no choice.
!!!
>Anyway, this discussion obviously doesn't lead to any constructive
>direction, so I suggest we drop it. Our disagreements about this were
>not born yesterday. Let's concentrate on the common goals, not on
>disagreements.
I would love to get off the treadmill, yes. I was just trying to
understand your objections to using the Cygwin-based gdb as the
one-and-only windows implementation in gdb. Now I do. AFAICT, your
objections are, for the most part, not based on fact.
cgf
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 20:20 ` Daniel Jacobowitz
@ 2006-02-05 22:45 ` Eli Zaretskii
2006-02-06 2:38 ` Daniel Jacobowitz
0 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-05 22:45 UTC (permalink / raw)
To: gdb-patches
> Date: Sun, 5 Feb 2006 15:20:27 -0500
> From: Daniel Jacobowitz <drow@false.org>
> Cc: Jim Blandy <jimb@red-bean.com>, gdb-patches@sourceware.org
>
> > Reality check: how many other non-embedded platforms have their cross-
> > and native targets separated?
>
> Could you clarify what you mean by this? As far as I can interpret it,
> the answer is "every".
``Separated'' as in ``not in the same executable''.
> > > Also, the kinds of things needed to host GDB on a platform are best
> > > kept partitioned away from the stuff needed for doing native target
> > > debugging, simply as a matter of design. It's a simple matter of
> > > separation of concerns.
> >
> > Then please explain why do we compile ser-unix.c with native Unix
> > targets, and ser-go32.c with the DJGPP native target.
>
> I'd call that a perfect example of Jim's point.
It's also a perfect example of my point: cross-debugger is usually
part of the same build as the native one.
Anyway, I'm not interested in continuing this discussion. I hoped we
could have a separate MinGW target, native and otherwise, but since it
looks like there's no agreement, let's move on.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 21:57 ` Daniel Jacobowitz
2006-02-05 22:33 ` Christopher Faylor
@ 2006-02-05 22:47 ` Eli Zaretskii
2006-02-06 2:41 ` Daniel Jacobowitz
1 sibling, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-05 22:47 UTC (permalink / raw)
To: gdb-patches
> Date: Sun, 5 Feb 2006 16:56:59 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> > Isn't the shell used to allow redirection and shell-like quoting from
> > the gdb command-line? Lack of redirection, at least, is an occasional
> > complaint about gdb-under-cygwin.
>
> That's right; and we certainly can't ditch that support. But what we
> do today is pass the command line arguments directly to a shell, which
> means all sorts of worrying about quoting, and also means that we get
> Bourne shell behavior if the user has an appropriate $SHELL, or C shell
> if they're using csh/tcsh, et cetera. I don't know if anyone takes
> advantage of that as a feature, but it's sure confusing!
I don't see why this is confusing at all. The point is that the user
should type the command arguments as if she were typing at the shell's
prompt, and feel exactly the same. So I don't see why we need to
worry about quoting--just passing the args verbatim to the shell
should do the trick. Or am I missing something?
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 21:50 ` Christopher Faylor
2006-02-05 21:57 ` Daniel Jacobowitz
@ 2006-02-05 22:57 ` Eli Zaretskii
1 sibling, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-05 22:57 UTC (permalink / raw)
To: gdb-patches
> Date: Sun, 5 Feb 2006 16:50:36 -0500
> From: Christopher Faylor <me@cgf.cx>
>
> I did try to implement this artifact in Cygwin once but I never got
> it right.
I once wrote code that did that for the DJGPP port. If someone is
interested, I can tell where to find that (it's part of the DJGPP
debug support library). It didn't support all the redirection
features of the Posix shell, but that shouldn't be too hard to add, I
think. Some of the code there (the juggling with standard handles
when control jumps between GDB and the inferior) is not needed for
Cygwin, I think.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 22:33 ` Christopher Faylor
2006-02-05 22:41 ` Daniel Jacobowitz
@ 2006-02-05 22:59 ` Eli Zaretskii
1 sibling, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-05 22:59 UTC (permalink / raw)
To: gdb-patches
> Date: Sun, 5 Feb 2006 17:33:51 -0500
> From: Christopher Faylor <me@cgf.cx>
>
> If so, I probably said something like "Maybe we could just standardize
> on /bin/bash quoting and redirection rules and put a shell-like command
> parser in gdb."
I really think that what we have now in GDB is The Right Way, as I
wrote in another message. Unless someone points out where I'm missing
something, that is.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 22:44 ` Christopher Faylor
@ 2006-02-05 23:07 ` Eli Zaretskii
2006-02-06 5:14 ` Christopher Faylor
0 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-05 23:07 UTC (permalink / raw)
To: gdb-patches
> Date: Sun, 5 Feb 2006 17:44:14 -0500
> From: Christopher Faylor <cgf-use-the-mailinglist-please@cygwin.com>
>
> I would love to get off the treadmill, yes. I was just trying to
> understand your objections to using the Cygwin-based gdb as the
> one-and-only windows implementation in gdb. Now I do. AFAICT, your
> objections are, for the most part, not based on fact.
They _are_ based on facts (user complaints), you just happen to
dismiss those facts as ``irrelevant''.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 22:45 ` Eli Zaretskii
@ 2006-02-06 2:38 ` Daniel Jacobowitz
0 siblings, 0 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-06 2:38 UTC (permalink / raw)
To: gdb-patches
On Mon, Feb 06, 2006 at 12:45:25AM +0200, Eli Zaretskii wrote:
> > Date: Sun, 5 Feb 2006 15:20:27 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> > Cc: Jim Blandy <jimb@red-bean.com>, gdb-patches@sourceware.org
> >
> > > Reality check: how many other non-embedded platforms have their cross-
> > > and native targets separated?
> >
> > Could you clarify what you mean by this? As far as I can interpret it,
> > the answer is "every".
>
> ``Separated'' as in ``not in the same executable''.
I don't see how that applies. I'm talking about the support needed for
an arm-elf debugger which runs on mingw32, as opposed to a mingw32
debugger which runs on mingw32. There's other platforms that can
support cross but not native, e.g. I believe ia64-hpux can handle cross
debugging even without a GDB port.
Anyway. Moving on, agreed.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 22:47 ` Eli Zaretskii
@ 2006-02-06 2:41 ` Daniel Jacobowitz
2006-02-06 4:20 ` Eli Zaretskii
0 siblings, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-06 2:41 UTC (permalink / raw)
To: gdb-patches
On Mon, Feb 06, 2006 at 12:47:58AM +0200, Eli Zaretskii wrote:
> > Date: Sun, 5 Feb 2006 16:56:59 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> >
> > > Isn't the shell used to allow redirection and shell-like quoting from
> > > the gdb command-line? Lack of redirection, at least, is an occasional
> > > complaint about gdb-under-cygwin.
> >
> > That's right; and we certainly can't ditch that support. But what we
> > do today is pass the command line arguments directly to a shell, which
> > means all sorts of worrying about quoting, and also means that we get
> > Bourne shell behavior if the user has an appropriate $SHELL, or C shell
> > if they're using csh/tcsh, et cetera. I don't know if anyone takes
> > advantage of that as a feature, but it's sure confusing!
>
> I don't see why this is confusing at all. The point is that the user
> should type the command arguments as if she were typing at the shell's
> prompt, and feel exactly the same. So I don't see why we need to
> worry about quoting--just passing the args verbatim to the shell
> should do the trick. Or am I missing something?
This way you can't write documentation for GDB that says how the
arguments to "run" behave - you have to reference another program,
and we're not even sure which program it is half the time.
I'd rather be able to have a chapter in the manual saying "this is how
you use globbing, if you want to", and "this is how you escape
arguments", and "this is how you redirect stderr to a file, if your
platform supports that".
Bonus: we could make that work with remote targets, too, by redirecting
the Remote File I/O stdout and stderr channels. I will be doing some
work with both file I/O and remote argument passing over the next
month; I may revisit this and write a proposal...
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 2:41 ` Daniel Jacobowitz
@ 2006-02-06 4:20 ` Eli Zaretskii
0 siblings, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-06 4:20 UTC (permalink / raw)
To: gdb-patches
> Date: Sun, 5 Feb 2006 21:41:10 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> > I don't see why this is confusing at all. The point is that the user
> > should type the command arguments as if she were typing at the shell's
> > prompt, and feel exactly the same. So I don't see why we need to
> > worry about quoting--just passing the args verbatim to the shell
> > should do the trick. Or am I missing something?
>
> This way you can't write documentation for GDB that says how the
> arguments to "run" behave - you have to reference another program,
> and we're not even sure which program it is half the time.
I don't think it's such a grave problem. Saying it behaves "like your
shell" should be good enough. Many programs have commands that invoke
an inferior shell, and they all bump into this issue. We just happen
to have 2 such commands instead of one.
> I'd rather be able to have a chapter in the manual saying "this is how
> you use globbing, if you want to", and "this is how you escape
> arguments", and "this is how you redirect stderr to a file, if your
> platform supports that".
That'd be okay, too, but it will require to write a shell-compatible
command-line parser.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 23:07 ` Eli Zaretskii
@ 2006-02-06 5:14 ` Christopher Faylor
2006-02-06 7:20 ` Eli Zaretskii
0 siblings, 1 reply; 98+ messages in thread
From: Christopher Faylor @ 2006-02-06 5:14 UTC (permalink / raw)
To: gdb-patches
On Mon, Feb 06, 2006 at 01:07:08AM +0200, Eli Zaretskii wrote:
>>Date: Sun, 5 Feb 2006 17:44:14 -0500
>>From: Christopher Faylor
>>
>>I would love to get off the treadmill, yes. I was just trying to
>>understand your objections to using the Cygwin-based gdb as the
>>one-and-only windows implementation in gdb. Now I do. AFAICT, your
>>objections are, for the most part, not based on fact.
>
>They _are_ based on facts (user complaints), you just happen to
>dismiss those facts as ``irrelevant''.
You're very tenacious aren't you? Ok. I'll keep this up as long as you
like.
I explained why the issues that you brought up were not problems for a
cygwin version of gdb. If you want to give details about problems which
affect the cygwin version of gdb, I'll try to fix them. Otherwise,
you're right, I will just dismiss detail-free hearsay-based "user
complaints".
cgf
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-05 22:41 ` Daniel Jacobowitz
@ 2006-02-06 6:35 ` Christopher Faylor
2006-02-06 17:26 ` Daniel Jacobowitz
0 siblings, 1 reply; 98+ messages in thread
From: Christopher Faylor @ 2006-02-06 6:35 UTC (permalink / raw)
To: gdb-patches
On Sun, Feb 05, 2006 at 05:41:21PM -0500, Daniel Jacobowitz wrote:
>How would you feel if I created two MinGW-specific files, and would you
>prefer not to be their maintainer?
I don't mind MINGW-specific files. Would it be less troublesome if you
were the maintainer of those files? I don't mind eyeballing MinGW
patches but I probably shouldn't be the final authority on whether they
are appropriate or not.
cgf
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 5:14 ` Christopher Faylor
@ 2006-02-06 7:20 ` Eli Zaretskii
2006-02-06 8:47 ` Corinna Vinschen
0 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-06 7:20 UTC (permalink / raw)
To: gdb-patches
> Date: Mon, 6 Feb 2006 00:14:51 -0500
> From: Christopher Faylor <cgf-mailing-list-please@cygwin.com>
>
> >>AFAICT, your objections are, for the most part, not based on fact.
> >
> >They _are_ based on facts (user complaints), you just happen to
> >dismiss those facts as ``irrelevant''.
>
> You're very tenacious aren't you?
I'm trying very hard not to be tenacious (as in ``stubborn''), but you
cannot expect me to leave remarks like ``not based on fact''
unanswered. Can't we respectfully disagree without resorting to such
``arguments''? The fact that we interpret the same facts differently
does not necessarily mean one of us is hallucinating.
> I explained why the issues that you brought up were not problems for a
> cygwin version of gdb.
You asked about incompatibilities between Cygwin and native Windows in
general, so that's what I replied to. I didn't say anywhere that I
was talking about GDB in the narrow sense. However, it should be
quite clear that, since Cygwin is a coherent system of tools that need
to work together, any issues with Cygwin at large will necessarily
affect users' will to install and use the Cygwin GDB. (At least
that's the case with me.)
When I considered installing the Cygwin GDB, the questions that bugged
me were like "will gdbtui work without the Cygwin terminal/rxvt/whatever?",
"will Insight work without Xfree86?", "do I need Bash or other
packages installed, and what are those packages?", etc. I didn't find
answers to those questions, and AFAICS (although I cannot say I
searched too hard) those answers still aren't available today;
apologies if I missed something obvious. I ended up installing the
MinGW port becaue it didn't require anything else besides the GDB
binary. Can you see how this is much easier for someone who likes to
know what is going on on their machines, and doesn't wish to change
the flavor of their system just to use a debugger?
And please don't tell me that Setup does all that automagically for
me: since I have quite an elaborate setup on my machines, I cannot
afford letting automated setup programs download and install packages
without me being in control wrt what is and what isn't installed, to
make sure my configuration doesn't get screwed up. I don't have the
luxury of spending long hours fixing what some installation broke.
In other words, Cygwin seems to be made for people who are prepared to
marry Cygwin for all their development needs. It doesn't cater easily
to those, like me, who aren't. And this problem shows even if all I
want is GDB, to debug my own programs.
> If you want to give details about problems which
> affect the cygwin version of gdb, I'll try to fix them.
I don't think there's anything specific to ``fix'', it's the concept
that is IMHO flawed. MinGW ports are so much simpler to install
separately, as the need arises, and are so much simpler to control wrt
their overall effect on the system. Now, if only I could find a
decent MinGW port of a Unixy shell...
Can we now leave this topic alone, please? I don't expect you to
agree with me or accept my gripes, and neither is this directly
relevant to gdb-patches. There's no reason to waste our times
disagreeing more, nor flooding others' mailboxes with messages that
don't lead anywhere.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 7:20 ` Eli Zaretskii
@ 2006-02-06 8:47 ` Corinna Vinschen
2006-02-06 12:07 ` Bob Rossi
0 siblings, 1 reply; 98+ messages in thread
From: Corinna Vinschen @ 2006-02-06 8:47 UTC (permalink / raw)
To: gdb-patches
On Feb 6 02:18, Eli Zaretskii wrote:
> > From: Christopher Faylor <cgf-mailing-list-please@cygwin.com>
> wa However, it should be
> quite clear that, since Cygwin is a coherent system of tools that need
> to work together, [...]
That's a misconception. You're mixing Cygwin, the distribution with
Cygwin, the DLL. Take a tool and the libraries it's linked against,
and you're all set.
> When I considered installing the Cygwin GDB, the questions that bugged
> me were like "will gdbtui work without the Cygwin terminal/rxvt/whatever?",
Yes it works, like every other Cygwin CLI tool, in the standard
Windows console. Why should it be different?
> "will Insight work without Xfree86?"
No, you never needed XFree86 for Insight since the Tcltk package
is Windows GUI based, and it is so for since its beginnings.
> "do I need Bash or other
> packages installed, and what are those packages?"
No.
> , etc. I didn't find
> answers to those questions, and AFAICS (although I cannot say I
> searched too hard) those answers still aren't available today;
You could have asked.
Corinna
--
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 8:47 ` Corinna Vinschen
@ 2006-02-06 12:07 ` Bob Rossi
2006-02-06 14:23 ` Daniel Jacobowitz
0 siblings, 1 reply; 98+ messages in thread
From: Bob Rossi @ 2006-02-06 12:07 UTC (permalink / raw)
To: gdb-patches
On Mon, Feb 06, 2006 at 09:47:04AM +0100, Corinna Vinschen wrote:
> On Feb 6 02:18, Eli Zaretskii wrote:
> > > From: Christopher Faylor <cgf-mailing-list-please@cygwin.com>
> > wa However, it should be
> > quite clear that, since Cygwin is a coherent system of tools that need
> > to work together, [...]
>
> That's a misconception. You're mixing Cygwin, the distribution with
> Cygwin, the DLL. Take a tool and the libraries it's linked against,
> and you're all set.
Eli, I have to side with you here. Even though I find Cygwin absolutely
amazing, it is documented, that there is *no* absolute way to deliver a
Cygwin DLL and ensure that your package will work on the target system.
If there are 2 Cygwin DLL's on a system, then Cygwin can not operate.
For instance, if I install GNAT 3.15p, and I have Cygwin installed, I
have to modify the GNAT binary of GDB to change the name of the DLL they
renamed Cygwin to back to cygwin1.dll. Then, I have to remove the Cygwin
DLL they used. Fortunately this even works.
Secondly, it's impossible to create a package that ensures the user
doesn't go ahead and install Cygwin 5 minutes after they install the
GDB package, which would basically break your GDB installation.
I personally think the Cygwin DLL installation issue needs to be brought
to the next level, before it's considered OK to install the cygwin1.dll
Anyways, I use Cygwin daily and couldn't live with out it, however, as
trying to package CGDB, I've found the only reasonable alternative is to
attempt to get it upstream with the Cygwin distribution.
Thanks,
Bob Rossi
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 12:07 ` Bob Rossi
@ 2006-02-06 14:23 ` Daniel Jacobowitz
2006-02-06 18:37 ` Eli Zaretskii
0 siblings, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-06 14:23 UTC (permalink / raw)
To: gdb-patches
On Mon, Feb 06, 2006 at 07:08:35AM -0500, Bob Rossi wrote:
> ...
_PLEASE_ take this somewhere else, everybody.
If someone's said something you feel can not be left unanswered, please
answer it in private mail, or on a Cygwin-specific list.
If you have any comments about the patch at the beginning of this
thread, or about MinGW32 support in GDB (on which we seem to have made
some actual progress, though it's hard to find in the discussion), then
those are on topic for gdb-patches. The rest of this discussion is no
longer, and it's really not helping anything except scrolling the
subject off the right side of my screen with threading markers...
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 6:35 ` Christopher Faylor
@ 2006-02-06 17:26 ` Daniel Jacobowitz
0 siblings, 0 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-06 17:26 UTC (permalink / raw)
To: gdb-patches
On Mon, Feb 06, 2006 at 01:35:47AM -0500, Christopher Faylor wrote:
> On Sun, Feb 05, 2006 at 05:41:21PM -0500, Daniel Jacobowitz wrote:
> >How would you feel if I created two MinGW-specific files, and would you
> >prefer not to be their maintainer?
>
> I don't mind MINGW-specific files. Would it be less troublesome if you
> were the maintainer of those files? I don't mind eyeballing MinGW
> patches but I probably shouldn't be the final authority on whether they
> are appropriate or not.
Doesn't make much difference to me; you're responsive and (very!)
helpful. And I definitely appreciate another eye on them.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-03 21:55 RFA: Support Windows extended error numbers in safe_strerror Daniel Jacobowitz
2006-02-03 23:25 ` Mark Kettenis
2006-02-04 11:58 ` Eli Zaretskii
@ 2006-02-06 17:35 ` Daniel Jacobowitz
2006-02-06 17:54 ` Christopher Faylor
` (4 more replies)
2006-02-10 21:56 ` Daniel Jacobowitz
3 siblings, 5 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-06 17:35 UTC (permalink / raw)
To: gdb-patches
On Fri, Feb 03, 2006 at 04:54:55PM -0500, Daniel Jacobowitz wrote:
> This is an improved version of a patch Mark Mitchell submitted last
> year. If you give strerror() anything above 42 (sys_nerr) on Windows,
> it gives you back "Unknown error" - particularly unfortunate since
> WSAECONNREFUSED is way above there, so connecting to a closed socket
> will give you a generic error message. This patch lets us try an
> OS-specific interface to fetch an error string.
>
> [Actually you need my next patch too to get the connection refused message;
> right now you'll get a timeout.]
>
> Any comments on this patch?
There were plenty :-) Is this better?
We had finally eliminated the XM files in favor of autoconf checks.
This patch re-adds an xm-*.h header file, but I think it's still
the best of our options. We can restrict our use of these headers
to things where autoconf is a bad fit - like right here.
Rather than creating a .mh file and setting XM_FILE there, I added
this and an equivalent to TDEPFILES to configure.host. This is in
line with discussion I vaguely remember from last year that the
makefile fragments were not a preferable solution for this sort
of thing. I do agree that it looks more elegant this way.
--
Daniel Jacobowitz
CodeSourcery
2006-02-06 Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.in (mingw-hdep.o): New dependencies.
* configure.ac: Add gdb_host_obs to CONFIG_OBS. Don't fetch hostfile
from host_makefile_frag. Remove obsolete comment. Rename hostfile
to gdb_hostfile.
* configure: Regenerated.
* configure.host: Document gdb_host_obs and gdb_hostfile. Add
an entry for i[34567]86-*-mingw32*.
* mingw-hdep.c, config/i386/xm-mingw.h: New files.
Index: src/gdb/Makefile.in
===================================================================
--- src.orig/gdb/Makefile.in 2006-02-06 10:58:30.000000000 -0500
+++ src/gdb/Makefile.in 2006-02-06 12:27:15.000000000 -0500
@@ -2280,6 +2280,7 @@ memattr.o: memattr.c $(defs_h) $(command
$(target_h) $(value_h) $(language_h) $(gdb_string_h)
mem-break.o: mem-break.c $(defs_h) $(symtab_h) $(breakpoint_h) $(inferior_h) \
$(target_h)
+mingw-hdep.o: mingw-hdep.c $(defs_h) $(gdb_string_h)
minsyms.o: minsyms.c $(defs_h) $(gdb_string_h) $(symtab_h) $(bfd_h) \
$(symfile_h) $(objfiles_h) $(demangle_h) $(value_h) $(cp_abi_h)
mips64obsd-nat.o: mips64obsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
Index: src/gdb/configure.ac
===================================================================
--- src.orig/gdb/configure.ac 2006-02-06 10:58:30.000000000 -0500
+++ src/gdb/configure.ac 2006-02-06 12:06:48.000000000 -0500
@@ -1225,6 +1225,9 @@ case ${host} in
esac
AC_SUBST(WIN32LIBS)
+# Add any host-specific objects to GDB.
+CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
+
LIBGUI="../libgui/src/libgui.a"
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
AC_SUBST(LIBGUI)
@@ -1443,10 +1446,6 @@ AC_SUBST_FILE(target_makefile_frag)
AC_SUBST(frags)
changequote(,)dnl
-hostfile=`sed -n '
-s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
-' ${host_makefile_frag}`
-
targetfile=`sed -n '
s/DEPRECATED_TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
' ${target_makefile_frag}`
@@ -1494,20 +1493,16 @@ if test "x$build_nlm" = xyes; then
AC_CONFIG_SUBDIRS(nlm)
fi
-# If hostfile (XM_FILE) and/or targetfile (DEPRECATED_TM_FILE) and/or
-# nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
-# to an empty version.
-
files=
links=
rm -f xm.h
xm_h=""
-if test "${hostfile}" != ""; then
+if test "${gdb_hostfile}" != ""; then
xm_h=xm.h
- case "${hostfile}" in
- xm-*.h ) GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}" ;;
- * ) GDB_XM_FILE="${hostfile}"
+ case "${gdb_hostfile}" in
+ xm-*.h ) GDB_XM_FILE="config/${gdb_host_cpu}/${gdb_hostfile}" ;;
+ * ) GDB_XM_FILE="${gdb_hostfile}"
esac
files="${files} ${GDB_XM_FILE}"
links="${links} xm.h"
Index: src/gdb/configure.host
===================================================================
--- src.orig/gdb/configure.host 2005-05-22 15:11:42.000000000 -0400
+++ src/gdb/configure.host 2006-02-06 12:29:41.000000000 -0500
@@ -7,6 +7,8 @@
# gdb_host_float_format host's float floatformat, or 0
# gdb_host_double_format host's double floatformat, or 0
# gdb_host_long_double_format host's long double floatformat, or 0
+# gdb_host_obs host-specific .o files to include
+# gdb_hostfile host-specific .h file to include
# Map host cpu into the config cpu subdirectory name.
# The default is $host_cpu.
@@ -64,6 +66,10 @@ i[34567]86-*-netbsdelf* | i[34567]86-*-k
gdb_host=nbsdelf ;;
i[34567]86-*-netbsd*) gdb_host=nbsdaout ;;
i[34567]86-*-go32*) gdb_host=go32 ;;
+i[34567]86-*-mingw32*) gdb_host=mingw
+ gdb_host_obs=mingw-hdep.o
+ gdb_hostfile=xm-mingw.h
+ ;;
i[34567]86-*-msdosdjgpp*) gdb_host=go32 ;;
i[34567]86-*-linux*) gdb_host=linux ;;
i[34567]86-*-lynxos*) gdb_host=i386lynx ;;
Index: src/gdb/config/i386/xm-mingw.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/gdb/config/i386/xm-mingw.h 2006-02-06 12:28:38.000000000 -0500
@@ -0,0 +1,26 @@
+/* Host support for i386 running under MinGW.
+
+ Copyright (C) 2006
+ Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* The standard strerror is too unfriendly in some cases; we provide our
+ own. */
+char *mingw_strerror (int);
+#define strerror mingw_strerror
Index: src/gdb/mingw-hdep.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/gdb/mingw-hdep.c 2006-02-06 12:29:23.000000000 -0500
@@ -0,0 +1,62 @@
+/* Host support routines for MinGW, for GDB, the GNU debugger.
+
+ Copyright (C) 2006
+ Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
+#include "defs.h"
+#include "gdb_string.h"
+
+#include <windows.h>
+
+/* The Windows runtime implementation of strerror never returns NULL,
+ but does return a useless string for anything above sys_nerr;
+ unfortunately this includes all socket-related error codes.
+ This replacement tries to find a system-provided error message. */
+
+char *
+mingw_strerror (int errnum)
+{
+ static char *buffer;
+ int len;
+
+ if (errnum >= 0 && errnum < sys_nerr)
+ return strerror (errnum);
+
+ if (buffer)
+ {
+ LocalFree (buffer);
+ buffer = NULL;
+ }
+
+ if (FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER
+ | FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL, errnum,
+ MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR) &buffer, 0, NULL) == 0)
+ return NULL;
+
+ /* Windows error messages end with a period and a CR-LF; strip them
+ out. */
+ len = strlen (buffer);
+ if (len > 3 && strcmp (buffer + len - 3, ".\r\n") == 0)
+ buffer[len - 3] = '\0';
+
+ return buffer;
+}
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 17:35 ` Daniel Jacobowitz
@ 2006-02-06 17:54 ` Christopher Faylor
2006-02-06 18:23 ` Jim Blandy
` (3 subsequent siblings)
4 siblings, 0 replies; 98+ messages in thread
From: Christopher Faylor @ 2006-02-06 17:54 UTC (permalink / raw)
To: gdb-patches
On Mon, Feb 06, 2006 at 12:35:50PM -0500, Daniel Jacobowitz wrote:
>On Fri, Feb 03, 2006 at 04:54:55PM -0500, Daniel Jacobowitz wrote:
>> This is an improved version of a patch Mark Mitchell submitted last
>> year. If you give strerror() anything above 42 (sys_nerr) on Windows,
>> it gives you back "Unknown error" - particularly unfortunate since
>> WSAECONNREFUSED is way above there, so connecting to a closed socket
>> will give you a generic error message. This patch lets us try an
>> OS-specific interface to fetch an error string.
>>
>> [Actually you need my next patch too to get the connection refused message;
>> right now you'll get a timeout.]
>>
>> Any comments on this patch?
>
>There were plenty :-) Is this better?
>
>We had finally eliminated the XM files in favor of autoconf checks.
>This patch re-adds an xm-*.h header file, but I think it's still
>the best of our options. We can restrict our use of these headers
>to things where autoconf is a bad fit - like right here.
>
>Rather than creating a .mh file and setting XM_FILE there, I added
>this and an equivalent to TDEPFILES to configure.host. This is in
>line with discussion I vaguely remember from last year that the
>makefile fragments were not a preferable solution for this sort
>of thing. I do agree that it looks more elegant this way.
I don't remember this discussion but I think this looks fine.
I don't have any problem supporting this so there is no need (yet) to
change the maintainer rules.
So, if I have the authority to say go ahead and check this in then
"Go ahead and check this in".
cgf
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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
` (2 subsequent siblings)
4 siblings, 0 replies; 98+ messages in thread
From: Jim Blandy @ 2006-02-06 18:23 UTC (permalink / raw)
To: gdb-patches
Much better. I agree completely about using alternative mechanisms
when autoconf is a bad fit.
It's icky to redefine strerror, but given that Windows is returning
errno codes that are above sys_nerr, one good ick deserves another.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 14:23 ` Daniel Jacobowitz
@ 2006-02-06 18:37 ` Eli Zaretskii
0 siblings, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-06 18:37 UTC (permalink / raw)
To: gdb-patches
> Date: Mon, 6 Feb 2006 09:23:23 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> If someone's said something you feel can not be left unanswered, please
> answer it in private mail, or on a Cygwin-specific list.
That's a bit hard to do, what with people who use Reply-To and/or
Mail-Followup-To headers to explicitly direct the responses to the
list.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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
4 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-06 19:08 UTC (permalink / raw)
To: gdb-patches
> Date: Mon, 6 Feb 2006 12:35:50 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> On Fri, Feb 03, 2006 at 04:54:55PM -0500, Daniel Jacobowitz wrote:
> > This is an improved version of a patch Mark Mitchell submitted last
> > year. If you give strerror() anything above 42 (sys_nerr) on Windows,
> > it gives you back "Unknown error" - particularly unfortunate since
> > WSAECONNREFUSED is way above there, so connecting to a closed socket
> > will give you a generic error message. This patch lets us try an
> > OS-specific interface to fetch an error string.
> >
> > [Actually you need my next patch too to get the connection refused message;
> > right now you'll get a timeout.]
> >
> > Any comments on this patch?
>
> There were plenty :-) Is this better?
> [...]
> +#include "defs.h"
> +#include "gdb_string.h"
> +
> +#include <windows.h>
> +
> +/* The Windows runtime implementation of strerror never returns NULL,
> + but does return a useless string for anything above sys_nerr;
> + unfortunately this includes all socket-related error codes.
> + This replacement tries to find a system-provided error message. */
> +
> +char *
> +mingw_strerror (int errnum)
> +{
> + static char *buffer;
> + int len;
> +
> + if (errnum >= 0 && errnum < sys_nerr)
> + return strerror (errnum);
Shouldn't you #undef strerror in this file?
Otherwise, this is fine with me.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 19:08 ` Eli Zaretskii
@ 2006-02-06 19:58 ` Daniel Jacobowitz
0 siblings, 0 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-06 19:58 UTC (permalink / raw)
To: gdb-patches
On Mon, Feb 06, 2006 at 09:07:25PM +0200, Eli Zaretskii wrote:
> Shouldn't you #undef strerror in this file?
Er. Oops. Yes; "source nonexistant.scr" goes into an infinite loop
without fixing that. Thanks, I've made the change in my local copy.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 17:35 ` Daniel Jacobowitz
` (2 preceding siblings ...)
2006-02-06 19:08 ` Eli Zaretskii
@ 2006-02-06 20:59 ` Daniel Jacobowitz
2006-02-06 22:55 ` Mark Kettenis
4 siblings, 0 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-06 20:59 UTC (permalink / raw)
To: gdb-patches
On Mon, Feb 06, 2006 at 12:35:50PM -0500, Daniel Jacobowitz wrote:
> There were plenty :-) Is this better?
>
> We had finally eliminated the XM files in favor of autoconf checks.
> This patch re-adds an xm-*.h header file, but I think it's still
> the best of our options. We can restrict our use of these headers
> to things where autoconf is a bad fit - like right here.
>
> Rather than creating a .mh file and setting XM_FILE there, I added
> this and an equivalent to TDEPFILES to configure.host. This is in
> line with discussion I vaguely remember from last year that the
> makefile fragments were not a preferable solution for this sort
> of thing. I do agree that it looks more elegant this way.
This version includes the fix Eli spotted, and has been tested a little
more carefully. I'm going to wait a while for comments before I check
this in.
--
Daniel Jacobowitz
CodeSourcery
2006-02-06 Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.in (mingw-hdep.o): New dependencies.
* configure.ac: Add gdb_host_obs to CONFIG_OBS. Don't fetch hostfile
from host_makefile_frag. Remove obsolete comment. Rename hostfile
to gdb_hostfile.
* configure: Regenerated.
* configure.host: Document gdb_host_obs and gdb_hostfile. Add
an entry for i[34567]86-*-mingw32*.
* mingw-hdep.c, config/i386/xm-mingw.h: New files.
Index: src/gdb/Makefile.in
===================================================================
--- src.orig/gdb/Makefile.in 2006-02-06 10:58:30.000000000 -0500
+++ src/gdb/Makefile.in 2006-02-06 15:21:55.000000000 -0500
@@ -2280,6 +2280,7 @@ memattr.o: memattr.c $(defs_h) $(command
$(target_h) $(value_h) $(language_h) $(gdb_string_h)
mem-break.o: mem-break.c $(defs_h) $(symtab_h) $(breakpoint_h) $(inferior_h) \
$(target_h)
+mingw-hdep.o: mingw-hdep.c $(defs_h) $(gdb_string_h)
minsyms.o: minsyms.c $(defs_h) $(gdb_string_h) $(symtab_h) $(bfd_h) \
$(symfile_h) $(objfiles_h) $(demangle_h) $(value_h) $(cp_abi_h)
mips64obsd-nat.o: mips64obsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
Index: src/gdb/configure
===================================================================
--- src.orig/gdb/configure 2006-02-06 10:58:30.000000000 -0500
+++ src/gdb/configure 2006-02-06 15:21:55.000000000 -0500
@@ -991,7 +991,7 @@ esac
else
echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi
- cd $ac_popdir
+ cd "$ac_popdir"
done
fi
@@ -1933,8 +1933,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -1992,8 +1991,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2109,8 +2107,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2164,8 +2161,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2210,8 +2206,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2255,8 +2250,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2619,8 +2613,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2674,8 +2667,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2781,8 +2773,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3081,8 +3072,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3289,8 +3279,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3350,8 +3339,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3430,8 +3418,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3496,8 +3483,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3562,8 +3548,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3627,8 +3612,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3709,8 +3693,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3851,8 +3834,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3990,8 +3972,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4175,8 +4156,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4427,8 +4407,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4622,8 +4601,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4726,8 +4704,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4798,8 +4775,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4896,8 +4872,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5033,8 +5008,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5098,8 +5072,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5154,8 +5127,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5295,8 +5267,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5429,8 +5400,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5707,8 +5677,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6127,8 +6096,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6277,8 +6245,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6434,8 +6401,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6584,8 +6550,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6796,8 +6761,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6860,8 +6824,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6931,8 +6894,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7578,8 +7540,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7683,8 +7644,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7750,8 +7710,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7827,8 +7786,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7882,8 +7840,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7955,8 +7912,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8010,8 +7966,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8091,8 +8046,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8146,8 +8100,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8238,8 +8191,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8293,8 +8245,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8377,8 +8328,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8450,8 +8400,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8505,8 +8454,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8577,8 +8525,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8632,8 +8579,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8758,8 +8704,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8925,8 +8870,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9075,8 +9019,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9142,8 +9085,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9293,8 +9235,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9445,8 +9386,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9595,8 +9535,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9745,8 +9684,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9895,8 +9833,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10047,8 +9984,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10197,8 +10133,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10347,8 +10282,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10497,8 +10431,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10647,8 +10580,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10797,8 +10729,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10944,8 +10875,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11011,8 +10941,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11162,8 +11091,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11313,8 +11241,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11463,8 +11390,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11613,8 +11539,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11763,8 +11688,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11910,8 +11834,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11978,8 +11901,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12130,8 +12052,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12280,8 +12201,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12447,8 +12367,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12597,8 +12516,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12744,8 +12662,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12815,8 +12732,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12968,8 +12884,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13038,8 +12953,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13108,8 +13022,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13180,8 +13093,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13250,8 +13162,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13322,8 +13233,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13392,8 +13302,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13462,8 +13371,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13538,8 +13446,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13582,8 +13489,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13648,8 +13554,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13692,8 +13597,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13771,8 +13675,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13836,8 +13739,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13902,8 +13804,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14015,8 +13916,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14076,8 +13976,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14154,8 +14053,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14236,8 +14134,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14378,8 +14275,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14517,8 +14413,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14702,8 +14597,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14942,8 +14836,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15011,8 +14904,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15197,8 +15089,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15240,18 +15131,24 @@ else
ac_cv_func_fork_works=cross
else
cat >conftest.$ac_ext <<_ACEOF
-/* By Ruediger Kuhlmann. */
- #include <sys/types.h>
- #if HAVE_UNISTD_H
- # include <unistd.h>
- #endif
- /* Some systems only have a dummy stub for fork() */
- int main ()
- {
- if (fork() < 0)
- exit (1);
- exit (0);
- }
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* By Ruediger Kuhlmann. */
+ if (fork() < 0)
+ exit (1);
+ exit (0);
+
+ ;
+ return 0;
+}
_ACEOF
rm -f conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
@@ -15531,8 +15428,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15634,8 +15530,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15736,8 +15631,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15838,8 +15732,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15940,8 +15833,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16043,8 +15935,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16147,8 +16038,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16249,8 +16139,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16351,8 +16240,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16453,8 +16341,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16555,8 +16442,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16636,8 +16522,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16709,8 +16594,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16776,8 +16660,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16825,8 +16708,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16977,8 +16859,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17042,8 +16923,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17111,8 +16991,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17190,8 +17069,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17237,8 +17115,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17304,8 +17181,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17367,8 +17243,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17433,8 +17308,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17478,8 +17352,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17544,8 +17417,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17589,8 +17461,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17655,8 +17526,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17718,8 +17588,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17782,8 +17651,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17846,8 +17714,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17954,8 +17821,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18019,8 +17885,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18084,8 +17949,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18149,8 +18013,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18214,8 +18077,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18279,8 +18141,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18344,8 +18205,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18409,8 +18269,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18474,8 +18333,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18539,8 +18397,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18604,8 +18461,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18669,8 +18525,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18734,8 +18589,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18799,8 +18653,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18931,8 +18784,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18996,8 +18848,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19060,8 +18911,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19127,8 +18977,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19191,8 +19040,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19261,8 +19109,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19385,8 +19232,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19579,8 +19425,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19693,8 +19538,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19759,8 +19603,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19824,8 +19667,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19894,8 +19736,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19959,8 +19800,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -20024,8 +19864,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -20192,8 +20031,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -20282,6 +20120,9 @@ _ACEOF
esac
+# Add any host-specific objects to GDB.
+CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
+
LIBGUI="../libgui/src/libgui.a"
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
@@ -20642,8 +20483,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -20894,8 +20734,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -21355,6 +21194,7 @@ fi
echo "$as_me:$LINENO: checking for X" >&5
echo $ECHO_N "checking for X... $ECHO_C" >&6
+ac_path_x_has_been_run=yes
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
@@ -21447,7 +21287,7 @@ ac_x_header_dirs='
/usr/openwin/share/include'
if test "$ac_x_includes" = no; then
- # Guess where to find include files, by looking for Intrinsic.h.
+ # Guess where to find include files, by looking for a specified header file.
# First, try using that file with no special directory specified.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -21455,7 +21295,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Intrinsic.h>
+#include <X11/Xlib.h>
_ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
@@ -21482,7 +21322,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
for ac_dir in $ac_x_header_dirs; do
- if test -r "$ac_dir/X11/Intrinsic.h"; then
+ if test -r "$ac_dir/X11/Xlib.h"; then
ac_x_includes=$ac_dir
break
fi
@@ -21496,18 +21336,18 @@ if test "$ac_x_libraries" = no; then
# See if we find them without any special options.
# Don't add to $LIBS permanently.
ac_save_LIBS=$LIBS
- LIBS="-lXt $LIBS"
+ LIBS="-lX11 $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Intrinsic.h>
+#include <X11/Xlib.h>
int
main ()
{
-XtMalloc (0)
+XrmInitialize ()
;
return 0;
}
@@ -21521,8 +21361,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -21546,7 +21385,7 @@ for ac_dir in `echo "$ac_x_includes $ac_
do
# Don't even attempt the hair of trying to link an X program!
for ac_extension in a so sl; do
- if test -r $ac_dir/libXt.$ac_extension; then
+ if test -r $ac_dir/libX11.$ac_extension; then
ac_x_libraries=$ac_dir
break 2
fi
@@ -21582,8 +21421,12 @@ else
# Update the cache value to reflect the command line values.
ac_cv_have_x="have_x=yes \
ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
- echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
-echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
+ # It might be that x_includes is empty (headers are found in the
+ # standard search path. Then output the corresponding message
+ ac_out_x_includes=$x_includes
+ test "x$x_includes" = x && ac_out_x_includes="in standard search path"
+ echo "$as_me:$LINENO: result: libraries $x_libraries, headers $ac_out_x_includes" >&5
+echo "${ECHO_T}libraries $x_libraries, headers $ac_out_x_includes" >&6
fi
@@ -21708,10 +21551,6 @@ frags="$frags $target_makefile_frag"
-hostfile=`sed -n '
-s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
-' ${host_makefile_frag}`
-
targetfile=`sed -n '
s/DEPRECATED_TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
' ${target_makefile_frag}`
@@ -21778,20 +21617,16 @@ subdirs="$subdirs nlm"
fi
-# If hostfile (XM_FILE) and/or targetfile (DEPRECATED_TM_FILE) and/or
-# nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
-# to an empty version.
-
files=
links=
rm -f xm.h
xm_h=""
-if test "${hostfile}" != ""; then
+if test "${gdb_hostfile}" != ""; then
xm_h=xm.h
- case "${hostfile}" in
- xm-*.h ) GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}" ;;
- * ) GDB_XM_FILE="${hostfile}"
+ case "${gdb_hostfile}" in
+ xm-*.h ) GDB_XM_FILE="config/${gdb_host_cpu}/${gdb_hostfile}" ;;
+ * ) GDB_XM_FILE="${gdb_hostfile}"
esac
files="${files} ${GDB_XM_FILE}"
links="${links} xm.h"
@@ -21907,8 +21742,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -21958,8 +21792,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -22034,8 +21867,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -23033,11 +22865,6 @@ esac
*) ac_INSTALL=$ac_top_builddir$INSTALL ;;
esac
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
@@ -23076,6 +22903,12 @@ echo "$as_me: error: cannot find input f
fi;;
esac
done` || { (exit 1); exit 1; }
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
sed "$ac_vpsub
@@ -23799,7 +23632,7 @@ echo "$as_me: error: $ac_sub_configure f
{ (exit 1); exit 1; }; }
fi
- cd $ac_popdir
+ cd "$ac_popdir"
done
fi
Index: src/gdb/configure.ac
===================================================================
--- src.orig/gdb/configure.ac 2006-02-06 10:58:30.000000000 -0500
+++ src/gdb/configure.ac 2006-02-06 15:21:55.000000000 -0500
@@ -1225,6 +1225,9 @@ case ${host} in
esac
AC_SUBST(WIN32LIBS)
+# Add any host-specific objects to GDB.
+CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
+
LIBGUI="../libgui/src/libgui.a"
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
AC_SUBST(LIBGUI)
@@ -1443,10 +1446,6 @@ AC_SUBST_FILE(target_makefile_frag)
AC_SUBST(frags)
changequote(,)dnl
-hostfile=`sed -n '
-s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
-' ${host_makefile_frag}`
-
targetfile=`sed -n '
s/DEPRECATED_TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
' ${target_makefile_frag}`
@@ -1494,20 +1493,16 @@ if test "x$build_nlm" = xyes; then
AC_CONFIG_SUBDIRS(nlm)
fi
-# If hostfile (XM_FILE) and/or targetfile (DEPRECATED_TM_FILE) and/or
-# nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
-# to an empty version.
-
files=
links=
rm -f xm.h
xm_h=""
-if test "${hostfile}" != ""; then
+if test "${gdb_hostfile}" != ""; then
xm_h=xm.h
- case "${hostfile}" in
- xm-*.h ) GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}" ;;
- * ) GDB_XM_FILE="${hostfile}"
+ case "${gdb_hostfile}" in
+ xm-*.h ) GDB_XM_FILE="config/${gdb_host_cpu}/${gdb_hostfile}" ;;
+ * ) GDB_XM_FILE="${gdb_hostfile}"
esac
files="${files} ${GDB_XM_FILE}"
links="${links} xm.h"
Index: src/gdb/configure.host
===================================================================
--- src.orig/gdb/configure.host 2005-05-22 15:11:42.000000000 -0400
+++ src/gdb/configure.host 2006-02-06 12:29:41.000000000 -0500
@@ -7,6 +7,8 @@
# gdb_host_float_format host's float floatformat, or 0
# gdb_host_double_format host's double floatformat, or 0
# gdb_host_long_double_format host's long double floatformat, or 0
+# gdb_host_obs host-specific .o files to include
+# gdb_hostfile host-specific .h file to include
# Map host cpu into the config cpu subdirectory name.
# The default is $host_cpu.
@@ -64,6 +66,10 @@ i[34567]86-*-netbsdelf* | i[34567]86-*-k
gdb_host=nbsdelf ;;
i[34567]86-*-netbsd*) gdb_host=nbsdaout ;;
i[34567]86-*-go32*) gdb_host=go32 ;;
+i[34567]86-*-mingw32*) gdb_host=mingw
+ gdb_host_obs=mingw-hdep.o
+ gdb_hostfile=xm-mingw.h
+ ;;
i[34567]86-*-msdosdjgpp*) gdb_host=go32 ;;
i[34567]86-*-linux*) gdb_host=linux ;;
i[34567]86-*-lynxos*) gdb_host=i386lynx ;;
Index: src/gdb/config/i386/xm-mingw.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/gdb/config/i386/xm-mingw.h 2006-02-06 15:23:13.000000000 -0500
@@ -0,0 +1,30 @@
+/* Host support for i386 running under MinGW.
+
+ Copyright (C) 2006
+ Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* The standard strerror is too unfriendly in some cases; we provide our
+ own. */
+char *mingw_strerror (int);
+
+#ifndef IN_MINGW_HDEP
+# define strerror mingw_strerror
+#endif
+
Index: src/gdb/mingw-hdep.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/gdb/mingw-hdep.c 2006-02-06 15:22:52.000000000 -0500
@@ -0,0 +1,67 @@
+/* Host support routines for MinGW, for GDB, the GNU debugger.
+
+ Copyright (C) 2006
+ Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
+/* We must define this before including "defs.h", to suppress the
+ redefinition of strerror. */
+#define IN_MINGW_HDEP
+
+#include "defs.h"
+
+#include "gdb_string.h"
+
+#include <windows.h>
+
+/* The Windows runtime implementation of strerror never returns NULL,
+ but does return a useless string for anything above sys_nerr;
+ unfortunately this includes all socket-related error codes.
+ This replacement tries to find a system-provided error message. */
+
+char *
+mingw_strerror (int errnum)
+{
+ static char *buffer;
+ int len;
+
+ if (errnum >= 0 && errnum < sys_nerr)
+ return strerror (errnum);
+
+ if (buffer)
+ {
+ LocalFree (buffer);
+ buffer = NULL;
+ }
+
+ if (FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER
+ | FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL, errnum,
+ MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR) &buffer, 0, NULL) == 0)
+ return NULL;
+
+ /* Windows error messages end with a period and a CR-LF; strip them
+ out. */
+ len = strlen (buffer);
+ if (len > 3 && strcmp (buffer + len - 3, ".\r\n") == 0)
+ buffer[len - 3] = '\0';
+
+ return buffer;
+}
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 17:35 ` Daniel Jacobowitz
` (3 preceding siblings ...)
2006-02-06 20:59 ` Daniel Jacobowitz
@ 2006-02-06 22:55 ` Mark Kettenis
2006-02-06 22:58 ` Daniel Jacobowitz
4 siblings, 1 reply; 98+ messages in thread
From: Mark Kettenis @ 2006-02-06 22:55 UTC (permalink / raw)
To: drow; +Cc: gdb-patches
> Date: Mon, 6 Feb 2006 12:35:50 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> On Fri, Feb 03, 2006 at 04:54:55PM -0500, Daniel Jacobowitz wrote:
> > This is an improved version of a patch Mark Mitchell submitted last
> > year. If you give strerror() anything above 42 (sys_nerr) on Windows,
> > it gives you back "Unknown error" - particularly unfortunate since
> > WSAECONNREFUSED is way above there, so connecting to a closed socket
> > will give you a generic error message. This patch lets us try an
> > OS-specific interface to fetch an error string.
> >
> > [Actually you need my next patch too to get the connection refused message;
> > right now you'll get a timeout.]
> >
> > Any comments on this patch?
>
> There were plenty :-) Is this better?
>
> We had finally eliminated the XM files in favor of autoconf checks.
> This patch re-adds an xm-*.h header file, but I think it's still
> the best of our options. We can restrict our use of these headers
> to things where autoconf is a bad fit - like right here.
No please don't do that. There's got to be a better way. Is it
possible to write a complete replacement for strerror for MinGW and
put that one in mingw-hdep.c?
Mark
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 22:55 ` Mark Kettenis
@ 2006-02-06 22:58 ` Daniel Jacobowitz
2006-02-08 0:08 ` Daniel Jacobowitz
0 siblings, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-06 22:58 UTC (permalink / raw)
To: gdb-patches
On Mon, Feb 06, 2006 at 11:54:36PM +0100, Mark Kettenis wrote:
> > Date: Mon, 6 Feb 2006 12:35:50 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> >
> > On Fri, Feb 03, 2006 at 04:54:55PM -0500, Daniel Jacobowitz wrote:
> > > This is an improved version of a patch Mark Mitchell submitted last
> > > year. If you give strerror() anything above 42 (sys_nerr) on Windows,
> > > it gives you back "Unknown error" - particularly unfortunate since
> > > WSAECONNREFUSED is way above there, so connecting to a closed socket
> > > will give you a generic error message. This patch lets us try an
> > > OS-specific interface to fetch an error string.
> > >
> > > [Actually you need my next patch too to get the connection refused message;
> > > right now you'll get a timeout.]
> > >
> > > Any comments on this patch?
> >
> > There were plenty :-) Is this better?
> >
> > We had finally eliminated the XM files in favor of autoconf checks.
> > This patch re-adds an xm-*.h header file, but I think it's still
> > the best of our options. We can restrict our use of these headers
> > to things where autoconf is a bad fit - like right here.
>
> No please don't do that. There's got to be a better way. Is it
> possible to write a complete replacement for strerror for MinGW and
> put that one in mingw-hdep.c?
Could you explain why you don't like this one a little more clearly?
Of course it'd be possible to write a complete replacement; I'd just
replace the call to the system strerror with a switch statement and
copy the strings out of the system runtime, or out of some other
standard source. But I don't see why that's any better than this, and
it's gratuituous duplication of information, so I'd like to understand
what you dislike about it.
If it's the #define strerror that you dislike, two comments:
- I could put an #ifdef around the one and only call to strerror
instead, in utils.c. I'd be perfectly happy with that.
- I can't override the system strerror by defining my own copy; that
would be prone to breakage due to the workings of
__attribute__((dllimport)). I discussed that with Chris before posting
this version.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-06 22:58 ` Daniel Jacobowitz
@ 2006-02-08 0:08 ` Daniel Jacobowitz
2006-02-08 21:08 ` Mark Kettenis
0 siblings, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-08 0:08 UTC (permalink / raw)
To: gdb-patches
On Mon, Feb 06, 2006 at 05:58:29PM -0500, Daniel Jacobowitz wrote:
> Could you explain why you don't like this one a little more clearly?
>
> Of course it'd be possible to write a complete replacement; I'd just
> replace the call to the system strerror with a switch statement and
> copy the strings out of the system runtime, or out of some other
> standard source. But I don't see why that's any better than this, and
> it's gratuituous duplication of information, so I'd like to understand
> what you dislike about it.
>
> If it's the #define strerror that you dislike, two comments:
>
> - I could put an #ifdef around the one and only call to strerror
> instead, in utils.c. I'd be perfectly happy with that.
>
> - I can't override the system strerror by defining my own copy; that
> would be prone to breakage due to the workings of
> __attribute__((dllimport)). I discussed that with Chris before posting
> this version.
Hi Mark,
Have you had a chance to think about this? I realize it's only been a
day, but I'm trying not to let these patches linger too long. I'd
really like to understand what folks dislike about this patch, so
that I can improve it. Same for the other patch; I replied to you
about select.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-08 0:08 ` Daniel Jacobowitz
@ 2006-02-08 21:08 ` Mark Kettenis
2006-02-08 21:12 ` Bob Rossi
` (2 more replies)
0 siblings, 3 replies; 98+ messages in thread
From: Mark Kettenis @ 2006-02-08 21:08 UTC (permalink / raw)
To: drow; +Cc: gdb-patches
> Date: Tue, 7 Feb 2006 19:08:55 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> On Mon, Feb 06, 2006 at 05:58:29PM -0500, Daniel Jacobowitz wrote:
> > Could you explain why you don't like this one a little more clearly?
> >
> > Of course it'd be possible to write a complete replacement; I'd just
> > replace the call to the system strerror with a switch statement and
> > copy the strings out of the system runtime, or out of some other
> > standard source. But I don't see why that's any better than this, and
> > it's gratuituous duplication of information, so I'd like to understand
> > what you dislike about it.
> >
> > If it's the #define strerror that you dislike, two comments:
> >
> > - I could put an #ifdef around the one and only call to strerror
> > instead, in utils.c. I'd be perfectly happy with that.
> >
> > - I can't override the system strerror by defining my own copy; that
> > would be prone to breakage due to the workings of
> > __attribute__((dllimport)). I discussed that with Chris before posting
> > this version.
>
> Hi Mark,
>
> Have you had a chance to think about this? I realize it's only been a
> day, but I'm trying not to let these patches linger too long. I'd
> really like to understand what folks dislike about this patch, so
> that I can improve it. Same for the other patch; I replied to you
> about select.
I really think that we should drop MinGW support, and that the people
who want GDB on windows should work on fixing the apparent problems
with Cygwin. I cannot image that Cygwin is unique in having "DLL
hell" problem. People certainly must have found a proper solution for
this by now.
My dislike for this stuff is probably there because where I've been
cleaning out much of the host-specific quirks, this MinGW support
seems to add back a lot special tweaks, and since Windows is so
different from Unix-like systems, there's absolutely no hope, things
can be unified. That, together with the reintroduction of xm.h, seems
like a giant leap backwards to me. I really don't like that xm.h is
back now, since it sets a precedent. People have used these files for
quick hacks in the past, and the new xm.h will make it harder to tell
people that's not acceptable. I think there is a better approach
though. How about having the implementation of safe_strerror() and
gdb_select() in mingw-hdep.c and move the (trivial) existing
implementations of these functions to a new posix-hdep.c?
Speaking about gdb_select(), a really bad thing about your patch is
that we now have gdb_select(), but that some code still uses select()
and that the difference matters! Oh and there's a pasto in
gdb_select.h:
+#endif /* !defined(GDB_STRING_H) */
In light of the above, the following comment in ser-tcp.h is a plain
lie ;-):
/* Serial interface for raw TCP connections on Un*x like systems.
Mark
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-08 21:08 ` Mark Kettenis
@ 2006-02-08 21:12 ` Bob Rossi
2006-02-08 23:17 ` Mark Kettenis
2006-02-08 21:54 ` Eli Zaretskii
2006-02-09 22:37 ` Daniel Jacobowitz
2 siblings, 1 reply; 98+ messages in thread
From: Bob Rossi @ 2006-02-08 21:12 UTC (permalink / raw)
To: Mark Kettenis; +Cc: drow, gdb-patches
On Wed, Feb 08, 2006 at 10:07:59PM +0100, Mark Kettenis wrote:
> > Date: Tue, 7 Feb 2006 19:08:55 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> >
> > On Mon, Feb 06, 2006 at 05:58:29PM -0500, Daniel Jacobowitz wrote:
> > > Could you explain why you don't like this one a little more clearly?
> > >
> > > Of course it'd be possible to write a complete replacement; I'd just
> > > replace the call to the system strerror with a switch statement and
> > > copy the strings out of the system runtime, or out of some other
> > > standard source. But I don't see why that's any better than this, and
> > > it's gratuituous duplication of information, so I'd like to understand
> > > what you dislike about it.
> > >
> > > If it's the #define strerror that you dislike, two comments:
> > >
> > > - I could put an #ifdef around the one and only call to strerror
> > > instead, in utils.c. I'd be perfectly happy with that.
> > >
> > > - I can't override the system strerror by defining my own copy; that
> > > would be prone to breakage due to the workings of
> > > __attribute__((dllimport)). I discussed that with Chris before posting
> > > this version.
> >
> > Hi Mark,
> >
> > Have you had a chance to think about this? I realize it's only been a
> > day, but I'm trying not to let these patches linger too long. I'd
> > really like to understand what folks dislike about this patch, so
> > that I can improve it. Same for the other patch; I replied to you
> > about select.
>
> I really think that we should drop MinGW support, and that the people
> who want GDB on windows should work on fixing the apparent problems
> with Cygwin. I cannot image that Cygwin is unique in having "DLL
> hell" problem. People certainly must have found a proper solution for
> this by now.
When I say that there is not a nice way to deliver a Cygwin1.dll, I
mean it. It's not a dll hell problem. If anyone can say that this is not
true, please let me know. I'm dieing to hear the answer.
You simply can not have 2 Cygwin1.dll's on the same system and there is
no way that I can see to prevent it from happening.
Bob Rossi
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-08 21:08 ` Mark Kettenis
2006-02-08 21:12 ` Bob Rossi
@ 2006-02-08 21:54 ` Eli Zaretskii
2006-02-08 23:10 ` Mark Kettenis
2006-02-09 22:37 ` Daniel Jacobowitz
2 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-08 21:54 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
> Date: Wed, 8 Feb 2006 22:07:59 +0100 (CET)
> From: Mark Kettenis <mark.kettenis@xs4all.nl>
> CC: gdb-patches@sourceware.org
>
> I really think that we should drop MinGW support, and that the people
> who want GDB on windows should work on fixing the apparent problems
> with Cygwin.
> [...]
> My dislike for this stuff is probably there because where I've been
> cleaning out much of the host-specific quirks, this MinGW support
> seems to add back a lot special tweaks, and since Windows is so
> different from Unix-like systems, there's absolutely no hope, things
> can be unified. That, together with the reintroduction of xm.h, seems
> like a giant leap backwards to me. I really don't like that xm.h is
> back now, since it sets a precedent. People have used these files for
> quick hacks in the past, and the new xm.h will make it harder to tell
> people that's not acceptable. I think there is a better approach
> though. How about having the implementation of safe_strerror() and
> gdb_select() in mingw-hdep.c and move the (trivial) existing
> implementations of these functions to a new posix-hdep.c?
>
> Speaking about gdb_select(), a really bad thing about your patch is
> that we now have gdb_select(), but that some code still uses select()
> and that the difference matters!
Mark, can you please make up your mind whether you are talking about
coding and design issues, or about ideology? If the problem is xm.h
and the select vs gdb_select dichotomy, those are technical problems
for which I have no doubt that we will find good solutions. In
particular, I firmly believe, based in no small part on my experience
of porting GNU software, that your fears of there being ``absolutely
no hope'' to have clean sources _and_ MinGW support--that these fears
have no real basis, because similar problems were solved elsewhere
more than once.
But if the problem is that you object in principle to having MinGW
support as part of the official codebase, then no amount of coding by
Daniel or anyone else will ever get your approval.
Which one is it?
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-08 21:54 ` Eli Zaretskii
@ 2006-02-08 23:10 ` Mark Kettenis
2006-02-08 23:22 ` Daniel Jacobowitz
2006-02-09 8:00 ` Eli Zaretskii
0 siblings, 2 replies; 98+ messages in thread
From: Mark Kettenis @ 2006-02-08 23:10 UTC (permalink / raw)
To: eliz; +Cc: gdb-patches
> Date: Wed, 08 Feb 2006 23:54:36 +0200
> From: Eli Zaretskii <eliz@gnu.org>
>
> > Date: Wed, 8 Feb 2006 22:07:59 +0100 (CET)
> > From: Mark Kettenis <mark.kettenis@xs4all.nl>
> > CC: gdb-patches@sourceware.org
> >
> > I really think that we should drop MinGW support, and that the people
> > who want GDB on windows should work on fixing the apparent problems
> > with Cygwin.
> > [...]
> > My dislike for this stuff is probably there because where I've been
> > cleaning out much of the host-specific quirks, this MinGW support
> > seems to add back a lot special tweaks, and since Windows is so
> > different from Unix-like systems, there's absolutely no hope, things
> > can be unified. That, together with the reintroduction of xm.h, seems
> > like a giant leap backwards to me. I really don't like that xm.h is
> > back now, since it sets a precedent. People have used these files for
> > quick hacks in the past, and the new xm.h will make it harder to tell
> > people that's not acceptable. I think there is a better approach
> > though. How about having the implementation of safe_strerror() and
> > gdb_select() in mingw-hdep.c and move the (trivial) existing
> > implementations of these functions to a new posix-hdep.c?
> >
> > Speaking about gdb_select(), a really bad thing about your patch is
> > that we now have gdb_select(), but that some code still uses select()
> > and that the difference matters!
>
> Mark, can you please make up your mind whether you are talking about
> coding and design issues, or about ideology? If the problem is xm.h
> and the select vs gdb_select dichotomy, those are technical problems
> for which I have no doubt that we will find good solutions. In
> particular, I firmly believe, based in no small part on my experience
> of porting GNU software, that your fears of there being ``absolutely
> no hope'' to have clean sources _and_ MinGW support--that these fears
> have no real basis, because similar problems were solved elsewhere
> more than once.
>
> But if the problem is that you object in principle to having MinGW
> support as part of the official codebase, then no amount of coding by
> Daniel or anyone else will ever get your approval.
>
> Which one is it?
I'd rather see us drop the attempt to support MinGW, but if we don't I
want to make sure the MinGW support is integrated in such a way that
its impact on the rest of the code is as small as possible.
Mark
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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
0 siblings, 2 replies; 98+ messages in thread
From: Mark Kettenis @ 2006-02-08 23:17 UTC (permalink / raw)
To: bob; +Cc: drow, gdb-patches
> Date: Wed, 8 Feb 2006 16:13:49 -0500
> From: Bob Rossi <bob@brasko.net>
>
> On Wed, Feb 08, 2006 at 10:07:59PM +0100, Mark Kettenis wrote:
> > > Date: Tue, 7 Feb 2006 19:08:55 -0500
> > > From: Daniel Jacobowitz <drow@false.org>
> > >
> > > On Mon, Feb 06, 2006 at 05:58:29PM -0500, Daniel Jacobowitz wrote:
> > > > Could you explain why you don't like this one a little more clearly?
> > > >
> > > > Of course it'd be possible to write a complete replacement; I'd just
> > > > replace the call to the system strerror with a switch statement and
> > > > copy the strings out of the system runtime, or out of some other
> > > > standard source. But I don't see why that's any better than this, and
> > > > it's gratuituous duplication of information, so I'd like to understand
> > > > what you dislike about it.
> > > >
> > > > If it's the #define strerror that you dislike, two comments:
> > > >
> > > > - I could put an #ifdef around the one and only call to strerror
> > > > instead, in utils.c. I'd be perfectly happy with that.
> > > >
> > > > - I can't override the system strerror by defining my own copy; that
> > > > would be prone to breakage due to the workings of
> > > > __attribute__((dllimport)). I discussed that with Chris before posting
> > > > this version.
> > >
> > > Hi Mark,
> > >
> > > Have you had a chance to think about this? I realize it's only been a
> > > day, but I'm trying not to let these patches linger too long. I'd
> > > really like to understand what folks dislike about this patch, so
> > > that I can improve it. Same for the other patch; I replied to you
> > > about select.
> >
> > I really think that we should drop MinGW support, and that the people
> > who want GDB on windows should work on fixing the apparent problems
> > with Cygwin. I cannot image that Cygwin is unique in having "DLL
> > hell" problem. People certainly must have found a proper solution for
> > this by now.
>
> When I say that there is not a nice way to deliver a Cygwin1.dll, I
> mean it. It's not a dll hell problem. If anyone can say that this is not
> true, please let me know. I'm dieing to hear the answer.
>
> You simply can not have 2 Cygwin1.dll's on the same system and there is
> no way that I can see to prevent it from happening.
I always understood having two different versions of a DLL with the
same name as being the "DLL hell" problem. Am I wrong? I can't
believe that in the last 10 years that people have been talking about
this problem, MicroSoft didn't come up with a solution for it. And
even if they didn't, the solution is simple: just ship the Cygwin
DLL's under a different name. Or just link the Cygwin code
statically. Or is that impossible on Windows?
Mark
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-08 23:10 ` Mark Kettenis
@ 2006-02-08 23:22 ` Daniel Jacobowitz
2006-02-09 14:40 ` Mark Kettenis
2006-02-09 8:00 ` Eli Zaretskii
1 sibling, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-08 23:22 UTC (permalink / raw)
To: Mark Kettenis; +Cc: eliz, gdb-patches
On Thu, Feb 09, 2006 at 12:10:26AM +0100, Mark Kettenis wrote:
> I'd rather see us drop the attempt to support MinGW, but if we don't I
> want to make sure the MinGW support is integrated in such a way that
> its impact on the rest of the code is as small as possible.
Will you be satisfied with the changes you've described? I am
completely wiling to work on the technical issues, but if you remain
antagonistic to the very concept, then I'm wasting my time. Again.
For the sixth or seventh time.
We need to decide this now. I, and I think Mark Mitchell also, are
heartily sick of contributing these patches, spending days revising
them to satisfy other developers, and then being told the port
shouldn't exist at all. There's a flamewar every time we post one;
that's mighty good incentive to leave the port broken.
I still don't understand your objections, but I definitely understand
your alternative:
> I really think that we should drop MinGW support, and that the people
> who want GDB on windows should work on fixing the apparent problems
> with Cygwin. I cannot image that Cygwin is unique in having "DLL
> hell" problem. People certainly must have found a proper solution for
> this by now.
This is taking some work you don't like, by some other people, and
telling them to go do something vastly harder and more fragile instead.
And just because you can't imagine that the Cygwin situation is unique
doesn't mean that it is not; in fact, I'm fairly convinced that it is.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-08 23:17 ` Mark Kettenis
@ 2006-02-08 23:23 ` Daniel Jacobowitz
2006-02-09 0:12 ` Joel Brobecker
1 sibling, 0 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-08 23:23 UTC (permalink / raw)
To: Mark Kettenis; +Cc: bob, gdb-patches
On Thu, Feb 09, 2006 at 12:16:02AM +0100, Mark Kettenis wrote:
> I always understood having two different versions of a DLL with the
> same name as being the "DLL hell" problem. Am I wrong? I can't
> believe that in the last 10 years that people have been talking about
> this problem, MicroSoft didn't come up with a solution for it. And
> even if they didn't, the solution is simple: just ship the Cygwin
> DLL's under a different name. Or just link the Cygwin code
> statically. Or is that impossible on Windows?
My understanding is that this is incompatible with the design of
Cygwin, and e.g. the mechanisms it uses to manage "emulated"
inter-process resources that don't map obviously onto Windows.
Like character devices and TTYs, to give some relevant examples.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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
1 sibling, 2 replies; 98+ messages in thread
From: Joel Brobecker @ 2006-02-09 0:12 UTC (permalink / raw)
To: Mark Kettenis; +Cc: bob, drow, gdb-patches
> I always understood having two different versions of a DLL with the
> same name as being the "DLL hell" problem. Am I wrong? I can't
> believe that in the last 10 years that people have been talking about
> this problem, MicroSoft didn't come up with a solution for it. And
> even if they didn't, the solution is simple: just ship the Cygwin
> DLL's under a different name. Or just link the Cygwin code
> statically. Or is that impossible on Windows?
I honestly think it's impossible with the current design of cygwin.
The problem is that you can only have one cygwin library at a time
mapped in the system. No amount of renaming will let you workaround
that issue. So as soon as you build GDB against cygwin, you run into
a distribution problem that cannot be fixed.
We've tried. Believe, we've tried very hard to come with a satisfactory
solution that involves cygwin.
Cygwin provides a really nice environment, and many engineers here
use it heavily. But it comes with its own tradeoffs, and some of them
made us decide to try to go back to MinGW. I therefore support, for
the little it is worth, Daniel's efforts into contributing their patches.
--
Joel
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-09 0:12 ` Joel Brobecker
@ 2006-02-09 1:54 ` Bob Rossi
2006-02-09 7:47 ` Eli Zaretskii
1 sibling, 0 replies; 98+ messages in thread
From: Bob Rossi @ 2006-02-09 1:54 UTC (permalink / raw)
To: Joel Brobecker; +Cc: Mark Kettenis, drow, gdb-patches
On Wed, Feb 08, 2006 at 04:12:45PM -0800, Joel Brobecker wrote:
> > I always understood having two different versions of a DLL with the
> > same name as being the "DLL hell" problem. Am I wrong? I can't
> > believe that in the last 10 years that people have been talking about
> > this problem, MicroSoft didn't come up with a solution for it. And
> > even if they didn't, the solution is simple: just ship the Cygwin
> > DLL's under a different name. Or just link the Cygwin code
> > statically. Or is that impossible on Windows?
>
> We've tried. Believe, we've tried very hard to come with a satisfactory
> solution that involves cygwin.
Yes, I know. (http://sourceware.org/ml/cygwin/2005-03/msg00700.html)
I had to literally edit the GDB binary to get it to run on my window's
machine because I use Cygwin for other reasons. If you didn't rename the
DLL to something of the same char length, it probably would have been
impossible.
Please see this thread I started about mismatched dll's and a possible
solution (towards the end).
http://www.cygwin.com/ml/cygwin/2006-02/msg00077.html
Very sorry to post this info here, however, I think it's related to the
discussion of only shipping GDB with Cygwin. Cygwin does have at least
this one *very major* limitation. With that said, I won't bring this up
again here.
Bob Rossi
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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
1 sibling, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-09 7:47 UTC (permalink / raw)
To: brobecker; +Cc: mark.kettenis, bob, drow, gdb-patches
> Date: Wed, 8 Feb 2006 16:12:45 -0800
> From: Joel Brobecker <brobecker@adacore.com>
> Cc: bob@brasko.net, drow@false.org, gdb-patches@sourceware.org
>
> I therefore support, for the little it is worth, Daniel's efforts
> into contributing their patches.
IMHO, it's worth a lot.
Mark, I think you should reconsider your ideological antagonism, if
indeed there is one, for haveing MinGW code in GDB. If you still
think MinGW support should be dropped, please start another thread (I
suggest on gdb@) for discussing that.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-08 23:10 ` Mark Kettenis
2006-02-08 23:22 ` Daniel Jacobowitz
@ 2006-02-09 8:00 ` Eli Zaretskii
2006-02-09 14:44 ` Mark Kettenis
1 sibling, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-09 8:00 UTC (permalink / raw)
To: mark.kettenis; +Cc: gdb-patches
> Date: Thu, 9 Feb 2006 00:10:26 +0100 (CET)
> From: Mark Kettenis <mark.kettenis@xs4all.nl>
> CC: gdb-patches@sourceware.org
>
> but if we don't [drop the attempt to support MinGW], I want to make
> sure the MinGW support is integrated in such a way that its impact
> on the rest of the code is as small as possible.
Can you state what are your expectations from such a ``as small as
possible'' impact? That is, what are the do's and dont's which, if
satisfied, will cause you to endorse the MinGW support?
I think, if Daniel is about to rewrite his patches yet another time,
he deserves to know the rules of the game in advance.
For example, here's a suggestion for what I think is more seamless
integration of MinGW and other ``illegal aliens'', here for the
`select' issue:
int gdb_select (...)
{
if (select_hook)
return (*select_hook) (...);
else
return select (...);
}
We make `select_hook' a global pointer to a function, and then MinGW
can define its own emulation on win32-something.c and plug its address
into `select_hook'.
An advantage of this method is that the name of the-evil-whatever
thingy is never even mentioned.
Would this method be okay with you? For that matter, does anyone else
object to this?
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-09 7:47 ` Eli Zaretskii
@ 2006-02-09 9:18 ` Jim Blandy
0 siblings, 0 replies; 98+ messages in thread
From: Jim Blandy @ 2006-02-09 9:18 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: brobecker, mark.kettenis, bob, drow, gdb-patches
On 2/8/06, Eli Zaretskii <eliz@gnu.org> wrote:
> > Date: Wed, 8 Feb 2006 16:12:45 -0800
> > From: Joel Brobecker <brobecker@adacore.com>
> > Cc: bob@brasko.net, drow@false.org, gdb-patches@sourceware.org
> >
> > I therefore support, for the little it is worth, Daniel's efforts
> > into contributing their patches.
>
> IMHO, it's worth a lot.
>
> Mark, I think you should reconsider your ideological antagonism, if
> indeed there is one, for haveing MinGW code in GDB. If you still
> think MinGW support should be dropped, please start another thread (I
> suggest on gdb@) for discussing that.
I'd like to second Eli's thoughts here.
I think it's clearly in GDB's interests to insist that the interface
between GDB's core code and host-specific code be clean and
well-defined. Eli's suggestion that we use global function pointers
that the host-specific file can override suits me fine; I prefer it to
header files defining macros, for reasons I've explained. But if the
interfaces are simple enough, I don't think we have reason to reject
ports to other platforms.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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
0 siblings, 2 replies; 98+ messages in thread
From: Mark Kettenis @ 2006-02-09 14:40 UTC (permalink / raw)
To: Mark Kettenis, eliz, gdb-patches
> On Thu, Feb 09, 2006 at 12:10:26AM +0100, Mark Kettenis wrote:
>> I'd rather see us drop the attempt to support MinGW, but if we don't I
>> want to make sure the MinGW support is integrated in such a way that
>> its impact on the rest of the code is as small as possible.
>
> Will you be satisfied with the changes you've described? I am
> completely wiling to work on the technical issues, but if you remain
> antagonistic to the very concept, then I'm wasting my time. Again.
> For the sixth or seventh time.
Trust me, I would not be proposing these changes just to make you do extra
work. Yes, if things are changed the way I describe, that would make them
acceptable to me.
> We need to decide this now. I, and I think Mark Mitchell also, are
> heartily sick of contributing these patches, spending days revising
> them to satisfy other developers, and then being told the port
> shouldn't exist at all. There's a flamewar every time we post one;
> that's mighty good incentive to leave the port broken.
Sorry, but from Mark's first batch of patches I got the impression that
Codesourcery was contributing well-tested code and no further changes would
be necessary. I certainly had the impression that we'd get MinGW almost
for free. Turns out now that this was too good to be true :(.
If I had known all of this beforehand, I'd probably put up more resistance
at that time. It seems that nearly all global maintainers still think MinGW
support is worth the additional cost, but I had to make sure we realise that
there *is* a cost. I'm sorry if this frustrated you and Mark; I can
certainly image it would frsutrate me if I were in a similar situation.
I would certainly appreciate it if you would address my concerns.
Mark
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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:26 ` Eli Zaretskii
0 siblings, 2 replies; 98+ messages in thread
From: Mark Kettenis @ 2006-02-09 14:44 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: mark.kettenis, gdb-patches
>> Date: Thu, 9 Feb 2006 00:10:26 +0100 (CET)
>> From: Mark Kettenis <mark.kettenis@xs4all.nl>
>> CC: gdb-patches@sourceware.org
>>
>> but if we don't [drop the attempt to support MinGW], I want to make
>> sure the MinGW support is integrated in such a way that its impact
>> on the rest of the code is as small as possible.
>
> Can you state what are your expectations from such a ``as small as
> possible'' impact? That is, what are the do's and dont's which, if
> satisfied, will cause you to endorse the MinGW support?
>
> I think, if Daniel is about to rewrite his patches yet another time,
> he deserves to know the rules of the game in advance.
>
> For example, here's a suggestion for what I think is more seamless
> integration of MinGW and other ``illegal aliens'', here for the
> `select' issue:
>
> int gdb_select (...)
> {
> if (select_hook)
> return (*select_hook) (...);
> else
> return select (...);
> }
>
> We make `select_hook' a global pointer to a function, and then MinGW
> can define its own emulation on win32-something.c and plug its address
> into `select_hook'.
There is absolutely no reason for this additional complexity. GDB will
never be able to run on two different hosts at once. Just having two
different implementations and have configure.host choose the apprpriate
one will work just fine.
Mark
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-09 14:44 ` Mark Kettenis
@ 2006-02-09 14:57 ` Daniel Jacobowitz
2006-02-09 20:40 ` Eli Zaretskii
2006-02-09 20:26 ` Eli Zaretskii
1 sibling, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-09 14:57 UTC (permalink / raw)
To: Mark Kettenis; +Cc: Eli Zaretskii, gdb-patches
On Thu, Feb 09, 2006 at 03:44:07PM +0100, Mark Kettenis wrote:
> > For example, here's a suggestion for what I think is more seamless
> > integration of MinGW and other ``illegal aliens'', here for the
> > `select' issue:
> >
> > int gdb_select (...)
> > {
> > if (select_hook)
> > return (*select_hook) (...);
> > else
> > return select (...);
> > }
> >
> > We make `select_hook' a global pointer to a function, and then MinGW
> > can define its own emulation on win32-something.c and plug its address
> > into `select_hook'.
>
> There is absolutely no reason for this additional complexity. GDB will
> never be able to run on two different hosts at once. Just having two
> different implementations and have configure.host choose the apprpriate
> one will work just fine.
FYI, I'm willing to (and now planning to) go ahead with Mark's plan,
but let me point out a disadvantage to each of these two options...
Right now, we only know of POSIX-ish systems and native Windows as
interesting hopes. I'm sure many of us fervently hope that there are
no others worth going through this for. But is it really wise to
create a host-specific override mechanism which can't scale?
If I do this Mark's way, overriding a function requires putting it into
"posix-hdep.c" and another implementation in "mingw-hdep.c". There's
no way to override only of the functions in posix-hdep.c. If I do it
Eli's way, the function can live anywhere, and is overridden by setting
"function_hook" (or "function_override"?) in _initialize_mingw_hdep.
So a new host could override just select.
Of course there's a flip side. If I do it Eli's way, the default
version has to compile and link. Which happens to be the case for
the two examples we have today, but also a pretty limiting assumption.
Neither of them's perfect. Mark's is marginally less intrusive, and
I'm halfway to an implementation already.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-09 14:40 ` Mark Kettenis
@ 2006-02-09 15:14 ` Daniel Jacobowitz
2006-02-09 20:24 ` Eli Zaretskii
1 sibling, 0 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-09 15:14 UTC (permalink / raw)
To: Mark Kettenis; +Cc: eliz, gdb-patches
On Thu, Feb 09, 2006 at 03:40:17PM +0100, Mark Kettenis wrote:
> Trust me, I would not be proposing these changes just to make you do extra
> work. Yes, if things are changed the way I describe, that would make them
> acceptable to me.
Thank you. I will work on it.
> > We need to decide this now. I, and I think Mark Mitchell also, are
> > heartily sick of contributing these patches, spending days revising
> > them to satisfy other developers, and then being told the port
> > shouldn't exist at all. There's a flamewar every time we post one;
> > that's mighty good incentive to leave the port broken.
>
> Sorry, but from Mark's first batch of patches I got the impression that
> Codesourcery was contributing well-tested code and no further changes would
> be necessary. I certainly had the impression that we'd get MinGW almost
> for free. Turns out now that this was too good to be true :(.
>
> If I had known all of this beforehand, I'd probably put up more resistance
> at that time. It seems that nearly all global maintainers still think MinGW
> support is worth the additional cost, but I had to make sure we realise that
> there *is* a cost. I'm sorry if this frustrated you and Mark; I can
> certainly image it would frsutrate me if I were in a similar situation.
> I would certainly appreciate it if you would address my concerns.
I answered this a year ago, at our _last_ flamewar about the subject.
I distinctly remember apologizing for being unable to predict the
future.
Mark did say that we were done. I wish he hadn't; all of us on this
list know that maintenance for a platform is rarely done. I didn't
notice his statement at the time, just reading the archives today.
He was done with what he needed for that project, which didn't include
serial, and predated some bug reports.
You're imposing what I consider a ridiculously high quality threshold
on this code. I'm willing to oblige you, because you did so much work
cleaning up obsolete host quirks, because it is cleaner, and in hopes
that it will decrease the shouting density on this list. But I want to
make my opinion perfectly clear - I don't think the changes you've
asked for make a _significant_ improvement in the cleanliness of GDB,
and I think they will be either irrelevant or mildly detrimental to the
future maintainability of the MinGW port, e.g. by leading to code
duplication if we needed to override anything more complex than
safe_strerror.
Anyway, this is the last message I intend to post about the general
issue of Windows support. We agreed in April 2005 to support it,
we argued it out again just now and agreed again to support it.
I will be a happy man if the question of "should we be doing this
at all" never comes up again in my vicinity. Thanks.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-09 14:40 ` Mark Kettenis
2006-02-09 15:14 ` Daniel Jacobowitz
@ 2006-02-09 20:24 ` Eli Zaretskii
1 sibling, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-09 20:24 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
> Date: Thu, 9 Feb 2006 15:40:17 +0100 (CET)
> From: "Mark Kettenis" <mark.kettenis@xs4all.nl>
>
> Sorry, but from Mark's first batch of patches I got the impression that
> Codesourcery was contributing well-tested code and no further changes would
> be necessary.
There's no such thing as ``no further changes necessary'' in
programming, Mark, I'm sure you know it.
> It seems that nearly all global maintainers still think MinGW
> support is worth the additional cost, but I had to make sure we
> realise that there *is* a cost.
Yes, there _is_ a cost, but until now I'd say it was rather
insignificant.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-09 14:44 ` Mark Kettenis
2006-02-09 14:57 ` Daniel Jacobowitz
@ 2006-02-09 20:26 ` Eli Zaretskii
1 sibling, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-09 20:26 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
> Date: Thu, 9 Feb 2006 15:44:07 +0100 (CET)
> From: "Mark Kettenis" <mark.kettenis@xs4all.nl>
> Cc: mark.kettenis@xs4all.nl, gdb-patches@sourceware.org
>
> > int gdb_select (...)
> > {
> > if (select_hook)
> > return (*select_hook) (...);
> > else
> > return select (...);
> > }
> >
> > We make `select_hook' a global pointer to a function, and then MinGW
> > can define its own emulation on win32-something.c and plug its address
> > into `select_hook'.
>
> There is absolutely no reason for this additional complexity. GDB will
> never be able to run on two different hosts at once.
The reason isn't to allow GDB to run on two different hosts, it's to
have a cleaner code and a simpler way of overriding a certain API.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-09 14:57 ` Daniel Jacobowitz
@ 2006-02-09 20:40 ` Eli Zaretskii
2006-02-09 21:06 ` Daniel Jacobowitz
0 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-09 20:40 UTC (permalink / raw)
To: gdb-patches
> Date: Thu, 9 Feb 2006 09:57:53 -0500
> From: Daniel Jacobowitz <drow@false.org>
> Cc: Eli Zaretskii <eliz@gnu.org>, gdb-patches@sourceware.org
>
> Of course there's a flip side. If I do it Eli's way, the default
> version has to compile and link. Which happens to be the case for
> the two examples we have today, but also a pretty limiting assumption.
If the default version doesn't compile on the platform that needs the
hook, the solution is simple: define enough macros and stub functions
to effectively make it the default version a nop on that platform.
But in practice, the need for this rarely if ever arises. Macros and
global symbols that are highly unportable tend to be used only if
defined, as in:
#if defined (TIOCGWINSZ)
if (ioctl (tty, TIOCGWINSZ, &window_size) == 0)
{
_rl_screenwidth = (int) window_size.ws_col;
_rl_screenheight = (int) window_size.ws_row;
}
#endif /* TIOCGWINSZ */
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-09 20:40 ` Eli Zaretskii
@ 2006-02-09 21:06 ` Daniel Jacobowitz
2006-02-09 22:13 ` Eli Zaretskii
0 siblings, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-09 21:06 UTC (permalink / raw)
To: gdb-patches
On Thu, Feb 09, 2006 at 10:38:53PM +0200, Eli Zaretskii wrote:
> > Date: Thu, 9 Feb 2006 09:57:53 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> > Cc: Eli Zaretskii <eliz@gnu.org>, gdb-patches@sourceware.org
> >
> > Of course there's a flip side. If I do it Eli's way, the default
> > version has to compile and link. Which happens to be the case for
> > the two examples we have today, but also a pretty limiting assumption.
>
> If the default version doesn't compile on the platform that needs the
> hook, the solution is simple: define enough macros and stub functions
> to effectively make it the default version a nop on that platform.
Except now I can't define either macros or prototypes for the stub
functions, since part of the point of this exercise is to avoid the
xm.h header!
A more concrete example: win32-termcap.c currently provides tgetnum,
because the current Windows setup does not use a curses library.
Unfortunately there's no prototype in scope for this anywhere,
so we get a warning. I'm going to have to autoconf for the prototype
and put it somewhere generic, instead of tucking it away in
config/i386/xm-mingw.h. I don't really love this idea but I don't
see another way to fix -Werror builds.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-09 21:06 ` Daniel Jacobowitz
@ 2006-02-09 22:13 ` Eli Zaretskii
0 siblings, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-09 22:13 UTC (permalink / raw)
To: gdb-patches
> Date: Thu, 9 Feb 2006 16:06:45 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> > If the default version doesn't compile on the platform that needs the
> > hook, the solution is simple: define enough macros and stub functions
> > to effectively make it the default version a nop on that platform.
>
> Except now I can't define either macros or prototypes for the stub
> functions
Yes, you can: in defs.h, if no other suitable header can be found in
include/, like filenames.h for file-name related issues.
Or we could add a sysdep.h header just to lump all kinds of
system-dependent ugliness there.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-08 21:08 ` Mark Kettenis
2006-02-08 21:12 ` Bob Rossi
2006-02-08 21:54 ` Eli Zaretskii
@ 2006-02-09 22:37 ` Daniel Jacobowitz
2006-02-10 7:53 ` Eli Zaretskii
2 siblings, 1 reply; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-09 22:37 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
On Wed, Feb 08, 2006 at 10:07:59PM +0100, Mark Kettenis wrote:
> My dislike for this stuff is probably there because where I've been
> cleaning out much of the host-specific quirks, this MinGW support
> seems to add back a lot special tweaks, and since Windows is so
> different from Unix-like systems, there's absolutely no hope, things
> can be unified. That, together with the reintroduction of xm.h, seems
> like a giant leap backwards to me. I really don't like that xm.h is
> back now, since it sets a precedent. People have used these files for
> quick hacks in the past, and the new xm.h will make it harder to tell
> people that's not acceptable. I think there is a better approach
> though. How about having the implementation of safe_strerror() and
> gdb_select() in mingw-hdep.c and move the (trivial) existing
> implementations of these functions to a new posix-hdep.c?
I really dislike _this_ precedent: Don't allow the existance of xm.h
because people abused it in the past. That's what review is for,
right?
Anyway, here's a patch updated in every way I can think of to make it
less upsetting. Is this really better? Select to follow in the proper
thread.
--
Daniel Jacobowitz
CodeSourcery
2006-02-06 Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.in (mingw-hdep.o, posix-hdep.o): New dependencies.
(ALLDEPFILES): Add mingw-hdep.c and posix-hdep.c.
* configure.ac: Add gdb_host_obs to CONFIG_OBS. Set gdb_host_obs
to posix-hdep.o by default.
* configure: Regenerated.
* configure.host: Document gdb_host_obs. Add an entry for
i[34567]86-*-mingw32*.
* mingw-hdep.c, posix-hdep.c: New files.
* utils.c (safe_strerror): Remove, moved to posix-hdep.o.
Index: src/gdb/Makefile.in
===================================================================
--- src.orig/gdb/Makefile.in 2006-02-09 13:28:51.000000000 -0500
+++ src/gdb/Makefile.in 2006-02-09 16:50:17.000000000 -0500
@@ -1422,6 +1422,7 @@ ALLDEPFILES = \
m68kbsd-nat.c m68kbsd-tdep.c \
m68klinux-nat.c m68klinux-tdep.c \
m88k-tdep.c m88kbsd-nat.c \
+ mingw-hdep.c \
mips-linux-nat.c mips-linux-tdep.c \
mips-irix-tdep.c \
mips-tdep.c mipsv4-nat.c \
@@ -1430,6 +1431,7 @@ ALLDEPFILES = \
nbsd-tdep.c obsd-tdep.c \
solib-osf.c \
somread.c solib-som.c $(HPREAD_SOURCE) \
+ posix-hdep.c \
ppc-sysv-tdep.c ppc-linux-nat.c ppc-linux-tdep.c \
ppcnbsd-nat.c ppcnbsd-tdep.c \
ppcobsd-nat.c ppcobsd-tdep.c \
@@ -2280,6 +2282,7 @@ memattr.o: memattr.c $(defs_h) $(command
$(target_h) $(value_h) $(language_h) $(gdb_string_h)
mem-break.o: mem-break.c $(defs_h) $(symtab_h) $(breakpoint_h) $(inferior_h) \
$(target_h)
+mingw-hdep.o: mingw-hdep.c $(defs_h) $(gdb_string_h)
minsyms.o: minsyms.c $(defs_h) $(gdb_string_h) $(symtab_h) $(bfd_h) \
$(symfile_h) $(objfiles_h) $(demangle_h) $(value_h) $(cp_abi_h)
mips64obsd-nat.o: mips64obsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
@@ -2375,6 +2378,7 @@ p-exp.o: p-exp.c $(defs_h) $(gdb_string_
p-lang.o: p-lang.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
$(expression_h) $(parser_defs_h) $(language_h) $(p_lang_h) \
$(valprint_h) $(value_h)
+posix-hdep.o: posix-hdep.c $(defs_h)
ppc-bdm.o: ppc-bdm.c $(defs_h) $(gdbcore_h) $(gdb_string_h) $(frame_h) \
$(inferior_h) $(bfd_h) $(symfile_h) $(target_h) $(gdbcmd_h) \
$(objfiles_h) $(gdb_stabs_h) $(serial_h) $(ocd_h) $(ppc_tdep_h) \
Index: src/gdb/configure.ac
===================================================================
--- src.orig/gdb/configure.ac 2006-02-09 13:28:51.000000000 -0500
+++ src/gdb/configure.ac 2006-02-09 16:52:25.000000000 -0500
@@ -112,6 +112,10 @@ AC_DEFINE_DIR(DEBUGDIR, debugdir,
AC_CONFIG_SUBDIRS(doc testsuite)
+# Provide defaults for some variables set by the per-host and per-target
+# configuration.
+gdb_host_obs=posix-hdep.o
+
. $srcdir/configure.host
. $srcdir/configure.tgt
@@ -1225,6 +1229,9 @@ case ${host} in
esac
AC_SUBST(WIN32LIBS)
+# Add any host-specific objects to GDB.
+CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
+
LIBGUI="../libgui/src/libgui.a"
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
AC_SUBST(LIBGUI)
Index: src/gdb/configure.host
===================================================================
--- src.orig/gdb/configure.host 2006-02-09 13:28:51.000000000 -0500
+++ src/gdb/configure.host 2006-02-09 16:52:12.000000000 -0500
@@ -7,6 +7,7 @@
# gdb_host_float_format host's float floatformat, or 0
# gdb_host_double_format host's double floatformat, or 0
# gdb_host_long_double_format host's long double floatformat, or 0
+# gdb_host_obs host-specific .o files to include
# Map host cpu into the config cpu subdirectory name.
# The default is $host_cpu.
@@ -64,6 +65,9 @@ i[34567]86-*-netbsdelf* | i[34567]86-*-k
gdb_host=nbsdelf ;;
i[34567]86-*-netbsd*) gdb_host=nbsdaout ;;
i[34567]86-*-go32*) gdb_host=go32 ;;
+i[34567]86-*-mingw32*) gdb_host=mingw
+ gdb_host_obs=mingw-hdep.o
+ ;;
i[34567]86-*-msdosdjgpp*) gdb_host=go32 ;;
i[34567]86-*-linux*) gdb_host=linux ;;
i[34567]86-*-lynxos*) gdb_host=i386lynx ;;
Index: src/gdb/mingw-hdep.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/gdb/mingw-hdep.c 2006-02-09 16:49:11.000000000 -0500
@@ -0,0 +1,71 @@
+/* Host support routines for MinGW, for GDB, the GNU debugger.
+
+ Copyright (C) 2006
+ Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
+#include "defs.h"
+
+#include "gdb_string.h"
+
+#include <windows.h>
+
+/* The strerror() function can return NULL for errno values that are
+ out of range. Provide a "safe" version that always returns a
+ printable string.
+
+ The Windows runtime implementation of strerror never returns NULL,
+ but does return a useless string for anything above sys_nerr;
+ unfortunately this includes all socket-related error codes.
+ This replacement tries to find a system-provided error message. */
+
+char *
+safe_strerror (int errnum)
+{
+ static char *buffer;
+ int len;
+
+ if (errnum >= 0 && errnum < sys_nerr)
+ return strerror (errnum);
+
+ if (buffer)
+ {
+ LocalFree (buffer);
+ buffer = NULL;
+ }
+
+ if (FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER
+ | FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL, errnum,
+ MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR) &buffer, 0, NULL) == 0)
+ {
+ static char buf[32];
+ xsnprintf (buf, sizeof buf, "(undocumented errno %d)", errnum);
+ return buf;
+ }
+
+ /* Windows error messages end with a period and a CR-LF; strip that
+ out. */
+ len = strlen (buffer);
+ if (len > 3 && strcmp (buffer + len - 3, ".\r\n") == 0)
+ buffer[len - 3] = '\0';
+
+ return buffer;
+}
Index: src/gdb/posix-hdep.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/gdb/posix-hdep.c 2006-02-09 16:47:26.000000000 -0500
@@ -0,0 +1,43 @@
+/* Host support routines for MinGW, for GDB, the GNU debugger.
+
+ Copyright (C) 2006
+ Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
+#include "defs.h"
+
+/* The strerror() function can return NULL for errno values that are
+ out of range. Provide a "safe" version that always returns a
+ printable string. */
+
+char *
+safe_strerror (int errnum)
+{
+ char *msg;
+
+ msg = strerror (errnum);
+ if (msg == NULL)
+ {
+ static char buf[32];
+ xsnprintf (buf, sizeof buf, "(undocumented errno %d)", errnum);
+ msg = buf;
+ }
+ return (msg);
+}
+
Index: src/gdb/utils.c
===================================================================
--- src.orig/gdb/utils.c 2006-02-07 11:11:34.000000000 -0500
+++ src/gdb/utils.c 2006-02-09 16:47:34.000000000 -0500
@@ -838,25 +838,6 @@ internal_warning (const char *file, int
va_end (ap);
}
-/* The strerror() function can return NULL for errno values that are
- out of range. Provide a "safe" version that always returns a
- printable string. */
-
-char *
-safe_strerror (int errnum)
-{
- char *msg;
-
- msg = strerror (errnum);
- if (msg == NULL)
- {
- static char buf[32];
- xsnprintf (buf, sizeof buf, "(undocumented errno %d)", errnum);
- msg = buf;
- }
- return (msg);
-}
-
/* Print the system error message for errno, and also mention STRING
as the file name for which the error was encountered.
Then return to command level. */
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-09 22:37 ` Daniel Jacobowitz
@ 2006-02-10 7:53 ` Eli Zaretskii
2006-02-10 16:18 ` Christopher Faylor
0 siblings, 1 reply; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-10 7:53 UTC (permalink / raw)
To: gdb-patches
> Date: Thu, 9 Feb 2006 17:37:19 -0500
> From: Daniel Jacobowitz <drow@false.org>
> Cc: gdb-patches@sourceware.org
>
> Anyway, here's a patch updated in every way I can think of to make it
> less upsetting. Is this really better? Select to follow in the proper
> thread.
I'm fine with this, if this is the best compromise we can reach.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
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
0 siblings, 2 replies; 98+ messages in thread
From: Christopher Faylor @ 2006-02-10 16:18 UTC (permalink / raw)
To: gdb-patches
On Fri, Feb 10, 2006 at 09:53:10AM +0200, Eli Zaretskii wrote:
>> Date: Thu, 9 Feb 2006 17:37:19 -0500
>> From: Daniel Jacobowitz
>>
>> Anyway, here's a patch updated in every way I can think of to make it
>> less upsetting. Is this really better? Select to follow in the proper
>> thread.
>
>I'm fine with this, if this is the best compromise we can reach.
I'm wondering if a top-level "mingw" directory might simplify things here?
Could most of the Windows accommodations be put in an "external" library
and an external header file and just have gdb point to that?
cgf
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-10 16:18 ` Christopher Faylor
@ 2006-02-10 16:49 ` Daniel Jacobowitz
2006-02-10 18:18 ` Eli Zaretskii
1 sibling, 0 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-10 16:49 UTC (permalink / raw)
To: gdb-patches
On Fri, Feb 10, 2006 at 11:18:00AM -0500, Christopher Faylor wrote:
> On Fri, Feb 10, 2006 at 09:53:10AM +0200, Eli Zaretskii wrote:
> >> Date: Thu, 9 Feb 2006 17:37:19 -0500
> >> From: Daniel Jacobowitz
> >>
> >> Anyway, here's a patch updated in every way I can think of to make it
> >> less upsetting. Is this really better? Select to follow in the proper
> >> thread.
> >
> >I'm fine with this, if this is the best compromise we can reach.
>
> I'm wondering if a top-level "mingw" directory might simplify things here?
> Could most of the Windows accommodations be put in an "external" library
> and an external header file and just have gdb point to that?
I spoke with Chris about this a bit, offline; my general feeling is
that (for reasons previously discussed) this wouldn't help. For
instance we'd have to find some other way than knowing how handles
had been created to figure out how to properly select on them.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-10 16:18 ` Christopher Faylor
2006-02-10 16:49 ` Daniel Jacobowitz
@ 2006-02-10 18:18 ` Eli Zaretskii
1 sibling, 0 replies; 98+ messages in thread
From: Eli Zaretskii @ 2006-02-10 18:18 UTC (permalink / raw)
To: gdb-patches
> Date: Fri, 10 Feb 2006 11:18:00 -0500
> From: Christopher Faylor <cgf-mailinglist-please@cygwin.com>
>
> I'm wondering if a top-level "mingw" directory might simplify things here?
I think that's too complex for the simple problems we have.
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-03 21:55 RFA: Support Windows extended error numbers in safe_strerror Daniel Jacobowitz
` (2 preceding siblings ...)
2006-02-06 17:35 ` Daniel Jacobowitz
@ 2006-02-10 21:56 ` Daniel Jacobowitz
3 siblings, 0 replies; 98+ messages in thread
From: Daniel Jacobowitz @ 2006-02-10 21:56 UTC (permalink / raw)
To: gdb-patches
On Fri, Feb 03, 2006 at 04:54:55PM -0500, Daniel Jacobowitz wrote:
> This is an improved version of a patch Mark Mitchell submitted last
> year. If you give strerror() anything above 42 (sys_nerr) on Windows,
> it gives you back "Unknown error" - particularly unfortunate since
> WSAECONNREFUSED is way above there, so connecting to a closed socket
> will give you a generic error message. This patch lets us try an
> OS-specific interface to fetch an error string.
>
> [Actually you need my next patch too to get the connection refused message;
> right now you'll get a timeout.]
Here's what I have checked in, tested on x86_64-linux and i586-mingw32.
There's a typo fix since the last posting.
--
Daniel Jacobowitz
CodeSourcery
2006-02-10 Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.in (mingw-hdep.o, posix-hdep.o): New dependencies.
(ALLDEPFILES): Add mingw-hdep.c and posix-hdep.c.
* configure.ac: Add gdb_host_obs to CONFIG_OBS. Set gdb_host_obs
to posix-hdep.o by default.
* configure: Regenerated.
* configure.host: Document gdb_host_obs. Add an entry for
i[34567]86-*-mingw32*.
* mingw-hdep.c, posix-hdep.c: New files.
* utils.c (safe_strerror): Remove, moved to posix-hdep.o.
Index: src/gdb/Makefile.in
===================================================================
--- src.orig/gdb/Makefile.in 2006-02-09 17:25:51.000000000 -0500
+++ src/gdb/Makefile.in 2006-02-10 12:41:37.000000000 -0500
@@ -1422,6 +1422,7 @@ ALLDEPFILES = \
m68kbsd-nat.c m68kbsd-tdep.c \
m68klinux-nat.c m68klinux-tdep.c \
m88k-tdep.c m88kbsd-nat.c \
+ mingw-hdep.c \
mips-linux-nat.c mips-linux-tdep.c \
mips-irix-tdep.c \
mips-tdep.c mipsv4-nat.c \
@@ -1430,6 +1431,7 @@ ALLDEPFILES = \
nbsd-tdep.c obsd-tdep.c \
solib-osf.c \
somread.c solib-som.c $(HPREAD_SOURCE) \
+ posix-hdep.c \
ppc-sysv-tdep.c ppc-linux-nat.c ppc-linux-tdep.c \
ppcnbsd-nat.c ppcnbsd-tdep.c \
ppcobsd-nat.c ppcobsd-tdep.c \
@@ -2280,6 +2282,7 @@ memattr.o: memattr.c $(defs_h) $(command
$(target_h) $(value_h) $(language_h) $(gdb_string_h)
mem-break.o: mem-break.c $(defs_h) $(symtab_h) $(breakpoint_h) $(inferior_h) \
$(target_h)
+mingw-hdep.o: mingw-hdep.c $(defs_h) $(gdb_string_h)
minsyms.o: minsyms.c $(defs_h) $(gdb_string_h) $(symtab_h) $(bfd_h) \
$(symfile_h) $(objfiles_h) $(demangle_h) $(value_h) $(cp_abi_h)
mips64obsd-nat.o: mips64obsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
@@ -2375,6 +2378,7 @@ p-exp.o: p-exp.c $(defs_h) $(gdb_string_
p-lang.o: p-lang.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
$(expression_h) $(parser_defs_h) $(language_h) $(p_lang_h) \
$(valprint_h) $(value_h)
+posix-hdep.o: posix-hdep.c $(defs_h) $(gdb_string_h)
ppc-bdm.o: ppc-bdm.c $(defs_h) $(gdbcore_h) $(gdb_string_h) $(frame_h) \
$(inferior_h) $(bfd_h) $(symfile_h) $(target_h) $(gdbcmd_h) \
$(objfiles_h) $(gdb_stabs_h) $(serial_h) $(ocd_h) $(ppc_tdep_h) \
Index: src/gdb/configure
===================================================================
--- src.orig/gdb/configure 2006-02-09 17:25:51.000000000 -0500
+++ src/gdb/configure 2006-02-10 12:41:28.000000000 -0500
@@ -991,7 +991,7 @@ esac
else
echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi
- cd $ac_popdir
+ cd "$ac_popdir"
done
fi
@@ -1933,8 +1933,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -1992,8 +1991,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2109,8 +2107,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2164,8 +2161,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2210,8 +2206,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2255,8 +2250,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2619,8 +2613,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2674,8 +2667,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2781,8 +2773,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3081,8 +3072,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3289,8 +3279,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3350,8 +3339,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3430,8 +3418,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3496,8 +3483,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3562,8 +3548,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3627,8 +3612,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3709,8 +3693,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3851,8 +3834,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3990,8 +3972,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4175,8 +4156,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4427,8 +4407,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4622,8 +4601,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4726,8 +4704,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4798,8 +4775,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4896,8 +4872,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5033,8 +5008,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5098,8 +5072,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5154,8 +5127,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5295,8 +5267,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5429,8 +5400,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5707,8 +5677,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5942,6 +5911,10 @@ _ACEOF
subdirs="$subdirs doc testsuite"
+# Provide defaults for some variables set by the per-host and per-target
+# configuration.
+gdb_host_obs=posix-hdep.o
+
. $srcdir/configure.host
. $srcdir/configure.tgt
@@ -6127,8 +6100,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6277,8 +6249,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6434,8 +6405,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6584,8 +6554,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6796,8 +6765,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6860,8 +6828,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6931,8 +6898,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7578,8 +7544,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7683,8 +7648,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7750,8 +7714,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7827,8 +7790,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7882,8 +7844,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7955,8 +7916,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8010,8 +7970,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8091,8 +8050,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8146,8 +8104,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8238,8 +8195,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8293,8 +8249,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8377,8 +8332,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8450,8 +8404,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8505,8 +8458,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8577,8 +8529,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8632,8 +8583,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8758,8 +8708,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8925,8 +8874,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9075,8 +9023,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9142,8 +9089,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9293,8 +9239,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9445,8 +9390,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9595,8 +9539,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9745,8 +9688,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9895,8 +9837,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10047,8 +9988,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10197,8 +10137,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10347,8 +10286,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10497,8 +10435,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10647,8 +10584,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10797,8 +10733,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -10944,8 +10879,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11011,8 +10945,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11162,8 +11095,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11313,8 +11245,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11463,8 +11394,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11613,8 +11543,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11763,8 +11692,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11910,8 +11838,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -11978,8 +11905,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12130,8 +12056,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12280,8 +12205,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12447,8 +12371,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12597,8 +12520,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12744,8 +12666,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12815,8 +12736,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -12968,8 +12888,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13038,8 +12957,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13108,8 +13026,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13180,8 +13097,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13250,8 +13166,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13322,8 +13237,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13392,8 +13306,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13462,8 +13375,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13538,8 +13450,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13582,8 +13493,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13648,8 +13558,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13692,8 +13601,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13771,8 +13679,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13836,8 +13743,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -13902,8 +13808,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14015,8 +13920,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14076,8 +13980,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14154,8 +14057,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14236,8 +14138,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14378,8 +14279,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14517,8 +14417,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14702,8 +14601,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -14942,8 +14840,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15011,8 +14908,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15197,8 +15093,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15240,18 +15135,24 @@ else
ac_cv_func_fork_works=cross
else
cat >conftest.$ac_ext <<_ACEOF
-/* By Ruediger Kuhlmann. */
- #include <sys/types.h>
- #if HAVE_UNISTD_H
- # include <unistd.h>
- #endif
- /* Some systems only have a dummy stub for fork() */
- int main ()
- {
- if (fork() < 0)
- exit (1);
- exit (0);
- }
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* By Ruediger Kuhlmann. */
+ if (fork() < 0)
+ exit (1);
+ exit (0);
+
+ ;
+ return 0;
+}
_ACEOF
rm -f conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
@@ -15531,8 +15432,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15634,8 +15534,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15736,8 +15635,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15838,8 +15736,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -15940,8 +15837,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16043,8 +15939,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16147,8 +16042,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16249,8 +16143,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16351,8 +16244,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16453,8 +16345,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16555,8 +16446,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16636,8 +16526,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16709,8 +16598,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16776,8 +16664,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16825,8 +16712,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -16977,8 +16863,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17042,8 +16927,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17111,8 +16995,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17190,8 +17073,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17237,8 +17119,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17304,8 +17185,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17367,8 +17247,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17433,8 +17312,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17478,8 +17356,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17544,8 +17421,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17589,8 +17465,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17655,8 +17530,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17718,8 +17592,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17782,8 +17655,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17846,8 +17718,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -17954,8 +17825,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18019,8 +17889,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18084,8 +17953,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18149,8 +18017,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18214,8 +18081,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18279,8 +18145,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18344,8 +18209,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18409,8 +18273,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18474,8 +18337,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18539,8 +18401,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18604,8 +18465,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18669,8 +18529,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18734,8 +18593,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18799,8 +18657,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18931,8 +18788,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -18996,8 +18852,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19060,8 +18915,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19127,8 +18981,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19191,8 +19044,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19261,8 +19113,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19385,8 +19236,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19579,8 +19429,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19693,8 +19542,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19759,8 +19607,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19824,8 +19671,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19894,8 +19740,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -19959,8 +19804,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -20024,8 +19868,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -20192,8 +20035,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -20282,6 +20124,9 @@ _ACEOF
esac
+# Add any host-specific objects to GDB.
+CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
+
LIBGUI="../libgui/src/libgui.a"
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
@@ -20642,8 +20487,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -20894,8 +20738,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -21355,6 +21198,7 @@ fi
echo "$as_me:$LINENO: checking for X" >&5
echo $ECHO_N "checking for X... $ECHO_C" >&6
+ac_path_x_has_been_run=yes
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
@@ -21447,7 +21291,7 @@ ac_x_header_dirs='
/usr/openwin/share/include'
if test "$ac_x_includes" = no; then
- # Guess where to find include files, by looking for Intrinsic.h.
+ # Guess where to find include files, by looking for a specified header file.
# First, try using that file with no special directory specified.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -21455,7 +21299,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Intrinsic.h>
+#include <X11/Xlib.h>
_ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
@@ -21482,7 +21326,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
for ac_dir in $ac_x_header_dirs; do
- if test -r "$ac_dir/X11/Intrinsic.h"; then
+ if test -r "$ac_dir/X11/Xlib.h"; then
ac_x_includes=$ac_dir
break
fi
@@ -21496,18 +21340,18 @@ if test "$ac_x_libraries" = no; then
# See if we find them without any special options.
# Don't add to $LIBS permanently.
ac_save_LIBS=$LIBS
- LIBS="-lXt $LIBS"
+ LIBS="-lX11 $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Intrinsic.h>
+#include <X11/Xlib.h>
int
main ()
{
-XtMalloc (0)
+XrmInitialize ()
;
return 0;
}
@@ -21521,8 +21365,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -21546,7 +21389,7 @@ for ac_dir in `echo "$ac_x_includes $ac_
do
# Don't even attempt the hair of trying to link an X program!
for ac_extension in a so sl; do
- if test -r $ac_dir/libXt.$ac_extension; then
+ if test -r $ac_dir/libX11.$ac_extension; then
ac_x_libraries=$ac_dir
break 2
fi
@@ -21582,8 +21425,12 @@ else
# Update the cache value to reflect the command line values.
ac_cv_have_x="have_x=yes \
ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
- echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
-echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
+ # It might be that x_includes is empty (headers are found in the
+ # standard search path. Then output the corresponding message
+ ac_out_x_includes=$x_includes
+ test "x$x_includes" = x && ac_out_x_includes="in standard search path"
+ echo "$as_me:$LINENO: result: libraries $x_libraries, headers $ac_out_x_includes" >&5
+echo "${ECHO_T}libraries $x_libraries, headers $ac_out_x_includes" >&6
fi
@@ -21907,8 +21754,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -21958,8 +21804,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -22034,8 +21879,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -23033,11 +22877,6 @@ esac
*) ac_INSTALL=$ac_top_builddir$INSTALL ;;
esac
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
@@ -23076,6 +22915,12 @@ echo "$as_me: error: cannot find input f
fi;;
esac
done` || { (exit 1); exit 1; }
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
sed "$ac_vpsub
@@ -23799,7 +23644,7 @@ echo "$as_me: error: $ac_sub_configure f
{ (exit 1); exit 1; }; }
fi
- cd $ac_popdir
+ cd "$ac_popdir"
done
fi
Index: src/gdb/configure.ac
===================================================================
--- src.orig/gdb/configure.ac 2006-02-09 17:25:51.000000000 -0500
+++ src/gdb/configure.ac 2006-02-10 12:41:28.000000000 -0500
@@ -112,6 +112,10 @@ AC_DEFINE_DIR(DEBUGDIR, debugdir,
AC_CONFIG_SUBDIRS(doc testsuite)
+# Provide defaults for some variables set by the per-host and per-target
+# configuration.
+gdb_host_obs=posix-hdep.o
+
. $srcdir/configure.host
. $srcdir/configure.tgt
@@ -1225,6 +1229,9 @@ case ${host} in
esac
AC_SUBST(WIN32LIBS)
+# Add any host-specific objects to GDB.
+CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
+
LIBGUI="../libgui/src/libgui.a"
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
AC_SUBST(LIBGUI)
Index: src/gdb/configure.host
===================================================================
--- src.orig/gdb/configure.host 2006-02-09 17:25:51.000000000 -0500
+++ src/gdb/configure.host 2006-02-09 17:26:52.000000000 -0500
@@ -7,6 +7,7 @@
# gdb_host_float_format host's float floatformat, or 0
# gdb_host_double_format host's double floatformat, or 0
# gdb_host_long_double_format host's long double floatformat, or 0
+# gdb_host_obs host-specific .o files to include
# Map host cpu into the config cpu subdirectory name.
# The default is $host_cpu.
@@ -64,6 +65,9 @@ i[34567]86-*-netbsdelf* | i[34567]86-*-k
gdb_host=nbsdelf ;;
i[34567]86-*-netbsd*) gdb_host=nbsdaout ;;
i[34567]86-*-go32*) gdb_host=go32 ;;
+i[34567]86-*-mingw32*) gdb_host=mingw
+ gdb_host_obs=mingw-hdep.o
+ ;;
i[34567]86-*-msdosdjgpp*) gdb_host=go32 ;;
i[34567]86-*-linux*) gdb_host=linux ;;
i[34567]86-*-lynxos*) gdb_host=i386lynx ;;
Index: src/gdb/mingw-hdep.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/gdb/mingw-hdep.c 2006-02-10 12:41:28.000000000 -0500
@@ -0,0 +1,71 @@
+/* Host support routines for MinGW, for GDB, the GNU debugger.
+
+ Copyright (C) 2006
+ Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
+#include "defs.h"
+
+#include "gdb_string.h"
+
+#include <windows.h>
+
+/* The strerror() function can return NULL for errno values that are
+ out of range. Provide a "safe" version that always returns a
+ printable string.
+
+ The Windows runtime implementation of strerror never returns NULL,
+ but does return a useless string for anything above sys_nerr;
+ unfortunately this includes all socket-related error codes.
+ This replacement tries to find a system-provided error message. */
+
+char *
+safe_strerror (int errnum)
+{
+ static char *buffer;
+ int len;
+
+ if (errnum >= 0 && errnum < sys_nerr)
+ return strerror (errnum);
+
+ if (buffer)
+ {
+ LocalFree (buffer);
+ buffer = NULL;
+ }
+
+ if (FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER
+ | FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL, errnum,
+ MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR) &buffer, 0, NULL) == 0)
+ {
+ static char buf[32];
+ xsnprintf (buf, sizeof buf, "(undocumented errno %d)", errnum);
+ return buf;
+ }
+
+ /* Windows error messages end with a period and a CR-LF; strip that
+ out. */
+ len = strlen (buffer);
+ if (len > 3 && strcmp (buffer + len - 3, ".\r\n") == 0)
+ buffer[len - 3] = '\0';
+
+ return buffer;
+}
Index: src/gdb/posix-hdep.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ src/gdb/posix-hdep.c 2006-02-10 12:41:57.000000000 -0500
@@ -0,0 +1,45 @@
+/* Host support routines for MinGW, for GDB, the GNU debugger.
+
+ Copyright (C) 2006
+ Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
+#include "defs.h"
+
+#include "gdb_string.h"
+
+/* The strerror() function can return NULL for errno values that are
+ out of range. Provide a "safe" version that always returns a
+ printable string. */
+
+char *
+safe_strerror (int errnum)
+{
+ char *msg;
+
+ msg = strerror (errnum);
+ if (msg == NULL)
+ {
+ static char buf[32];
+ xsnprintf (buf, sizeof buf, "(undocumented errno %d)", errnum);
+ msg = buf;
+ }
+ return (msg);
+}
+
Index: src/gdb/utils.c
===================================================================
--- src.orig/gdb/utils.c 2006-02-09 17:25:51.000000000 -0500
+++ src/gdb/utils.c 2006-02-09 17:26:52.000000000 -0500
@@ -838,25 +838,6 @@ internal_warning (const char *file, int
va_end (ap);
}
-/* The strerror() function can return NULL for errno values that are
- out of range. Provide a "safe" version that always returns a
- printable string. */
-
-char *
-safe_strerror (int errnum)
-{
- char *msg;
-
- msg = strerror (errnum);
- if (msg == NULL)
- {
- static char buf[32];
- xsnprintf (buf, sizeof buf, "(undocumented errno %d)", errnum);
- msg = buf;
- }
- return (msg);
-}
-
/* Print the system error message for errno, and also mention STRING
as the file name for which the error was encountered.
Then return to command level. */
^ permalink raw reply [flat|nested] 98+ messages in thread
* Re: RFA: Support Windows extended error numbers in safe_strerror
2006-02-03 23:25 ` Mark Kettenis
2006-02-03 23:39 ` Christopher Faylor
2006-02-04 1:06 ` Jim Blandy
@ 2006-03-02 0:53 ` Michael Snyder
2 siblings, 0 replies; 98+ messages in thread
From: Michael Snyder @ 2006-03-02 0:53 UTC (permalink / raw)
To: Mark Kettenis; +Cc: drow, gdb-patches, Fred Fish
Mark Kettenis wrote:
> GDB is written for POSIX systems.
Hmmmm, don't know about that. GDB was written for the Hurd.
Even I don't go back that far, but Fred Fish does -- I see a
Usenet post from Fred saying that he had version 1.1 of gdb
back in January of '87. (Hey Fred -- any chance you've still
got that? <g>)
Posix was being whispered about at least as early as '86, but
I don't think GNU was conceived as being Posix-compliant until
way later (if at all).
^ permalink raw reply [flat|nested] 98+ messages in thread
end of thread, other threads:[~2006-03-02 0:53 UTC | newest]
Thread overview: 98+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-03 21:55 RFA: Support Windows extended error numbers in safe_strerror 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
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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox