diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2022-12-26 23:06:31 -0500 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2022-12-27 06:11:13 -0500 |
commit | 1753a9ff5a1b4345e2db281c2f5b72538e667191 (patch) | |
tree | 282a8f17ae27e33fc85082067a8c68f44229bc84 /x11-drivers | |
parent | x11-drivers/nvidia-drivers: don't try to strip gsp firmware (diff) | |
download | gentoo-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')
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 |