On 04-04-2022 21:37, Christopher Baines wrote:
Maybe you could add a gcc compiling for 32-bit ppc (maybe without a
glibc since this is grub) and patch the configuration script to use the
32-bit ppc gcc instead of using the 64-bit ppc+-m32?
I've had a go at this, using something like what I've included below,
but I haven't stumbled upon the right options yet, or a way to work out
why gcc still thinks "-m32 not supported". [...]

I was thinking of skipping the multilib and maybe skipping support for multiple endians, something like:

(use-modules (guix utils) (guix packages) (guix gexp))
(define (ppc-32bit-gcc)
  (if (%current-target-system)
      (error "not supported -- TODO make a cross-compiler to 32-bit ppc here with cross-gcc")
      (package
        (inherit (@ (gnu packages gcc) gcc))
        (arguments
          (substitute-keyword-arguments
            (package-arguments (@ (gnu packages gcc) gcc))
            ((#:system _) "ppc-linux")
            ((#:configure-flags flags)
             (pk 'f #~(append (list "--with-endian=big") #$flags))))))))
(ppc-32bit-gcc)
(currently compiling, let's see if if it works ...)

Greetings,
Maxime.