mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sys-libs/efivar: drop -Werror equivalent for linker
ia64's ld does not implement '-z relro'. This means 'z relro --fatal-warnings' always fails on ia64. The change drops '--fatal-warnings'. Reported-by: Émeric Maschino Closes: https://bugs.gentoo.org/749963 Package-Manager: Portage-3.0.8, Repoman-3.0.2 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
This commit is contained in:
@@ -19,6 +19,10 @@ DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-37-ia64-relro.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i -e 's/-Werror //' gcc.specs || die
|
||||
|
||||
37
sys-libs/efivar/files/efivar-37-ia64-relro.patch
Normal file
37
sys-libs/efivar/files/efivar-37-ia64-relro.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
https://github.com/rhboot/efivar/pull/164
|
||||
https://bugs.gentoo.org/749963
|
||||
|
||||
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)
|
||||
|
||||
```
|
||||
$ 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` options from gcc.spec entirely.
|
||||
|
||||
Reported-by: Émeric Maschino
|
||||
Bug: https://bugs.gentoo.org/749963
|
||||
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
--- a/gcc.specs
|
||||
+++ b/gcc.specs
|
||||
@@ -11,7 +11,7 @@
|
||||
+ %(efivar_cpp_options) -Wmaybe-uninitialized -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
|
||||
|
||||
*self_spec:
|
||||
-+ %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}
|
||||
++ %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-static -static -Wl,-z,relro,-z,now}
|
||||
|
||||
*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}
|
||||
Reference in New Issue
Block a user