~ruther/guix-local

2fc08ccde4e134ccbbf7c1182165015d92712bbd — Maxim Cournoyer 4 years ago b9595a7
gnu: gdb: Update to 11.1 and remove gdb-9.2.

* gnu/packages/gdb.scm (gdb-10): Rename to...
(gdb-11): ... and update.  Update comment about disabled tests.
[origin]: Delete patch, integrated  upstream.
(gdb-9.2): Delete variable, no longer used.
(gdb): Set alias to gdb-11.
* gnu/packages/patches/gdb-hurd.patch: Delete file.
* gnu/packages/patches/gdb-9.2-sim-ppc-fno-common.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): De-register them.
4 files changed, 5 insertions(+), 195 deletions(-)

M gnu/local.mk
M gnu/packages/gdb.scm
D gnu/packages/patches/gdb-9.2-sim-ppc-fno-common.patch
D gnu/packages/patches/gdb-hurd.patch
M gnu/local.mk => gnu/local.mk +0 -2
@@ 1127,8 1127,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/gcc-8-strmov-store-file-names.patch	\
  %D%/packages/patches/gcc-9-asan-fix-limits-include.patch	\
  %D%/packages/patches/gcc-9-strmov-store-file-names.patch	\
  %D%/packages/patches/gdb-hurd.patch				\
  %D%/packages/patches/gdb-9.2-sim-ppc-fno-common.patch		\
  %D%/packages/patches/gd-fix-tests-on-i686.patch		\
  %D%/packages/patches/gd-brect-bounds.patch			\
  %D%/packages/patches/gd-Revert-fix-303-gdlib.pc-use-Requires-instead-of-Libs.patch	\

M gnu/packages/gdb.scm => gnu/packages/gdb.scm +5 -40
@@ 44,24 44,21 @@
  #:use-module ((guix build utils) #:select (alist-replace))
  #:use-module (srfi srfi-1))

(define-public gdb-10
(define-public gdb-11
  (package
    (name "gdb")
    (version "10.2")
    (version "11.1")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/gdb/gdb-"
                                  version ".tar.xz"))
              (sha256
               (base32
                "0aag1c0fw875pvhjg1qp7x8pf6gf92bjv5gcic5716scacyj58da"))
              (patches
               (search-patches "gdb-hurd.patch"))))

                "151z6d0265hv9cgx9zqqa4bd6vbp20hrljhd6bxl7lr0gd0crkyc"))))
    (build-system gnu-build-system)
    (outputs '("out" "debug"))
    (arguments
     `(#:tests? #f ; FIXME "make check" fails on single-processor systems.
     `(#:tests? #f                      ;FIXME: 217 unexpected failures
       #:out-of-source? #t
       #:modules ((srfi srfi-1)
                  ,@%gnu-build-system-modules)


@@ 142,42 139,10 @@ the program is running to try to fix bugs.  It can be used to debug programs
written in C, C++, Ada, Objective-C, Pascal and more.")
    (license gpl3+)))

