-
-
Notifications
You must be signed in to change notification settings - Fork 470
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.4.2: test suite is failing #707
Comments
It looks like mold couldn't find some basic libraries such as libc or libstdc++. Here is an except:
If you run How about |
It couldn't find static libc because I have no such library at all. In other words if it is some need to test mond with |
It is yet another issue here. |
Our tests assume the basic build environment and some basic tools such as hexdump. You can build mold without static libc, but in order to run tests, you need static libc and libstdc++. For Red Hat, I believe you need to install
Which test file? |
FYI Solaris has no static libraries IIRC +17 years. Similar is with all *BSD..
In those failing units it is possiblet osee use |
But I guess you are using Red Hat, so the argument for Solaris and BSDs aren't applicable, no? If you want to use a different compiler for tests, specify |
No, I'm using my own distribution (which will be in a few months publically available) in which I've spent a lot of time to get rid of building and packaging all static libraries as long-term sources of (only) troubles). Especially glibc static libraries are the most significant source of the problem in breaking kernel space<>user space ABI. If you look closer on gcc and binutis you can find that |
So, in your distro, does the following command fail?
|
Yes, on most OSes (Windows, macOS, every BSD I'm aware of), the kernel ABI is unstable, and only libc is supposed to issue syscalls. Most. The exception is Linux; the Linux kernel ABI is documented, stable and append-only, and statically linked libc/libstdc++/etc is perfectly safe. If we're trying to do anything with static libc on (for example) FreeBSD, we're asking for trouble. (Not much trouble - tests are usually compiled, executed, and then immediately discarded, with little or no risk of running on a mismatched kernel - but it sets a dangerous precedent.) But on Linux, it's a perfectly valid usecase, and deleting the static libc builds for kernel ABI reasons accomplishes nothing. (Though there may be other valid reasons to delete static libc, for example maintenance effort, disk space, or simplifying libc upgrades.) |
Test failures should be fixed in the above commit. |
Yep .. [tkloczko@devel-g2v SPECS]$ echo 'int main() {}' | cc -o /dev/null -xc - -static
/usr/bin/ld: cannot find -lc: No such file or directory
collect2: error: ld returned 1 exit status |
Thank you. |
|
cmake settings (
cmake -L
output):and test suite is failing:
The text was updated successfully, but these errors were encountered: