one week to gdb-7.6 release?

Eli Zaretskii eliz@gnu.org
Fri Apr 5 13:03:00 GMT 2013


> Date: Tue, 02 Apr 2013 20:33:00 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: gdb-patches@sourceware.org, palves@redhat.com, jan.kratochvil@redhat.com

Ping!  OK to commit, mainline and 7.6 branch?

(Just 3 days have passed, but we have a release looming...)

> > Date: Fri, 29 Mar 2013 08:56:41 +0300
> > From: Eli Zaretskii <eliz@gnu.org>
> > 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 <brobecker@adacore.com>
> > > 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  <eliz@gnu.org>
> 
> 	* 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 <http://www.gnu.org/licenses/>.  */
>  
>  #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
> 



More information about the Gdb-patches mailing list