summaryrefslogtreecommitdiff
blob: 2f3686cac4443e7fd612ceacebecdb237895f034 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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.

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 --add-needed -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}
++ --no-undefined-version --no-allow-shlib-undefined --add-needed -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}
-- 
2.34.1