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

Epoll Implementation #2529

Merged
merged 50 commits into from
Feb 17, 2022
Merged

Epoll Implementation #2529

merged 50 commits into from
Feb 17, 2022

Conversation

ehennenfent
Copy link
Contributor

This PR breaks out sys_epoll from the chess branch

ekilmer and others added 30 commits May 26, 2020 11:22
* master:
  Change the default to threading (#1779)
  Coveralls Take 2 (#1784)
  Capture return values in run.sh (#1776)
  Create a model for strncpy (#1770)
  Add doc, fix output bugs (#1769)
* master:
  Linux: Add stat method for FdLike (#1780)
  Use default handler for symbolic system call arguments (#1785)
Extremely strange that my local black==19.10b0 doesn't catch this, but the one on GH actions does
* fix-emulate-step:
  Make rusticorn binary actually check behavior
  Add a Rust/Unicorn resumption test
  Fix linting on test_general
  Make emulator reinitialize after write backs are disabled
  Disable write back once we hit our stop in Unicorn emulation
* master:
  Change types.FunctionType=<class 'function'> (#1803)
  Fix test regressions (#1804)
  State Introspection API (#1775)
  Fix EVM account existence checks for selfdestruct and call (#1801)
  Add partial implementation of sendto syscall (#1791)
  crytic-compile: use latest release (#1795)
  Update gas metering for calls to empty accounts (#1774)
  Fix BitVec with symbolic offset and fix TranslatorSmtlib.unique thread safety (#1792)
  Fix Coveralls for external PRs (#1794)
  Convert plugin list to dict (#1781)
  Symbolic-length reads from symbolic sockets (#1786)
  Removing Thread unsafe global caching (#1788)
  Add Manticore native State-specific hooks (#1777)
* capstone-5-dev:
  New x86 instrution test
  Add lacking x86 tests
  ENDBR64 as nop
  Ignore coverage tracking for defensive assertions and exceptions
  Update Capstone commit to fix arm64 LD1 instruction immediates
  Fix ARM
  Fix aarch64
  Use my capstone dev branch until fixes are merged into next
* master:
  Manticore 0.3.5 (#1808)
  Fix yices timeout argument (#1817)
  Detect default solver (#1820)
  Ignore Gas Calculations by Default (#1816)
  native/cpu/x86: Add support for CPUID EAX=80000000h (#1811)
Sphinx doesn't handle side-effects of importing
Helpful for knowing the exact last executed instruction address.
The copied RegisterFile should be read-only and used to keep track of
concrete register values at a certain instant
ekilmer and others added 20 commits March 29, 2021 16:43
* master:
  Removed use of global solver from Native Memory (#2414)
  Support to use boolector as the SMT solver (#2410)
  Update CI and suggest to use pip3 instead of pip (#2409)
  Expressions use keyword-only arguments for init (#2395)
  Use Slots on all Expression objects (#2394)
  Allow double-adding exact same config option (#2397)
  Don't run OSX tests on PR
  Attempt to Fix solc Installation MacOS (#2392)
  Syscall specific hooks (#2389)
  TUI Support Infrastructure (#1620)
  Fix coveralls upload (#2387)
  docs: fix simple typo, straigth -> straight (#2381)
  Attempt to allow symbolic balances from the start (#1818)
  Fix state.cpu.PC member (#1825)
  Bump black and mypy (#1824)
* master:
  Fix the generation of EVM tests (#2426)
  Disabled EVM events in testcases by default (#2417)
  added proper timeouts for cvc4 and boolector (#2418)
* fix-emulate-step:
  Fix addresses and improve error handling
  Delete duplicated test method
* master: (22 commits)
  Fix the generation of EVM tests (#2426)
  Disabled EVM events in testcases by default (#2417)
  added proper timeouts for cvc4 and boolector (#2418)
  Removed use of global solver from Native Memory (#2414)
  Support to use boolector as the SMT solver (#2410)
  Update CI and suggest to use pip3 instead of pip (#2409)
  Expressions use keyword-only arguments for init (#2395)
  Use Slots on all Expression objects (#2394)
  Allow double-adding exact same config option (#2397)
  Don't run OSX tests on PR
  Attempt to Fix solc Installation MacOS (#2392)
  Syscall specific hooks (#2389)
  TUI Support Infrastructure (#1620)
  Fix coveralls upload (#2387)
  docs: fix simple typo, straigth -> straight (#2381)
  Attempt to allow symbolic balances from the start (#1818)
  Fix state.cpu.PC member (#1825)
  Bump black and mypy (#1824)
  Manticore 0.3.5 (#1808)
  Fix yices timeout argument (#1817)
  ...
* Update unicorn to latest 1.0.2

* Update capstone to latest 4.0.2

* Correctly process memory maps

* Synchronize data from manticore to unicorn upon resume

* Fix some issues with FS register and segments

* Fix some synchronization with CPUID instruction as compared to Unicorn

* X86 syscall instruction breakout for semantics
* fix-emulate-step:
  Fix Unicorn resume
* chess:
  staticmethods to get syscall info
  Fix more tests missed during merge
  Fix test missed during merge
  Fix Unicorn resume
@ehennenfent ehennenfent requested a review from ekilmer February 16, 2022 23:51
@ehennenfent
Copy link
Contributor Author

We now have a passing test for this branch

Copy link
Contributor

@ekilmer ekilmer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@ehennenfent ehennenfent merged commit 49f7ebc into master Feb 17, 2022
@ehennenfent ehennenfent deleted the epoll-merge branch February 17, 2022 17:56
ekilmer added a commit that referenced this pull request Mar 3, 2022
* master: (35 commits)
  Switch to stable Black (#2536)
  Fix typo in Manticore.linux constructor docstring (#2535)
  Revert CI changes made in #2526
  Release Manticore 0.3.7 (#2526)
  Optimise forking when there is only 1 solution (#2527)
  Epoll Implementation (#2529)
  Split off ENDBR32/64 from CHESS branch (#2533)
  Update to crytic-compile 0.2.2 (#2530)
  Also ignore missing unicorn registers in the fallback emulator (#2531)
  x86 FXSAVE & FXRSTOR support (#2511)
  Fix `BitVecExtract` simplification for constant folding (#2524)
  Add pip-audit action workflow (#2513)
  Add EXPLICIT fork policy (#2514)
  Enforce crytic-compile==0.2.1 (#2512)
  Improve namedtuple definition (#2506)
  Add SMT simplifications for bitvec subtraction (#2504)
  Fix handling of the program base address in Linux (#2500)
  Bump Sphinx version to 4.3.0 (#2503)
  Solver Improvements (#2502)
  Improves `namedtuple` definition (#2501)
  ...
ekilmer added a commit that referenced this pull request Apr 21, 2022
* master:
  Switch to stable Black (#2536)
  Fix typo in Manticore.linux constructor docstring (#2535)
  Revert CI changes made in #2526
  Release Manticore 0.3.7 (#2526)
  Optimise forking when there is only 1 solution (#2527)
  Epoll Implementation (#2529)
  Split off ENDBR32/64 from CHESS branch (#2533)
  Update to crytic-compile 0.2.2 (#2530)
  Also ignore missing unicorn registers in the fallback emulator (#2531)
  x86 FXSAVE & FXRSTOR support (#2511)
  Fix `BitVecExtract` simplification for constant folding (#2524)
  Add pip-audit action workflow (#2513)
  Add EXPLICIT fork policy (#2514)
  Enforce crytic-compile==0.2.1 (#2512)
  Improve namedtuple definition (#2506)
  Add SMT simplifications for bitvec subtraction (#2504)
  Fix handling of the program base address in Linux (#2500)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants