diff mbox

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

Message ID 4fed38dc-aaa7-b76b-880f-bab0b1b5add2@redhat.com
State New
Headers show

Commit Message

Pedro Alves Jan. 15, 2020, 9:35 p.m. UTC
On 1/15/20 8:23 PM, Pedro Alves wrote:
> On 1/15/20 2:55 PM, Pedro Alves wrote:
>> On 1/15/20 2:41 PM, Pedro Alves wrote:
>>> Don't know what I think of gnulib headers including <config.h>.
>>> Maybe we should rename gdb's config.h to gdb-config.h too.
>>
>> Hit reply to soon.  I meant to add,
>>
>> ... and then, add a manually-written config.h in the build
>> dir that does:
>>
>>  #include <gdbsupport/support-config.h>
>>  #include <gdb-config.h>
>>
>> We'd do the same to gdbsupport, add a config.h in its
>> build dir that does:
>>
>>  #include "gnulib/config.h"
>>  #include <support-config.h>
>>
>> Those config.h files would go in the build dirs so that
>> they're not picked by other build directories.
>>
>> With that, any "#include <config.h>" in any header ends up
>> picking the currently-being-built project's config.h, plus
>> the dependencies' config.h files.
>>
>> Just a half-baked thought.  Not sure it's the best idea.
> 
> I tried it and it seems to work OK.  Fixes the build at least.
> Still not sure it's the best idea.  WDYT?
> 
> The patch is actually quite small, but since I've rename
> config.h -> gdb-config.h etc., and _then_ added new config.h
> files, git doesn't notice the renames.
> 
> I wonder whether there's anything could do to stop gnulib and
> gdbsupport's configure from defining PACKAGE_NAME etc. in their
> generated config.h files.
> 
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.

From 15a6348cb2fa7d59d58ab1bd7e77d8e7a6474ea4 Mon Sep 17 00:00:00 2001
From: Pedro Alves <palves@redhat.com>
Date: Wed, 15 Jan 2020 17:49:01 +0000
Subject: [PATCH] config.h

---
 gdb/Makefile.in                       |   6 +-
 gdb/config.in                         | 824 ++--------------------------------
 gdb/configure                         |   9 +-
 gdb/configure.ac                      |   3 +-
 gdb/gdb-config.in                     | 811 +++++++++++++++++++++++++++++++++
 gdb/gdbserver/config.in               | 506 +--------------------
 gdb/gdbserver/configure               |   9 +-
 gdb/gdbserver/configure.ac            |   3 +-
 gdb/gdbserver/gdbserver-config.in     | 496 ++++++++++++++++++++
 gdb/unittests/scoped_fd-selftests.c   |   1 -
 gdb/unittests/scoped_mmap-selftests.c |   1 -
 gdbsupport/common-defs.h              |  24 -
 gdbsupport/config.in                  | 425 +-----------------
 gdbsupport/configure                  |  95 ++--
 gdbsupport/configure.ac               |   3 +-
 gdbsupport/support-config.in          | 414 +++++++++++++++++
 16 files changed, 1861 insertions(+), 1769 deletions(-)
 create mode 100644 gdb/gdb-config.in
 create mode 100644 gdb/gdbserver/gdbserver-config.in
 create mode 100644 gdbsupport/support-config.in


base-commit: aad09917e04b33da463f1703aab8d057cfe3f54e

Comments

Pedro Alves Jan. 15, 2020, 9:46 p.m. UTC | #1
On 1/15/20 9:35 PM, Pedro Alves wrote:
> On 1/15/20 8:23 PM, Pedro Alves wrote:
>> On 1/15/20 2:55 PM, Pedro Alves wrote:
>>> On 1/15/20 2:41 PM, Pedro Alves wrote:
>>>> Don't know what I think of gnulib headers including <config.h>.
>>>> Maybe we should rename gdb's config.h to gdb-config.h too.
>>>
>>> Hit reply to soon.  I meant to add,
>>>
>>> ... and then, add a manually-written config.h in the build
>>> dir that does:
>>>
>>>  #include <gdbsupport/support-config.h>
>>>  #include <gdb-config.h>
>>>
>>> We'd do the same to gdbsupport, add a config.h in its
>>> build dir that does:
>>>
>>>  #include "gnulib/config.h"
>>>  #include <support-config.h>
>>>
>>> Those config.h files would go in the build dirs so that
>>> they're not picked by other build directories.
>>>
>>> With that, any "#include <config.h>" in any header ends up
>>> picking the currently-being-built project's config.h, plus
>>> the dependencies' config.h files.
>>>
>>> Just a half-baked thought.  Not sure it's the best idea.
>>
>> I tried it and it seems to work OK.  Fixes the build at least.
>> Still not sure it's the best idea.  WDYT?
>>
>> The patch is actually quite small, but since I've rename
>> config.h -> gdb-config.h etc., and _then_ added new config.h
>> files, git doesn't notice the renames.
>>
>> I wonder whether there's anything could do to stop gnulib and
>> gdbsupport's configure from defining PACKAGE_NAME etc. in their
>> generated config.h files.
>>
> 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 put this in users/palves/config.h if you want to play with it.

Thanks,
Pedro Alves
Pedro Alves Jan. 15, 2020, 10:12 p.m. UTC | #2
On 1/15/20 9:46 PM, Pedro Alves wrote:
> On 1/15/20 9:35 PM, Pedro Alves wrote:
>> On 1/15/20 8:23 PM, Pedro Alves wrote:
>>> On 1/15/20 2:55 PM, Pedro Alves wrote:
>>>> On 1/15/20 2:41 PM, Pedro Alves wrote:
>>>>> Don't know what I think of gnulib headers including <config.h>.
>>>>> Maybe we should rename gdb's config.h to gdb-config.h too.
>>>>
>>>> Hit reply to soon.  I meant to add,
>>>>
>>>> ... and then, add a manually-written config.h in the build
>>>> dir that does:
>>>>
>>>>  #include <gdbsupport/support-config.h>
>>>>  #include <gdb-config.h>
>>>>
>>>> We'd do the same to gdbsupport, add a config.h in its
>>>> build dir that does:
>>>>
>>>>  #include "gnulib/config.h"
>>>>  #include <support-config.h>
>>>>
>>>> Those config.h files would go in the build dirs so that
>>>> they're not picked by other build directories.
>>>>
>>>> With that, any "#include <config.h>" in any header ends up
>>>> picking the currently-being-built project's config.h, plus
>>>> the dependencies' config.h files.
>>>>
>>>> Just a half-baked thought.  Not sure it's the best idea.
>>>
>>> I tried it and it seems to work OK.  Fixes the build at least.
>>> Still not sure it's the best idea.  WDYT?
>>>
>>> The patch is actually quite small, but since I've rename
>>> config.h -> gdb-config.h etc., and _then_ added new config.h
>>> files, git doesn't notice the renames.
>>>
>>> I wonder whether there's anything could do to stop gnulib and
>>> gdbsupport's configure from defining PACKAGE_NAME etc. in their
>>> generated config.h files.
>>>
>> 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 put this in users/palves/config.h if you want to play with it.

I've also pushed a patch there to fix the missing -std=gnu++11 issue.

Thanks,
Pedro Alves
Doug Evans via gdb-patches Jan. 16, 2020, 2:54 a.m. UTC | #3
On Wed, Jan 15, 2020 at 5:12 PM Pedro Alves <palves@redhat.com> wrote:
>
> On 1/15/20 9:46 PM, Pedro Alves wrote:
> > On 1/15/20 9:35 PM, Pedro Alves wrote:
> >> On 1/15/20 8:23 PM, Pedro Alves wrote:
> >>> On 1/15/20 2:55 PM, Pedro Alves wrote:
> >>>> On 1/15/20 2:41 PM, Pedro Alves wrote:
> >>>>> Don't know what I think of gnulib headers including <config.h>.
> >>>>> Maybe we should rename gdb's config.h to gdb-config.h too.
> >>>>
> >>>> Hit reply to soon.  I meant to add,
> >>>>
> >>>> ... and then, add a manually-written config.h in the build
> >>>> dir that does:
> >>>>
> >>>>  #include <gdbsupport/support-config.h>
> >>>>  #include <gdb-config.h>
> >>>>
> >>>> We'd do the same to gdbsupport, add a config.h in its
> >>>> build dir that does:
> >>>>
> >>>>  #include "gnulib/config.h"
> >>>>  #include <support-config.h>
> >>>>
> >>>> Those config.h files would go in the build dirs so that
> >>>> they're not picked by other build directories.
> >>>>
> >>>> With that, any "#include <config.h>" in any header ends up
> >>>> picking the currently-being-built project's config.h, plus
> >>>> the dependencies' config.h files.
> >>>>
> >>>> Just a half-baked thought.  Not sure it's the best idea.
> >>>
> >>> I tried it and it seems to work OK.  Fixes the build at least.
> >>> Still not sure it's the best idea.  WDYT?
> >>>
> >>> The patch is actually quite small, but since I've rename
> >>> config.h -> gdb-config.h etc., and _then_ added new config.h
> >>> files, git doesn't notice the renames.
> >>>
> >>> I wonder whether there's anything could do to stop gnulib and
> >>> gdbsupport's configure from defining PACKAGE_NAME etc. in their
> >>> generated config.h files.
> >>>
> >> 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 put this in users/palves/config.h if you want to play with it.
>
> I've also pushed a patch there to fix the missing -std=gnu++11 issue.

For that patch, why not just use AM_CFLAGS/AM_CXXFLAGS?

Christian
Simon Marchi Jan. 16, 2020, 4:23 a.m. UTC | #4
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
Pedro Alves Jan. 16, 2020, 4:23 p.m. UTC | #5
On 1/16/20 2:54 AM, Christian Biesinger via gdb-patches wrote:
> On Wed, Jan 15, 2020 at 5:12 PM Pedro Alves <palves@redhat.com> wrote:
>>
>> On 1/15/20 9:46 PM, Pedro Alves wrote:
>>> On 1/15/20 9:35 PM, Pedro Alves wrote:
>>>> On 1/15/20 8:23 PM, Pedro Alves wrote:
>>>>> On 1/15/20 2:55 PM, Pedro Alves wrote:
>>>>>> On 1/15/20 2:41 PM, Pedro Alves wrote:
>>>>>>> Don't know what I think of gnulib headers including <config.h>.
>>>>>>> Maybe we should rename gdb's config.h to gdb-config.h too.
>>>>>>
>>>>>> Hit reply to soon.  I meant to add,
>>>>>>
>>>>>> ... and then, add a manually-written config.h in the build
>>>>>> dir that does:
>>>>>>
>>>>>>  #include <gdbsupport/support-config.h>
>>>>>>  #include <gdb-config.h>
>>>>>>
>>>>>> We'd do the same to gdbsupport, add a config.h in its
>>>>>> build dir that does:
>>>>>>
>>>>>>  #include "gnulib/config.h"
>>>>>>  #include <support-config.h>
>>>>>>
>>>>>> Those config.h files would go in the build dirs so that
>>>>>> they're not picked by other build directories.
>>>>>>
>>>>>> With that, any "#include <config.h>" in any header ends up
>>>>>> picking the currently-being-built project's config.h, plus
>>>>>> the dependencies' config.h files.
>>>>>>
>>>>>> Just a half-baked thought.  Not sure it's the best idea.
>>>>>
>>>>> I tried it and it seems to work OK.  Fixes the build at least.
>>>>> Still not sure it's the best idea.  WDYT?
>>>>>
>>>>> The patch is actually quite small, but since I've rename
>>>>> config.h -> gdb-config.h etc., and _then_ added new config.h
>>>>> files, git doesn't notice the renames.
>>>>>
>>>>> I wonder whether there's anything could do to stop gnulib and
>>>>> gdbsupport's configure from defining PACKAGE_NAME etc. in their
>>>>> generated config.h files.
>>>>>
>>>> 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 put this in users/palves/config.h if you want to play with it.
>>
>> I've also pushed a patch there to fix the missing -std=gnu++11 issue.
> 
> For that patch, why not just use AM_CFLAGS/AM_CXXFLAGS?

I was mainly following what GDB does, with:

 COMPILE.pre = $(CXX) -x c++ $(CXX_DIALECT)

I guess I was the one who did that, so that's not going to be
a strong explanation.  :-)

It's just that I feel like the compiler mode is more about
picking a different compiler than about picking some flags
like warnings flags or compilation levels.  I think that
in practice the only difference is that you see the
-std=gnu++11 next to the compiler command:

$ rm -f selftest.o && make V=1 selftest.o
/opt/gcc-4.8/bin/g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport  -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/config.h -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../include -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gdb -I../gnulib/import -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gnulib/import -I.. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/..  -I../bfd -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../bfd   -g3 -O0 -MT selftest.o -MD -MP -MF .deps/selftest.Tpo -c -o selftest.o /home/pedro/gdb/binutils-gdb/src/gdbsupport/selftest.c
mv -f .deps/selftest.Tpo .deps/selftest.Po

vs, with AM_CFLAGS:

$ rm -f selftest.o && make V=1 selftest.o
/opt/gcc-4.8/bin/g++ -DHAVE_CONFIG_H -I. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport  -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/config.h -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../include -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gdb -I../gnulib/import -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gnulib/import -I.. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/..  -I../bfd -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../bfd  -std=gnu++11 -g3 -O0 -MT selftest.o -MD -MP -MF .deps/selftest.Tpo -c -o selftest.o /home/pedro/gdb/binutils-gdb/src/gdbsupport/selftest.c
mv -f .deps/selftest.Tpo .deps/selftest.Po

AFAICT, overriding CXXFLAGS or CXX in the make invocation works
the same in either case.

Thanks,
Pedro Alves
Doug Evans via gdb-patches Jan. 16, 2020, 5:38 p.m. UTC | #6
On Thu, Jan 16, 2020 at 11:23 AM Pedro Alves <palves@redhat.com> wrote:
> > For that patch, why not just use AM_CFLAGS/AM_CXXFLAGS?
>
> I was mainly following what GDB does, with:
>
>  COMPILE.pre = $(CXX) -x c++ $(CXX_DIALECT)
>
> I guess I was the one who did that, so that's not going to be
> a strong explanation.  :-)
>
> It's just that I feel like the compiler mode is more about
> picking a different compiler than about picking some flags
> like warnings flags or compilation levels.  I think that
> in practice the only difference is that you see the
> -std=gnu++11 next to the compiler command:
>
> $ rm -f selftest.o && make V=1 selftest.o
> /opt/gcc-4.8/bin/g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport  -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/config.h -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../include -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gdb -I../gnulib/import -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gnulib/import -I.. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/..  -I../bfd -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../bfd   -g3 -O0 -MT selftest.o -MD -MP -MF .deps/selftest.Tpo -c -o selftest.o /home/pedro/gdb/binutils-gdb/src/gdbsupport/selftest.c
> mv -f .deps/selftest.Tpo .deps/selftest.Po
>
> vs, with AM_CFLAGS:
>
> $ rm -f selftest.o && make V=1 selftest.o
> /opt/gcc-4.8/bin/g++ -DHAVE_CONFIG_H -I. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport  -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/config.h -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../include -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gdb -I../gnulib/import -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gnulib/import -I.. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/..  -I../bfd -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../bfd  -std=gnu++11 -g3 -O0 -MT selftest.o -MD -MP -MF .deps/selftest.Tpo -c -o selftest.o /home/pedro/gdb/binutils-gdb/src/gdbsupport/selftest.c
> mv -f .deps/selftest.Tpo .deps/selftest.Po
>
> AFAICT, overriding CXXFLAGS or CXX in the make invocation works
> the same in either case.

