[PATCH v2 0/6] Move gdbsupport to top level

Simon Marchi simark@simark.ca
Thu Jan 16 09:02:00 GMT 2020


On 2020-01-15 4:35 p.m., Pedro Alves wrote:
> Here's an improved version, which fixes gdbserver's standalone
> build, simplifies gdbsupport's config.h (there's no need for
> #ifdef GDBSERVER stuff since gdbserver doesn't use gdbsupport 
> as a library yet), and adds copyright/intro comments.

I have to admit I'm a bit lost in the spaghetti of config.h inclusion.  I don't
understand, for example, why GDB needs to include gdbsupport's config.  All the
features that GDB needs are checked by its own configure script, aren't they?

I noticed that build/gdb/config.h doesn't get automatically regenerated from
src/gdb/config.in whenever the latter changes.  It could use a Makefile rule that
uses config.status to re-generate it, like there is for some other files.

There's also the variable "generated_files" in the Makefile, should gdb-support.h
be in there?

> diff --git a/gdb/gdbserver/config.in b/gdb/gdbserver/config.in
> index da8c313c360..9e661d8e13c 100644
> --- a/gdb/gdbserver/config.in
> +++ b/gdb/gdbserver/config.in
> @@ -1,496 +1,32 @@
> -/* config.in.  Generated from configure.ac by autoheader.  */
> +/* config.h for the remote server for GDB.
> +   Copyright (C) 2020 Free Software Foundation, Inc.
>  
> -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
> -   systems. This function is required for `alloca.c' support on those systems.
> -   */
> -#undef CRAY_STACKSEG_END
> +   This file is part of GDB.
>  
> -/* Define to 1 if std::thread works. */
> -#undef CXX_STD_THREAD
> +   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 3 of the License, or
> +   (at your option) any later version.
>  
> -/* Define to 1 if using `alloca.c'. */
> -#undef C_ALLOCA
> +   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.
>  
> -/* Define if self-testing features should be enabled */
> -#undef GDB_SELF_TEST
> +   You should have received a copy of the GNU General Public License
> +   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
>  
> -/* Define to 1 if you have `alloca', as a function or macro. */
> -#undef HAVE_ALLOCA
> +/* This file is automatically generated from config.in.  It exists so
> +   that "#include <config.h>" in header files (including gnulib
> +   headers), includes this file, which then includes our real config.h
> +   (which is called gdb-config.h), along with gnulib's config.h.  */

The gdb-config.h above should be gdbserver-config.h.

Simon



More information about the Gdb-patches mailing list