While trying to build a simple Image for ACADIA platform, I got the
following error:

          WRAP    arch/powerpc/boot/simpleImage.acadia
        INFO: Uncompressed kernel (size 0x6ae7d0) overlaps the address of the 
wrapper(0x400000)
        INFO: Fixing the link_address of wrapper to (0x700000)
        powerpc64-linux-gnu-ld : mode d'émulation non reconnu : -T
        Émulations prises en charge : elf64ppc elf32ppc elf32ppclinux 
elf32ppcsim elf64lppc elf32lppc elf32lppclinux elf32lppcsim
        make[1]: *** [arch/powerpc/boot/Makefile:424 : 
arch/powerpc/boot/simpleImage.acadia] Erreur 1
        make: *** [arch/powerpc/Makefile:285 : simpleImage.acadia] Erreur 2

Trying again with V=1 shows the following command

        powerpc64-linux-gnu-ld -m -T arch/powerpc/boot/zImage.lds -Ttext 
0x700000 --no-dynamic-linker -o arch/powerpc/boot/simpleImage.acadia -Map 
wrapper.map arch/powerpc/boot/fixed-head.o arch/powerpc/boot/simpleboot.o 
./zImage.3278022.o arch/powerpc/boot/wrapper.a

The argument of '-m' is missing.

This is due to the wrapper script calling 'objdump -p vmlinux' and
looking for 'file format', whereas the output of objdump is:

        vmlinux:     format de fichier elf32-powerpc

        En-tête de programme:
            LOAD off    0x00010000 vaddr 0xc0000000 paddr 0x00000000 align 2**16
                 filesz 0x0069e1d4 memsz 0x006c128c flags rwx
            NOTE off    0x0064591c vaddr 0xc063591c paddr 0x0063591c align 2**2
                 filesz 0x00000054 memsz 0x00000054 flags ---

Add LC_ALL=C at the beginning of the wrapper script in order to get the
output expected by the script:

        vmlinux:     file format elf32-powerpc

        Program Header:
            LOAD off    0x00010000 vaddr 0xc0000000 paddr 0x00000000 align 2**16
                 filesz 0x0069e1d4 memsz 0x006c128c flags rwx
            NOTE off    0x0064591c vaddr 0xc063591c paddr 0x0063591c align 2**2
                 filesz 0x00000054 memsz 0x00000054 flags ---

Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu>
---
v3: Also change patch's subject:
v2: Use LC_ALL=C per Segher
---
 arch/powerpc/boot/wrapper | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index 1cd82564c996..9184eda780fd 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -26,6 +26,8 @@
 # Stop execution if any command fails
 set -e
 
+export LC_ALL=C
+
 # Allow for verbose output
 if [ "$V" = 1 ]; then
     set -x
-- 
2.31.1

Reply via email to