How so? override is documented to override commandline variables?
https://www.gnu.org/software/make/manual/html_node/Override-Directive.html#Override-Directive

But yes, that's what I was thinking of, and just in general that
override seems a bit ugly.

Christian
Pedro Alves Jan. 16, 2020, 6:23 p.m. UTC | #7
On 1/16/20 5:38 PM, Christian Biesinger wrote:
> On Thu, Jan 16, 2020 at 11:23 AM Pedro Alves <palves@redhat.com> wrote:
>>> For that patch, why not just use AM_CFLAGS/AM_CXXFLAGS?
>>
>> I was mainly following what GDB does, with:
>>
>>  COMPILE.pre = $(CXX) -x c++ $(CXX_DIALECT)
>>
>> I guess I was the one who did that, so that's not going to be
>> a strong explanation.  :-)
>>
>> It's just that I feel like the compiler mode is more about
>> picking a different compiler than about picking some flags
>> like warnings flags or compilation levels.  I think that
>> in practice the only difference is that you see the
>> -std=gnu++11 next to the compiler command:
>>
>> $ rm -f selftest.o && make V=1 selftest.o
>> /opt/gcc-4.8/bin/g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport  -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/config.h -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../include -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gdb -I../gnulib/import -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gnulib/import -I.. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/..  -I../bfd -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../bfd   -g3 -O0 -MT selftest.o -MD -MP -MF .deps/selftest.Tpo -c -o selftest.o /home/pedro/gdb/binutils-gdb/src/gdbsupport/selftest.c
>> mv -f .deps/selftest.Tpo .deps/selftest.Po
>>
>> vs, with AM_CFLAGS:
>>
>> $ rm -f selftest.o && make V=1 selftest.o
>> /opt/gcc-4.8/bin/g++ -DHAVE_CONFIG_H -I. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport  -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/config.h -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../include -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gdb -I../gnulib/import -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gnulib/import -I.. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/..  -I../bfd -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../bfd  -std=gnu++11 -g3 -O0 -MT selftest.o -MD -MP -MF .deps/selftest.Tpo -c -o selftest.o /home/pedro/gdb/binutils-gdb/src/gdbsupport/selftest.c
>> mv -f .deps/selftest.Tpo .deps/selftest.Po
>>
>> AFAICT, overriding CXXFLAGS or CXX in the make invocation works
>> the same in either case.
> 
> How so? override is documented to override commandline variables?
> https://www.gnu.org/software/make/manual/html_node/Override-Directive.html#Override-Directive
> 

Because it is defined in terms of CXX, which gets filled with whatever
was specified on the command line, I believe:

 override CXX := $(CXX) $(CXX_DIALECT)

I guess I should write instead:

 override CXX += $(CXX_DIALECT)

> But yes, that's what I was thinking of, and just in general that
> override seems a bit ugly.

Other than aesthetic reasons, do you see an issue?  I like seeing
the -std=gnu++11 at the left side of the command invocation,
basically for quick diagnostics, but that's about my only reason
for preferring it.

Thanks,
Pedro Alves
Doug Evans via gdb-patches Jan. 16, 2020, 6:27 p.m. UTC | #8
On Thu, Jan 16, 2020 at 1:23 PM Pedro Alves <palves@redhat.com> wrote:
>
> On 1/16/20 5:38 PM, Christian Biesinger wrote:
> > On Thu, Jan 16, 2020 at 11:23 AM Pedro Alves <palves@redhat.com> wrote:
> >>> For that patch, why not just use AM_CFLAGS/AM_CXXFLAGS?
> >>
> >> I was mainly following what GDB does, with:
> >>
> >>  COMPILE.pre = $(CXX) -x c++ $(CXX_DIALECT)
> >>
> >> I guess I was the one who did that, so that's not going to be
> >> a strong explanation.  :-)
> >>
> >> It's just that I feel like the compiler mode is more about
> >> picking a different compiler than about picking some flags
> >> like warnings flags or compilation levels.  I think that
> >> in practice the only difference is that you see the
> >> -std=gnu++11 next to the compiler command:
> >>
> >> $ rm -f selftest.o && make V=1 selftest.o
> >> /opt/gcc-4.8/bin/g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport  -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/config.h -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../include -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gdb -I../gnulib/import -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gnulib/import -I.. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/..  -I../bfd -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../bfd   -g3 -O0 -MT selftest.o -MD -MP -MF .deps/selftest.Tpo -c -o selftest.o /home/pedro/gdb/binutils-gdb/src/gdbsupport/selftest.c
> >> mv -f .deps/selftest.Tpo .deps/selftest.Po
> >>
> >> vs, with AM_CFLAGS:
> >>
> >> $ rm -f selftest.o && make V=1 selftest.o
> >> /opt/gcc-4.8/bin/g++ -DHAVE_CONFIG_H -I. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport  -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/config.h -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../include -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gdb -I../gnulib/import -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../gnulib/import -I.. -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/..  -I../bfd -I/home/pedro/gdb/binutils-gdb/src/gdbsupport/../bfd  -std=gnu++11 -g3 -O0 -MT selftest.o -MD -MP -MF .deps/selftest.Tpo -c -o selftest.o /home/pedro/gdb/binutils-gdb/src/gdbsupport/selftest.c
> >> mv -f .deps/selftest.Tpo .deps/selftest.Po
> >>
> >> AFAICT, overriding CXXFLAGS or CXX in the make invocation works
> >> the same in either case.
> >
> > How so? override is documented to override commandline variables?
> > https://www.gnu.org/software/make/manual/html_node/Override-Directive.html#Override-Directive
> >
>
> Because it is defined in terms of CXX, which gets filled with whatever
> was specified on the command line, I believe:
>
>  override CXX := $(CXX) $(CXX_DIALECT)
>
> I guess I should write instead:
>
>  override CXX += $(CXX_DIALECT)

Oh, yeah, good point. Either way is fine with me.

> > But yes, that's what I was thinking of, and just in general that
> > override seems a bit ugly.
>
> Other than aesthetic reasons, do you see an issue?  I like seeing
> the -std=gnu++11 at the left side of the command invocation,
> basically for quick diagnostics, but that's about my only reason
> for preferring it.

Yeah since the overriding still works, I'm fine with this.

Christian
diff mbox

Patch

diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 45d1586e85e..b7e1532c957 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1974,9 +1974,9 @@  gdb-gdb.py: $(srcdir)/gdb-gdb.py.in
 gdb-gdb.gdb: $(srcdir)/gdb-gdb.gdb.in
 	$(SHELL) config.status $@
 
-config.h: stamp-h ; @true
-stamp-h: $(srcdir)/config.in config.status
-	$(SHELL) config.status config.h
+gdb-config.h: stamp-h ; @true
+stamp-h: $(srcdir)/gdb-config.in config.status
+	$(SHELL) config.status gdb-config.h
 
 nm.h: stamp-nmh ; @true
 stamp-nmh: config.status
diff --git a/gdb/config.in b/gdb/config.in
index cb886ba8e1a..a178f1a87d6 100644
--- a/gdb/config.in
+++ b/gdb/config.in
@@ -1,811 +1,41 @@ 
-/* config.in.  Generated from configure.ac by autoheader.  */
+/* config.h for GDB, the GNU debugger.
+   Copyright (C) 2020 Free Software Foundation, Inc.
 
-/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD
+   This file is part of GDB.
 
-/* Directories from which to load auto-loaded scripts. */
-#undef AUTO_LOAD_DIR
+   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.
 
-/* Directories safe to hold auto-loaded files. */
-#undef AUTO_LOAD_SAFE_PATH
+   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.
 
-/* Directory of programs. */
-#undef BINDIR
+   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 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 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 and
+   gdbsupport's config.h.  */
 
