44 lines
1.6 KiB
Diff
44 lines
1.6 KiB
Diff
From a15c0e1514fb5fa5609ad7abc6c5f5d0749d0c4a Mon Sep 17 00:00:00 2001
|
|
From: Ariadne Conill <ariadne@dereferenced.org>
|
|
Date: Fri, 21 Aug 2020 06:45:49 +0000
|
|
Subject: [PATCH 03/33] specs: turn on -Wl,-z,now by default
|
|
|
|
Previously, we also used to turn on -z relro here, but we now build
|
|
binutils with --enable-relro, which is functionally equivalent.
|
|
|
|
Binutils does not appear to have a similar option for enabling -z
|
|
now by default.
|
|
---
|
|
gcc/doc/invoke.texi | 3 +++
|
|
gcc/gcc.cc | 1 +
|
|
2 files changed, 4 insertions(+)
|
|
|
|
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
|
|
index 4ff3e817c23..b1877a751aa 100644
|
|
--- a/gcc/doc/invoke.texi
|
|
+++ b/gcc/doc/invoke.texi
|
|
@@ -17958,6 +17958,9 @@ For example, @option{-Wl,-Map,output.map} passes @option{-Map output.map} to the
|
|
linker. When using the GNU linker, you can also get the same effect with
|
|
@option{-Wl,-Map=output.map}.
|
|
|
|
+NOTE: In Alpine Linux, for LDFLAGS, the option
|
|
+@option{-Wl,-z,now} is used. To disable, use @option{-Wl,-z,nonow}.
|
|
+
|
|
@opindex u
|
|
@item -u @var{symbol}
|
|
Pretend the symbol @var{symbol} is undefined, to force linking of
|
|
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
|
|
index 33b56e721d2..f82fae23c22 100644
|
|
--- a/gcc/gcc.cc
|
|
+++ b/gcc/gcc.cc
|
|
@@ -1144,6 +1144,7 @@ proper position among the other output files. */
|
|
"%{flto|flto=*:%<fcompare-debug*} \
|
|
%{flto} %{fno-lto} %{flto=*} %l " LINK_PIE_SPEC \
|
|
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
|
|
+ "-z now " \
|
|
"%X %{o*} %{e*} %{N} %{n} %{r}\
|
|
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
|
|
%{Wno-poison-system-directories:--no-poison-system-directories} \
|
|
--
|
|
2.40.1
|
|
|