-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[Feature] Link libc during compile time instead of using ./glibc_run.sh #180
Comments
I think this is a great idea! So people don't have to |
oh btw, please make this optional because I think most people still want to link with their system libc |
Sure! Optional is a good idea. Thanks for the input! |
I realize this might be more complicated than expected. The goal still is to have binaries directly linked against libc during the build, so there is a lot less wait time than running My initial implementation idea was:
Step 1 works and is in #182 For Step 2, I realize that I have too little experience with |
I also experimented with just calling Maybe this will be the final solution but I feel like 10 minutes is a long time to wait. |
PR #183 should fix this issue. You have to download the libc's and loader first, though. |
fix(#180): added Makefile that links specific libc & loader during compilation
I completely refactored how our make system works. Now you can
|
I'll close the issue now. But feel free to let me know if you encounter any issues :) |
Works great! Thank you so much! 👍 There is a small bug with the download on some versions like v2.24, but #185 should fix the issue. |
Currently, when running a binary, it has to be run like this to run with the correct libc version.
./glibc_run.sh glibc_2.27/fastbin_dup
This creates some issues:
Proposal:
Modify the Makefile, so it links to the specific libc versions directly like this:
gcc -Xlinker -rpath=/default/path/to/libraries -Xlinker -I/default/path/to/libraries/ld.so program.c
which solves both issues.
I can work on this issue. Any comments?
The text was updated successfully, but these errors were encountered: