From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32285 invoked by alias); 8 Feb 2006 21:08:37 -0000 Received: (qmail 32277 invoked by uid 22791); 8 Feb 2006 21:08:36 -0000 X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO sibelius.xs4all.nl) (82.92.89.47) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 08 Feb 2006 21:08:34 +0000 Received: from elgar.sibelius.xs4all.nl (root@elgar.sibelius.xs4all.nl [192.168.0.2]) by sibelius.xs4all.nl (8.13.4/8.13.4) with ESMTP id k18L7x84021522; Wed, 8 Feb 2006 22:07:59 +0100 (CET) Received: from elgar.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by elgar.sibelius.xs4all.nl (8.13.4/8.13.3) with ESMTP id k18L7xj9001143; Wed, 8 Feb 2006 22:07:59 +0100 (CET) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.13.4/8.13.4/Submit) id k18L7xRh013417; Wed, 8 Feb 2006 22:07:59 +0100 (CET) Date: Wed, 08 Feb 2006 21:08:00 -0000 Message-Id: <200602082107.k18L7xRh013417@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: drow@false.org CC: gdb-patches@sourceware.org In-reply-to: <20060208000855.GA5040@nevyn.them.org> (message from Daniel Jacobowitz on Tue, 7 Feb 2006 19:08:55 -0500) Subject: Re: RFA: Support Windows extended error numbers in safe_strerror References: <20060203215455.GA3501@nevyn.them.org> <20060206173550.GB22947@nevyn.them.org> <200602062254.k16MsagK009925@elgar.sibelius.xs4all.nl> <20060206225829.GA31895@nevyn.them.org> <20060208000855.GA5040@nevyn.them.org> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-02/txt/msg00187.txt.bz2 > Date: Tue, 7 Feb 2006 19:08:55 -0500 > From: Daniel Jacobowitz > > 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