[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)$@")