Skip to content
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

The Great Pcode Extractor Refactoring #472

Draft
wants to merge 88 commits into
base: master
Choose a base branch
from

Commits on Oct 22, 2024

  1. pcode_extractor: replace Pcode Extractor plugin

    Replace the Pcode Extractor plugin with a stripped-down version that is
    not doing any processing. Its job is just to obtain the relevant data
    from the Ghidra APIs and to hand it over to the Rust side, where all of
    the processing will be done.
    m-rtz authored and Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    91f8bbf View commit details
    Browse the repository at this point in the history
  2. git: update gitignore

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    3b72816 View commit details
    Browse the repository at this point in the history
  3. lib/analysis/pi: reflow doc comments

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    74fddb3 View commit details
    Browse the repository at this point in the history
  4. lib/abstract_domain: fix code formatting

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    f7c20d3 View commit details
    Browse the repository at this point in the history
  5. Update Cargo.lock

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    18190b5 View commit details
    Browse the repository at this point in the history
  6. install: improve comments and output

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    60629be View commit details
    Browse the repository at this point in the history
  7. docker: update Ghidra to 11.0.1

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    eac34f9 View commit details
    Browse the repository at this point in the history
  8. docker: build in debug mode

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    d04abff View commit details
    Browse the repository at this point in the history
  9. docker: update to Ghidra 11.2 and Rust 1.82

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    be71ea6 View commit details
    Browse the repository at this point in the history
  10. Update Rust to 1.81

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    c805275 View commit details
    Browse the repository at this point in the history
  11. Update Rust to 1.82

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    ef0948f View commit details
    Browse the repository at this point in the history
  12. lib/analysis/fwd: reflow doc comment

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    33470f0 View commit details
    Browse the repository at this point in the history
  13. lib/abstract_domain: add CheapToClone marker trait

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    cabb2b0 View commit details
    Browse the repository at this point in the history
  14. lib/ir/expr: constant fold logical shifts

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    5aee916 View commit details
    Browse the repository at this point in the history
  15. lib/ir/jmp: stop using Tid::new

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    516ce8c View commit details
    Browse the repository at this point in the history
  16. lib/ir/blk: add Blk::new

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    16b0308 View commit details
    Browse the repository at this point in the history
  17. lib/ir/blk: add methods for def/jump iteration

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    007c55a View commit details
    Browse the repository at this point in the history
  18. lib/ir/blk: add clone_with_tid_suffix

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    0d99cce View commit details
    Browse the repository at this point in the history
  19. lib/ir/blk: add Blk::get_call_targets

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    e431ead View commit details
    Browse the repository at this point in the history
  20. lib/ir/blk: add Blk::get_sink_type

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    234b453 View commit details
    Browse the repository at this point in the history
  21. lib/ir/blk: add methods for artificial blocks

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    64939e6 View commit details
    Browse the repository at this point in the history
  22. lib/ir/blk: refactor artificial return target block

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    00b34c3 View commit details
    Browse the repository at this point in the history
  23. lib/ir/sub: add Sub::new

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    d5bcf21 View commit details
    Browse the repository at this point in the history
  24. lib/ir/sub: add field non_returning

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    36bec93 View commit details
    Browse the repository at this point in the history
  25. lib/ir/sub: add methods for block iteration

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    b068c28 View commit details
    Browse the repository at this point in the history
  26. lib/ir/program: add methods for block iteration

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    064889e View commit details
    Browse the repository at this point in the history
  27. lib/ir/program: add methods for function iteration

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    9be7623 View commit details
    Browse the repository at this point in the history
  28. lib/ir/program: add methods for jump iteration

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    3ad3609 View commit details
    Browse the repository at this point in the history
  29. lib/ir/program: add Program::debug_assert_invariants

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    b3eb6bb View commit details
    Browse the repository at this point in the history
  30. lib/ir/program: remove check for existence of entry points

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    ab841cc View commit details
    Browse the repository at this point in the history
  31. lib/ir/program: replace SUB with FN in Display impl

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    a5b7e63 View commit details
    Browse the repository at this point in the history
  32. lib/pcode: impl Display for ExpressionType

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    3e46222 View commit details
    Browse the repository at this point in the history
  33. lib/pcode: impl Display for JmpType

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    035b740 View commit details
    Browse the repository at this point in the history
  34. lib/ir/term: changes for Pcode Extractor refactoring

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    a2d84c3 View commit details
    Browse the repository at this point in the history
  35. lib/ir/term: add Deref[Mut] impl

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    f091d54 View commit details
    Browse the repository at this point in the history
  36. lib/ir/term: add new_external_function

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    bed3c3c View commit details
    Browse the repository at this point in the history
  37. lib/ir/term: add Tid::new_program

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    f11f632 View commit details
    Browse the repository at this point in the history
  38. lib/ir/variable: add methods for Subregister Substitution

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    f1b5f4c View commit details
    Browse the repository at this point in the history
  39. lib/ir: changes to artificial sink methods

    Valentin Obst committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    0b6fd64 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2024

  1. Configuration menu
    Copy the full SHA
    3e234f5 View commit details
    Browse the repository at this point in the history
  2. lib/utils/debug: add settings for translation step

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    77ae997 View commit details
    Browse the repository at this point in the history
  3. lib/pcode: remove module

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    339cbea View commit details
    Browse the repository at this point in the history
  4. lib/ir/project: remove old inlining pass

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    628e806 View commit details
    Browse the repository at this point in the history
  5. lib/ir/project: remove old jump targets pass

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    833ae19 View commit details
    Browse the repository at this point in the history
  6. lib/ir/project: remove old dead_variable_elimination, `expression_p…

    …ropagation`, `stack_alignment_substitution` and `propagate_control_flow` passes.
    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    0fe546b View commit details
    Browse the repository at this point in the history
  7. lib/ir/project: refactor IR passes

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    b9efc98 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    952e87f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2649e32 View commit details
    Browse the repository at this point in the history
  10. lib/analysis/graph: add intraprocedural CFG

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    b7bfd5c View commit details
    Browse the repository at this point in the history
  11. benches: adapt to new code stucture

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    5f9d250 View commit details
    Browse the repository at this point in the history
  12. lib/utils/log: introduce WithLogs

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    68208a4 View commit details
    Browse the repository at this point in the history
  13. lib/ir/term: use Option<u64> for TID addresses

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    d5b7d59 View commit details
    Browse the repository at this point in the history
  14. lib/ir/term: accept leading "0x" in TidAddress constructor

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    9d676db View commit details
    Browse the repository at this point in the history
  15. lib/ir/term: add is_block_without_suffix

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    e6e47f2 View commit details
    Browse the repository at this point in the history
  16. lib/ir/sub: change name of artifical sink function

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    e8fc465 View commit details
    Browse the repository at this point in the history
  17. lib/ir/sub: add method to get all jumps

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    d7a663c View commit details
    Browse the repository at this point in the history
  18. lib/ir/sub: impl Display

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    b13a50c View commit details
    Browse the repository at this point in the history
  19. lib/ir/sub: add num_insn and code_range

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    bcbd854 View commit details
    Browse the repository at this point in the history
  20. lib/ir: add methods to get referenced constants

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    c1a30cb View commit details
    Browse the repository at this point in the history
  21. lib/ir/program: add method to get all variables

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    e2ab569 View commit details
    Browse the repository at this point in the history
  22. Fix make codestyle-check

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    73bcb63 View commit details
    Browse the repository at this point in the history
  23. lib/ir/proj/pass: reduce mem use of dead var elim

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    9eaa880 View commit details
    Browse the repository at this point in the history
  24. lib/analysis/graph: extend intraCFG and add CG

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    8ddabef View commit details
    Browse the repository at this point in the history
  25. lib/ir/jmp: add methods to check for calls

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    868a0a5 View commit details
    Browse the repository at this point in the history
  26. lib/ir/blk: make get_call_targets return references

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    96f4e6d View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    8d12316 View commit details
    Browse the repository at this point in the history
  28. lib/ir/blk: add num_insn method

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    3995f5f View commit details
    Browse the repository at this point in the history
  29. caller: add cfg-stats flag

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    b4f5a56 View commit details
    Browse the repository at this point in the history
  30. Run cargo fmt

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    7d09432 View commit details
    Browse the repository at this point in the history
  31. lib: fix codestyle

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    92de217 View commit details
    Browse the repository at this point in the history
  32. lib: fix tests

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    ca6a073 View commit details
    Browse the repository at this point in the history
  33. test: add docker feature

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    dccd581 View commit details
    Browse the repository at this point in the history
  34. test: add acceptance test for riscv64

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    b3f8161 View commit details
    Browse the repository at this point in the history
  35. test: fix acceptance tests

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    61c5fd7 View commit details
    Browse the repository at this point in the history
  36. lib/analysis/graph: fix typo

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    819c001 View commit details
    Browse the repository at this point in the history
  37. lib/analysis/graph/cg: add is_artificial to CgNode

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    7c3c4fb View commit details
    Browse the repository at this point in the history
  38. lib/analysis: improve documentation

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    c694902 View commit details
    Browse the repository at this point in the history
  39. lib/utils/log: add WithLogs::move_logs_to

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    234fb3a View commit details
    Browse the repository at this point in the history
  40. lib/utils/log: introduce DeduplicateCweWarnings trait

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    1b4eb51 View commit details
    Browse the repository at this point in the history
  41. lib/checkers: pass debug::Settings to checkers

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    edc131e View commit details
    Browse the repository at this point in the history
  42. lib/checkers: introduce cwe_module macro

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    c9c3d34 View commit details
    Browse the repository at this point in the history
  43. lib/checkers/cwe_243: use new APIs

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    88e8018 View commit details
    Browse the repository at this point in the history
  44. lib/ir/blk: introduce IndirectCfTargets type

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    7c48ae9 View commit details
    Browse the repository at this point in the history
  45. lib/ir/passes: enforce recursion depth in inp. expr. prop.

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    1c8f74b View commit details
    Browse the repository at this point in the history
  46. lib/ir/def: add recursion_depth

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    b76835e View commit details
    Browse the repository at this point in the history
  47. lib/ir: improve documentation

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    2a9dbb4 View commit details
    Browse the repository at this point in the history
  48. make: shorten target names

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    a2ac3a9 View commit details
    Browse the repository at this point in the history
  49. CHANGES: PcodeExtractor Refactoring

    Valentin Obst committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    bf62f7e View commit details
    Browse the repository at this point in the history