-/* Define to 1 if std::thread works. */
-#undef CXX_STD_THREAD
+#include "gnulib/config.h"
 
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
-/* look for global separate debug info in this path [LIBDIR/debug] */
-#undef DEBUGDIR
-
-/* Define if the separate-debug-dir directory should be relocated when GDB is
-   moved. */
-#undef DEBUGDIR_RELOCATABLE
-
-/* Define to BFD's default architecture. */
-#undef DEFAULT_BFD_ARCH
-
-/* Define to BFD's default target vector. */
-#undef DEFAULT_BFD_VEC
-
-/* Define to 1 if translation of program messages to the user's native
-   language is requested. */
-#undef ENABLE_NLS
-
-/* The .gdbinit filename. */
-#undef GDBINIT
-
-/* look for global separate data files in this path [DATADIR/gdb] */
-#undef GDB_DATADIR
-
-/* Define if the gdb-datadir directory should be relocated when GDB is moved.
-   */
-#undef GDB_DATADIR_RELOCATABLE
-
-/* Define to be a string naming the default host character set. */
-#undef GDB_DEFAULT_HOST_CHARSET
-
-/* Host double floatformat */
-#undef GDB_HOST_DOUBLE_FORMAT
-
-/* Host float floatformat */
-#undef GDB_HOST_FLOAT_FORMAT
-
-/* Host long double floatformat */
-#undef GDB_HOST_LONG_DOUBLE_FORMAT
-
-/* nativefile */
-#undef GDB_NM_FILE
-
-/* Define to the default OS ABI for this configuration. */
-#undef GDB_OSABI_DEFAULT
-
-/* Define if self-testing features should be enabled */
-#undef GDB_SELF_TEST
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
-   */
-#undef HAVE_ALLOCA_H
-
-/* Define to 1 if you have the `btowc' function. */
-#undef HAVE_BTOWC
-
-/* Define to 1 if you have the <cursesX.h> header file. */
-#undef HAVE_CURSESX_H
-
-/* Define to 1 if you have the <curses.h> header file. */
-#undef HAVE_CURSES_H
-
-/* define if the compiler supports basic C++11 syntax */
-#undef HAVE_CXX11
-
-/* Define to 1 if you have the declaration of `ADDR_NO_RANDOMIZE', and to 0 if
-   you don't. */
-#undef HAVE_DECL_ADDR_NO_RANDOMIZE
-
-/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_ASPRINTF
-
-/* Define to 1 if you have the declaration of `basename(char *)', and to 0 if
-   you don't. */
-#undef HAVE_DECL_BASENAME
-
-/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
-#undef HAVE_DECL_FFS
-
-/* Define to 1 if you have the declaration of `getthrds', and to 0 if you
-   don't. */
-#undef HAVE_DECL_GETTHRDS
-
-/* Define to 1 if you have the declaration of `ptrace', and to 0 if you don't.
-   */
-#undef HAVE_DECL_PTRACE
-
-/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_SNPRINTF
-
-/* Define to 1 if you have the declaration of `strstr', and to 0 if you don't.
-   */
-#undef HAVE_DECL_STRSTR
-
-/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't.
-   */
-#undef HAVE_DECL_STRTOL
-
-/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRTOLL
-
-/* Define to 1 if you have the declaration of `strtoul', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRTOUL
-
-/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRTOULL
-
-/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRVERSCMP
-
-/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_VASPRINTF
-
-/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_VSNPRINTF
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define if ELF support should be included. */
-#undef HAVE_ELF
-
-/* Define if <sys/procfs.h> has elf_fpregset_t. */
-#undef HAVE_ELF_FPREGSET_T
-
-/* Define to 1 if you have the <elf_hp.h> header file. */
-#undef HAVE_ELF_HP_H
-
-/* Define to 1 if your system has the etext variable. */
-#undef HAVE_ETEXT
-
-/* Define to 1 if you have the `fdwalk' function. */
-#undef HAVE_FDWALK
-
-/* Define to 1 if you have the `fork' function. */
-#undef HAVE_FORK
-
-/* Define if <sys/procfs.h> has fpregset_t. */
-#undef HAVE_FPREGSET_T
-
-/* Define to 1 if you have the `getauxval' function. */
-#undef HAVE_GETAUXVAL
-
-/* Define to 1 if you have the `getgid' function. */
-#undef HAVE_GETGID
-
-/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
-
-/* Define to 1 if you have the `getpgid' function. */
-#undef HAVE_GETPGID
-
-/* Define to 1 if you have the `getrlimit' function. */
-#undef HAVE_GETRLIMIT
-
-/* Define to 1 if you have the `getrusage' function. */
-#undef HAVE_GETRUSAGE
-
-/* Define to 1 if you have the `getuid' function. */
-#undef HAVE_GETUID
-
-/* Define if <sys/procfs.h> has gregset_t. */
-#undef HAVE_GREGSET_T
-
-/* Define if Guile interpreter is being linked in. */
-#undef HAVE_GUILE
-
-/* Define if Guile supports manual finalization. */
-#undef HAVE_GUILE_MANUAL_FINALIZATION
-
-/* Define if you have the iconv() function. */
-#undef HAVE_ICONV
-
-/* Define to 1 if you have the `iconvlist' function. */
-#undef HAVE_ICONVLIST
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if your system has the kinfo_getfile function. */
-#undef HAVE_KINFO_GETFILE
-
-/* Define to 1 if your system has the kinfo_getvmmap function. */
-#undef HAVE_KINFO_GETVMMAP
-
-/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
-#undef HAVE_LANGINFO_CODESET
-
-/* Define if your <locale.h> file defines LC_MESSAGES. */
-#undef HAVE_LC_MESSAGES
-
-/* Define if you have the babeltrace library. */
-#undef HAVE_LIBBABELTRACE
-
-/* Define if you have the expat library. */
-#undef HAVE_LIBEXPAT
-
-/* Define to 1 if you have the `libiconvlist' function. */
-#undef HAVE_LIBICONVLIST
-
-/* Define if you have the ipt library. */
-#undef HAVE_LIBIPT
-
-/* Define if you have the lzma library. */
-#undef HAVE_LIBLZMA
-
-/* Define to 1 if you have the `m' library (-lm). */
-#undef HAVE_LIBM
-
-/* Define if you have the mpfr library. */
-#undef HAVE_LIBMPFR
-
-/* Define to 1 if you have the <libunwind-ia64.h> header file. */
-#undef HAVE_LIBUNWIND_IA64_H
-
-/* Define if you have the xxhash library. */
-#undef HAVE_LIBXXHASH
-
-/* Define to 1 if you have the <linux/elf.h> header file. */
-#undef HAVE_LINUX_ELF_H
-
-/* Define to 1 if you have the <linux/perf_event.h> header file. */
-#undef HAVE_LINUX_PERF_EVENT_H
-
-/* Define to 1 if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define to 1 if the compiler supports long double. */
-#undef HAVE_LONG_DOUBLE
-
-/* Define to 1 if the system has the type `long long'. */
-#undef HAVE_LONG_LONG
-
-/* Define if <sys/procfs.h> has lwpid_t. */
-#undef HAVE_LWPID_T
-
-/* Define to 1 if you have the <machine/reg.h> header file. */
-#undef HAVE_MACHINE_REG_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* Define to 1 if you have the `monstartup' function. */
-#undef HAVE_MONSTARTUP
-
-/* Define to 1 if you have the <ncursesw/ncurses.h> header file. */
-#undef HAVE_NCURSESW_NCURSES_H
-
-/* Define to 1 if you have the <ncurses.h> header file. */
-#undef HAVE_NCURSES_H
-
-/* Define to 1 if you have the <ncurses/ncurses.h> header file. */
-#undef HAVE_NCURSES_NCURSES_H
-
-/* Define to 1 if you have the <ncurses/term.h> header file. */
-#undef HAVE_NCURSES_TERM_H
-
-/* Define to 1 if you have the <nlist.h> header file. */
-#undef HAVE_NLIST_H
-
-/* Define if you support the personality syscall. */
-#undef HAVE_PERSONALITY
-
-/* Define to 1 if you have the `pipe' function. */
-#undef HAVE_PIPE
-
-/* Define to 1 if you have the `pipe2' function. */
-#undef HAVE_PIPE2
-
-/* Define to 1 if you have the `poll' function. */
-#undef HAVE_POLL
-
-/* Define to 1 if you have the <poll.h> header file. */
-#undef HAVE_POLL_H
-
-/* Define to 1 if you have the `posix_madvise' function. */
-#undef HAVE_POSIX_MADVISE
-
-/* Define to 1 if you have the `pread' function. */
-#undef HAVE_PREAD
-
-/* Define to 1 if you have the `pread64' function. */
-#undef HAVE_PREAD64
-
-/* Define if <sys/procfs.h> has prfpregset_t. */
-#undef HAVE_PRFPREGSET_T
-
-/* Define if <sys/procfs.h> has prgregset32_t. */
-#undef HAVE_PRGREGSET32_T
-
-/* Define if <sys/procfs.h> has prgregset_t. */
-#undef HAVE_PRGREGSET_T
-
-/* Define to 1 if you have the <proc_service.h> header file. */
-#undef HAVE_PROC_SERVICE_H
-
-/* Define if <sys/procfs.h> has psaddr_t. */
-#undef HAVE_PSADDR_T
-
-/* Have PTHREAD_PRIO_INHERIT. */
-#undef HAVE_PTHREAD_PRIO_INHERIT
-
-/* Define to 1 if you have the `pthread_setname_np' function. */
-#undef HAVE_PTHREAD_SETNAME_NP
-
-/* Define to 1 if you have the `pthread_sigmask' function. */
-#undef HAVE_PTHREAD_SIGMASK
-
-/* Define to 1 if you have the `ptrace64' function. */
-#undef HAVE_PTRACE64
-
-/* Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request. */
-#undef HAVE_PTRACE_GETFPXREGS
-
-/* Define if sys/ptrace.h defines the PTRACE_GETREGS request. */
-#undef HAVE_PTRACE_GETREGS
-
-/* Define to 1 if you have the <ptrace.h> header file. */
-#undef HAVE_PTRACE_H
-
-/* Define if sys/ptrace.h defines the PT_GETDBREGS request. */
-#undef HAVE_PT_GETDBREGS
-
-/* Define if sys/ptrace.h defines the PT_GETXMMREGS request. */
-#undef HAVE_PT_GETXMMREGS
-
-/* Define to 1 if you have the `pt_insn_event' function. */
-#undef HAVE_PT_INSN_EVENT
-
-/* Define to 1 if you have the `pwrite' function. */
-#undef HAVE_PWRITE
-
-/* Define if Python interpreter is being linked in. */
-#undef HAVE_PYTHON
-
-/* Define to 1 if you have the `resize_term' function. */
-#undef HAVE_RESIZE_TERM
-
-/* Define to 1 if you have the `sbrk' function. */
-#undef HAVE_SBRK
-
-/* Define to 1 if you have the `scm_new_smob' function. */
-#undef HAVE_SCM_NEW_SMOB
-
-/* Define to 1 if you have the `setlocale' function. */
-#undef HAVE_SETLOCALE
-
-/* Define to 1 if you have the `setns' function. */
-#undef HAVE_SETNS
-
-/* Define to 1 if you have the `setpgid' function. */
-#undef HAVE_SETPGID
-
-/* Define to 1 if you have the `setpgrp' function. */
-#undef HAVE_SETPGRP
-
-/* Define to 1 if you have the `setrlimit' function. */
-#undef HAVE_SETRLIMIT
-
-/* Define to 1 if you have the `setsid' function. */
-#undef HAVE_SETSID
-
-/* Define to 1 if you have the `sigaction' function. */
-#undef HAVE_SIGACTION
-
-/* Define to 1 if you have the `sigaltstack' function. */
-#undef HAVE_SIGALTSTACK
-
-/* Define to 1 if you have the <signal.h> header file. */
-#undef HAVE_SIGNAL_H
-
-/* Define to 1 if you have the `sigprocmask' function. */
-#undef HAVE_SIGPROCMASK
-
-/* Define if sigsetjmp is available. */
-#undef HAVE_SIGSETJMP
-
-/* Define to 1 if you have the `sigsetmask' function. */
-#undef HAVE_SIGSETMASK
-
-/* Define to 1 if you have the `socketpair' function. */
-#undef HAVE_SOCKETPAIR
-
-/* Define to 1 if the system has the type `socklen_t'. */
-#undef HAVE_SOCKLEN_T
-
-/* Define to 1 if the source-highlight library is available */
-#undef HAVE_SOURCE_HIGHLIGHT
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if your system has struct lwp. */
-#undef HAVE_STRUCT_LWP
-
-/* Define to 1 if `pl_syscall_code' is a member of `struct ptrace_lwpinfo'. */
-#undef HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE
-
-/* Define to 1 if `pl_tdname' is a member of `struct ptrace_lwpinfo'. */
-#undef HAVE_STRUCT_PTRACE_LWPINFO_PL_TDNAME
-
-/* Define to 1 if `enabled' is a member of `struct pt_insn'. */
-#undef HAVE_STRUCT_PT_INSN_ENABLED
-
-/* Define to 1 if `resynced' is a member of `struct pt_insn'. */
-#undef HAVE_STRUCT_PT_INSN_RESYNCED
-
-/* Define to 1 if your system has struct reg in <machine/reg.h>. */
-#undef HAVE_STRUCT_REG
-
-/* Define to 1 if `r_fs' is a member of `struct reg'. */
-#undef HAVE_STRUCT_REG_R_FS
-
-/* Define to 1 if `r_gs' is a member of `struct reg'. */
-#undef HAVE_STRUCT_REG_R_GS
-
-/* Define to 1 if `st_blksize' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_BLKSIZE
-
-/* Define to 1 if `st_blocks' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_BLOCKS
-
-/* Define to 1 if `td_pcb' is a member of `struct thread'. */
-#undef HAVE_STRUCT_THREAD_TD_PCB
-
-/* Define to 1 if `fs_base' is a member of `struct user_regs_struct'. */
-#undef HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE
-
-/* Define to 1 if `gs_base' is a member of `struct user_regs_struct'. */
-#undef HAVE_STRUCT_USER_REGS_STRUCT_GS_BASE
-
-/* Define to 1 if you have the <sys/debugreg.h> header file. */
-#undef HAVE_SYS_DEBUGREG_H
-
-/* Define to 1 if you have the <sys/file.h> header file. */
-#undef HAVE_SYS_FILE_H
-
-/* Define to 1 if you have the <sys/filio.h> header file. */
-#undef HAVE_SYS_FILIO_H
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#undef HAVE_SYS_IOCTL_H
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/poll.h> header file. */
-#undef HAVE_SYS_POLL_H
-
-/* Define to 1 if you have the <sys/procfs.h> header file. */
-#undef HAVE_SYS_PROCFS_H
-
-/* Define to 1 if you have the <sys/ptrace.h> header file. */
-#undef HAVE_SYS_PTRACE_H
-
-/* Define to 1 if you have the <sys/reg.h> header file. */
-#undef HAVE_SYS_REG_H
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/un.h> header file. */
-#undef HAVE_SYS_UN_H
-
-/* Define to 1 if you have the <sys/user.h> header file. */
-#undef HAVE_SYS_USER_H
-
-/* Define to 1 if you have the <sys/wait.h> header file. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define to 1 if you have the <termios.h> header file. */
-#undef HAVE_TERMIOS_H
-
-/* Define to 1 if you have the <term.h> header file. */
-#undef HAVE_TERM_H
-
-/* Define to 1 if you have the <thread_db.h> header file. */
-#undef HAVE_THREAD_DB_H
-
-/* Define to 1 if you have the `ttrace' function. */
-#undef HAVE_TTRACE
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the `use_default_colors' function. */
-#undef HAVE_USE_DEFAULT_COLORS
-
-/* Define to 1 if you have the `vfork' function. */
-#undef HAVE_VFORK
-
-/* Define to 1 if you have the <vfork.h> header file. */
-#undef HAVE_VFORK_H
-
-/* Define to 1 if you have the `waitpid' function. */
-#undef HAVE_WAITPID
-
-/* Define to 1 if you have the <wait.h> header file. */
-#undef HAVE_WAIT_H
-
-/* Define to 1 if you have the `wborder' function. */
-#undef HAVE_WBORDER
-
-/* Define to 1 if you have the <windows.h> header file. */
-#undef HAVE_WINDOWS_H
-
-/* Define to 1 if `fork' works. */
-#undef HAVE_WORKING_FORK
-
-/* Define to 1 if `vfork' works. */
-#undef HAVE_WORKING_VFORK
-
-/* Define to 1 if you have the `wresize' function. */
-#undef HAVE_WRESIZE
-
-/* Define to 1 if you have the `XML_StopParser' function. */
-#undef HAVE_XML_STOPPARSER
-
-/* Define to 1 if your system has the _etext variable. */
-#undef HAVE__ETEXT
-
-/* Define to 1 if you have the `_mcleanup' function. */
-#undef HAVE__MCLEANUP
-
-/* Path of directory of iconv program. */
-#undef ICONV_BIN
-
-/* Define if the iconv directory should be relocated when GDB is moved. */
-#undef ICONV_BIN_RELOCATABLE
-
-/* Define as const if the declaration of iconv() needs const. */
-#undef ICONV_CONST
-
-/* directory to load the JIT readers from */
-#undef JIT_READER_DIR
-
-/* Define if the jit-reader-dir directory should be relocated when GDB is
-   moved. */
-#undef JIT_READER_DIR_RELOCATABLE
-
-/* Name of this package. */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
 #undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
+#undef PACKAGE
+#undef PACKAGE_VERSION
 #undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
 #undef PACKAGE_TARNAME
 
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
+#include <gdbsupport/support-config.h>
 
-/* Define to the version of this package. */
+#undef PACKAGE_NAME
+#undef PACKAGE
 #undef PACKAGE_VERSION
+#undef PACKAGE_STRING
+#undef PACKAGE_TARNAME
 
-/* Additional package description */
-#undef PKGVERSION
-
-/* Define to 1 if the "%H, %D and %DD" formats work to print decfloats. */
-#undef PRINTF_HAS_DECFLOAT
-
-/* Define to 1 if the "%Lg" format works to print long doubles. */
-#undef PRINTF_HAS_LONG_DOUBLE
-
-/* Define to 1 if the "%ll" format works to print long longs. */
-#undef PRINTF_HAS_LONG_LONG
-
-/* Define to necessary symbol if this constant uses a non-standard name on
-   your system. */
-#undef PTHREAD_CREATE_JOINABLE
-
-/* Define to the type of arg 1 for ptrace. */
-#undef PTRACE_TYPE_ARG1
-
-/* Define to the type of arg 3 for ptrace. */
-#undef PTRACE_TYPE_ARG3
-
-/* Define to the type of arg 4 for ptrace. */
-#undef PTRACE_TYPE_ARG4
-
-/* Define to the type of arg 5 for ptrace. */
-#undef PTRACE_TYPE_ARG5
-
-/* Define as the return type of ptrace. */
-#undef PTRACE_TYPE_RET
-
-/* Define if the python directory should be relocated when GDB is moved. */
-#undef PYTHON_PATH_RELOCATABLE
-
-/* Relocated directory for source files. */
-#undef RELOC_SRCDIR
-
-/* Bug reporting address */
-#undef REPORT_BUGS_TO
-
-/* Define to 1 if the "%Lg" format works to scan long doubles. */
-#undef SCANF_HAS_LONG_DOUBLE
-
-/* Define to 1 if the `setpgrp' function takes no argument. */
-#undef SETPGRP_VOID
-
-/* The size of `long', as computed by sizeof. */
-#undef SIZEOF_LONG
-
-/* The size of `long long', as computed by sizeof. */
-#undef SIZEOF_LONG_LONG
-
-/* The size of `unsigned long', as computed by sizeof. */
-#undef SIZEOF_UNSIGNED_LONG
-
-/* The size of `unsigned long long', as computed by sizeof. */
-#undef SIZEOF_UNSIGNED_LONG_LONG
-
-/* The size of `unsigned __int128', as computed by sizeof. */
-#undef SIZEOF_UNSIGNED___INT128
-
-/* If using the C implementation of alloca, define if you know the
-   direction of stack growth for your system; otherwise it will be
-   automatically deduced at runtime.
-	STACK_DIRECTION > 0 => grows toward higher addresses
-	STACK_DIRECTION < 0 => grows toward lower addresses
-	STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* automatically load a system-wide gdbinit file */
-#undef SYSTEM_GDBINIT
-
-/* automatically load system-wide gdbinit files from this directory */
-#undef SYSTEM_GDBINIT_DIR
-
-/* Define if the system-gdbinit-dir directory should be relocated when GDB is
-   moved. */
-#undef SYSTEM_GDBINIT_DIR_RELOCATABLE
-
-/* Define if the system-gdbinit directory should be relocated when GDB is
-   moved. */
-#undef SYSTEM_GDBINIT_RELOCATABLE
-
-/* search for usr/lib et al within DIR */
-#undef TARGET_SYSTEM_ROOT
-
-/* Define if the sysroot directory should be relocated when GDB is moved. */
-#undef TARGET_SYSTEM_ROOT_RELOCATABLE
-
-/* Define if <thread_db.h> has the TD_NOTALLOC error code. */
-#undef THREAD_DB_HAS_TD_NOTALLOC
-
-/* Define if <thread_db.h> has the TD_NOTLS error code. */
-#undef THREAD_DB_HAS_TD_NOTLS
-
-/* Define if <thread_db.h> has the TD_VERSION error code. */
-#undef THREAD_DB_HAS_TD_VERSION
-
-/* Define to 1 if the regex included in libiberty should be used. */
-#undef USE_INCLUDED_REGEX
-
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
-/* Define if we should use the Windows API, instead of the POSIX API. On
-   Windows, we use the Windows API when building for MinGW, but the POSIX API
-   when building for Cygwin. */
-#undef USE_WIN32API
-
-/* Define if the PPC simulator is being linked in. */
-#undef WITH_PPC_SIM
-
-/* Define if --with-python provides a path, either directly or via
-   python-config.py --exec-prefix. */
-#undef WITH_PYTHON_PATH
-
-/* Define if the simulator is being linked in. */
-#undef WITH_SIM
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
-# endif
-#endif
-
-/* Enable large inode numbers on Mac OS X 10.5.  */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
-   this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
-   calls it, or to nothing if 'inline' is not supported under any name.  */
-#ifndef __cplusplus
-#undef inline
-#endif
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef pid_t
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Define as `fork' if `vfork' does not work. */
-#undef vfork
+#include "gdb-config.h"
diff --git a/gdb/configure b/gdb/configure
index 72ffad8d37b..048f87d062f 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -2945,7 +2945,9 @@  ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-ac_config_headers="$ac_config_headers config.h:config.in"
+ac_config_headers="$ac_config_headers gdb-config.h:gdb-config.in"
+
+ac_config_files="$ac_config_files config.h:config.in"
 
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
@@ -19729,7 +19731,8 @@  cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
-    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
+    "gdb-config.h") CONFIG_HEADERS="$CONFIG_HEADERS gdb-config.h:gdb-config.in" ;;
+    "config.h") CONFIG_FILES="$CONFIG_FILES config.h:config.in" ;;
     "depdir") CONFIG_COMMANDS="$CONFIG_COMMANDS depdir" ;;
     "jit-reader.h") CONFIG_FILES="$CONFIG_FILES jit-reader.h:jit-reader.in" ;;
     "nm.h") CONFIG_LINKS="$CONFIG_LINKS nm.h:$GDB_NM_FILE" ;;
