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))(currently compiling, let's see if if it works ...)
(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)
Greetings,
Maxime.