[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#63008] gdb on aarch64

From: Pierre Langlois
Subject: [bug#63008] gdb on aarch64
Date: Mon, 24 Apr 2023 20:20:26 +0100
User-agent: mu4e 1.10.2; emacs 28.2

Pierre Langlois <> writes:

> [[PGP Signed Part:Undecided]]
> Hi Andreas, sorry I missed your reply!
> Andreas Enge <> writes:
>> Hello Pierre,
>> we also have gdb@12 in core-updates; does this also not build? Right now
>> none of the two have been built on aarch64 on CI, so I lack an overview.
> Yup, gdb@12 builds just fine for me!
>> On x86_64, both build; @12 has 101 dependents, @11 7563!
>> This cannot be accomodated on core-updates any more, I am afraid.
>> We will need to build it out afterwards. And probably the best course
>> of action would be to move the dependents to gdb@12; or drop the
>> dependency? Why do so many packages depend on a debugger?
> Yeah gdb is used as a dependency for testing rust, I'm not sure if it
> has to be 11, it can probably work with 12 although I haven't tried.
> I think the main reason we still have gdb 11 is to make sure we don't
> rebuild the rust world. I'm afraid if we don't do update it know, we'll
> have to do it quite soon, can the rust world be rebuilt on a staging
> branch soon after the core-updates merge? I'm concerned that these days
> a lot relies on rust (via librsvg IIRC), so not having it available
> might be an issue, even for simple systems :-/.
> All that being said, it might be possible to add a separate gdb@11.2
> package, and only use it for rust on non-x86, in a way that doesn't
> cause a rebuild, could that work?

To illustrate what I mean, here's a WIP patch (it needs comments),
AFAICT, this would only be a rebuild on non-x86:

Attachment: signature.asc
Description: PGP signature

diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 82050d9ac5..d460f3950c 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -146,6 +146,18 @@ (define-public gdb-11
     ;; RPC stubs).
     (supported-systems (fold delete %supported-systems %hurd-systems))))
+(define-public gdb-11.2
+  (package
+    (inherit gdb-11)
+    (version "11.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/gdb/gdb-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "xvczsqcbh5y0gx7qrclpna0qzx26sk7lra6y8qzxam1biyzr65qf"))))))
 (define-public gdb-12
     (inherit gdb-11)
@@ -166,6 +178,11 @@ (define-public gdb/pinned
   ;; enough to avoid massive rebuilds.
+(define-public gdb-11.2/pinned
+  ;; This is the fixed version that packages depend on.  Update it rarely
+  ;; enough to avoid massive rebuilds.
+  gdb-11.2)
 (define-public gdb
   ;; The "default" version.
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index d07f4ef10c..3cc5a4926b 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -788,7 +788,9 @@ (define-public rust
                     (format #f "prefix = ~s" (assoc-ref outputs "rustfmt"))))
                  (invoke "./" "install" "rustfmt")))))))
       ;; Add test inputs.
-      (native-inputs (cons* `("gdb" ,gdb/pinned)
+      (native-inputs (cons* `("gdb" ,(if (target-x86?)
+                                         gdb/pinned
+                                         gdb-11.2/pinned))
                             `("procps" ,procps)
                             (package-native-inputs base-rust))))))

reply via email to

[Prev in Thread] Current Thread [Next in Thread]