@@ -20365,7 +20368,7 @@  $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   case $ac_file$ac_mode in
-    "config.h":H) echo > stamp-h ;;
+    "gdb-config.h":H) echo > stamp-h ;;
     "depdir":C) $SHELL $ac_aux_dir/mkinstalldirs $DEPDIR ;;
     "nm.h":L) echo > stamp-nmh ;;
     "gcore":F) chmod +x gcore ;;
diff --git a/gdb/configure.ac b/gdb/configure.ac
index 0ca169101b3..85c424b9860 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -19,7 +19,8 @@  dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 dnl Process this file with autoconf to produce a configure script.
 
 AC_INIT(main.c)
-AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
+AC_CONFIG_HEADERS(gdb-config.h:gdb-config.in, [echo > stamp-h])
+AC_CONFIG_FILES([config.h:config.in])
 AM_MAINTAINER_MODE
 
 # Set the 'development' global.
diff --git a/gdb/gdb-config.in b/gdb/gdb-config.in
new file mode 100644
index 00000000000..cb886ba8e1a
--- /dev/null
+++ b/gdb/gdb-config.in
@@ -0,0 +1,811 @@ 
+/* config.in.  Generated from configure.ac by autoheader.  */
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* Directories from which to load auto-loaded scripts. */
+#undef AUTO_LOAD_DIR
+
+/* Directories safe to hold auto-loaded files. */
+#undef AUTO_LOAD_SAFE_PATH
+
+/* Directory of programs. */
+#undef BINDIR
+
+/* 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
+
+/* Define to 1 if std::thread works. */
+#undef CXX_STD_THREAD
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* look for global separate debug info in this path [LIBDIR/debug] */
+#undef DEBUGDIR
+
+/* Define if the separate-debug-dir directory should be relocated when GDB is
+   moved. */
+#undef DEBUGDIR_RELOCATABLE
+
+/* Define to BFD's default architecture. */
+#undef DEFAULT_BFD_ARCH
+
+/* Define to BFD's default target vector. */
+#undef DEFAULT_BFD_VEC
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+#undef ENABLE_NLS
+
+/* The .gdbinit filename. */
+#undef GDBINIT
+
+/* look for global separate data files in this path [DATADIR/gdb] */
+#undef GDB_DATADIR
+
+/* Define if the gdb-datadir directory should be relocated when GDB is moved.
+   */
+#undef GDB_DATADIR_RELOCATABLE
+
+/* Define to be a string naming the default host character set. */
+#undef GDB_DEFAULT_HOST_CHARSET
+
+/* Host double floatformat */
+#undef GDB_HOST_DOUBLE_FORMAT
+
+/* Host float floatformat */
+#undef GDB_HOST_FLOAT_FORMAT
+
+/* Host long double floatformat */
+#undef GDB_HOST_LONG_DOUBLE_FORMAT
+
+/* nativefile */
+#undef GDB_NM_FILE
+
+/* Define to the default OS ABI for this configuration. */
+#undef GDB_OSABI_DEFAULT
+
+/* Define if self-testing features should be enabled */
+#undef GDB_SELF_TEST
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the `btowc' function. */
+#undef HAVE_BTOWC
+
+/* Define to 1 if you have the <cursesX.h> header file. */
+#undef HAVE_CURSESX_H
+
+/* Define to 1 if you have the <curses.h> header file. */
+#undef HAVE_CURSES_H
+
+/* define if the compiler supports basic C++11 syntax */
+#undef HAVE_CXX11
+
+/* Define to 1 if you have the declaration of `ADDR_NO_RANDOMIZE', and to 0 if
+   you don't. */
+#undef HAVE_DECL_ADDR_NO_RANDOMIZE
+
+/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_ASPRINTF
+
+/* Define to 1 if you have the declaration of `basename(char *)', and to 0 if
+   you don't. */
+#undef HAVE_DECL_BASENAME
+
+/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
+#undef HAVE_DECL_FFS
+
+/* Define to 1 if you have the declaration of `getthrds', and to 0 if you
+   don't. */
+#undef HAVE_DECL_GETTHRDS
+
+/* Define to 1 if you have the declaration of `ptrace', and to 0 if you don't.
+   */
+#undef HAVE_DECL_PTRACE
+
+/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_SNPRINTF
+
+/* Define to 1 if you have the declaration of `strstr', and to 0 if you don't.
+   */
+#undef HAVE_DECL_STRSTR
+
+/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't.
+   */
+#undef HAVE_DECL_STRTOL
+
+/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOLL
+
+/* Define to 1 if you have the declaration of `strtoul', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOUL
+
+/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOULL
+
+/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRVERSCMP
+
+/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_VASPRINTF
+
+/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_VSNPRINTF
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define if ELF support should be included. */
+#undef HAVE_ELF
+
+/* Define if <sys/procfs.h> has elf_fpregset_t. */
+#undef HAVE_ELF_FPREGSET_T
+
+/* Define to 1 if you have the <elf_hp.h> header file. */
+#undef HAVE_ELF_HP_H
+
+/* Define to 1 if your system has the etext variable. */
+#undef HAVE_ETEXT
+
+/* Define to 1 if you have the `fdwalk' function. */
+#undef HAVE_FDWALK
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define if <sys/procfs.h> has fpregset_t. */
+#undef HAVE_FPREGSET_T
+
+/* Define to 1 if you have the `getauxval' function. */
+#undef HAVE_GETAUXVAL
+
+/* Define to 1 if you have the `getgid' function. */
+#undef HAVE_GETGID
+
+/* Define to 1 if you have the `getpagesize' function. */
+#undef HAVE_GETPAGESIZE
+
+/* Define to 1 if you have the `getpgid' function. */
+#undef HAVE_GETPGID
+
+/* Define to 1 if you have the `getrlimit' function. */
+#undef HAVE_GETRLIMIT
+
+/* Define to 1 if you have the `getrusage' function. */
+#undef HAVE_GETRUSAGE
+
+/* Define to 1 if you have the `getuid' function. */
+#undef HAVE_GETUID
+
+/* Define if <sys/procfs.h> has gregset_t. */
+#undef HAVE_GREGSET_T
+
+/* Define if Guile interpreter is being linked in. */
+#undef HAVE_GUILE
+
+/* Define if Guile supports manual finalization. */
+#undef HAVE_GUILE_MANUAL_FINALIZATION
+
+/* Define if you have the iconv() function. */
+#undef HAVE_ICONV
+
+/* Define to 1 if you have the `iconvlist' function. */
+#undef HAVE_ICONVLIST
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if your system has the kinfo_getfile function. */
+#undef HAVE_KINFO_GETFILE
+
+/* Define to 1 if your system has the kinfo_getvmmap function. */
+#undef HAVE_KINFO_GETVMMAP
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#undef HAVE_LANGINFO_CODESET
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#undef HAVE_LC_MESSAGES
+
+/* Define if you have the babeltrace library. */
+#undef HAVE_LIBBABELTRACE
+
+/* Define if you have the expat library. */
+#undef HAVE_LIBEXPAT
+
+/* Define to 1 if you have the `libiconvlist' function. */
+#undef HAVE_LIBICONVLIST
+
+/* Define if you have the ipt library. */
+#undef HAVE_LIBIPT
+
+/* Define if you have the lzma library. */
+#undef HAVE_LIBLZMA
+
+/* Define to 1 if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
+/* Define if you have the mpfr library. */
+#undef HAVE_LIBMPFR
+
+/* Define to 1 if you have the <libunwind-ia64.h> header file. */
+#undef HAVE_LIBUNWIND_IA64_H
+
+/* Define if you have the xxhash library. */
+#undef HAVE_LIBXXHASH
+
+/* Define to 1 if you have the <linux/elf.h> header file. */
+#undef HAVE_LINUX_ELF_H
+
+/* Define to 1 if you have the <linux/perf_event.h> header file. */
+#undef HAVE_LINUX_PERF_EVENT_H
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if the compiler supports long double. */
+#undef HAVE_LONG_DOUBLE
+
+/* Define to 1 if the system has the type `long long'. */
+#undef HAVE_LONG_LONG
+
+/* Define if <sys/procfs.h> has lwpid_t. */
+#undef HAVE_LWPID_T
+
+/* Define to 1 if you have the <machine/reg.h> header file. */
+#undef HAVE_MACHINE_REG_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have a working `mmap' system call. */
+#undef HAVE_MMAP
+
+/* Define to 1 if you have the `monstartup' function. */
+#undef HAVE_MONSTARTUP
+
+/* Define to 1 if you have the <ncursesw/ncurses.h> header file. */
+#undef HAVE_NCURSESW_NCURSES_H
+
+/* Define to 1 if you have the <ncurses.h> header file. */
+#undef HAVE_NCURSES_H
+
+/* Define to 1 if you have the <ncurses/ncurses.h> header file. */
+#undef HAVE_NCURSES_NCURSES_H
+
+/* Define to 1 if you have the <ncurses/term.h> header file. */
+#undef HAVE_NCURSES_TERM_H
+
+/* Define to 1 if you have the <nlist.h> header file. */
+#undef HAVE_NLIST_H
+
+/* Define if you support the personality syscall. */
+#undef HAVE_PERSONALITY
+
+/* Define to 1 if you have the `pipe' function. */
+#undef HAVE_PIPE
+
+/* Define to 1 if you have the `pipe2' function. */
+#undef HAVE_PIPE2
+
+/* Define to 1 if you have the `poll' function. */
+#undef HAVE_POLL
+
+/* Define to 1 if you have the <poll.h> header file. */
+#undef HAVE_POLL_H
+
+/* Define to 1 if you have the `posix_madvise' function. */
+#undef HAVE_POSIX_MADVISE
+
+/* Define to 1 if you have the `pread' function. */
+#undef HAVE_PREAD
+
+/* Define to 1 if you have the `pread64' function. */
+#undef HAVE_PREAD64
+
+/* Define if <sys/procfs.h> has prfpregset_t. */
+#undef HAVE_PRFPREGSET_T
+
+/* Define if <sys/procfs.h> has prgregset32_t. */
+#undef HAVE_PRGREGSET32_T
+
+/* Define if <sys/procfs.h> has prgregset_t. */
+#undef HAVE_PRGREGSET_T
+
+/* Define to 1 if you have the <proc_service.h> header file. */
+#undef HAVE_PROC_SERVICE_H
+
+/* Define if <sys/procfs.h> has psaddr_t. */
+#undef HAVE_PSADDR_T
+
+/* Have PTHREAD_PRIO_INHERIT. */
+#undef HAVE_PTHREAD_PRIO_INHERIT
+
+/* Define to 1 if you have the `pthread_setname_np' function. */
+#undef HAVE_PTHREAD_SETNAME_NP
+
+/* Define to 1 if you have the `pthread_sigmask' function. */
+#undef HAVE_PTHREAD_SIGMASK
+
+/* Define to 1 if you have the `ptrace64' function. */
+#undef HAVE_PTRACE64
+
+/* Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request. */
+#undef HAVE_PTRACE_GETFPXREGS
+
+/* Define if sys/ptrace.h defines the PTRACE_GETREGS request. */
+#undef HAVE_PTRACE_GETREGS
+
+/* Define to 1 if you have the <ptrace.h> header file. */
+#undef HAVE_PTRACE_H
+
+/* Define if sys/ptrace.h defines the PT_GETDBREGS request. */
+#undef HAVE_PT_GETDBREGS
+
+/* Define if sys/ptrace.h defines the PT_GETXMMREGS request. */
+#undef HAVE_PT_GETXMMREGS
+
+/* Define to 1 if you have the `pt_insn_event' function. */
+#undef HAVE_PT_INSN_EVENT
+
+/* Define to 1 if you have the `pwrite' function. */
+#undef HAVE_PWRITE
+
+/* Define if Python interpreter is being linked in. */
+#undef HAVE_PYTHON
+
+/* Define to 1 if you have the `resize_term' function. */
+#undef HAVE_RESIZE_TERM
+
+/* Define to 1 if you have the `sbrk' function. */
+#undef HAVE_SBRK
+
+/* Define to 1 if you have the `scm_new_smob' function. */
+#undef HAVE_SCM_NEW_SMOB
+
+/* Define to 1 if you have the `setlocale' function. */
+#undef HAVE_SETLOCALE
+
+/* Define to 1 if you have the `setns' function. */
+#undef HAVE_SETNS
+
+/* Define to 1 if you have the `setpgid' function. */
+#undef HAVE_SETPGID
+
+/* Define to 1 if you have the `setpgrp' function. */
+#undef HAVE_SETPGRP
+
+/* Define to 1 if you have the `setrlimit' function. */
+#undef HAVE_SETRLIMIT
+
+/* Define to 1 if you have the `setsid' function. */
+#undef HAVE_SETSID
+
+/* Define to 1 if you have the `sigaction' function. */
+#undef HAVE_SIGACTION
+
+/* Define to 1 if you have the `sigaltstack' function. */
+#undef HAVE_SIGALTSTACK
+
+/* Define to 1 if you have the <signal.h> header file. */
+#undef HAVE_SIGNAL_H
+
+/* Define to 1 if you have the `sigprocmask' function. */
+#undef HAVE_SIGPROCMASK
+
+/* Define if sigsetjmp is available. */
+#undef HAVE_SIGSETJMP
+
+/* Define to 1 if you have the `sigsetmask' function. */
+#undef HAVE_SIGSETMASK
+
+/* Define to 1 if you have the `socketpair' function. */
+#undef HAVE_SOCKETPAIR
+
+/* Define to 1 if the system has the type `socklen_t'. */
+#undef HAVE_SOCKLEN_T
+
+/* Define to 1 if the source-highlight library is available */
+#undef HAVE_SOURCE_HIGHLIGHT
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if your system has struct lwp. */
+#undef HAVE_STRUCT_LWP
+
+/* Define to 1 if `pl_syscall_code' is a member of `struct ptrace_lwpinfo'. */
+#undef HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE
+
+/* Define to 1 if `pl_tdname' is a member of `struct ptrace_lwpinfo'. */
+#undef HAVE_STRUCT_PTRACE_LWPINFO_PL_TDNAME
+
+/* Define to 1 if `enabled' is a member of `struct pt_insn'. */
+#undef HAVE_STRUCT_PT_INSN_ENABLED
+
+/* Define to 1 if `resynced' is a member of `struct pt_insn'. */
+#undef HAVE_STRUCT_PT_INSN_RESYNCED
+
+/* Define to 1 if your system has struct reg in <machine/reg.h>. */
+#undef HAVE_STRUCT_REG
+
+/* Define to 1 if `r_fs' is a member of `struct reg'. */
+#undef HAVE_STRUCT_REG_R_FS
+
+/* Define to 1 if `r_gs' is a member of `struct reg'. */
+#undef HAVE_STRUCT_REG_R_GS
+
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BLKSIZE
+
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BLOCKS
+
+/* Define to 1 if `td_pcb' is a member of `struct thread'. */
+#undef HAVE_STRUCT_THREAD_TD_PCB
+
+/* Define to 1 if `fs_base' is a member of `struct user_regs_struct'. */
+#undef HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE
+
+/* Define to 1 if `gs_base' is a member of `struct user_regs_struct'. */
+#undef HAVE_STRUCT_USER_REGS_STRUCT_GS_BASE
+
+/* Define to 1 if you have the <sys/debugreg.h> header file. */
+#undef HAVE_SYS_DEBUGREG_H
+
+/* Define to 1 if you have the <sys/file.h> header file. */
+#undef HAVE_SYS_FILE_H
+
+/* Define to 1 if you have the <sys/filio.h> header file. */
+#undef HAVE_SYS_FILIO_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/poll.h> header file. */
+#undef HAVE_SYS_POLL_H
+
+/* Define to 1 if you have the <sys/procfs.h> header file. */
+#undef HAVE_SYS_PROCFS_H
+
+/* Define to 1 if you have the <sys/ptrace.h> header file. */
+#undef HAVE_SYS_PTRACE_H
+
+/* Define to 1 if you have the <sys/reg.h> header file. */
+#undef HAVE_SYS_REG_H
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/un.h> header file. */
+#undef HAVE_SYS_UN_H
+
+/* Define to 1 if you have the <sys/user.h> header file. */
+#undef HAVE_SYS_USER_H
+
+/* Define to 1 if you have the <sys/wait.h> header file. */
+#undef HAVE_SYS_WAIT_H
+
+/* Define to 1 if you have the <termios.h> header file. */
+#undef HAVE_TERMIOS_H
+
+/* Define to 1 if you have the <term.h> header file. */
+#undef HAVE_TERM_H
+
+/* Define to 1 if you have the <thread_db.h> header file. */
+#undef HAVE_THREAD_DB_H
+
+/* Define to 1 if you have the `ttrace' function. */
+#undef HAVE_TTRACE
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `use_default_colors' function. */
+#undef HAVE_USE_DEFAULT_COLORS
+
+/* Define to 1 if you have the `vfork' function. */
+#undef HAVE_VFORK
+
+/* Define to 1 if you have the <vfork.h> header file. */
+#undef HAVE_VFORK_H
+
+/* Define to 1 if you have the `waitpid' function. */
+#undef HAVE_WAITPID
+
+/* Define to 1 if you have the <wait.h> header file. */
+#undef HAVE_WAIT_H
+
+/* Define to 1 if you have the `wborder' function. */
+#undef HAVE_WBORDER
+
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
+/* Define to 1 if `fork' works. */
+#undef HAVE_WORKING_FORK
+
+/* Define to 1 if `vfork' works. */
+#undef HAVE_WORKING_VFORK
+
+/* Define to 1 if you have the `wresize' function. */
+#undef HAVE_WRESIZE
+
+/* Define to 1 if you have the `XML_StopParser' function. */
+#undef HAVE_XML_STOPPARSER
+
+/* Define to 1 if your system has the _etext variable. */
+#undef HAVE__ETEXT
+
+/* Define to 1 if you have the `_mcleanup' function. */
+#undef HAVE__MCLEANUP
+
+/* Path of directory of iconv program. */
+#undef ICONV_BIN
+
+/* Define if the iconv directory should be relocated when GDB is moved. */
+#undef ICONV_BIN_RELOCATABLE
+
+/* Define as const if the declaration of iconv() needs const. */
+#undef ICONV_CONST
+
+/* directory to load the JIT readers from */
+#undef JIT_READER_DIR
+
+/* Define if the jit-reader-dir directory should be relocated when GDB is
+   moved. */
+#undef JIT_READER_DIR_RELOCATABLE
+
+/* Name of this package. */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Additional package description */
+#undef PKGVERSION
+
+/* Define to 1 if the "%H, %D and %DD" formats work to print decfloats. */
+#undef PRINTF_HAS_DECFLOAT
+
+/* Define to 1 if the "%Lg" format works to print long doubles. */
+#undef PRINTF_HAS_LONG_DOUBLE
+
+/* Define to 1 if the "%ll" format works to print long longs. */
+#undef PRINTF_HAS_LONG_LONG
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+#undef PTHREAD_CREATE_JOINABLE
+
+/* Define to the type of arg 1 for ptrace. */
+#undef PTRACE_TYPE_ARG1
+
+/* Define to the type of arg 3 for ptrace. */
+#undef PTRACE_TYPE_ARG3
+
+/* Define to the type of arg 4 for ptrace. */
+#undef PTRACE_TYPE_ARG4
+
+/* Define to the type of arg 5 for ptrace. */
+#undef PTRACE_TYPE_ARG5
+
+/* Define as the return type of ptrace. */
+#undef PTRACE_TYPE_RET
+
+/* Define if the python directory should be relocated when GDB is moved. */
+#undef PYTHON_PATH_RELOCATABLE
+
+/* Relocated directory for source files. */
+#undef RELOC_SRCDIR
+
+/* Bug reporting address */
+#undef REPORT_BUGS_TO
+
+/* Define to 1 if the "%Lg" format works to scan long doubles. */
+#undef SCANF_HAS_LONG_DOUBLE
+
+/* Define to 1 if the `setpgrp' function takes no argument. */
+#undef SETPGRP_VOID
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* The size of `long long', as computed by sizeof. */
+#undef SIZEOF_LONG_LONG
+
+/* The size of `unsigned long', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_LONG
+
+/* The size of `unsigned long long', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_LONG_LONG
+
+/* The size of `unsigned __int128', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED___INT128
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* automatically load a system-wide gdbinit file */
+#undef SYSTEM_GDBINIT
+
+/* automatically load system-wide gdbinit files from this directory */
+#undef SYSTEM_GDBINIT_DIR
+
+/* Define if the system-gdbinit-dir directory should be relocated when GDB is
+   moved. */
+#undef SYSTEM_GDBINIT_DIR_RELOCATABLE
+
+/* Define if the system-gdbinit directory should be relocated when GDB is
+   moved. */
+#undef SYSTEM_GDBINIT_RELOCATABLE
+
+/* search for usr/lib et al within DIR */
+#undef TARGET_SYSTEM_ROOT
+
+/* Define if the sysroot directory should be relocated when GDB is moved. */
+#undef TARGET_SYSTEM_ROOT_RELOCATABLE
+
+/* Define if <thread_db.h> has the TD_NOTALLOC error code. */
+#undef THREAD_DB_HAS_TD_NOTALLOC
+
+/* Define if <thread_db.h> has the TD_NOTLS error code. */
+#undef THREAD_DB_HAS_TD_NOTLS
+
+/* Define if <thread_db.h> has the TD_VERSION error code. */
+#undef THREAD_DB_HAS_TD_VERSION
+
+/* Define to 1 if the regex included in libiberty should be used. */
+#undef USE_INCLUDED_REGEX
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Define if we should use the Windows API, instead of the POSIX API. On
+   Windows, we use the Windows API when building for MinGW, but the POSIX API
+   when building for Cygwin. */
+#undef USE_WIN32API
+
+/* Define if the PPC simulator is being linked in. */
+#undef WITH_PPC_SIM
+
+/* Define if --with-python provides a path, either directly or via
+   python-config.py --exec-prefix. */
+#undef WITH_PYTHON_PATH
+
+/* Define if the simulator is being linked in. */
+#undef WITH_SIM
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+#  undef WORDS_BIGENDIAN
+# endif
+#endif
+
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+/* Define as `fork' if `vfork' does not work. */
+#undef vfork
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.  */
 
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
-   */
-#undef HAVE_ALLOCA_H
+#include <build-gnulib-gdbserver/config.h>
 
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#undef HAVE_ARPA_INET_H
-
-/* define if the compiler supports basic C++11 syntax */
-#undef HAVE_CXX11
-
-/* Define to 1 if you have the declaration of `ADDR_NO_RANDOMIZE', and to 0 if
-   you don't. */
-#undef HAVE_DECL_ADDR_NO_RANDOMIZE
-
-/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_ASPRINTF
-
-/* Define to 1 if you have the declaration of `basename(char *)', and to 0 if
-   you don't. */
-#undef HAVE_DECL_BASENAME
-
-/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
-#undef HAVE_DECL_FFS
-
-/* Define to 1 if you have the declaration of `perror', and to 0 if you don't.
-   */
-#undef HAVE_DECL_PERROR
-
-/* Define to 1 if you have the declaration of `ptrace', and to 0 if you don't.
-   */
-#undef HAVE_DECL_PTRACE
-
-/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_SNPRINTF
-
-/* Define to 1 if you have the declaration of `strstr', and to 0 if you don't.
-   */
-#undef HAVE_DECL_STRSTR
-
-/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't.
-   */
-#undef HAVE_DECL_STRTOL
-
-/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRTOLL
-
-/* Define to 1 if you have the declaration of `strtoul', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRTOUL
-
-/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRTOULL
-
-/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRVERSCMP
-
-/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_VASPRINTF
-
-/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_VSNPRINTF
-
-/* Define to 1 if you have the `dladdr' function. */
-#undef HAVE_DLADDR
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if the system has the type `Elf32_auxv_t'. */
-#undef HAVE_ELF32_AUXV_T
-
-/* Define to 1 if the system has the type `Elf64_auxv_t'. */
-#undef HAVE_ELF64_AUXV_T
-
-/* Define if <sys/procfs.h> has elf_fpregset_t. */
-#undef HAVE_ELF_FPREGSET_T
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define to 1 if you have the `fdwalk' function. */
-#undef HAVE_FDWALK
-
-/* Define to 1 if you have the `fork' function. */
-#undef HAVE_FORK
-
-/* Define if <sys/procfs.h> has fpregset_t. */
-#undef HAVE_FPREGSET_T
-
-/* Define to 1 if you have the `getauxval' function. */
-#undef HAVE_GETAUXVAL
-
-/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
-
-/* Define to 1 if you have the `getrlimit' function. */
-#undef HAVE_GETRLIMIT
-
-/* Define to 1 if you have the `getrusage' function. */
-#undef HAVE_GETRUSAGE
-
-/* Define if <sys/procfs.h> has gregset_t. */
-#undef HAVE_GREGSET_T
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if your system has the kinfo_getfile function. */
-#undef HAVE_KINFO_GETFILE
-
-/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
-#undef HAVE_LANGINFO_CODESET
-
-/* Define to 1 if you have the `dl' library (-ldl). */
-#undef HAVE_LIBDL
-
-/* Define if you have the ipt library. */
-#undef HAVE_LIBIPT
-
-/* Define if the target supports branch tracing. */
-#undef HAVE_LINUX_BTRACE
-
-/* Define to 1 if you have the <linux/elf.h> header file. */
-#undef HAVE_LINUX_ELF_H
-
-/* Define to 1 if you have the <linux/perf_event.h> header file. */
-#undef HAVE_LINUX_PERF_EVENT_H
-
-/* Define if the target supports register sets. */
-#undef HAVE_LINUX_REGSETS
-
-/* Define if the target supports PTRACE_PEEKUSR for register access. */
-#undef HAVE_LINUX_USRREGS
-
-/* Define to 1 if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define to 1 if the system has the type `long long'. */
-#undef HAVE_LONG_LONG
-
-/* Define if <thread_db.h> has lwpid_t. */
-#undef HAVE_LWPID_T
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#undef HAVE_NETDB_H
-
-/* Define to 1 if you have the <netinet/in.h> header file. */
-#undef HAVE_NETINET_IN_H
-
-/* Define to 1 if you have the <netinet/tcp.h> header file. */
-#undef HAVE_NETINET_TCP_H
-
-/* Define if you support the personality syscall. */
-#undef HAVE_PERSONALITY
-
-/* Define to 1 if you have the `pipe' function. */
-#undef HAVE_PIPE
-
-/* Define to 1 if you have the `pipe2' function. */
-#undef HAVE_PIPE2
-
-/* Define to 1 if you have the `pread' function. */
-#undef HAVE_PREAD
-
-/* Define to 1 if you have the `pread64' function. */
-#undef HAVE_PREAD64
-
-/* Define if <sys/procfs.h> has prfpregset_t. */
-#undef HAVE_PRFPREGSET_T
-
-/* Define if <sys/procfs.h> has prgregset32_t. */
-#undef HAVE_PRGREGSET32_T
-
-/* Define if <sys/procfs.h> has prgregset_t. */
-#undef HAVE_PRGREGSET_T
-
-/* Define to 1 if you have the <proc_service.h> header file. */
-#undef HAVE_PROC_SERVICE_H
-
-/* Define if <thread_db.h> has psaddr_t. */
-#undef HAVE_PSADDR_T
-
-/* Have PTHREAD_PRIO_INHERIT. */
-#undef HAVE_PTHREAD_PRIO_INHERIT
-
-/* Define to 1 if you have the `pthread_setname_np' function. */
-#undef HAVE_PTHREAD_SETNAME_NP
-
-/* Define to 1 if you have the `pthread_sigmask' function. */
-#undef HAVE_PTHREAD_SIGMASK
-
-/* Define to 1 if you have the `ptrace64' function. */
-#undef HAVE_PTRACE64
-
-/* Define if the target supports PTRACE_GETFPXREGS for extended register
-   access. */
-#undef HAVE_PTRACE_GETFPXREGS
-
-/* Define if the target supports PTRACE_GETREGS for register access. */
-#undef HAVE_PTRACE_GETREGS
-
-/* Define to 1 if you have the <ptrace.h> header file. */
-#undef HAVE_PTRACE_H
-
-/* Define to 1 if you have the `pt_insn_event' function. */
-#undef HAVE_PT_INSN_EVENT
-
-/* Define to 1 if you have the `pwrite' function. */
-#undef HAVE_PWRITE
-
-/* Define to 1 if you have the `sbrk' function. */
-#undef HAVE_SBRK
-
-/* Define to 1 if you have the `setns' function. */
-#undef HAVE_SETNS
-
-/* Define to 1 if you have the `setpgid' function. */
-#undef HAVE_SETPGID
-
-/* Define to 1 if you have the `setpgrp' function. */
-#undef HAVE_SETPGRP
-
-/* Define to 1 if you have the `sigaction' function. */
-#undef HAVE_SIGACTION
-
-/* Define to 1 if you have the `sigaltstack' function. */
-#undef HAVE_SIGALTSTACK
-
-/* Define to 1 if you have the <signal.h> header file. */
-#undef HAVE_SIGNAL_H
-
-/* Define to 1 if you have the `sigprocmask' function. */
-#undef HAVE_SIGPROCMASK
-
-/* Define if sigsetjmp is available. */
-#undef HAVE_SIGSETJMP
-
-/* Define to 1 if you have the `socketpair' function. */
-#undef HAVE_SOCKETPAIR
-
-/* Define to 1 if the system has the type `socklen_t'. */
-#undef HAVE_SOCKLEN_T
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if `enabled' is a member of `struct pt_insn'. */
-#undef HAVE_STRUCT_PT_INSN_ENABLED
-
-/* Define to 1 if `resynced' is a member of `struct pt_insn'. */
-#undef HAVE_STRUCT_PT_INSN_RESYNCED
-
-/* Define to 1 if `st_blksize' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_BLKSIZE
-
-/* Define to 1 if `st_blocks' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_BLOCKS
-
-/* Define to 1 if `fs_base' is a member of `struct user_regs_struct'. */
-#undef HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE
-
-/* Define to 1 if `gs_base' is a member of `struct user_regs_struct'. */
-#undef HAVE_STRUCT_USER_REGS_STRUCT_GS_BASE
-
-/* Define to 1 if the target supports __sync_*_compare_and_swap */
-#undef HAVE_SYNC_BUILTINS
-
-/* Define to 1 if you have the <sys/file.h> header file. */
-#undef HAVE_SYS_FILE_H
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#undef HAVE_SYS_IOCTL_H
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/procfs.h> header file. */
-#undef HAVE_SYS_PROCFS_H
-
-/* Define to 1 if you have the <sys/ptrace.h> header file. */
-#undef HAVE_SYS_PTRACE_H
-
-/* Define to 1 if you have the <sys/reg.h> header file. */
-#undef HAVE_SYS_REG_H
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/un.h> header file. */
-#undef HAVE_SYS_UN_H
-
-/* Define to 1 if you have the <sys/wait.h> header file. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define if TD_VERSION is available. */
-#undef HAVE_TD_VERSION
-
-/* Define to 1 if you have the <termios.h> header file. */
-#undef HAVE_TERMIOS_H
-
-/* Define to 1 if you have the <thread_db.h> header file. */
-#undef HAVE_THREAD_DB_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define if UST is available */
-#undef HAVE_UST
-
-/* Define to 1 if you have the `vfork' function. */
-#undef HAVE_VFORK
-
-/* Define to 1 if you have the <vfork.h> header file. */
-#undef HAVE_VFORK_H
-
-/* Define to 1 if you have the <wait.h> header file. */
-#undef HAVE_WAIT_H
-
-/* Define to 1 if `fork' works. */
-#undef HAVE_WORKING_FORK
-
-/* Define to 1 if `vfork' works. */
-#undef HAVE_WORKING_VFORK
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
 #undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
