Created attachment 7721 [details] test.sh + cat + gcc -o test test.c + rm -f test ++ pwd + mkdir -p /tmp/bin + '[' -f /usr/bin/ld.lld ']' ++ pwd + ln -sf /usr/bin/ld.lld /tmp/bin/ld ++ pwd + export PATH=/tmp/bin:/root/bin:/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin + PATH=/tmp/bin:/root/bin:/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin + gcc -o test test.c -Wl,--verbose /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/../../../crt1.o /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/../../../crti.o /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/crtbegin.o /tmp/bin/ld: /root/tmp/ccM4AKzK.o /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/libgcc.a /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/libgcc_s.so /tmp/bin/ld: error: /usr/lib/gcc/i586-alt-linux/7/libgcc_s.so:4: unable to find libgcc_s.so.1 >>> GROUP ( libgcc_s.so.1 -lgcc ) >>> ^ /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/../../../libc.so /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/libgcc.a /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/libgcc_s.so /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/crtend.o /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/../../../crtn.o collect2: error: ld returned 1 exit status + echo 'add -L/lib' add -L/lib + gcc -o test test.c -L/lib -Wl,--verbose /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/../../../crt1.o /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/../../../crti.o /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/crtbegin.o /tmp/bin/ld: /root/tmp/cc4aOc7W.o /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/libgcc.a /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/libgcc_s.so /tmp/bin/ld: /lib/libgcc_s.so.1 /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/libgcc.a /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/../../../libc.so /tmp/bin/ld: /lib/libc.so.6 /tmp/bin/ld: /usr/lib/libc_nonshared.a /tmp/bin/ld: /lib/libc.so.6 /tmp/bin/ld: /lib/ld-linux.so.2 /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/libgcc.a /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/libgcc_s.so /tmp/bin/ld: /lib/libgcc_s.so.1 /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/libgcc.a /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/crtend.o /tmp/bin/ld: /usr/lib/gcc/i586-alt-linux/7/../../../crtn.o
Дарю новому мантейнеру, не благодарите
Спустя 2,5 года: % hsh --initroot-only ./35301 >/dev/null 2>&1 && hsh-install ./35301 gcc lld=11.0.1 <13>Feb 11 20:06:24 rpmi: llvm11.0-filesystem-11.0.1-alt1 sisyphus+264437.600.5.1 1611691863 installed <13>Feb 11 20:06:26 rpmi: llvm11.0-libs-11.0.1-alt1 sisyphus+264437.600.5.1 1611691863 installed <13>Feb 11 20:06:26 rpmi: llvm-common-11.0.1-alt1 sisyphus+264437.500.4.1 1611350410 installed <13>Feb 11 20:06:26 rpmi: lld11.0-11.0.1-alt1 sisyphus+264437.600.5.1 1611691863 installed <13>Feb 11 20:06:26 rpmi: llvm-common-lld-11.0.1-alt1 sisyphus+264437.500.4.1 1611350410 installed % hsh-run --execute=35301.sh ./35301 + cd + cat + gcc -o test test.c + rm -f test ++ pwd + mkdir -p /usr/src/bin + '[' -f /usr/bin/ld.lld ']' ++ pwd + ln -sf /usr/bin/ld.lld /usr/src/bin/ld ++ pwd + export PATH=/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin + PATH=/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin + gcc -o test test.c -Wl,--verbose ld: A symlink to the following path was installed along with the generic wrapper, but it looks like the actual tool is not installed. You might want to install the relevant package. /usr/lib/llvm-11.0/bin/ld: No such file or directory collect2: error: ld returned 1 exit status + echo 'add -L/lib' + gcc -o test test.c -L/lib -Wl,--verbose add -L/lib ld: A symlink to the following path was installed along with the generic wrapper, but it looks like the actual tool is not installed. You might want to install the relevant package. /usr/lib/llvm-11.0/bin/ld: No such file or directory collect2: error: ld returned 1 exit status Наблюдаю проблему совсем другого рода: llvm-alt-tool-wrapper не знает, кого ему вызывать, если argv[0] == "ld" или заканчивается на /ld. Может быть, имеет смысл в этом случае исполнять ld.lld.
Но лучше было бы, чтобы в gcc появилась опция -fuse-ld=$name.