Message ID | 20200513135552.24329-2-andrew.cooper3@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86/build: move -fno-asynchronous-unwind-tables into EMBEDDED_EXTRA_CFLAGS | expand |
On 13.05.2020 15:55, Andrew Cooper wrote: > Users of EMBEDDED_EXTRA_CFLAGS already use -fno-asynchronous-unwind-tables, or > ought to. It's not really well defined what they're supposed to be used for (and where it's not supposed to be used). I notice in particular a use in stubdom/Makefile which I'm unsure whether it indeed wants this adjustment. Therefore ... > This shrinks the size of the rombios 32bit stubs in guest memory. > > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> with the request that Samuel also ack (or otherwise) the change from a stubdom perspective. Jan
Hello, Jan Beulich, le mer. 13 mai 2020 16:11:00 +0200, a ecrit: > On 13.05.2020 15:55, Andrew Cooper wrote: > > Users of EMBEDDED_EXTRA_CFLAGS already use -fno-asynchronous-unwind-tables, or > > ought to. > > It's not really well defined what they're supposed to be used for > (and where it's not supposed to be used). I notice in particular > a use in stubdom/Makefile which I'm unsure whether it indeed wants > this adjustment. Therefore ... I don't know why this is there in mini-os. It dates back 2005 8afe079be ('Mini-OS cleanups. Bug fixes in x86_64 assembly code.') It indeed looks to me like a general option to minimize binary size, so I'd say it is fine to make its activation general. > > This shrinks the size of the rombios 32bit stubs in guest memory. > > > > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> > > Reviewed-by: Jan Beulich <jbeulich@suse.com> > with the request that Samuel also ack (or otherwise) the change > from a stubdom perspective. Samuel
diff --git a/Config.mk b/Config.mk index 3621162ae4..b0f16680f3 100644 --- a/Config.mk +++ b/Config.mk @@ -204,7 +204,7 @@ APPEND_LDFLAGS += $(foreach i, $(APPEND_LIB), -L$(i)) APPEND_CFLAGS += $(foreach i, $(APPEND_INCLUDES), -I$(i)) EMBEDDED_EXTRA_CFLAGS := -nopie -fno-stack-protector -fno-stack-protector-all -EMBEDDED_EXTRA_CFLAGS += -fno-exceptions +EMBEDDED_EXTRA_CFLAGS += -fno-exceptions -fno-asynchronous-unwind-tables XEN_EXTFILES_URL ?= http://xenbits.xen.org/xen-extfiles # All the files at that location were downloaded from elsewhere on diff --git a/tools/tests/x86_emulator/testcase.mk b/tools/tests/x86_emulator/testcase.mk index a565d15524..dafeb6caf7 100644 --- a/tools/tests/x86_emulator/testcase.mk +++ b/tools/tests/x86_emulator/testcase.mk @@ -4,7 +4,7 @@ include $(XEN_ROOT)/tools/Rules.mk $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) -CFLAGS += -fno-builtin -fno-asynchronous-unwind-tables -g0 $($(TESTCASE)-cflags) +CFLAGS += -fno-builtin -g0 $($(TESTCASE)-cflags) .PHONY: all all: $(TESTCASE).bin diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk index 2a51553edb..62b7c97007 100644 --- a/xen/arch/x86/arch.mk +++ b/xen/arch/x86/arch.mk @@ -56,7 +56,7 @@ $(call as-option-add,CFLAGS,CC,\ $(call as-option-add,CFLAGS,CC,\ ".L1: .L2: .nops (.L2 - .L1)$$(comma)9",-DHAVE_AS_NOPS_DIRECTIVE) -CFLAGS += -mno-red-zone -fpic -fno-asynchronous-unwind-tables +CFLAGS += -mno-red-zone -fpic # Xen doesn't use SSE interally. If the compiler supports it, also skip the # SSE setup for variadic function calls. diff --git a/xen/arch/x86/boot/build32.mk b/xen/arch/x86/boot/build32.mk index 48c7407c00..5851ebff5f 100644 --- a/xen/arch/x86/boot/build32.mk +++ b/xen/arch/x86/boot/build32.mk @@ -4,7 +4,7 @@ include $(XEN_ROOT)/Config.mk $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) -CFLAGS += -Werror -fno-asynchronous-unwind-tables -fno-builtin -g0 -msoft-float +CFLAGS += -Werror -fno-builtin -g0 -msoft-float CFLAGS += -I$(XEN_ROOT)/xen/include CFLAGS := $(filter-out -flto,$(CFLAGS))
Users of EMBEDDED_EXTRA_CFLAGS already use -fno-asynchronous-unwind-tables, or ought to. This shrinks the size of the rombios 32bit stubs in guest memory. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Jan Beulich <JBeulich@suse.com> CC: Wei Liu <wl@xen.org> CC: Roger Pau Monné <roger.pau@citrix.com> CC: George Dunlap <George.Dunlap@eu.citrix.com> CC: Ian Jackson <ian.jackson@citrix.com> CC: Stefano Stabellini <sstabellini@kernel.org> CC: Julien Grall <julien@xen.org> --- Config.mk | 2 +- tools/tests/x86_emulator/testcase.mk | 2 +- xen/arch/x86/arch.mk | 2 +- xen/arch/x86/boot/build32.mk | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)