-
Notifications
You must be signed in to change notification settings - Fork 5
Ld preload symbol #510
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
base: main
Are you sure you want to change the base?
Ld preload symbol #510
Conversation
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.
Lintly has detected code quality issues in this pull request.
29ab296 to
46046a3
Compare
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.
Lintly has detected code quality issues in this pull request.
46046a3 to
a6b2bff
Compare
a6b2bff to
921ed75
Compare
src/penguin/config_patchers.py
Outdated
| During static analysis the LibrarySymbols class collected | ||
| key->value mappings from libraries exporting some common nvram | ||
| defaults symbols ("Nvrams", "router_defaults") - add these to our | ||
| nvram config if we have any. |
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.
Can we update the comment?
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.
yeah I thought I had
| for file in sources.keys(): | ||
| if file in self.linker_paths.keys(): | ||
| self.linker_paths.pop(file) | ||
| if not ("_dl_preload" in sources[file] or "handle_ld_preload" in sources[file]): |
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.
Not sure if this list is exhaustive... we'll do some experiments to see what we have in the corpus?
|
|
||
| logger.debug(f"Identified architecture: {best}") | ||
| return best | ||
| return (best, loaders) |
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.
Should we consider a dict here?
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.
It depends on whether we will extract more info as time goes on. As it is I special cased the dumping process to avoid dumping loaders
#496 Identifies all linkers in a given system and ensures that they either have the preload symbol or are glibc.