Subject: Re: bug#55283: ‘tests/guix-shell-export-manifest.sh’ fails on aarch64-linux

From: Ludovic Courtès <[email-masked]>
Date: Tue, 10 May 2022 17:40:28 +0200

Hello!

Nice to have AArch64 support in (guix cpu)!

Efraim Flashner <[email-masked]> skribis:

> diff --git a/guix/cpu.scm b/guix/cpu.scm
> index a44cd082f1..37ed6f0a18 100644
> --- a/guix/cpu.scm
> +++ b/guix/cpu.scm
> @@ -62,31 +62,51 @@ (define (prefix? prefix)
>        (lambda (port)
>          (let loop ((vendor #f)
>                     (family #f)
> -                   (model #f))
> +                   (model #f)
> +                   (flags (list->set '())))

You can replace (list->set '()) by (set).

> +    ("aarch64"
> +     ;; Transcribed from GCC's list of aarch64 processors in aarch64-cores.def
> +     ;; What to do with big.LITTLE cores?
> +     (match (cpu-vendor cpu)
> +       ("0x41"

Is /proc/cpuinfo more or less guaranteed to return hex numbers like
this?

>      (architecture
> -     ;; TODO: AArch64.
> -     architecture)))
> +      ;; TODO: More architectures
> +      (utsname:machine (uname)))))

We can return ‘architecture’ as is, no need to re-call ‘uname’.

I haven’t run the code but at first sight it LGTM!

(The bug reported at the beginning of this thread looks rather basic
though; I’ll follow up on that.)

Thanks,
Ludo’.