+#undef PACKAGE
+#undef PACKAGE_VERSION
 #undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
 #undef PACKAGE_TARNAME
 
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Additional package description */
-#undef PKGVERSION
-
-/* Define to necessary symbol if this constant uses a non-standard name on
-   your system. */
-#undef PTHREAD_CREATE_JOINABLE
-
-/* Define to the type of arg 1 for ptrace. */
-#undef PTRACE_TYPE_ARG1
-
-/* Define to the type of arg 3 for ptrace. */
-#undef PTRACE_TYPE_ARG3
-
-/* Define to the type of arg 4 for ptrace. */
-#undef PTRACE_TYPE_ARG4
-
-/* Define to the type of arg 5 for ptrace. */
-#undef PTRACE_TYPE_ARG5
-
-/* Define as the return type of ptrace. */
-#undef PTRACE_TYPE_RET
-
-/* Bug reporting address */
-#undef REPORT_BUGS_TO
-
-/* The size of `long long', as computed by sizeof. */
-#undef SIZEOF_LONG_LONG
-
-/* If using the C implementation of alloca, define if you know the
-   direction of stack growth for your system; otherwise it will be
-   automatically deduced at runtime.
-	STACK_DIRECTION > 0 => grows toward higher addresses
-	STACK_DIRECTION < 0 => grows toward lower addresses
-	STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if we should use libthread_db directly. */
-#undef USE_LIBTHREAD_DB_DIRECTLY
-
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
-/* Define if we should use libthread_db. */
-#undef USE_THREAD_DB
-
-/* Define if we should use the Windows API, instead of the POSIX API. On
-   Windows, we use the Windows API when building for MinGW, but the POSIX API
-   when building for Cygwin. */
-#undef USE_WIN32API
-
-/* Define if an XML target description is available. */
-#undef USE_XML
-
-/* Enable large inode numbers on Mac OS X 10.5.  */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
-   this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef pid_t
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Define as `fork' if `vfork' does not work. */
-#undef vfork
+#include "gdbserver-config.h"
diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure
index 0bdc2145098..54dce062522 100755
--- a/gdb/gdbserver/configure
+++ b/gdb/gdbserver/configure
@@ -2695,7 +2695,9 @@  ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-ac_config_headers="$ac_config_headers config.h:config.in"
+ac_config_headers="$ac_config_headers gdbserver-config.h:gdbserver-config.in"
+
+ac_config_files="$ac_config_files config.h:config.in"
 
 
 
