Commit Graph

3103 Commits

Author SHA1 Message Date
Ivan Krysak 3fbaaeaaf5 STLExtras: introduce revng::to helper 2024-03-18 12:24:21 +00:00
Ivan Krysak b7ddd6ebbe EnforceABI: stop using Layout 2024-03-18 12:24:21 +00:00
Ivan Krysak db017e0e2d EFA: stop using Layout 2024-03-18 12:24:21 +00:00
Ivan Krysak d83479f2fa Lift: stop using Layout 2024-03-18 12:24:21 +00:00
Ivan Krysak b4e4d73d49 Layout: introduce usedRegisters helper 2024-03-18 12:24:21 +00:00
Ivan Krysak 894c3e7b5c TrackingContainer: introduce asVector helper 2024-03-18 12:24:21 +00:00
Ivan Krysak 25bd3b437f Distributor: add nextPositionBasedIndex 2024-03-18 12:24:21 +00:00
Ivan Krysak 80375de3cb Layout: introduce finalStackOffset helper 2024-03-18 12:24:21 +00:00
Ivan Krysak b46649de71 Layout: introduce calleeSavedRegisters helper 2024-03-18 12:24:21 +00:00
Ivan Krysak c003a62212 Layout: rework dump 2024-03-18 12:24:21 +00:00
Ivan Krysak bf11370fc5 Layout: clean ArgumentKind enum up 2024-03-18 12:24:21 +00:00
Alessandro Di Federico e990d491a4 Merge branch 'feature/segregation-testing' 2024-03-15 19:05:11 +01:00
Ivan Krysak 08041ba771 ToCFT: fix last stack argument verification
It was still broken, even after `feature/alignment-fixes`, so
this commit softens requirements even further, to allow some of
the desired cases to pass through the verifier.
2024-03-15 19:05:10 +01:00
Alessandro Di Federico 250354bd27 ValueMaterializer: work around unreachable blocks 2024-03-15 19:05:10 +01:00
Ivan Krysak a58ccd159e ImportPE: fix the filters 2024-03-15 19:05:10 +01:00
Ivan Krysak 1b52530531 ABI-tests: turn temporary directory into "output" 2024-03-15 19:05:10 +01:00
Ivan Krysak d71fd7a1ad ABI-tests: strip model of irrelevant functions 2024-03-15 19:05:10 +01:00
Ivan Krysak 6feb9aa001 ABI-tests: rename replace-abi script 2024-03-15 19:05:10 +01:00
Ivan Krysak 8ecdd76e68 ABI-tests: improve ABI mismatch error message 2024-03-15 19:05:10 +01:00
Ivan Krysak 5407c11a8f ABI: do not touch ABIs of unrelated functions 2024-03-15 19:05:10 +01:00
Alessandro Di Federico e93d8ba09f RawBinaryView:getByOffset: fix of by = 2024-03-15 17:13:20 +01:00
Giacomo Vercesi a376c2b36a rcc: improve non-module files detection
Improve the detection of non-module files in `MyPyPass` to avoid python
scripts being erroneously passed to mypy together, causing the error
`Duplicate module named` in mypy.
2024-03-15 15:30:16 +01:00
Alessandro Di Federico 3fb9e58b0a Progress: cap line length to terminal size 2024-03-01 17:47:28 +01:00
Alessandro Di Federico fcf7fd8a0e Merge branch 'feature/13-binaries-fixes' 2024-03-01 16:45:58 +01:00
Alessandro Di Federico aec4be9b07 AttachDebugInfo: improve docs 2024-03-01 14:53:07 +01:00
Alessandro Di Federico ffe93548c5 Model ::size(): do not suspend tracking 2024-03-01 14:53:07 +01:00
Alessandro Di Federico 7f1a15d1bb Model: ignore empty ExportedNames 2024-03-01 14:53:07 +01:00
Alessandro Di Federico db4e5c4a5e Introduce dumpModel 2024-03-01 14:53:07 +01:00
Alessandro Di Federico c346e60ee7 PromoteOriginalName: no globals with local names
This commit ensures we do not introduce new global symbols that would
make local symbols invalid.
2024-03-01 14:53:06 +01:00
Alessandro Di Federico 6f4923265e Type verify: improve error reporting 2024-03-01 14:53:06 +01:00
Alessandro Di Federico 3cfd01e617 DwarfImporter: correctly handle Expected 2024-03-01 14:53:06 +01:00
Alessandro Di Federico c7868b4e7d Runner: improve logging 2024-03-01 14:53:06 +01:00
Alessandro Di Federico 0da9d1e1a4 Model: fix handling of 0-sized arguments
We used to support having a single `void` argument. It was for some
C-compatibility ambitions, but just omitting the argument is perfectly
fine.

Also, the DWARF importer has been fixed to handle typedef'd void as
arguments.

More in general, arguments are now required to always have a size.
2024-03-01 14:53:06 +01:00
Alessandro Di Federico d9e649d272 Importer/Binary: improve logging 2024-03-01 14:53:06 +01:00
Alessandro Di Federico aa882f1bef Importer/Binary: fix default XDG cache path 2024-03-01 14:53:06 +01:00
Alessandro Di Federico dd16a320a2 CMake: fix well-known-models install path 2024-03-01 14:53:06 +01:00
Alessandro Di Federico 6b4f44af2d Minor changes 2024-03-01 14:53:06 +01:00
Alessandro Di Federico 8479f3d8b8 artifact: reorganize how we run analysis lists 2024-03-01 14:28:12 +01:00
Alessandro Di Federico 2347304b70 Progress.cpp: handle StepsCount == 0 2024-03-01 14:23:30 +01:00
Alessandro Di Federico 340b02c71e DwarfImporter: improve progress reporting 2024-03-01 14:23:08 +01:00
Alessandro Di Federico 09c0633391 Merge branch 'feature/open-revngc' 2024-03-01 10:23:18 +01:00
Alessandro Di Federico 85abd9b6fc revng artifact: introduce --analyze 2024-02-29 18:04:35 +01:00
Alessandro Di Federico d21aadfdd0 docs: document binary installation 2024-02-29 17:03:04 +01:00
Alessandro Di Federico 2403f1e10b mkdocs: make links relative 2024-02-26 16:08:54 +01:00
Alessandro Di Federico aa511e07ef Rewrite README.md 2024-02-26 16:03:32 +01:00
Alessandro Di Federico 401a653c89 Reorganize licensing information 2024-02-26 16:02:52 +01:00
Alessandro Di Federico 9f097e079d revng-c opening: update docs 2024-02-16 10:32:49 +01:00
Alessandro Di Federico b21ff0bd2a Merge branch 'feature/msvc-abi-testing' 2024-02-09 17:05:50 +01:00
Ivan Krysak b0b1f10e72 ABI: move ToCABIFunctionType analysis to revng 2024-02-09 16:24:44 +01:00
Ivan Krysak 069d3d3972 ToCABI: improve logger messages 2024-02-09 15:09:37 +00:00