This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v2 0/6] Move gdbsupport to top level
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