mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-31 23:06:59 +01:00
gnu: gdb: Build fix for the Hurd.
This allows (cross-)building gdb-minimal for the Hurd. * gnu/packages/patches/gdb-fix-gnu-nat-build.patch: New file, taken from upstream. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/web.scm (gdb)[inputs]: When building for the Hurd, add it. [arguments]: When building for the Hurd, apply it.
This commit is contained in:
parent
ddbc3a6f4c
commit
b1fd953114
3 changed files with 75 additions and 3 deletions
|
@ -11,7 +11,7 @@
|
||||||
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||||
# Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
|
# Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
|
||||||
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||||
# Copyright © 2016, 2017, 2018, 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
# Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
# Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
# Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
# Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||||
# Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
# Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||||
|
@ -1108,6 +1108,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/gd-fix-tests-on-i686.patch \
|
%D%/packages/patches/gd-fix-tests-on-i686.patch \
|
||||||
%D%/packages/patches/gd-brect-bounds.patch \
|
%D%/packages/patches/gd-brect-bounds.patch \
|
||||||
%D%/packages/patches/gd-Revert-fix-303-gdlib.pc.patch \
|
%D%/packages/patches/gd-Revert-fix-303-gdlib.pc.patch \
|
||||||
|
%D%/packages/patches/gdb-fix-gnu-nat-build.patch \
|
||||||
%D%/packages/patches/gdm-default-session.patch \
|
%D%/packages/patches/gdm-default-session.patch \
|
||||||
%D%/packages/patches/gdm-elogind-support.patch \
|
%D%/packages/patches/gdm-elogind-support.patch \
|
||||||
%D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch \
|
%D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch \
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
;;; Copyright © 2015, 2016, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2015, 2016, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2020, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -71,6 +71,12 @@ (define-public gdb-11
|
||||||
"gdbsupport/pathstuff.cc")
|
"gdbsupport/pathstuff.cc")
|
||||||
(("\"/bin/sh\"")
|
(("\"/bin/sh\"")
|
||||||
(format #f "~s" sh))))))
|
(format #f "~s" sh))))))
|
||||||
|
,@(if (hurd-target?)
|
||||||
|
'((add-after 'unpack 'patch-gdb/hurd
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(let ((patch (assoc-ref inputs "hurd-build.patch")))
|
||||||
|
(invoke "patch" "-p1" "--force" "-i" patch)))))
|
||||||
|
'())
|
||||||
(add-after 'configure 'post-configure
|
(add-after 'configure 'post-configure
|
||||||
(lambda _
|
(lambda _
|
||||||
(for-each patch-makefile-SHELL
|
(for-each patch-makefile-SHELL
|
||||||
|
@ -111,7 +117,11 @@ (define-public gdb-11
|
||||||
("libxml2" ,libxml2)
|
("libxml2" ,libxml2)
|
||||||
|
|
||||||
;; The Hurd needs -lshouldbeinlibc.
|
;; The Hurd needs -lshouldbeinlibc.
|
||||||
,@(if (hurd-target?) `(("hurd" ,hurd)) '())))
|
,@(if (hurd-target?)
|
||||||
|
`(("hurd" ,hurd)
|
||||||
|
("hurd-build.patch"
|
||||||
|
,(search-patch "gdb-fix-gnu-nat-build.patch")))
|
||||||
|
'())))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("texinfo" ,texinfo)
|
`(("texinfo" ,texinfo)
|
||||||
("dejagnu" ,dejagnu)
|
("dejagnu" ,dejagnu)
|
||||||
|
|
61
gnu/packages/patches/gdb-fix-gnu-nat-build.patch
Normal file
61
gnu/packages/patches/gdb-fix-gnu-nat-build.patch
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
Fix build on the Hurd.
|
||||||
|
|
||||||
|
Patch taken from upstream
|
||||||
|
|
||||||
|
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=a1700a3199d31910b87cd7db3c394ddd091cfcde
|
||||||
|
|
||||||
|
From a1700a3199d31910b87cd7db3c394ddd091cfcde Mon Sep 17 00:00:00 2001
|
||||||
|
From: Simon Marchi <simon.marchi@polymtl.ca>
|
||||||
|
Date: Wed, 3 Nov 2021 15:09:19 -0400
|
||||||
|
Subject: [PATCH] gdb: fix gnu-nat build
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
|
||||||
|
When building gnu-nat.c, we get:
|
||||||
|
|
||||||
|
CXX gnu-nat.o
|
||||||
|
gnu-nat.c: In member function 'virtual void gnu_nat_target::create_inferior(const char*, const string&, char**, int)':
|
||||||
|
gnu-nat.c:2117:13: error: 'struct inf' has no member named 'target_is_pushed'
|
||||||
|
2117 | if (!inf->target_is_pushed (this))
|
||||||
|
| ^~~~~~~~~~~~~~~~
|
||||||
|
gnu-nat.c:2118:10: error: 'struct inf' has no member named 'push_target'
|
||||||
|
2118 | inf->push_target (this);
|
||||||
|
| ^~~~~~~~~~~
|
||||||
|
|
||||||
|
This is because of a confusion between the generic `struct inferior`
|
||||||
|
variable and the gnu-nat-specific `struct inf` variable. Fix by
|
||||||
|
referring to `inferior`, not `inf`.
|
||||||
|
|
||||||
|
Adjust the comment on top of `struct inf` to clarify the purpose of that
|
||||||
|
type.
|
||||||
|
|
||||||
|
Co-Authored-By: Andrea Monaco <andrea.monaco@autistici.org>
|
||||||
|
Change-Id: I2fe2f7f6ef61a38d79860fd262b08835c963fc77
|
||||||
|
---
|
||||||
|
gdb/gnu-nat.c | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
|
||||||
|
index 54838347f94..c6cecff0686 100644
|
||||||
|
--- a/gdb/gnu-nat.c
|
||||||
|
+++ b/gdb/gnu-nat.c
|
||||||
|
@@ -149,7 +149,7 @@ struct inf_wait
|
||||||
|
int suppress; /* Something trivial happened. */
|
||||||
|
};
|
||||||
|
|
||||||
|
-/* The state of an inferior. */
|
||||||
|
+/* Further Hurd-specific state of an inferior. */
|
||||||
|
struct inf
|
||||||
|
{
|
||||||
|
/* Fields describing the current inferior. */
|
||||||
|
@@ -2108,8 +2108,8 @@ gnu_nat_target::create_inferior (const char *exec_file,
|
||||||
|
|
||||||
|
inf_debug (inf, "creating inferior");
|
||||||
|
|
||||||
|
- if (!inf->target_is_pushed (this))
|
||||||
|
- inf->push_target (this);
|
||||||
|
+ if (!inferior->target_is_pushed (this))
|
||||||
|
+ inferior->push_target (this);
|
||||||
|
|
||||||
|
pid = fork_inferior (exec_file, allargs, env, gnu_ptrace_me,
|
||||||
|
NULL, NULL, NULL, NULL);
|
Loading…
Reference in a new issue