gdb: Move defs.h before any system header in debuginfod-support.c
authorJon Turney <jon.turney@dronecode.org.uk>
Sat, 29 Feb 2020 13:33:35 +0000 (13:33 +0000)
committerJon Turney <jon.turney@dronecode.org.uk>
Mon, 2 Mar 2020 12:59:44 +0000 (12:59 +0000)
commita84bb2a0790125f5fb5df65b7873fb6076164527
tree03dbd55f0572137ee8ab7c22485bd240adf208a9
parentb312fea191f0118c2438198f5069d25b0b527178
gdb: Move defs.h before any system header in debuginfod-support.c

* defs.h includes config.h
* config.h may define _GNU_SOURCE
* if _GNU_SOURCE is defined, that must be before including any system
header (see feature_test_macro(7))

This is necessary to ensure that a prototype for mkostemp() is brought
into scope by <stdlib.h> when compiling filestuff.h, on platforms where
_GNU_SOURCE isn't unconditionally defined for C++.

In file included from ../../gdb/../gdbsupport/scoped_fd.h:24,
                 from ../../gdb/debuginfod-support.c:22:
../../gdb/../gdbsupport/filestuff.h: In function ‘int gdb_mkostemp_cloexec(char*, int)’:
../../gdb/../gdbsupport/filestuff.h:59:10: error: ‘mkostemp’ was not declared in this scope; did you mean ‘mkstemp’?

gdb/ChangeLog:

2020-02-29  Jon Turney  <jon.turney@dronecode.org.uk>

* debuginfod-support.c: Include defs.h first.
gdb/ChangeLog
gdb/debuginfod-support.c