/bin/sh ../libtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc -O2 -pipe -march=native -mtune=native -ftree-vectorize -Wl,-E -Wl,-O1 -Wl,--as-needed -fuse-ld=lld -o pppd pppd-auth.o pppd-ccp.o pppd-chap-md5.o pppd-chap.o pppd-demand.o pppd-eap.o pppd-ecp.o pppd-fsm.o pppd-ipcp.o pppd-lcp.o pppd-magic.o pppd-main.o pppd-options.o pppd-session.o pppd-tty.o pppd-upap.o pppd-utils.o pppd-sys-linux.o pppd-chap_ms.o pppd-crypto_ms.o pppd-cbcp.o pppd-mppe.o pppd-ipv6cp.o pppd-eui64.o pppd-eap-tls.o pppd-tls.o pppd-peap.o -lcrypt -ldl libppp_crypto.la
libtool: link: x86_64-pc-linux-gnu-gcc -O2 -pipe -march=native -mtune=native -ftree-vectorize -Wl,-E -Wl,-O1 -Wl,--as-needed -fuse-ld=lld -o pppd pppd-auth.o pppd-ccp.o pppd-chap-md5.o pppd-chap.o pppd-demand.o pppd-eap.o pppd-ecp.o pppd-fsm.o pppd-ipcp.o pppd-lcp.o pppd-magic.o pppd-main.o pppd-options.o pppd-session.o pppd-tty.o pppd-upap.o pppd-utils.o pppd-sys-linux.o pppd-chap_ms.o pppd-crypto_ms.o pppd-cbcp.o pppd-mppe.o pppd-ipv6cp.o pppd-eui64.o pppd-eap-tls.o pppd-tls.o pppd-peap.o -lcrypt -ldl ./.libs/libppp_crypto.a -L/usr/lib -lssl -lcrypto
ld.lld: error: /usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../lib64/Scrt1.o is incompatible with elf32-i386
ld.lld: error: /usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../lib64/crti.o is incompatible with elf32-i386
ld.lld: error: /usr/lib/gcc/x86_64-pc-linux-gnu/12/crtbeginS.o is incompatible with elf32-i386
ld.lld: error: pppd-auth.o is incompatible with elf32-i386
ld.lld: error: pppd-ccp.o is incompatible with elf32-i386
ld.lld: error: pppd-chap-md5.o is incompatible with elf32-i386
ld.lld: error: pppd-chap.o is incompatible with elf32-i386
ld.lld: error: pppd-demand.o is incompatible with elf32-i386
ld.lld: error: pppd-eap.o is incompatible with elf32-i386
ld.lld: error: pppd-ecp.o is incompatible with elf32-i386
ld.lld: error: pppd-fsm.o is incompatible with elf32-i386
ld.lld: error: pppd-ipcp.o is incompatible with elf32-i386
ld.lld: error: pppd-lcp.o is incompatible with elf32-i386
ld.lld: error: pppd-magic.o is incompatible with elf32-i386
ld.lld: error: pppd-main.o is incompatible with elf32-i386
ld.lld: error: pppd-options.o is incompatible with elf32-i386
ld.lld: error: pppd-session.o is incompatible with elf32-i386
ld.lld: error: pppd-tty.o is incompatible with elf32-i386
ld.lld: error: pppd-upap.o is incompatible with elf32-i386
ld.lld: error: pppd-utils.o is incompatible with elf32-i386
ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:936: pppd] Error 1
make[2]: Leaving directory '/var/tmp/portage/net-dialup/ppp-2.5.0-r3/work/ppp-2.5.0/pppd'
make[1]: *** [Makefile:803: all] Error 2
make[1]: Leaving directory '/var/tmp/portage/net-dialup/ppp-2.5.0-r3/work/ppp-2.5.0/pppd'
make: *** [Makefile:524: all-recursive] Error 1
* ERROR: net-dialup/ppp-2.5.0-r3::gentoo failed (compile phase):
* emake failed
ppp version 2.5.0
Prefix...............: /usr
Runtime Dir..........: /run/pppd
Logfile Dir..........: /var/log/ppp
Plugin Dir...........: /usr/lib64/pppd/2.5.0
System CA Path ......: /etc/ssl/certs
With OpenSSL.........: yes
With libatm..........: no
With libpam..........: no
With libpcap.........: no
With libsrp..........: no
C Compiler...........: x86_64-pc-linux-gnu-gcc -O2 -pipe -march=native -mtune=native -ftree-vectorize
Linker...............: /usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64 -Wl,-O1 -Wl,--as-needed -fuse-ld=lld
Features enabled
Microsoft Extensions.: yes
Multilink............: no
Plugins..............: yes
CBCP.................: yes
IPV6CP...............: yes
EAP-TLS..............: yes
PEAP.................: yes
systemd notifications: no
/etc/portage🔒
❯ cat env/ld-linker
LDFLAGS="${LDFLAGS} -fuse-ld=ld"
/etc/portage🔒
❯ cat package.env
net-dialup/ppp ld-linker
-Wl,
prefix-Wl,
prefix ❯ sudo genlop -t llvm
* sys-devel/llvm
Wed Oct 12 11:40:22 2022 >>> sys-devel/llvm-14.0.6-r2
merge time: 29 minutes and 24 seconds.
Mon Nov 7 09:16:22 2022 >>> sys-devel/llvm-15.0.3
merge time: 30 minutes and 11 seconds.
Mon Dec 5 12:55:12 2022 >>> sys-devel/llvm-15.0.5
merge time: 23 minutes and 43 seconds.
Mon Dec 19 09:49:24 2022 >>> sys-devel/llvm-15.0.6
merge time: 23 minutes and 14 seconds.
Mon Jan 9 09:18:39 2023 >>> sys-devel/llvm-15.0.6-r1
merge time: 23 minutes and 6 seconds.
Thu Jan 26 09:50:32 2023 >>> sys-devel/llvm-15.0.7
merge time: 23 minutes and 11 seconds.
Fri Feb 17 14:26:51 2023 >>> sys-devel/llvm-15.0.7
merge time: 25 minutes and 37 seconds.
Tue Jun 27 12:29:14 2023 >>> sys-devel/llvm-16.0.5
merge time: 29 minutes and 49 seconds.
Wed Jun 28 11:49:01 2023 >>> sys-devel/llvm-15.0.7-r3
merge time: 26 minutes and 3 seconds.
jobs:
check:
name: clippy
runs-on: ubuntu-latest
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- name: Clippy
run: cargo clippy
toolchain: stable minus 8 releases
src/game/client/components/items.cpp
// Avoid `Option::ok_or_else` because it bloats LLVM IR.
Can you verify this pub fn a<T>(a: impl Into<X>) -> bla {
let x = a.into();
// ... lots of code here!
}
// beter
pub fn a_better<T>(a: impl Into<X>) -> bla {
a_impl(a.into())
}
fn a_impl(a: X) -> bla {
// ... lots of code here!
}
(edited)