* [PATCH 0/2] tests/tcg: Fix new cross-compiler warnings @ 2024-07-24 1:07 Richard Henderson 2024-07-24 1:07 ` [PATCH 1/2] tests/tcg: Use --noexecstack with assembler files Richard Henderson ` (3 more replies) 0 siblings, 4 replies; 6+ messages in thread From: Richard Henderson @ 2024-07-24 1:07 UTC (permalink / raw) To: qemu-devel; +Cc: alex.bennee Recent updates to debian cross-compilers have enabled some new warnings by default, which encourage good behaviour for userland binaries. Neither are applicable for our system mode kernel images, but we do have a few userland tests that are affected. The --noexecstack assembler flag takes care of adding the appropriate .note.GNU-stack elf note for us, rather than writing a dozen lines of assembly template, and so is a true fix rather than merely disabling the linker warning. r~ Richard Henderson (2): tests/tcg: Use --noexecstack with assembler files tests/tcg/loongarch64: Use --no-warn-rwx-segments to link system tests tests/tcg/Makefile.target | 2 +- tests/tcg/aarch64/Makefile.softmmu-target | 2 +- tests/tcg/alpha/Makefile.softmmu-target | 2 +- tests/tcg/arm/Makefile.softmmu-target | 2 +- tests/tcg/arm/Makefile.target | 2 +- tests/tcg/i386/Makefile.softmmu-target | 2 +- tests/tcg/loongarch64/Makefile.softmmu-target | 4 ++-- tests/tcg/riscv64/Makefile.softmmu-target | 2 +- tests/tcg/s390x/Makefile.softmmu-target | 2 +- tests/tcg/x86_64/Makefile.softmmu-target | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) -- 2.43.0 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] tests/tcg: Use --noexecstack with assembler files 2024-07-24 1:07 [PATCH 0/2] tests/tcg: Fix new cross-compiler warnings Richard Henderson @ 2024-07-24 1:07 ` Richard Henderson 2024-07-24 6:57 ` Philippe Mathieu-Daudé 2024-07-24 1:07 ` [PATCH 2/2] tests/tcg/loongarch64: Use --no-warn-rwx-segments to link system tests Richard Henderson ` (2 subsequent siblings) 3 siblings, 1 reply; 6+ messages in thread From: Richard Henderson @ 2024-07-24 1:07 UTC (permalink / raw) To: qemu-devel; +Cc: alex.bennee Add the --noexecstack assembler command-line option to avoid: /usr/bin/ld: warning: boot.o: missing .note.GNU-stack section implies executable stack /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker which is enabled by default with current debian cross toolchains. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- tests/tcg/Makefile.target | 2 +- tests/tcg/aarch64/Makefile.softmmu-target | 2 +- tests/tcg/alpha/Makefile.softmmu-target | 2 +- tests/tcg/arm/Makefile.softmmu-target | 2 +- tests/tcg/arm/Makefile.target | 2 +- tests/tcg/i386/Makefile.softmmu-target | 2 +- tests/tcg/loongarch64/Makefile.softmmu-target | 2 +- tests/tcg/riscv64/Makefile.softmmu-target | 2 +- tests/tcg/s390x/Makefile.softmmu-target | 2 +- tests/tcg/x86_64/Makefile.softmmu-target | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/tcg/Makefile.target b/tests/tcg/Makefile.target index cb8cfeb6da..1f8e5b3d30 100644 --- a/tests/tcg/Makefile.target +++ b/tests/tcg/Makefile.target @@ -115,7 +115,7 @@ endif %: %.c $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) %: %.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -Wa,--noexecstack $< -o $@ $(LDFLAGS) else # For system targets we include a different Makefile fragment as the # build options for bare programs are usually pretty different. They diff --git a/tests/tcg/aarch64/Makefile.softmmu-target b/tests/tcg/aarch64/Makefile.softmmu-target index dd6d595830..139e04d15f 100644 --- a/tests/tcg/aarch64/Makefile.softmmu-target +++ b/tests/tcg/aarch64/Makefile.softmmu-target @@ -28,7 +28,7 @@ config-cc.mak: Makefile .PRECIOUS: $(CRT_OBJS) %.o: $(CRT_PATH)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -c $< -o $@ + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -Wa,--noexecstack -c $< -o $@ # Build and link the tests %: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) diff --git a/tests/tcg/alpha/Makefile.softmmu-target b/tests/tcg/alpha/Makefile.softmmu-target index 09193a62d6..a0eca4d6ea 100644 --- a/tests/tcg/alpha/Makefile.softmmu-target +++ b/tests/tcg/alpha/Makefile.softmmu-target @@ -22,7 +22,7 @@ LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc .PRECIOUS: $(CRT_OBJS) %.o: $(CRT_PATH)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -c $< -o $@ + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -Wa,--noexecstack -c $< -o $@ # Build and link the tests %: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) diff --git a/tests/tcg/arm/Makefile.softmmu-target b/tests/tcg/arm/Makefile.softmmu-target index 547063c08c..b66074b0b4 100644 --- a/tests/tcg/arm/Makefile.softmmu-target +++ b/tests/tcg/arm/Makefile.softmmu-target @@ -36,7 +36,7 @@ LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc .PRECIOUS: $(CRT_OBJS) %.o: $(ARM_SRC)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -c $< -o $@ + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -Wa,--noexecstack -c $< -o $@ # Build and link the tests %: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) diff --git a/tests/tcg/arm/Makefile.target b/tests/tcg/arm/Makefile.target index 8e287191af..06ddf3e04f 100644 --- a/tests/tcg/arm/Makefile.target +++ b/tests/tcg/arm/Makefile.target @@ -25,7 +25,7 @@ ARM_TESTS += test-arm-iwmmxt # Clang assembler does not support IWMXT, so use the external assembler. test-arm-iwmmxt: CFLAGS += -marm -march=iwmmxt -mabi=aapcs -mfpu=fpv4-sp-d16 $(CROSS_CC_HAS_FNIA) test-arm-iwmmxt: test-arm-iwmmxt.S - $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) + $(CC) $(CFLAGS) -Wa,--noexecstack $< -o $@ $(LDFLAGS) # Float-convert Tests ARM_TESTS += fcvt diff --git a/tests/tcg/i386/Makefile.softmmu-target b/tests/tcg/i386/Makefile.softmmu-target index 5266f2335a..4096a1cf31 100644 --- a/tests/tcg/i386/Makefile.softmmu-target +++ b/tests/tcg/i386/Makefile.softmmu-target @@ -25,7 +25,7 @@ EXTRA_RUNS+=$(MULTIARCH_RUNS) .PRECIOUS: $(CRT_OBJS) %.o: $(CRT_PATH)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@ + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -Wa,--noexecstack -c $< -o $@ # Build and link the tests %: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) diff --git a/tests/tcg/loongarch64/Makefile.softmmu-target b/tests/tcg/loongarch64/Makefile.softmmu-target index 908f3a8c0f..d5d5c1a7f6 100644 --- a/tests/tcg/loongarch64/Makefile.softmmu-target +++ b/tests/tcg/loongarch64/Makefile.softmmu-target @@ -22,7 +22,7 @@ LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc .PRECIOUS: $(CRT_OBJS) %.o: $(CRT_PATH)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -c $< -o $@ + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -Wa,--noexecstack -c $< -o $@ # Build and link the tests %: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) diff --git a/tests/tcg/riscv64/Makefile.softmmu-target b/tests/tcg/riscv64/Makefile.softmmu-target index d5b126e5f1..7c1d44d3f4 100644 --- a/tests/tcg/riscv64/Makefile.softmmu-target +++ b/tests/tcg/riscv64/Makefile.softmmu-target @@ -10,7 +10,7 @@ LDFLAGS = -T $(LINK_SCRIPT) CFLAGS += -g -Og %.o: %.S - $(CC) $(CFLAGS) $< -c -o $@ + $(CC) $(CFLAGS) $< -Wa,--noexecstack -c -o $@ %: %.o $(LINK_SCRIPT) $(LD) $(LDFLAGS) $< -o $@ diff --git a/tests/tcg/s390x/Makefile.softmmu-target b/tests/tcg/s390x/Makefile.softmmu-target index 4c8e15e625..f60f94b090 100644 --- a/tests/tcg/s390x/Makefile.softmmu-target +++ b/tests/tcg/s390x/Makefile.softmmu-target @@ -6,7 +6,7 @@ CFLAGS+=-ggdb -O0 LDFLAGS=-nostdlib -static %.o: %.S - $(CC) -march=z13 -m64 -c $< -o $@ + $(CC) -march=z13 -m64 -Wa,--noexecstack -c $< -o $@ %.o: %.c $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -march=z13 -m64 -c $< -o $@ diff --git a/tests/tcg/x86_64/Makefile.softmmu-target b/tests/tcg/x86_64/Makefile.softmmu-target index 1bd763f2e6..ef6bcb4dc7 100644 --- a/tests/tcg/x86_64/Makefile.softmmu-target +++ b/tests/tcg/x86_64/Makefile.softmmu-target @@ -25,7 +25,7 @@ EXTRA_RUNS+=$(MULTIARCH_RUNS) .PRECIOUS: $(CRT_OBJS) %.o: $(CRT_PATH)/%.S - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@ + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -Wa,--noexecstack -c $< -o $@ # Build and link the tests %: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) -- 2.43.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] tests/tcg: Use --noexecstack with assembler files 2024-07-24 1:07 ` [PATCH 1/2] tests/tcg: Use --noexecstack with assembler files Richard Henderson @ 2024-07-24 6:57 ` Philippe Mathieu-Daudé 0 siblings, 0 replies; 6+ messages in thread From: Philippe Mathieu-Daudé @ 2024-07-24 6:57 UTC (permalink / raw) To: Richard Henderson, qemu-devel; +Cc: alex.bennee On 24/7/24 03:07, Richard Henderson wrote: > Add the --noexecstack assembler command-line option to avoid: > > /usr/bin/ld: warning: boot.o: missing .note.GNU-stack section implies executable stack > /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker > > which is enabled by default with current debian cross toolchains. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > tests/tcg/Makefile.target | 2 +- > tests/tcg/aarch64/Makefile.softmmu-target | 2 +- > tests/tcg/alpha/Makefile.softmmu-target | 2 +- > tests/tcg/arm/Makefile.softmmu-target | 2 +- > tests/tcg/arm/Makefile.target | 2 +- > tests/tcg/i386/Makefile.softmmu-target | 2 +- > tests/tcg/loongarch64/Makefile.softmmu-target | 2 +- > tests/tcg/riscv64/Makefile.softmmu-target | 2 +- > tests/tcg/s390x/Makefile.softmmu-target | 2 +- > tests/tcg/x86_64/Makefile.softmmu-target | 2 +- > 10 files changed, 10 insertions(+), 10 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] tests/tcg/loongarch64: Use --no-warn-rwx-segments to link system tests 2024-07-24 1:07 [PATCH 0/2] tests/tcg: Fix new cross-compiler warnings Richard Henderson 2024-07-24 1:07 ` [PATCH 1/2] tests/tcg: Use --noexecstack with assembler files Richard Henderson @ 2024-07-24 1:07 ` Richard Henderson 2024-07-24 9:54 ` [PATCH 0/2] tests/tcg: Fix new cross-compiler warnings Alex Bennée 2024-07-24 10:50 ` Alex Bennée 3 siblings, 0 replies; 6+ messages in thread From: Richard Henderson @ 2024-07-24 1:07 UTC (permalink / raw) To: qemu-devel; +Cc: alex.bennee Recent debian cross-linker for loongarch issues ld: warning: hello has a LOAD segment with RWX permissions This is partially related to tests/tcg/loongarch64/system/kernel.ld, but is not fixed by explicitly adding a single LOAD PHDR. Disable the warning, since it does not apply to kernel images. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- tests/tcg/loongarch64/Makefile.softmmu-target | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tcg/loongarch64/Makefile.softmmu-target b/tests/tcg/loongarch64/Makefile.softmmu-target index d5d5c1a7f6..6d4a20fde7 100644 --- a/tests/tcg/loongarch64/Makefile.softmmu-target +++ b/tests/tcg/loongarch64/Makefile.softmmu-target @@ -16,7 +16,7 @@ LINK_SCRIPT=$(LOONGARCH64_SYSTEM_SRC)/kernel.ld LDFLAGS=-Wl,-T$(LINK_SCRIPT) TESTS+=$(LOONGARCH64_TESTS) $(MULTIARCH_TESTS) CFLAGS+=-nostdlib -g -O1 -march=loongarch64 -mabi=lp64d $(MINILIB_INC) -LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc +LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc -Wl,--no-warn-rwx-segments # building head blobs .PRECIOUS: $(CRT_OBJS) -- 2.43.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] tests/tcg: Fix new cross-compiler warnings 2024-07-24 1:07 [PATCH 0/2] tests/tcg: Fix new cross-compiler warnings Richard Henderson 2024-07-24 1:07 ` [PATCH 1/2] tests/tcg: Use --noexecstack with assembler files Richard Henderson 2024-07-24 1:07 ` [PATCH 2/2] tests/tcg/loongarch64: Use --no-warn-rwx-segments to link system tests Richard Henderson @ 2024-07-24 9:54 ` Alex Bennée 2024-07-24 10:50 ` Alex Bennée 3 siblings, 0 replies; 6+ messages in thread From: Alex Bennée @ 2024-07-24 9:54 UTC (permalink / raw) To: Richard Henderson; +Cc: qemu-devel Richard Henderson <richard.henderson@linaro.org> writes: > Recent updates to debian cross-compilers have enabled some > new warnings by default, which encourage good behaviour for > userland binaries. > > Neither are applicable for our system mode kernel images, > but we do have a few userland tests that are affected. > > The --noexecstack assembler flag takes care of adding the > appropriate .note.GNU-stack elf note for us, rather than > writing a dozen lines of assembly template, and so is a > true fix rather than merely disabling the linker warning. Queued to maintainer/for-9.1, thanks. > 10 files changed, 11 insertions(+), 11 deletions(-) -- Alex Bennée Virtualisation Tech Lead @ Linaro ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] tests/tcg: Fix new cross-compiler warnings 2024-07-24 1:07 [PATCH 0/2] tests/tcg: Fix new cross-compiler warnings Richard Henderson ` (2 preceding siblings ...) 2024-07-24 9:54 ` [PATCH 0/2] tests/tcg: Fix new cross-compiler warnings Alex Bennée @ 2024-07-24 10:50 ` Alex Bennée 3 siblings, 0 replies; 6+ messages in thread From: Alex Bennée @ 2024-07-24 10:50 UTC (permalink / raw) To: Richard Henderson; +Cc: qemu-devel Richard Henderson <richard.henderson@linaro.org> writes: > Recent updates to debian cross-compilers have enabled some > new warnings by default, which encourage good behaviour for > userland binaries. > > Neither are applicable for our system mode kernel images, > but we do have a few userland tests that are affected. > > The --noexecstack assembler flag takes care of adding the > appropriate .note.GNU-stack elf note for us, rather than > writing a dozen lines of assembly template, and so is a > true fix rather than merely disabling the linker warning. Queued to maintainer/for-9.1, thanks. -- Alex Bennée Virtualisation Tech Lead @ Linaro ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-07-24 10:52 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-07-24 1:07 [PATCH 0/2] tests/tcg: Fix new cross-compiler warnings Richard Henderson 2024-07-24 1:07 ` [PATCH 1/2] tests/tcg: Use --noexecstack with assembler files Richard Henderson 2024-07-24 6:57 ` Philippe Mathieu-Daudé 2024-07-24 1:07 ` [PATCH 2/2] tests/tcg/loongarch64: Use --no-warn-rwx-segments to link system tests Richard Henderson 2024-07-24 9:54 ` [PATCH 0/2] tests/tcg: Fix new cross-compiler warnings Alex Bennée 2024-07-24 10:50 ` Alex Bennée
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).