git: 92053e4f8ae5 - main - share/mk: Pass -znoexecstack to ld.bfd when linking libraries and programs.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 20 Jul 2023 23:37:54 UTC
The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=92053e4f8ae5f6659db7a8fae016f46bb5447bf8 commit 92053e4f8ae5f6659db7a8fae016f46bb5447bf8 Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2023-07-20 23:36:35 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2023-07-20 23:37:46 +0000 share/mk: Pass -znoexecstack to ld.bfd when linking libraries and programs. lld assumes -znoexecstack by default whereas ld.bfd still defaults to -zexecstack in the absence of .note.GNU-stack annotations. Adding the flags centrally avoids having to patch various libraries in the tree as one-offs (e.g. OpenSSL 3 is the current thing generating new warnings with ld.bfd). Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D41120 --- share/mk/bsd.lib.mk | 2 ++ share/mk/bsd.prog.mk | 2 ++ 2 files changed, 4 insertions(+) diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index dfaf554a3619..a58114af43c4 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -95,6 +95,8 @@ LDFLAGS+= -Wl,-zretpolineplt .warning Retpoline requested but not supported by compiler or linker .endif .endif +# LLD sensibly defaults to -znoexecstack, so do the same for BFD +LDFLAGS.bfd+= -Wl,-znoexecstack # Initialize stack variables on function entry .if ${MK_INIT_ALL_ZERO} == "yes" diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index 6f1079944914..f61331aeaa90 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -68,6 +68,8 @@ LDFLAGS+= -Wl,-zretpolineplt .warning Retpoline requested but not supported by compiler or linker .endif .endif +# LLD sensibly defaults to -znoexecstack, so do the same for BFD +LDFLAGS.bfd+= -Wl,-znoexecstack # Initialize stack variables on function entry .if ${MK_INIT_ALL_ZERO} == "yes"