-
Notifications
You must be signed in to change notification settings - Fork 13
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
Support dynamic relocation in libuser #247
Conversation
I'm curious: Does this fix |
@roblabla yuuup |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! The module and relocation stuff should probably move to a separate module, just to keep things clean.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice !
As I understand (your PR comment wasn't really explicit), this makes kernel builtins illegible for ASLR. But wouldn't relocations for every other userspace programs be handled by the process loader service on behalf of the starting process, instead of having it relocate itself ? This means the _start will be different for a builtin and a regular process, but they both use libuser. We might want to add some conditional compilation in libuser for that. |
Hum ... Travis still hasn't responded yet, and Mergeable isn't even here. I think they didn't like the repository transfer. @roblabla can you do something about your mergeable bot ? |
Forcing travis rebuild: closing and reopening PR |
76bca85
to
1d03043
Compare
Closes #216 |
1d03043
to
2459ffd
Compare
Rebased |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗
LLD now generate less weird binaries. This will help for dynamic linking and thread locals.
This makes every userland programs position-independent.
This PR also correctly separates every section in its appropriate segment.