@@ -11438,7 +11440,8 @@  cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
-    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
+    "gdbserver-config.h") CONFIG_HEADERS="$CONFIG_HEADERS gdbserver-config.h:gdbserver-config.in" ;;
+    "config.h") CONFIG_FILES="$CONFIG_FILES config.h:config.in" ;;
     "depdir") CONFIG_COMMANDS="$CONFIG_COMMANDS depdir" ;;
     "gdbdepdir") CONFIG_COMMANDS="$CONFIG_COMMANDS gdbdepdir" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
@@ -11997,7 +12000,7 @@  $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   case $ac_file$ac_mode in
-    "config.h":H) echo > stamp-h ;;
+    "gdbserver-config.h":H) echo > stamp-h ;;
     "depdir":C) $SHELL $ac_aux_dir/mkinstalldirs $DEPDIR ;;
     "gdbdepdir":C)
   for subdir in ${CONFIG_SRC_SUBDIR}
diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac
index 969354308c7..3afa6c1e37c 100644
--- a/gdb/gdbserver/configure.ac
+++ b/gdb/gdbserver/configure.ac
@@ -19,7 +19,8 @@  dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 dnl Process this file with autoconf to produce a configure script.
 
 AC_INIT(server.c)
-AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
+AC_CONFIG_HEADERS(gdbserver-config.h:gdbserver-config.in, [echo > stamp-h])
+AC_CONFIG_FILES([config.h:config.in])
 
 AM_MAINTAINER_MODE
 
diff --git a/gdb/gdbserver/gdbserver-config.in b/gdb/gdbserver/gdbserver-config.in
new file mode 100644
index 00000000000..da8c313c360
--- /dev/null
+++ b/gdb/gdbserver/gdbserver-config.in
@@ -0,0 +1,496 @@ 
+/* config.in.  Generated from configure.ac by autoheader.  */
+
+/* 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
+
+/* Define to 1 if std::thread works. */
+#undef CXX_STD_THREAD
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Define if self-testing features should be enabled */
+#undef GDB_SELF_TEST
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H
+
+/* define if the compiler supports basic C++11 syntax */
+#undef HAVE_CXX11
+
+/* Define to 1 if you have the declaration of `ADDR_NO_RANDOMIZE', and to 0 if
+   you don't. */
+#undef HAVE_DECL_ADDR_NO_RANDOMIZE
+
+/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_ASPRINTF
+
+/* Define to 1 if you have the declaration of `basename(char *)', and to 0 if
+   you don't. */
+#undef HAVE_DECL_BASENAME
+
+/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
+#undef HAVE_DECL_FFS
+
+/* Define to 1 if you have the declaration of `perror', and to 0 if you don't.
+   */
+#undef HAVE_DECL_PERROR
+
+/* Define to 1 if you have the declaration of `ptrace', and to 0 if you don't.
+   */
+#undef HAVE_DECL_PTRACE
+
+/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_SNPRINTF
+
+/* Define to 1 if you have the declaration of `strstr', and to 0 if you don't.
+   */
+#undef HAVE_DECL_STRSTR
+
+/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't.
+   */
+#undef HAVE_DECL_STRTOL
+
+/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOLL
+
+/* Define to 1 if you have the declaration of `strtoul', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOUL
+
+/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOULL
+
+/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRVERSCMP
+
+/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_VASPRINTF
+
+/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_VSNPRINTF
+
+/* Define to 1 if you have the `dladdr' function. */
+#undef HAVE_DLADDR
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if the system has the type `Elf32_auxv_t'. */
+#undef HAVE_ELF32_AUXV_T
+
+/* Define to 1 if the system has the type `Elf64_auxv_t'. */
+#undef HAVE_ELF64_AUXV_T
+
+/* Define if <sys/procfs.h> has elf_fpregset_t. */
+#undef HAVE_ELF_FPREGSET_T
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `fdwalk' function. */
+#undef HAVE_FDWALK
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define if <sys/procfs.h> has fpregset_t. */
+#undef HAVE_FPREGSET_T
+
+/* Define to 1 if you have the `getauxval' function. */
+#undef HAVE_GETAUXVAL
+
+/* Define to 1 if you have the `getpagesize' function. */
+#undef HAVE_GETPAGESIZE
+
+/* Define to 1 if you have the `getrlimit' function. */
+#undef HAVE_GETRLIMIT
+
+/* Define to 1 if you have the `getrusage' function. */
+#undef HAVE_GETRUSAGE
+
+/* Define if <sys/procfs.h> has gregset_t. */
+#undef HAVE_GREGSET_T
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if your system has the kinfo_getfile function. */
+#undef HAVE_KINFO_GETFILE
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#undef HAVE_LANGINFO_CODESET
+
+/* Define to 1 if you have the `dl' library (-ldl). */
+#undef HAVE_LIBDL
+
+/* Define if you have the ipt library. */
+#undef HAVE_LIBIPT
+
+/* Define if the target supports branch tracing. */
+#undef HAVE_LINUX_BTRACE
+
+/* Define to 1 if you have the <linux/elf.h> header file. */
+#undef HAVE_LINUX_ELF_H
+
+/* Define to 1 if you have the <linux/perf_event.h> header file. */
+#undef HAVE_LINUX_PERF_EVENT_H
+
+/* Define if the target supports register sets. */
+#undef HAVE_LINUX_REGSETS
+
+/* Define if the target supports PTRACE_PEEKUSR for register access. */
+#undef HAVE_LINUX_USRREGS
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if the system has the type `long long'. */
+#undef HAVE_LONG_LONG
+
+/* Define if <thread_db.h> has lwpid_t. */
+#undef HAVE_LWPID_T
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have a working `mmap' system call. */
+#undef HAVE_MMAP
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define to 1 if you have the <netinet/tcp.h> header file. */
+#undef HAVE_NETINET_TCP_H
+
+/* Define if you support the personality syscall. */
+#undef HAVE_PERSONALITY
+
+/* Define to 1 if you have the `pipe' function. */
+#undef HAVE_PIPE
+
+/* Define to 1 if you have the `pipe2' function. */
+#undef HAVE_PIPE2
+
+/* Define to 1 if you have the `pread' function. */
+#undef HAVE_PREAD
+
+/* Define to 1 if you have the `pread64' function. */
+#undef HAVE_PREAD64
+
+/* Define if <sys/procfs.h> has prfpregset_t. */
+#undef HAVE_PRFPREGSET_T
+
+/* Define if <sys/procfs.h> has prgregset32_t. */
+#undef HAVE_PRGREGSET32_T
+
+/* Define if <sys/procfs.h> has prgregset_t. */
+#undef HAVE_PRGREGSET_T
+
+/* Define to 1 if you have the <proc_service.h> header file. */
+#undef HAVE_PROC_SERVICE_H
+
+/* Define if <thread_db.h> has psaddr_t. */
+#undef HAVE_PSADDR_T
+
+/* Have PTHREAD_PRIO_INHERIT. */
+#undef HAVE_PTHREAD_PRIO_INHERIT
+
+/* Define to 1 if you have the `pthread_setname_np' function. */
+#undef HAVE_PTHREAD_SETNAME_NP
+
+/* Define to 1 if you have the `pthread_sigmask' function. */
+#undef HAVE_PTHREAD_SIGMASK
+
+/* Define to 1 if you have the `ptrace64' function. */
+#undef HAVE_PTRACE64
+
+/* Define if the target supports PTRACE_GETFPXREGS for extended register
+   access. */
+#undef HAVE_PTRACE_GETFPXREGS
+
+/* Define if the target supports PTRACE_GETREGS for register access. */
+#undef HAVE_PTRACE_GETREGS
+
+/* Define to 1 if you have the <ptrace.h> header file. */
+#undef HAVE_PTRACE_H
+
+/* Define to 1 if you have the `pt_insn_event' function. */
+#undef HAVE_PT_INSN_EVENT
+
+/* Define to 1 if you have the `pwrite' function. */
+#undef HAVE_PWRITE
+
+/* Define to 1 if you have the `sbrk' function. */
+#undef HAVE_SBRK
+
+/* Define to 1 if you have the `setns' function. */
+#undef HAVE_SETNS
+
+/* Define to 1 if you have the `setpgid' function. */
+#undef HAVE_SETPGID
+
+/* Define to 1 if you have the `setpgrp' function. */
+#undef HAVE_SETPGRP
+
+/* Define to 1 if you have the `sigaction' function. */
+#undef HAVE_SIGACTION
+
+/* Define to 1 if you have the `sigaltstack' function. */
+#undef HAVE_SIGALTSTACK
+
+/* Define to 1 if you have the <signal.h> header file. */
+#undef HAVE_SIGNAL_H
+
+/* Define to 1 if you have the `sigprocmask' function. */
+#undef HAVE_SIGPROCMASK
+
+/* Define if sigsetjmp is available. */
+#undef HAVE_SIGSETJMP
+
+/* Define to 1 if you have the `socketpair' function. */
+#undef HAVE_SOCKETPAIR
+
+/* Define to 1 if the system has the type `socklen_t'. */
+#undef HAVE_SOCKLEN_T
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if `enabled' is a member of `struct pt_insn'. */
+#undef HAVE_STRUCT_PT_INSN_ENABLED
+
+/* Define to 1 if `resynced' is a member of `struct pt_insn'. */
+#undef HAVE_STRUCT_PT_INSN_RESYNCED
+
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BLKSIZE
+
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BLOCKS
+
+/* Define to 1 if `fs_base' is a member of `struct user_regs_struct'. */
+#undef HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE
+
+/* Define to 1 if `gs_base' is a member of `struct user_regs_struct'. */
+#undef HAVE_STRUCT_USER_REGS_STRUCT_GS_BASE
+
+/* Define to 1 if the target supports __sync_*_compare_and_swap */
+#undef HAVE_SYNC_BUILTINS
+
+/* Define to 1 if you have the <sys/file.h> header file. */
+#undef HAVE_SYS_FILE_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/procfs.h> header file. */
+#undef HAVE_SYS_PROCFS_H
+
+/* Define to 1 if you have the <sys/ptrace.h> header file. */
+#undef HAVE_SYS_PTRACE_H
+
+/* Define to 1 if you have the <sys/reg.h> header file. */
+#undef HAVE_SYS_REG_H
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/un.h> header file. */
+#undef HAVE_SYS_UN_H
+
+/* Define to 1 if you have the <sys/wait.h> header file. */
+#undef HAVE_SYS_WAIT_H
+
+/* Define if TD_VERSION is available. */
+#undef HAVE_TD_VERSION
+
+/* Define to 1 if you have the <termios.h> header file. */
+#undef HAVE_TERMIOS_H
+
+/* Define to 1 if you have the <thread_db.h> header file. */
+#undef HAVE_THREAD_DB_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define if UST is available */
+#undef HAVE_UST
+
+/* Define to 1 if you have the `vfork' function. */
+#undef HAVE_VFORK
+
+/* Define to 1 if you have the <vfork.h> header file. */
+#undef HAVE_VFORK_H
+
+/* Define to 1 if you have the <wait.h> header file. */
+#undef HAVE_WAIT_H
+
+/* Define to 1 if `fork' works. */
+#undef HAVE_WORKING_FORK
+
+/* Define to 1 if `vfork' works. */
+#undef HAVE_WORKING_VFORK
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Additional package description */
+#undef PKGVERSION
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+#undef PTHREAD_CREATE_JOINABLE
+
+/* Define to the type of arg 1 for ptrace. */
+#undef PTRACE_TYPE_ARG1
+
+/* Define to the type of arg 3 for ptrace. */
+#undef PTRACE_TYPE_ARG3
+
+/* Define to the type of arg 4 for ptrace. */
+#undef PTRACE_TYPE_ARG4
+
+/* Define to the type of arg 5 for ptrace. */
+#undef PTRACE_TYPE_ARG5
+
+/* Define as the return type of ptrace. */
+#undef PTRACE_TYPE_RET
+
+/* Bug reporting address */
+#undef REPORT_BUGS_TO
+
+/* The size of `long long', as computed by sizeof. */
+#undef SIZEOF_LONG_LONG
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define if we should use libthread_db directly. */
+#undef USE_LIBTHREAD_DB_DIRECTLY
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Define if we should use libthread_db. */
+#undef USE_THREAD_DB
+
+/* Define if we should use the Windows API, instead of the POSIX API. On
+   Windows, we use the Windows API when building for MinGW, but the POSIX API
+   when building for Cygwin. */
+#undef USE_WIN32API
+
+/* Define if an XML target description is available. */
+#undef USE_XML
+
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+/* Define as `fork' if `vfork' does not work. */
+#undef vfork
diff --git a/gdb/unittests/scoped_fd-selftests.c b/gdb/unittests/scoped_fd-selftests.c
index 3f024764245..96ca9bf7f63 100644
--- a/gdb/unittests/scoped_fd-selftests.c
+++ b/gdb/unittests/scoped_fd-selftests.c
@@ -21,7 +21,6 @@ 
 
 #include "gdbsupport/filestuff.h"
 #include "gdbsupport/scoped_fd.h"
