What | Removed | Added |
---|---|---|
Status | NEW | IN_PROGRESS |
Sorry, I was busy with other llvm issues, now I finally have time to dig into this one. (In reply to Martin Li��ka from comment #0) > But it does not work properly with -m32. Note the code in DetectDistro.cpp > checks for /etc/SuSE-release, which is legacy. One should use > /etc/os-release. I can fix that after we resolve this issue. So far I don't think the issue comes from here. The whole DetectDistro function is removed and Distro::OpenSUSE is returned unconditionally. The "/etc/SuSE-release" file is not even read. It seems that clang correctly discovers that the 32bit gcc is in "/usr/lib64/gcc/x86_64-suse-linux/7/32". It links with some files from that directory (for example crtcend.o or libgcc_s.so), which is correct. However, it fails to detect the right place for glibc files. It discovers them in "/usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../.." = "/usr/lib64" directory. It seems that clang does not expect the 32bit gcc to be under the /usr/lib64 directory. We will probably need special case for finding the glibc.