| From 145c6593fa9206cc27229a9a40c49e4bed046739 Mon Sep 17 00:00:00 2001 |
| From: Sergei Trofimovich <slyfox@gentoo.org> |
| Date: Mon, 19 Oct 2020 19:05:01 +0100 |
| Subject: [PATCH] gcc.specs: drop --fatal-warnings from linker options (ia64 |
| compatibility) |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| ``` |
| $ LANG=C make HOSTCC=x86_64-pc-linux-gnu-gcc CC=ia64-unknown-linux-gnu-gcc HOST_ARCH=ia64 |
| ia64-unknown-linux-gnu-gcc ... \ |
| -o libefivar.so ... |
| /usr/libexec/gcc/ia64-unknown-linux-gnu/ld: warning: -z relro ignored |
| collect2: error: ld returned 1 exit status |
| make[1]: *** [/home/slyfox/dev/git/efivar/src/include/rules.mk:32: libefivar.so] Error 1 |
| ``` |
| |
| ia64 (and a few others) binutils target does not support '-z relro' and always |
| issues a warning. --fatal-warnings spec option turns the build into always failing one. |
| |
| The change drops `--fatal-warnings` option from gcc.spec entirely. |
| |
| Rejected upstream in https://github.com/rhboot/efivar/pull/164. |
| |
| [sam: add extra hunk to fix 38 build.] |
| |
| Reported-by: Émeric Maschino |
| Bug: https://bugs.gentoo.org/749963 |
| Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> |
| --- |
| src/include/gcc.specs | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/src/include/gcc.specs b/src/include/gcc.specs |
| index ef28e2b..4deead5 100644 |
| --- a/src/include/gcc.specs |
| +++ b/src/include/gcc.specs |
| @@ -5,4 +5,4 @@ |
| + %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now} -grecord-gcc-switches |
| |
| *link: |
| -+ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie} |
| ++ --no-undefined-version --no-allow-shlib-undefined -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie} |
| -- |
| 2.34.1 |
| |
| diff --git a/src/include/defaults.mk b/src/include/defaults.mk |
| index 9024a3a..f5515fa 100644 |
| --- a/src/include/defaults.mk |
| +++ b/src/include/defaults.mk |
| @@ -58,7 +58,7 @@ override LDFLAGS = $(CFLAGS) -L. $(_LDFLAGS) $(_CCLDFLAGS) \ |
| -Wl,-z,now \ |
| -Wl,-z,muldefs \ |
| -Wl,-z,relro \ |
| - -Wl,--fatal-warnings \ |
| + -Wl,--no-fatal-warnings \ |
| $(call family,LDFLAGS) $(call family,CCLDFLAGS) \ |
| $(call pkg-config-ccldflags) |
| override CCLDFLAGS = $(LDFLAGS) |