-#include "config.h"
 #include "gdbsupport/selftest.h"
 
 namespace selftests {
diff --git a/gdb/unittests/scoped_mmap-selftests.c b/gdb/unittests/scoped_mmap-selftests.c
index fa963d1b47f..7e479e2bc06 100644
--- a/gdb/unittests/scoped_mmap-selftests.c
+++ b/gdb/unittests/scoped_mmap-selftests.c
@@ -21,7 +21,6 @@ 
 
 #include "gdbsupport/filestuff.h"
 #include "gdbsupport/scoped_mmap.h"
-#include "config.h"
 
 #if defined(HAVE_SYS_MMAN_H)
 
diff --git a/gdbsupport/common-defs.h b/gdbsupport/common-defs.h
index d823c41607c..d6fc62be413 100644
--- a/gdbsupport/common-defs.h
+++ b/gdbsupport/common-defs.h
@@ -20,32 +20,8 @@ 
 #ifndef COMMON_COMMON_DEFS_H
 #define COMMON_COMMON_DEFS_H
 
-#ifdef GDBSERVER
-
-#include <build-gnulib-gdbserver/config.h>
-
-#undef PACKAGE_NAME
-#undef PACKAGE
-#undef PACKAGE_VERSION
-#undef PACKAGE_STRING
-#undef PACKAGE_TARNAME
-
 #include <config.h>
 
-#else  /* GDBSERVER */
-
-#include <gdbsupport/support-config.h>
-
-#undef PACKAGE_NAME
-#undef PACKAGE
-#undef PACKAGE_VERSION
-#undef PACKAGE_STRING
-#undef PACKAGE_TARNAME
-
-#include "gnulib/config.h"
-
-#endif	/* GDBSERVER */
-
 /* From:
     https://www.gnu.org/software/gnulib/manual/html_node/stdint_002eh.html
 
diff --git a/gdbsupport/config.in b/gdbsupport/config.in
index 6a6b0bc74f0..e7abc0b5079 100644
--- a/gdbsupport/config.in
+++ b/gdbsupport/config.in
@@ -1,414 +1,33 @@ 
-/* config.in.  Generated from configure.ac by autoheader.  */
+/* config.h for gdbsupport.
+   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 to 1 if translation of program messages to the user's native
-   language is requested. */
-#undef ENABLE_NLS
+   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 if self-testing features should be enabled */
-#undef GDB_SELF_TEST
+/* 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 support-config.h), along with gnulib's
+   config.h.  */
 
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
+#include "gnulib/config.h"
 
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
-   */
-#undef HAVE_ALLOCA_H
-
-/* define if the compiler supports basic C++11 syntax */
-#undef HAVE_CXX11
-
-/* Define to 1 if you have the declaration of `ADDR_NO_RANDOMIZE', and to 0 if
-   you don't. */
-#undef HAVE_DECL_ADDR_NO_RANDOMIZE
-
-/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_ASPRINTF
-
-/* Define to 1 if you have the declaration of `basename(char *)', and to 0 if
-   you don't. */
-#undef HAVE_DECL_BASENAME
-
-/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
-#undef HAVE_DECL_FFS
-
-/* Define to 1 if you have the declaration of `ptrace', and to 0 if you don't.
-   */
-#undef HAVE_DECL_PTRACE
-
-/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_SNPRINTF
-
-/* Define to 1 if you have the declaration of `strstr', and to 0 if you don't.
-   */
-#undef HAVE_DECL_STRSTR
-
-/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't.
-   */
-#undef HAVE_DECL_STRTOL
-
-/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRTOLL
-
-/* Define to 1 if you have the declaration of `strtoul', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRTOUL
-
-/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRTOULL
-
-/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRVERSCMP
-
-/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_VASPRINTF
-
-/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
-   don't. */
-#undef HAVE_DECL_VSNPRINTF
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define if <sys/procfs.h> has elf_fpregset_t. */
-#undef HAVE_ELF_FPREGSET_T
-
-/* Define to 1 if you have the `fdwalk' function. */
-#undef HAVE_FDWALK
-
-/* Define to 1 if you have the `fork' function. */
-#undef HAVE_FORK
-
-/* Define if <sys/procfs.h> has fpregset_t. */
-#undef HAVE_FPREGSET_T
-
-/* Define to 1 if you have the `getauxval' function. */
-#undef HAVE_GETAUXVAL
-
-/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
-
-/* Define to 1 if you have the `getrlimit' function. */
-#undef HAVE_GETRLIMIT
-
-/* Define to 1 if you have the `getrusage' function. */
-#undef HAVE_GETRUSAGE
-
-/* Define if <sys/procfs.h> has gregset_t. */
-#undef HAVE_GREGSET_T
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if your system has the kinfo_getfile function. */
-#undef HAVE_KINFO_GETFILE
-
-/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
-#undef HAVE_LANGINFO_CODESET
-
-/* Define if you have the ipt library. */
-#undef HAVE_LIBIPT
-
-/* Define to 1 if you have the <linux/elf.h> header file. */
-#undef HAVE_LINUX_ELF_H
-
-/* Define to 1 if you have the <linux/perf_event.h> header file. */
-#undef HAVE_LINUX_PERF_EVENT_H
-
-/* Define to 1 if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define to 1 if the system has the type `long long'. */
-#undef HAVE_LONG_LONG
-
-/* Define if <sys/procfs.h> has lwpid_t. */
-#undef HAVE_LWPID_T
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* Define if you support the personality syscall. */
-#undef HAVE_PERSONALITY
-
-/* Define to 1 if you have the `pipe' function. */
-#undef HAVE_PIPE
-
-/* Define to 1 if you have the `pipe2' function. */
-#undef HAVE_PIPE2
-
-/* Define if <sys/procfs.h> has prfpregset_t. */
-#undef HAVE_PRFPREGSET_T
-
-/* Define if <sys/procfs.h> has prgregset32_t. */
-#undef HAVE_PRGREGSET32_T
-
-/* Define if <sys/procfs.h> has prgregset_t. */
-#undef HAVE_PRGREGSET_T
-
-/* Define to 1 if you have the <proc_service.h> header file. */
-#undef HAVE_PROC_SERVICE_H
-
-/* Define if <sys/procfs.h> has psaddr_t. */
-#undef HAVE_PSADDR_T
-
-/* Have PTHREAD_PRIO_INHERIT. */
-#undef HAVE_PTHREAD_PRIO_INHERIT
-
-/* Define to 1 if you have the `pthread_setname_np' function. */
-#undef HAVE_PTHREAD_SETNAME_NP
-
-/* Define to 1 if you have the `pthread_sigmask' function. */
-#undef HAVE_PTHREAD_SIGMASK
-
-/* Define to 1 if you have the `ptrace64' function. */
-#undef HAVE_PTRACE64
-
-/* Define to 1 if you have the <ptrace.h> header file. */
-#undef HAVE_PTRACE_H
-
-/* Define to 1 if you have the `pt_insn_event' function. */
-#undef HAVE_PT_INSN_EVENT
-
-/* Define to 1 if you have the `sbrk' function. */
-#undef HAVE_SBRK
-
-/* Define to 1 if you have the `setns' function. */
-#undef HAVE_SETNS
-
-/* Define to 1 if you have the `setpgid' function. */
-#undef HAVE_SETPGID
-
-/* Define to 1 if you have the `setpgrp' function. */
-#undef HAVE_SETPGRP
-
-/* Define to 1 if you have the `sigaction' function. */
-#undef HAVE_SIGACTION
-
-/* Define to 1 if you have the `sigaltstack' function. */
-#undef HAVE_SIGALTSTACK
-
-/* Define to 1 if you have the <signal.h> header file. */
-#undef HAVE_SIGNAL_H
-
-/* Define to 1 if you have the `sigprocmask' function. */
-#undef HAVE_SIGPROCMASK
-
-/* Define if sigsetjmp is available. */
-#undef HAVE_SIGSETJMP
-
-/* Define to 1 if you have the `socketpair' function. */
-#undef HAVE_SOCKETPAIR
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if `enabled' is a member of `struct pt_insn'. */
-#undef HAVE_STRUCT_PT_INSN_ENABLED
-
-/* Define to 1 if `resynced' is a member of `struct pt_insn'. */
-#undef HAVE_STRUCT_PT_INSN_RESYNCED
-
-/* Define to 1 if `st_blksize' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_BLKSIZE
-
-/* Define to 1 if `st_blocks' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_BLOCKS
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/procfs.h> header file. */
-#undef HAVE_SYS_PROCFS_H
-
-/* Define to 1 if you have the <sys/ptrace.h> header file. */
-#undef HAVE_SYS_PTRACE_H
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/un.h> header file. */
-#undef HAVE_SYS_UN_H
-
-/* Define to 1 if you have the <sys/wait.h> header file. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define to 1 if you have the <termios.h> header file. */
-#undef HAVE_TERMIOS_H
-
-/* Define to 1 if you have the <thread_db.h> header file. */
-#undef HAVE_THREAD_DB_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the `vfork' function. */
-#undef HAVE_VFORK
-
-/* Define to 1 if you have the <vfork.h> header file. */
-#undef HAVE_VFORK_H
-
-/* Define to 1 if you have the <wait.h> header file. */
-#undef HAVE_WAIT_H
-
-/* Define to 1 if you have the <windows.h> header file. */
-#undef HAVE_WINDOWS_H
-
-/* Define to 1 if `fork' works. */
-#undef HAVE_WORKING_FORK
-
-/* Define to 1 if `vfork' works. */
-#undef HAVE_WORKING_VFORK
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
 #undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
+#undef PACKAGE
+#undef PACKAGE_VERSION
 #undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
 #undef PACKAGE_TARNAME
 
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to necessary symbol if this constant uses a non-standard name on
-   your system. */
-#undef PTHREAD_CREATE_JOINABLE
-
-/* Define to the type of arg 1 for ptrace. */
-#undef PTRACE_TYPE_ARG1
-
-/* Define to the type of arg 3 for ptrace. */
-#undef PTRACE_TYPE_ARG3
-
-/* Define to the type of arg 4 for ptrace. */
-#undef PTRACE_TYPE_ARG4
-
-/* Define to the type of arg 5 for ptrace. */
-#undef PTRACE_TYPE_ARG5
-
-/* Define as the return type of ptrace. */
-#undef PTRACE_TYPE_RET
-
-/* The size of `long long', as computed by sizeof. */
-#undef SIZEOF_LONG_LONG
-
-/* If using the C implementation of alloca, define if you know the
-   direction of stack growth for your system; otherwise it will be
-   automatically deduced at runtime.
-	STACK_DIRECTION > 0 => grows toward higher addresses
-	STACK_DIRECTION < 0 => grows toward lower addresses
-	STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to the word size for the target. */
-#undef TARGET_WORD_SIZE
-
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
-/* Define if we should use the Windows API, instead of the POSIX API. On
-   Windows, we use the Windows API when building for MinGW, but the POSIX API
-   when building for Cygwin. */
-#undef USE_WIN32API
-
-/* Version number of package */
-#undef VERSION
-
-/* Enable large inode numbers on Mac OS X 10.5.  */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
-   this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef pid_t
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Define as `fork' if `vfork' does not work. */
-#undef vfork
+#include <gdbsupport/support-config.h>
diff --git a/gdbsupport/configure b/gdbsupport/configure
index a0df06bbd53..b077e736349 100755
--- a/gdbsupport/configure
+++ b/gdbsupport/configure
@@ -2713,7 +2713,9 @@  ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-ac_config_headers="$ac_config_headers support-config.h:config.in"
+ac_config_headers="$ac_config_headers support-config.h:support-config.in"
+
+ac_config_files="$ac_config_files config.h:config.in"
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -9687,7 +9689,7 @@  ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5
 $as_echo_n "checking for sigsetjmp... " >&6; }
 if ${gdb_cv_func_sigsetjmp+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -9695,7 +9697,7 @@  else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <setjmp.h>
+  #include <setjmp.h>
 
 int
 main ()
@@ -9714,11 +9716,11 @@  rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_func_sigsetjmp" >&5
 $as_echo "$gdb_cv_func_sigsetjmp" >&6; }
-if test "$gdb_cv_func_sigsetjmp" = "yes"; then
+  if test "$gdb_cv_func_sigsetjmp" = "yes"; then
 
 $as_echo "#define HAVE_SIGSETJMP 1" >>confdefs.h
 
-fi
+  fi
 
 
 # Check whether --with-intel_pt was given.
@@ -9728,23 +9730,23 @@  else
   with_intel_pt=auto
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use intel pt" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use intel pt" >&5
 $as_echo_n "checking whether to use intel pt... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_intel_pt" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_intel_pt" >&5
 $as_echo "$with_intel_pt" >&6; }
 
-if test "${with_intel_pt}" = no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Intel Processor Trace support disabled; some features may be unavailable." >&5
+  if test "${with_intel_pt}" = no; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Intel Processor Trace support disabled; some features may be unavailable." >&5
 $as_echo "$as_me: WARNING: Intel Processor Trace support disabled; some features may be unavailable." >&2;}
-  HAVE_LIBIPT=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+    HAVE_LIBIPT=no
+  else
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <linux/perf_event.h>
-#ifndef PERF_ATTR_SIZE_VER5
-# error
-#endif
+  #include <linux/perf_event.h>
+  #ifndef PERF_ATTR_SIZE_VER5
+  # error
+  #endif
 
 _ACEOF
 if ac_fn_c_try_cpp "$LINENO"; then :
@@ -9753,14 +9755,14 @@  else
   perf_event=no
 fi
 rm -f conftest.err conftest.i conftest.$ac_ext
-  if test "$perf_event" != yes; then
-    if test "$with_intel_pt" = yes; then
-      as_fn_error $? "linux/perf_event.h missing or too old" "$LINENO" 5
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: linux/perf_event.h missing or too old; some features may be unavailable." >&5
+    if test "$perf_event" != yes; then
+      if test "$with_intel_pt" = yes; then
+	as_fn_error $? "linux/perf_event.h missing or too old" "$LINENO" 5
+      else
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: linux/perf_event.h missing or too old; some features may be unavailable." >&5
 $as_echo "$as_me: WARNING: linux/perf_event.h missing or too old; some features may be unavailable." >&2;}
