summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-10-10 22:28:51 +0200
committerLudovic Courtès <ludo@gnu.org>2020-10-10 22:37:45 +0200
commit02036cdda4d2600166322a12d3eb0ab2a5b18f4e (patch)
tree5e17b0e1d8521cdde2e76384363fbe8a3c217f60 /gnu
parent6530f5367c1ba0ef4de59d865c0aaa184f868f5a (diff)
downloadguix-02036cdda4d2600166322a12d3eb0ab2a5b18f4e.tar.gz
gnu: gdb: Build with a 32-bit MIG when targeting i586-pc-gnu.
Fixes a bug whereby GDB cross-compiled for i586-pc-gnu would be broken:

  (gdb) r
  Starting program: /gnu/store/…
  Handling event, msgid = 72: (ipc/mig) server type check failure

* gnu/packages/gdb.scm (gdb-9.1)[native-inputs]: Use MIG/32-BIT instead
of MIG.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/gdb.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 830121751f..2eecfb581d 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -116,7 +116,13 @@
       `(("texinfo" ,texinfo)
         ("dejagnu" ,dejagnu)
         ("pkg-config" ,pkg-config)
-        ,@(if (hurd-target?) `(("mig" ,mig)) '())))
+        ,@(if (hurd-target?)
+              ;; When cross-compiling from x86_64-linux, make sure to use a
+              ;; 32-bit MiG because we assume target i586-pc-gnu.
+              `(("mig" ,(if (%current-target-system)
+                            mig/32-bit
+                            mig)))
+              '())))
     (home-page "https://www.gnu.org/software/gdb/")
     (synopsis "The GNU debugger")
     (description