qemu-s390x
[Top][All Lists]
Advanced

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

Re: [qemu-s390x] [PATCH v2] pc-bios/s390-ccw: Optimize the s390-netboot.


From: Christian Borntraeger
Subject: Re: [qemu-s390x] [PATCH v2] pc-bios/s390-ccw: Optimize the s390-netboot.img for size
Date: Thu, 14 Jun 2018 16:04:06 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0


On 06/14/2018 03:46 PM, Thomas Huth wrote:
> The -O2 optimization flag is passed via CFLAGS to the firmware Makefile,
> but in netbook.mak, we've got some rules that only use QEMU_CFLAGS for
> compiling the libc and libnet from SLOF, so these files get compiled
> without optimization so far. Use CFLAGS here, too, to create faster
> and smaller code.
> 
> We can additionally save some more bytes in the firmware images by compi-
> ling the code with -fno-asynchronous-unwind-tables. This will omit some
> ELF sections (used for stack unwinding for example) from the image that
> we do not need in the firmware.
> 
> Signed-off-by: Thomas Huth <address@hidden>

Acked-by: Christian Borntraeger <address@hidden>


> ---
>  pc-bios/s390-ccw/Makefile    | 1 +
>  pc-bios/s390-ccw/netboot.mak | 4 ++--
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
> index 439e3cc..1eb316b 100644
> --- a/pc-bios/s390-ccw/Makefile
> +++ b/pc-bios/s390-ccw/Makefile
> @@ -15,6 +15,7 @@ OBJECTS = start.o main.o bootmap.o jump2ipl.o sclp.o menu.o 
> \
>  QEMU_CFLAGS := $(filter -W%, $(QEMU_CFLAGS))
>  QEMU_CFLAGS += -ffreestanding -fno-delete-null-pointer-checks -msoft-float
>  QEMU_CFLAGS += -march=z900 -fPIE -fno-strict-aliasing
> +QEMU_CFLAGS += -fno-asynchronous-unwind-tables
>  QEMU_CFLAGS += $(call cc-option, $(QEMU_CFLAGS), -fno-stack-protector)
>  LDFLAGS += -Wl,-pie -nostdlib
>  
> diff --git a/pc-bios/s390-ccw/netboot.mak b/pc-bios/s390-ccw/netboot.mak
> index 8af0cfd..14e96b2 100644
> --- a/pc-bios/s390-ccw/netboot.mak
> +++ b/pc-bios/s390-ccw/netboot.mak
> @@ -19,7 +19,7 @@ s390-netboot.img: s390-netboot.elf
>  
>  # libc files:
>  
> -LIBC_CFLAGS :=  $(QEMU_CFLAGS) $(LIBC_INC) $(LIBNET_INC)
> +LIBC_CFLAGS :=  $(QEMU_CFLAGS) $(CFLAGS) $(LIBC_INC) $(LIBNET_INC)
>  
>  CTYPE_OBJS = isdigit.o isxdigit.o toupper.o
>  %.o : $(SLOF_DIR)/lib/libc/ctype/%.c
> @@ -52,7 +52,7 @@ libc.a: $(LIBCOBJS)
>  
>  LIBNETOBJS := args.o dhcp.o dns.o icmpv6.o ipv6.o tcp.o udp.o bootp.o \
>             dhcpv6.o ethernet.o ipv4.o ndp.o tftp.o pxelinux.o
> -LIBNETCFLAGS := $(QEMU_CFLAGS) -DDHCPARCH=0x1F $(LIBC_INC) $(LIBNET_INC)
> +LIBNETCFLAGS := $(QEMU_CFLAGS) $(CFLAGS) -DDHCPARCH=0x1F $(LIBC_INC) 
> $(LIBNET_INC)
>  
>  %.o : $(SLOF_DIR)/lib/libnet/%.c
>       $(call quiet-command,$(CC) $(LIBNETCFLAGS) -c -o $@ 
> $<,"CC","$(TARGET_DIR)$@")
> 




reply via email to

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