From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15485 invoked by alias); 2 Apr 2013 17:32:50 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 15449 invoked by uid 89); 2 Apr 2013 17:32:42 -0000 X-Spam-SWARE-Status: No, score=-4.3 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RCVD_IN_DNSWL_NONE,RCVD_IN_HOSTKARMA_YE,SPF_SOFTFAIL autolearn=no version=3.3.1 Received: from mtaout22.012.net.il (HELO mtaout22.012.net.il) (80.179.55.172) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Tue, 02 Apr 2013 17:32:39 +0000 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MKN00E001GBQE00@a-mtaout22.012.net.il> for gdb-patches@sourceware.org; Tue, 02 Apr 2013 20:32:31 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MKN00EDV22328G0@a-mtaout22.012.net.il>; Tue, 02 Apr 2013 20:32:28 +0300 (IDT) Date: Tue, 02 Apr 2013 18:05:00 -0000 From: Eli Zaretskii Subject: Re: one week to gdb-7.6 release? In-reply-to: <83eheywxye.fsf@gnu.org> To: brobecker@adacore.com Cc: gdb-patches@sourceware.org, palves@redhat.com, jan.kratochvil@redhat.com Reply-to: Eli Zaretskii Message-id: <83ppycj0s3.fsf@gnu.org> References: <20130320160032.GC5447@adacore.com> <83vc8myoyb.fsf@gnu.org> <83ehf64cfs.fsf@gnu.org> <20130323162534.GI5447@adacore.com> <834ng23soj.fsf@gnu.org> <20130325151825.GJ5447@adacore.com> <83k3ov1mo0.fsf@gnu.org> <20130325162524.GK5447@adacore.com> <20130329015924.GA14360@adacore.com> <83eheywxye.fsf@gnu.org> X-SW-Source: 2013-04/txt/msg00058.txt.bz2 > Date: Fri, 29 Mar 2013 08:56:41 +0300 > From: Eli Zaretskii > Cc: gdb-patches@sourceware.org, palves@redhat.com, jan.kratochvil@redhat.com, ralf.corsepius@rtems.org, vapier@gentoo.org, joel.sherrill@oarcorp.com > > > Date: Thu, 28 Mar 2013 18:59:24 -0700 > > From: Joel Brobecker > > Cc: gdb-patches@sourceware.org, palves@redhat.com, > > jan.kratochvil@redhat.com, ralf.corsepius@rtems.org, > > vapier@gentoo.org, joel.sherrill@oarcorp.com > > > > > > The > > > > code in main.c already does > > > > > > > > #ifdef __MINGW32__ > > > > /* On Windows, argv[0] is not necessarily set to absolute form when > > > > GDB is found along PATH, without which relocation doesn't work. */ > > > > gdb_program_name = windows_get_absolute_argv0 (argv[0]); > > > > #else > > > > gdb_program_name = xstrdup (argv[0]); > > > > #endif > > > > > > > > Is moving that to posix-hdep.c just to avoid an ifdef? > > > > > > The main purpose is to move the code away out of windows-nat, which > > > is only linked in native debuggers, not cross ones - so that building > > > a cross debugger hosted on Windows will work again. Basically, your > > > new function is really only dependent on the host, whereas the -nat > > > file makes the assumption that host & target are Windows. > > > > I have added this item to the TODO list for the 7.6 release, so as not > > to forget. > > Thanks. > > > I was wondering if this discussion was stalled, or if it was just > > a matter of not finding the time to do the implementation. > > The latter. > > > I could possibly take care of it tomorrow if you'd like. > > If you have time, it's fine with me. Failing that, I will submit the > changes in a few days. Here they are. This is for the trunk; it undoes the previous commit and moves the code to mingw-hdep.c. OK to commit, including the branch (which will get a different change, since there's no need to remove the previous commit there)? 2013-04-02 Eli Zaretskii * windows-nat.c (windows_get_absolute_argv0): Move from here... * mingw-hdep.c (windows_get_absolute_argv0): ...to here. Include main.h. * windows-nat.h (windows_get_absolute_argv0): Move prototype from here... * main.h (windows_get_absolute_argv0): ...to here --- gdb/windows-nat.c~1 2013-03-21 13:05:21.642985800 +0200 +++ gdb/windows-nat.c 2013-04-02 20:04:56.438612100 +0300 @@ -597,18 +597,6 @@ failed: return 0; /* failure */ } -/* Return an absolute file name of the running GDB, if possible, or - ARGV0 if not. The return value is in malloc'ed storage. */ -char * -windows_get_absolute_argv0 (const char *argv0) -{ - char full_name[PATH_MAX]; - - if (GetModuleFileName (NULL, full_name, PATH_MAX)) - return xstrdup (full_name); - return xstrdup (argv0); -} - /* Encapsulate the information required in a call to symbol_file_add_args. */ struct safe_symbol_file_add_args --- gdb/windows-nat.h~1 2013-03-21 13:05:19.068969300 +0200 +++ gdb/windows-nat.h 2013-04-02 20:05:15.626735100 +0300 @@ -28,9 +28,5 @@ typedef int (segment_register_p_ftype) ( whether a given register is a segment register or not. */ extern void windows_set_segment_register_p (segment_register_p_ftype *fun); -/* Return argv[0] in absolute form, if possible, or ARGV0 if not. The - return value is in malloc'ed storage. */ -extern char *windows_get_absolute_argv0 (const char *argv0); - #endif --- gdb/mingw-hdep.c~1 2013-01-01 08:32:47.000000000 +0200 +++ gdb/mingw-hdep.c 2013-04-02 20:26:57.231081900 +0300 @@ -18,6 +18,7 @@ along with this program. If not, see . */ #include "defs.h" +#include "main.h" #include "serial.h" #include "event-loop.h" @@ -80,6 +81,19 @@ safe_strerror (int errnum) return buffer; } +/* Return an absolute file name of the running GDB, if possible, or + ARGV0 if not. The return value is in malloc'ed storage. */ + +char * +windows_get_absolute_argv0 (const char *argv0) +{ + char full_name[PATH_MAX]; + + if (GetModuleFileName (NULL, full_name, PATH_MAX)) + return xstrdup (full_name); + return xstrdup (argv0); +} + /* Wrapper for select. On Windows systems, where the select interface only works for sockets, this uses the GDB serial abstraction to handle sockets, consoles, pipes, and serial ports. --- gdb/main.c~2 2013-03-21 13:11:43.279038500 +0200 +++ gdb/main.c 2013-04-02 20:07:51.534134500 +0300 @@ -44,9 +44,6 @@ #include "auto-load.h" #include "filenames.h" -#ifdef __MINGW32__ -# include "windows-nat.h" -#endif #include "version.h" --- gdb/main.h~1 2013-01-01 08:32:47.000000000 +0200 +++ gdb/main.h 2013-04-02 20:25:41.837731800 +0300 @@ -36,4 +36,10 @@ extern int return_child_result_value; extern int batch_silent; extern int batch_flag; +/* From mingw-hdep.c, used by main.c. */ + +/* Return argv[0] in absolute form, if possible, or ARGV0 if not. The + return value is in malloc'ed storage. */ +extern char *windows_get_absolute_argv0 (const char *argv0); + #endif