;; This version of GDB is required by some of the Rust compilers, see
;; <https://github.com/rust-lang/rust/issues/79009>.
(define-public gdb-9.2
  (package
    (inherit gdb-10)
    (version "9.2")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/gdb/gdb-"
                                  version ".tar.xz"))
              (patches (search-patches "gdb-9.2-sim-ppc-fno-common.patch"))
              (sha256
               (base32
                "0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n"))))
    (arguments
     (substitute-keyword-arguments (package-arguments gdb-11)
       ((#:phases phases)
        ;; Override the patch-paths phase as the pathstuff.c file was later
        ;; renamed.
        `(modify-phases ,phases
           (replace 'patch-paths
             (lambda* (#:key inputs #:allow-other-keys)
               (let ((sh (string-append (assoc-ref inputs "bash")
                                        "/bin/sh")))
                 (substitute* '("gdb/gdbsupport/pathstuff.c"
                                "gdb/ser-pipe.c")
                   (("\"/bin/sh\"")
                    (format #f "~s" sh))))))))))
    (inputs
     (alist-replace "guile" (list guile-2.0)
                    (package-inputs gdb-10)))))

(define-public gdb
  ;; This is the fixed version that packages depend on.  Update it rarely
  ;; enough to avoid massive rebuilds.
  gdb-10)
  gdb-11)

(define-public gdb-minimal
  (package/inherit gdb

D gnu/packages/patches/gdb-9.2-sim-ppc-fno-common.patch => gnu/packages/patches/gdb-9.2-sim-ppc-fno-common.patch +0 -123
@@ 1,123 0,0 @@
From a2d12a56679db64d96e02a65933b2911f14c52a2 Mon Sep 17 00:00:00 2001
From: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date: Wed, 1 Jul 2020 19:29:55 +0200
Subject: [PATCH] sim/ppc: Fix linker error with -fno-common

GCC 10 enables -fno-common by default.  This resulted in a multiple
definition linker error since global variables were declared and defined
in a header file:

  ld: ld-insn.o:sim/ppc/ld-insn.h:221: multiple definition of
  `max_model_fields_len'; igen.o:sim/ppc/ld-insn.h:221: first defined here

sim/ppc

	* ld-insn.h (last_model, last_model_data, last_model_function,
	last_model_internal, last_model_macro, last_model_static):
	Delete.
	(max_model_fields_len, model_data, model_functions,
	model_internal, model_macros, model_static, models): Declare, but do not
	define.
	* ld-insn.c (last_model, last_model_data, last_model_function,
	last_model_internal, last_model_macro, last_model_static,
	max_model_fields_len, model_data, model_functions,
	model_internal, model_macros, model_static, models): Define.

(cherry picked from commit ad8464f799a4c96c7ab8bdfec3f95846cf54f9b0)
---

This patch is a trivial backport from the upstream commit mentioned above.
Only the ChangeLog had to be adapted.

 sim/ppc/ChangeLog | 13 +++++++++++++
 sim/ppc/ld-insn.c | 18 ++++++++++++++++++
 sim/ppc/ld-insn.h | 24 +++++++-----------------
 3 files changed, 38 insertions(+), 17 deletions(-)

diff --git a/sim/ppc/ChangeLog b/sim/ppc/ChangeLog
index 665c7606d9eb..8f7150cee6b9 100644
--- a/sim/ppc/ChangeLog
+++ b/sim/ppc/ChangeLog
@@ -1,3 +1,16 @@
+2020-07-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* ld-insn.h (last_model, last_model_data, last_model_function,
+	last_model_internal, last_model_macro, last_model_static):
+	Delete.
+	(max_model_fields_len, model_data, model_functions,
+	model_internal, model_macros, model_static, models): Declare, but do not
+	define.
+	* ld-insn.c (last_model, last_model_data, last_model_function,
+	last_model_internal, last_model_macro, last_model_static,
+	max_model_fields_len, model_data, model_functions,
+	model_internal, model_macros, model_static, models): Define.
+
 2019-01-26  Tom Tromey  <tom@tromey.com>
 
 	* Makefile.in (version.c): Use sim's create-version.sh.
diff --git a/sim/ppc/ld-insn.c b/sim/ppc/ld-insn.c
index e39131ca1334..585071a861ff 100644
--- a/sim/ppc/ld-insn.c
+++ b/sim/ppc/ld-insn.c
@@ -28,6 +28,24 @@
 
 #include "igen.h"
 
+static model *last_model;
+
+static insn *last_model_macro;
+static insn *last_model_function;
+static insn *last_model_internal;
+static insn *last_model_static;
+static insn *last_model_data;
+
+model *models;
+
+insn *model_macros;
+insn *model_functions;
+insn *model_internal;
+insn *model_static;
+insn *model_data;
+
+int max_model_fields_len;
+
 static void
 update_depth(insn_table *entry,
 	     lf *file,
diff --git a/sim/ppc/ld-insn.h b/sim/ppc/ld-insn.h
index 88318ffa2b34..52baeaa2d846 100644
--- a/sim/ppc/ld-insn.h
+++ b/sim/ppc/ld-insn.h
@@ -200,25 +200,15 @@ extern insn_table *load_insn_table
  table_include *includes,
  cache_table **cache_rules);
 
-model *models;
-model *last_model;
+extern model *models;
 
-insn *model_macros;
-insn *last_model_macro;
+extern insn *model_macros;
+extern insn *model_functions;
+extern insn *model_internal;
+extern insn *model_static;
+extern insn *model_data;
 
-insn *model_functions;
-insn *last_model_function;
-
-insn *model_internal;
-insn *last_model_internal;
-
-insn *model_static;
-insn *last_model_static;
-
-insn *model_data;
-insn *last_model_data;
-
-int max_model_fields_len;
+extern int max_model_fields_len;
 
 extern void insn_table_insert_insn
 (insn_table *table,

D gnu/packages/patches/gdb-hurd.patch => gnu/packages/patches/gdb-hurd.patch +0 -30
@@ 1,30 0,0 @@
Taken from upstream.

From dca11eb872c96f86388890b3750e450cc2a68700 Mon Sep 17 00:00:00 2001
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Mon, 21 Dec 2020 16:01:07 +0000
Subject: [PATCH] hurd: Fix getting VM_MIN/MAX_ADDRESS

gnu-nat.c was getting the inclusion of vm_param.h only by luck. We need
to explicitly include it to be sure to get the definitions of
VM_MIN/MAX_ADDRESS.

gdb/ChangeLog:

	* gnu-nat.c: Include <mach/vm_param.h>.
---
 gdb/gnu-nat.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
index 1693ce0c43d..6f290be0d51 100644
--- a/gdb/gnu-nat.c
+++ b/gdb/gnu-nat.c
@@ -32,6 +32,7 @@ extern "C"
 #include <mach/message.h>
 #include <mach/notify.h>
 #include <mach/vm_attributes.h>
+#include <mach/vm_param.h>
 
 #include <hurd.h>
 #include <hurd/interrupt.h>