]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
amd64-linux-siginfo.c: Adjust include order to avoid gnulib error
authorKevin Buettner <kevinb@redhat.com>
Fri, 19 Feb 2021 05:46:58 +0000 (22:46 -0700)
committerKevin Buettner <kevinb@redhat.com>
Sat, 6 Mar 2021 16:58:32 +0000 (09:58 -0700)
On Fedora rawhide, after updating to glibc-2.33, I'm seeing the
following build failure:

  CXX    nat/amd64-linux-siginfo.o
In file included from /usr/include/bits/sigstksz.h:24,
                 from /usr/include/signal.h:315,
                 from ../gnulib/import/signal.h:52,
                 from /ironwood1/sourceware-git/rawhide-gnulib/bld/../../worktree-gnulib/gdbserver/../gdb/nat/amd64-linux-siginfo.c:20:
../gnulib/import/unistd.h:663:3: error: #error "Please include config.h first."
  663 |  #error "Please include config.h first."
      |   ^~~~~

glibc-2.33 has changed signal.h to now include <bits/sigstksz.h> which,
in turn, includes <unistd.h>. For a gdb build, this causes the gnulib
version of unistd.h to be pulled in first.  The build failure shown
above happens because gnulib's config.h has not been included before
the include of <signal.h>.

The fix is simple - we just rearrange the order of the header file
includes to make sure that gdbsupport/commondefs.h is included before
attempting to include signal.h.  Note that gdbsupport/commondefs.h
includes <gnulib/config.h>.

Build and regression tested on Fedora 33.  On Fedora rawhide, GDB
builds again.

gdb/ChangeLog:

PR build/27535
* nat/amd64-linux-siginfo.c: Include "gdbsupport/common-defs.h"
(which in turn includes <gnulib/config.h>) before include
of <signal.h>.

gdb/ChangeLog
gdb/nat/amd64-linux-siginfo.c

index 1f73b18f8df65771833604617dece2bb9ff65f2d..9d90ee32accc9445f717efd6c5f290139d1bc0dc 100644 (file)
@@ -1,3 +1,10 @@
+2021-03-06  Kevin Buettner  <kevinb@redhat.com>
+
+       PR build/27535
+       * nat/amd64-linux-siginfo.c: Include "gdbsupport/common-defs.h"
+       (which in turn includes <gnulib/config.h>) before include
+       of <signal.h>.
+
 2021-03-06  Tom de Vries  <tdevries@suse.de>
 
        PR symtab/27333
index 8bcff454378f2514bd5dc26022496f0dcb4ec760..9721a1fd913e01b938920ce6a97db1e56656ab4f 100644 (file)
@@ -17,8 +17,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include <signal.h>
 #include "gdbsupport/common-defs.h"
+#include <signal.h>
 #include "amd64-linux-siginfo.h"
 
 #define GDB_SI_SIZE 128