55 lines
2.1 KiB
Diff
55 lines
2.1 KiB
Diff
|
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
||
|
From: Kevin Buettner <kevinb@redhat.com>
|
||
|
Date: Thu, 18 Feb 2021 23:04:29 -0700
|
||
|
Subject: gdb-rhbz1930528-fix-gnulib-build-error.patch
|
||
|
|
||
|
;; Backport fix for rawhide build error (RH BZ 1930528).
|
||
|
|
||
|
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.
|
||
|
|
||
|
gdb/ChangeLog:
|
||
|
|
||
|
* nat/amd64-linux-siginfo.c: Include "gdbsupport/common-defs.h"
|
||
|
(which in turn includes <gnulib/config.h>) before include
|
||
|
of <signal.h>.
|
||
|
|
||
|
diff --git a/gdb/nat/amd64-linux-siginfo.c b/gdb/nat/amd64-linux-siginfo.c
|
||
|
--- 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
|