seen with trunk 20191204, almost all architectures except x86_64-linux-gnu. the lintian tool detected that while packaging GCC 10.
Don't see that on aarch64 or riscv64.
I don't see it here on x86_64-linux-gnu, aarch64-linux-gnu, powerpc64le-linux-gnu.
What architectures do you see it on? Do we just need to move the .section .note.GNU-stack,"",@progbits in runtime/go-context.S out of the #ifdef?
these are the architectures I see this: i686-linux-gnu, s390x-linux-gnu, arm-linux-gnueabihf, arm-linux-gnueabi, alpha-linux-gnu, powerpc-linux-gnu, sparc64-linux-gnu, sh4-linux-gnu
Author: ian Date: Thu Dec 5 17:51:10 2019 New Revision: 279010 URL: https://gcc.gnu.org/viewcvs?rev=279010&root=gcc&view=rev Log: PR go/92820 runtime: always mark assembly file as non-executable stack Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/210037 Modified: trunk/gcc/go/gofrontend/MERGE trunk/libgo/runtime/go-context.S
Hopefully fixed. Let me know if not.
related: bug 28036
an arm-linux-gnuebaihf build now fails with: ./../../src/libgo/runtime/go-context.S: Assembler messages: ../../../src/libgo/runtime/go-context.S:74: Error: junk at end of line, first unrecognized character is `,' make[6]: *** [Makefile:1441: runtime/go-context.lo] Error 1
not fixed on arm-linux-gnuaebi-hf
that fixes it ... --- libgo/runtime/go-context.S (revision 279039) +++ libgo/runtime/go-context.S (working copy) @@ -71,4 +71,8 @@ #endif +#if defined(__ARM_EABI__) + .section .note.GNU-stack,"",%progbits +#else .section .note.GNU-stack,"",@progbits +#endif
As elsewhere, the .note should be guarded on Linux or so, either #ifdef __linux__ or something similar. And the second thing is that @progbits is only recognized on some platforms, others need %progbits, but ARM isn't the only one, e.g. AArch64, SH, microblaze, and I believe SPARC Solaris as need that too. Maybe PA too? Maybe %progbits works everywhere, e.g. libphobos/libdruntime/config/common/threadasm.S uses #if (__linux__ || __FreeBSD__ || __NetBSD__ || __DragonFly__) && __ELF__ .section .note.GNU-stack,"",%progbits #endif
Author: ian Date: Fri Dec 6 19:52:46 2019 New Revision: 279063 URL: https://gcc.gnu.org/viewcvs?rev=279063&root=gcc&view=rev Log: PR go/92820 runtime: only build go-context for x86 GNU/Linux Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/210258 Modified: trunk/gcc/go/gofrontend/MERGE trunk/libgo/Makefile.am trunk/libgo/Makefile.in
Fixed again. This time for sure.