summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2022-12-26 23:06:31 -0500
committerIonen Wolkens <ionen@gentoo.org>2022-12-27 06:11:13 -0500
commit1753a9ff5a1b4345e2db281c2f5b72538e667191 (patch)
tree282a8f17ae27e33fc85082067a8c68f44229bc84 /x11-drivers/nvidia-drivers
parentx11-drivers/nvidia-drivers: don't try to strip gsp firmware (diff)
downloadgentoo-1753a9ff5a1b4345e2db281c2f5b72538e667191.tar.gz
gentoo-1753a9ff5a1b4345e2db281c2f5b72538e667191.tar.bz2
gentoo-1753a9ff5a1b4345e2db281c2f5b72538e667191.zip
x11-drivers/nvidia-drivers: use -ffat-lto-objects for libXNVCtrl.a
When using lto, prevents revdeps from getting e.g. ld.lld: error: undefined symbol: XNVCTRLQueryTargetAttribute Having these may also help other issues like mismatches. Skipping 0/390 given doesn't support XNVCTRL_CFLAGS, and 390 is hardly supported at this point (EOL). Not worth a revbump, will propagate as people upgrade their kernels. Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'x11-drivers/nvidia-drivers')
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-470.161.03.ebuild6
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-510.108.03.ebuild6
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild6
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-525.47.04.ebuild6
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-525.60.13.ebuild6
5 files changed, 25 insertions, 5 deletions
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-470.161.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.161.03.ebuild
index d77f701b21a3..3d9b38865127 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.161.03.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-470.161.03.ebuild
@@ -238,13 +238,17 @@ src_compile() {
tc-export AR CC CXX LD OBJCOPY OBJDUMP
local -x RAW_LDFLAGS="$(get_abi_LDFLAGS) $(raw-ldflags)" # raw-ldflags.patch
+ local xnvflags=-fPIC #840389
+ # lto static libraries tend to cause problems without fat objects
+ is-flagq '-flto@(|=*)' && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
+
NV_ARGS=(
PREFIX="${EPREFIX}"/usr
HOST_CC="$(tc-getBUILD_CC)"
HOST_LD="$(tc-getBUILD_LD)"
NV_USE_BUNDLED_LIBJANSSON=0
NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- XNVCTRL_CFLAGS=-fPIC #840389
+ XNVCTRL_CFLAGS="${xnvflags}"
)
if use driver; then
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-510.108.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-510.108.03.ebuild
index 59fc91ba2250..7b5d31e0e448 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-510.108.03.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-510.108.03.ebuild
@@ -242,13 +242,17 @@ src_compile() {
tc-export AR CC CXX LD OBJCOPY OBJDUMP
local -x RAW_LDFLAGS="$(get_abi_LDFLAGS) $(raw-ldflags)" # raw-ldflags.patch
+ local xnvflags=-fPIC #840389
+ # lto static libraries tend to cause problems without fat objects
+ is-flagq '-flto@(|=*)' && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
+
NV_ARGS=(
PREFIX="${EPREFIX}"/usr
HOST_CC="$(tc-getBUILD_CC)"
HOST_LD="$(tc-getBUILD_LD)"
NV_USE_BUNDLED_LIBJANSSON=0
NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
- XNVCTRL_CFLAGS=-fPIC #840389
+ XNVCTRL_CFLAGS="${xnvflags}"
)
if use driver; then
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild
index 1f7131bc1b56..8a3fe05070aa 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild
@@ -267,6 +267,10 @@ src_compile() {
tc-export AR CC CXX LD OBJCOPY OBJDUMP
local -x RAW_LDFLAGS="$(get_abi_LDFLAGS) $(raw-ldflags)" # raw-ldflags.patch
+ local xnvflags=-fPIC #840389
+ # lto static libraries tend to cause problems without fat objects
+ is-flagq '-flto@(|=*)' && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
+
NV_ARGS=(
PREFIX="${EPREFIX}"/usr
HOST_CC="$(tc-getBUILD_CC)"
@@ -274,7 +278,7 @@ src_compile() {
NV_USE_BUNDLED_LIBJANSSON=0
NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS=-fPIC #840389
+ XNVCTRL_CFLAGS="${xnvflags}"
)
if use driver; then
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.04.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.04.ebuild
index a58c7e3e26c1..6eacd648125b 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.04.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.04.ebuild
@@ -263,6 +263,10 @@ src_compile() {
tc-export AR CC CXX LD OBJCOPY OBJDUMP
local -x RAW_LDFLAGS="$(get_abi_LDFLAGS) $(raw-ldflags)" # raw-ldflags.patch
+ local xnvflags=-fPIC #840389
+ # lto static libraries tend to cause problems without fat objects
+ is-flagq '-flto@(|=*)' && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
+
NV_ARGS=(
PREFIX="${EPREFIX}"/usr
HOST_CC="$(tc-getBUILD_CC)"
@@ -271,7 +275,7 @@ src_compile() {
NV_USE_BUNDLED_LIBJANSSON=0
NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS=-fPIC #840389
+ XNVCTRL_CFLAGS="${xnvflags}"
)
if use driver; then
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-525.60.13.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-525.60.13.ebuild
index 231c52eeed6a..94ee75c658a2 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-525.60.13.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-525.60.13.ebuild
@@ -262,6 +262,10 @@ src_compile() {
tc-export AR CC CXX LD OBJCOPY OBJDUMP
local -x RAW_LDFLAGS="$(get_abi_LDFLAGS) $(raw-ldflags)" # raw-ldflags.patch
+ local xnvflags=-fPIC #840389
+ # lto static libraries tend to cause problems without fat objects
+ is-flagq '-flto@(|=*)' && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
+
NV_ARGS=(
PREFIX="${EPREFIX}"/usr
HOST_CC="$(tc-getBUILD_CC)"
@@ -270,7 +274,7 @@ src_compile() {
NV_USE_BUNDLED_LIBJANSSON=0
NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
WAYLAND_AVAILABLE=$(usex wayland 1 0)
- XNVCTRL_CFLAGS=-fPIC #840389
+ XNVCTRL_CFLAGS="${xnvflags}"
)
if use driver; then