qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [PATCH qemu REPOST] spapr/rtas: Force big endian compile


From: Greg Kurz
Subject: Re: [Qemu-ppc] [PATCH qemu REPOST] spapr/rtas: Force big endian compile for rtas
Date: Mon, 17 Jun 2019 10:25:10 +0200

On Wed, 12 Jun 2019 12:07:23 +1000
Alexey Kardashevskiy <address@hidden> wrote:

> At the moment the rtas's Makefile uses generic QEMU rules which means
> that when QEMU is compiled on a little endian system, the spapr-rtas.bin
> is compiled as little endian too which is incorrect as it is always
> executed in big endian mode.
> 

I'm naively thinking that executing code compiled as little endian
in big endian mode would result in an exception... Can you explain
how/why this ever worked ?

> This enforces -mbig by defining %.o:%.S rule as spapr-rtas.bin is
> a standalone guest binary which should not depend on QEMU flags anyway.
> 
> Signed-off-by: Alexey Kardashevskiy <address@hidden>
> ---
>  pc-bios/spapr-rtas/Makefile | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/pc-bios/spapr-rtas/Makefile b/pc-bios/spapr-rtas/Makefile
> index f26dd428b79e..4b9bb1230658 100644
> --- a/pc-bios/spapr-rtas/Makefile
> +++ b/pc-bios/spapr-rtas/Makefile
> @@ -14,8 +14,11 @@ $(call set-vpath, $(SRC_PATH)/pc-bios/spapr-rtas)
>  
>  build-all: spapr-rtas.bin
>  
> +%.o: %.S
> +     $(call quiet-command,$(CCAS) -mbig -c -o $@ $<,"CCAS","$(TARGET_DIR)$@")
> +
>  %.img: %.o
> -     $(call quiet-command,$(CC) -nostdlib -o $@ 
> $<,"Building","$(TARGET_DIR)$@")
> +     $(call quiet-command,$(CC) -nostdlib -mbig -o $@ 
> $<,"Building","$(TARGET_DIR)$@")
>  
>  %.bin: %.img
>       $(call quiet-command,$(OBJCOPY) -O binary -j .text $< 
> $@,"Building","$(TARGET_DIR)$@")




reply via email to

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