Bug 35301 - llvm-alt-tool-wrapper cannot be called as ld
Summary: llvm-alt-tool-wrapper cannot be called as ld
Status: ASSIGNED
Alias: None
Product: Sisyphus
Classification: Development
Component: lld (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Arseny Maslennikov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-29 01:03 MSK by Alexey Gladkov
Modified: 2021-02-12 14:41 MSK (History)
2 users (show)

See Also:


Attachments
test.sh (417 bytes, text/plain)
2018-08-29 01:03 MSK, Alexey Gladkov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Gladkov 2018-08-29 01:03:00 MSK
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
Comment 1 Konstantin A Lepikhov (L.A. Kostis) 2021-02-11 22:53:46 MSK
Дарю новому мантейнеру, не благодарите
Comment 2 Arseny Maslennikov 2021-02-12 12:36:25 MSK
Спустя 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.
Comment 3 Arseny Maslennikov 2021-02-12 14:41:21 MSK
Но лучше было бы, чтобы в gcc появилась опция -fuse-ld=$name.