47 lines
1.8 KiB
Diff
47 lines
1.8 KiB
Diff
From 8488c357ce4fc309d49c7b0224cf9574b68e8116 Mon Sep 17 00:00:00 2001
|
|
From: Kevin Buettner <kevinb@redhat.com>
|
|
Date: Thu, 18 Feb 2021 22:46:58 -0700
|
|
Subject: [PATCH] amd64-linux-siginfo.c: Adjust include order to avoid gnulib
|
|
error
|
|
|
|
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.
|
|
|
|
--- a/gdb/nat/amd64-linux-siginfo.c
|
|
+++ b/gdb/nat/amd64-linux-siginfo.c
|
|
@@ -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
|
|
--
|
|
2.27.0
|