You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds the libraries parameter to the disassemble command (#1547)
* First draft of the BIR linker
* Try running autorun passes on the project
* Fix typo
* Remove newline
* Just give the name up front
* Allow user to specify which units to link with
* Update manpage
* Convert the `Bap_sema` passes to KB-friendly versions
* Multiple changes
- Reject ARM `__svc` stubs
- Don't link to stubs in the target unit
- Use the KB-friendly `Program.lift`
* Avoid extra seq allocation
* Adds SSA to KB, as well as `Term.KB.{map,filter,filter_map}`
* Remove link
* Link plugin
* Small cleanup
* Provide aliases when we have ambiguous names/addresses
* Multiple improvements
- Use aliases if there is no matching subroutine
- Link in the minimal slice of the callgraph by default
- Remove the stub subroutines after linking
* Link with graphlib and regular
* Fixes style
* Resolve stubs in all units as well
If we have more than one unit to link with, then one unit may have
stubs that can be resolved to the implementation in another
* Undo local change
* Tidy up the subroutine collection
* Reworks the linking to `Bap_project`
* Revert breaking the interface to `Project.Input.file`
* Revert change
* Adds the `library` type + prevents duplicate libraries
* Update docs
* Use stable dedup
* Refine glibc internal aliases
* Rename parameter to `--libraries`
* Fix formatting + KB rule for aliases
* Fix stub detection + allow many to one mapping for stubs
* More efficient dedup
* Neaten
* Fix the actual pass that updates the jumps
* Fill in the missing requirements for `glibc-internal-aliases`
* Collect the set of linked tids before running the linker
* Mangle the subroutines that implement the resolved stubs
* Adds the `--link-only` parameter to `stub-resolver`
In some instances we may be interested in linking only a subset of the
stubs to their implementations.
This is mainly motivated by the fact that, when the stub resolver does
link the implementations, and we later want to run the program with
Primus, then the Primus Lisp stubs will no longer be called for these
stubs that were resolved, even though we may still want to use them.
* Extends aliases rule to include possible names
* Promise to compute aliases in objdump plugin
* Add `no-link` parameter to the stub resolver
We can explicitly ask it to not link certain stubs to implementations
* Fix `should_link`
Co-authored-by: bmourad01 <[email protected]>
0 commit comments