+      fi
     fi
-  fi
 
 
 
@@ -10224,17 +10226,17 @@  $as_echo "$LIBIPT" >&6; }
 
 
 
-  if test "$HAVE_LIBIPT" != yes; then
-    if test "$with_intel_pt" = yes; then
-      as_fn_error $? "libipt is missing or unusable" "$LINENO" 5
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libipt is missing or unusable; some features may be unavailable." >&5
+    if test "$HAVE_LIBIPT" != yes; then
+      if test "$with_intel_pt" = yes; then
+	as_fn_error $? "libipt is missing or unusable" "$LINENO" 5
+      else
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libipt is missing or unusable; some features may be unavailable." >&5
 $as_echo "$as_me: WARNING: libipt is missing or unusable; some features may be unavailable." >&2;}
-    fi
-  else
-    save_LIBS=$LIBS
-    LIBS="$LIBS $LIBIPT"
-    for ac_func in pt_insn_event
+      fi
+    else
+      save_LIBS=$LIBS
+      LIBS="$LIBS $LIBIPT"
+      for ac_func in pt_insn_event
 do :
   ac_fn_c_check_func "$LINENO" "pt_insn_event" "ac_cv_func_pt_insn_event"
 if test "x$ac_cv_func_pt_insn_event" = xyes; then :
@@ -10245,7 +10247,7 @@  _ACEOF
 fi
 done
 
-    ac_fn_c_check_member "$LINENO" "struct pt_insn" "enabled" "ac_cv_member_struct_pt_insn_enabled" "#include <intel-pt.h>
+      ac_fn_c_check_member "$LINENO" "struct pt_insn" "enabled" "ac_cv_member_struct_pt_insn_enabled" "#include <intel-pt.h>
 "
 if test "x$ac_cv_member_struct_pt_insn_enabled" = xyes; then :
 
@@ -10266,12 +10268,12 @@  _ACEOF
 
 fi
 
-    LIBS=$save_LIBS
+      LIBS=$save_LIBS
+    fi
   fi
-fi
 
-if test "$ac_cv_header_sys_procfs_h" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gregset_t in sys/procfs.h" >&5
+  if test "$ac_cv_header_sys_procfs_h" = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for gregset_t in sys/procfs.h... " >&6; }
  if ${bfd_cv_have_sys_procfs_type_gregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -10308,7 +10310,7 @@  $as_echo "#define HAVE_GREGSET_T 1" >>confdefs.h
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_gregset_t" >&5
 $as_echo "$bfd_cv_have_sys_procfs_type_gregset_t" >&6; }
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpregset_t in sys/procfs.h" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for fpregset_t in sys/procfs.h... " >&6; }
  if ${bfd_cv_have_sys_procfs_type_fpregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -10345,7 +10347,7 @@  $as_echo "#define HAVE_FPREGSET_T 1" >>confdefs.h
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_fpregset_t" >&5
 $as_echo "$bfd_cv_have_sys_procfs_type_fpregset_t" >&6; }
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset_t in sys/procfs.h" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for prgregset_t in sys/procfs.h... " >&6; }
  if ${bfd_cv_have_sys_procfs_type_prgregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -10382,7 +10384,7 @@  $as_echo "#define HAVE_PRGREGSET_T 1" >>confdefs.h
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prgregset_t" >&5
 $as_echo "$bfd_cv_have_sys_procfs_type_prgregset_t" >&6; }
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prfpregset_t in sys/procfs.h" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prfpregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for prfpregset_t in sys/procfs.h... " >&6; }
  if ${bfd_cv_have_sys_procfs_type_prfpregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -10419,7 +10421,7 @@  $as_echo "#define HAVE_PRFPREGSET_T 1" >>confdefs.h
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prfpregset_t" >&5
 $as_echo "$bfd_cv_have_sys_procfs_type_prfpregset_t" >&6; }
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset32_t in sys/procfs.h" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prgregset32_t in sys/procfs.h" >&5
 $as_echo_n "checking for prgregset32_t in sys/procfs.h... " >&6; }
  if ${bfd_cv_have_sys_procfs_type_prgregset32_t+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -10456,7 +10458,7 @@  $as_echo "#define HAVE_PRGREGSET32_T 1" >>confdefs.h
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_prgregset32_t" >&5
 $as_echo "$bfd_cv_have_sys_procfs_type_prgregset32_t" >&6; }
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpid_t in sys/procfs.h" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lwpid_t in sys/procfs.h" >&5
 $as_echo_n "checking for lwpid_t in sys/procfs.h... " >&6; }
  if ${bfd_cv_have_sys_procfs_type_lwpid_t+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -10493,7 +10495,7 @@  $as_echo "#define HAVE_LWPID_T 1" >>confdefs.h
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_lwpid_t" >&5
 $as_echo "$bfd_cv_have_sys_procfs_type_lwpid_t" >&6; }
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psaddr_t in sys/procfs.h" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for psaddr_t in sys/procfs.h" >&5
 $as_echo_n "checking for psaddr_t in sys/procfs.h... " >&6; }
  if ${bfd_cv_have_sys_procfs_type_psaddr_t+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -10530,7 +10532,7 @@  $as_echo "#define HAVE_PSADDR_T 1" >>confdefs.h
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_psaddr_t" >&5
 $as_echo "$bfd_cv_have_sys_procfs_type_psaddr_t" >&6; }
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_fpregset_t in sys/procfs.h" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_fpregset_t in sys/procfs.h" >&5
 $as_echo_n "checking for elf_fpregset_t in sys/procfs.h... " >&6; }
  if ${bfd_cv_have_sys_procfs_type_elf_fpregset_t+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -10567,7 +10569,7 @@  $as_echo "#define HAVE_ELF_FPREGSET_T 1" >>confdefs.h
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_have_sys_procfs_type_elf_fpregset_t" >&5
 $as_echo "$bfd_cv_have_sys_procfs_type_elf_fpregset_t" >&6; }
 
-fi
+  fi
 
 
 # Check whether we will enable the inclusion of unit tests when
@@ -11563,7 +11565,8 @@  cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
-    "support-config.h") CONFIG_HEADERS="$CONFIG_HEADERS support-config.h:config.in" ;;
+    "support-config.h") CONFIG_HEADERS="$CONFIG_HEADERS support-config.h:support-config.in" ;;
+    "config.h") CONFIG_FILES="$CONFIG_FILES config.h:config.in" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
 
diff --git a/gdbsupport/configure.ac b/gdbsupport/configure.ac
index af14d7bb92d..27a6de67a0c 100644
--- a/gdbsupport/configure.ac
+++ b/gdbsupport/configure.ac
@@ -18,7 +18,8 @@  dnl Process this file with autoconf to produce a configure script.
 
 AC_INIT([gdbsupport], 1.0)
 AC_CONFIG_SRCDIR(common-defs.h)
-AC_CONFIG_HEADER(support-config.h:config.in)
+AC_CONFIG_HEADER(support-config.h:support-config.in)
+AC_CONFIG_FILES([config.h:config.in])
 AC_CANONICAL_SYSTEM
 AM_MAINTAINER_MODE
 AC_CONFIG_AUX_DIR(..)
diff --git a/gdbsupport/support-config.in b/gdbsupport/support-config.in
new file mode 100644
index 00000000000..6a6b0bc74f0
--- /dev/null
+++ b/gdbsupport/support-config.in
@@ -0,0 +1,414 @@ 
+/* config.in.  Generated from configure.ac by autoheader.  */
+
+/* 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
+
+/* Define to 1 if std::thread works. */
+#undef CXX_STD_THREAD
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+#undef ENABLE_NLS
+
+/* Define if self-testing features should be enabled */
+#undef GDB_SELF_TEST
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#undef HAVE_ALLOCA_H
+
+/* define if the compiler supports basic C++11 syntax */
+#undef HAVE_CXX11
+
+/* Define to 1 if you have the declaration of `ADDR_NO_RANDOMIZE', and to 0 if
+   you don't. */
+#undef HAVE_DECL_ADDR_NO_RANDOMIZE
+
+/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_ASPRINTF
+
+/* Define to 1 if you have the declaration of `basename(char *)', and to 0 if
+   you don't. */
+#undef HAVE_DECL_BASENAME
+
+/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
+#undef HAVE_DECL_FFS
+
+/* Define to 1 if you have the declaration of `ptrace', and to 0 if you don't.
+   */
+#undef HAVE_DECL_PTRACE
+
+/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_SNPRINTF
+
+/* Define to 1 if you have the declaration of `strstr', and to 0 if you don't.
+   */
+#undef HAVE_DECL_STRSTR
+
+/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't.
+   */
+#undef HAVE_DECL_STRTOL
+
+/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOLL
+
+/* Define to 1 if you have the declaration of `strtoul', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOUL
+
+/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOULL
+
+/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRVERSCMP
+
+/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_VASPRINTF
+
+/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_VSNPRINTF
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define if <sys/procfs.h> has elf_fpregset_t. */
+#undef HAVE_ELF_FPREGSET_T
+
+/* Define to 1 if you have the `fdwalk' function. */
+#undef HAVE_FDWALK
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define if <sys/procfs.h> has fpregset_t. */
+#undef HAVE_FPREGSET_T
+
+/* Define to 1 if you have the `getauxval' function. */
+#undef HAVE_GETAUXVAL
+
+/* Define to 1 if you have the `getpagesize' function. */
+#undef HAVE_GETPAGESIZE
+
+/* Define to 1 if you have the `getrlimit' function. */
+#undef HAVE_GETRLIMIT
+
+/* Define to 1 if you have the `getrusage' function. */
+#undef HAVE_GETRUSAGE
+
+/* Define if <sys/procfs.h> has gregset_t. */
+#undef HAVE_GREGSET_T
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if your system has the kinfo_getfile function. */
+#undef HAVE_KINFO_GETFILE
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#undef HAVE_LANGINFO_CODESET
+
+/* Define if you have the ipt library. */
+#undef HAVE_LIBIPT
+
+/* Define to 1 if you have the <linux/elf.h> header file. */
+#undef HAVE_LINUX_ELF_H
+
+/* Define to 1 if you have the <linux/perf_event.h> header file. */
+#undef HAVE_LINUX_PERF_EVENT_H
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if the system has the type `long long'. */
+#undef HAVE_LONG_LONG
+
+/* Define if <sys/procfs.h> has lwpid_t. */
+#undef HAVE_LWPID_T
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have a working `mmap' system call. */
+#undef HAVE_MMAP
+
+/* Define if you support the personality syscall. */
+#undef HAVE_PERSONALITY
+
+/* Define to 1 if you have the `pipe' function. */
+#undef HAVE_PIPE
+
+/* Define to 1 if you have the `pipe2' function. */
+#undef HAVE_PIPE2
+
+/* Define if <sys/procfs.h> has prfpregset_t. */
+#undef HAVE_PRFPREGSET_T
+
+/* Define if <sys/procfs.h> has prgregset32_t. */
+#undef HAVE_PRGREGSET32_T
+
+/* Define if <sys/procfs.h> has prgregset_t. */
+#undef HAVE_PRGREGSET_T
+
+/* Define to 1 if you have the <proc_service.h> header file. */
+#undef HAVE_PROC_SERVICE_H
+
+/* Define if <sys/procfs.h> has psaddr_t. */
+#undef HAVE_PSADDR_T
+
+/* Have PTHREAD_PRIO_INHERIT. */
+#undef HAVE_PTHREAD_PRIO_INHERIT
+
+/* Define to 1 if you have the `pthread_setname_np' function. */
+#undef HAVE_PTHREAD_SETNAME_NP
+
+/* Define to 1 if you have the `pthread_sigmask' function. */
+#undef HAVE_PTHREAD_SIGMASK
+
+/* Define to 1 if you have the `ptrace64' function. */
+#undef HAVE_PTRACE64
+
+/* Define to 1 if you have the <ptrace.h> header file. */
+#undef HAVE_PTRACE_H
+
+/* Define to 1 if you have the `pt_insn_event' function. */
+#undef HAVE_PT_INSN_EVENT
+
+/* Define to 1 if you have the `sbrk' function. */
+#undef HAVE_SBRK
+
+/* Define to 1 if you have the `setns' function. */
+#undef HAVE_SETNS
+
+/* Define to 1 if you have the `setpgid' function. */
+#undef HAVE_SETPGID
+
+/* Define to 1 if you have the `setpgrp' function. */
+#undef HAVE_SETPGRP
+
+/* Define to 1 if you have the `sigaction' function. */
+#undef HAVE_SIGACTION
+
+/* Define to 1 if you have the `sigaltstack' function. */
+#undef HAVE_SIGALTSTACK
+
+/* Define to 1 if you have the <signal.h> header file. */
+#undef HAVE_SIGNAL_H
+
+/* Define to 1 if you have the `sigprocmask' function. */
+#undef HAVE_SIGPROCMASK
+
+/* Define if sigsetjmp is available. */
+#undef HAVE_SIGSETJMP
+
+/* Define to 1 if you have the `socketpair' function. */
+#undef HAVE_SOCKETPAIR
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if `enabled' is a member of `struct pt_insn'. */
+#undef HAVE_STRUCT_PT_INSN_ENABLED
+
+/* Define to 1 if `resynced' is a member of `struct pt_insn'. */
+#undef HAVE_STRUCT_PT_INSN_RESYNCED
+
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BLKSIZE
+
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BLOCKS
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/procfs.h> header file. */
+#undef HAVE_SYS_PROCFS_H
+
+/* Define to 1 if you have the <sys/ptrace.h> header file. */
+#undef HAVE_SYS_PTRACE_H
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/un.h> header file. */
+#undef HAVE_SYS_UN_H
+
+/* Define to 1 if you have the <sys/wait.h> header file. */
+#undef HAVE_SYS_WAIT_H
+
+/* Define to 1 if you have the <termios.h> header file. */
+#undef HAVE_TERMIOS_H
+
+/* Define to 1 if you have the <thread_db.h> header file. */
+#undef HAVE_THREAD_DB_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `vfork' function. */
+#undef HAVE_VFORK
+
+/* Define to 1 if you have the <vfork.h> header file. */
+#undef HAVE_VFORK_H
+
+/* Define to 1 if you have the <wait.h> header file. */
+#undef HAVE_WAIT_H
+
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
+/* Define to 1 if `fork' works. */
+#undef HAVE_WORKING_FORK
+
+/* Define to 1 if `vfork' works. */
+#undef HAVE_WORKING_VFORK
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+#undef PTHREAD_CREATE_JOINABLE
+
+/* Define to the type of arg 1 for ptrace. */
+#undef PTRACE_TYPE_ARG1
+
+/* Define to the type of arg 3 for ptrace. */
+#undef PTRACE_TYPE_ARG3
+
+/* Define to the type of arg 4 for ptrace. */
+#undef PTRACE_TYPE_ARG4
+
+/* Define to the type of arg 5 for ptrace. */
+#undef PTRACE_TYPE_ARG5
+
+/* Define as the return type of ptrace. */
+#undef PTRACE_TYPE_RET
+
+/* The size of `long long', as computed by sizeof. */
+#undef SIZEOF_LONG_LONG
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define to the word size for the target. */
+#undef TARGET_WORD_SIZE
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Define if we should use the Windows API, instead of the POSIX API. On
+   Windows, we use the Windows API when building for MinGW, but the POSIX API
+   when building for Cygwin. */
+#undef USE_WIN32API
+
+/* Version number of package */
+#undef VERSION
+
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+/* Define as `fork' if `vfork' does not work. */
+#undef vfork