Ivan Krysak
dace089658
EFA: improve robustness against non-existent FSO
2024-03-18 17:23:57 +01:00
Ivan Krysak
9af0200b90
test-model-diff: fix temporary directory usage
2024-03-18 13:27:53 +00:00
Ivan Krysak
17557a65d1
Minor improvements
2024-03-18 13:27:53 +00:00
Ivan Krysak
d36296a27c
Doxygen: be extra explicit about layout usage
2024-03-18 13:27:53 +00:00
Ivan Krysak
f6ae268249
PTML: fix doxygen stack indication
2024-03-18 13:27:53 +00:00
Ivan Krysak
bedbf7c1d9
EFA: split importModel into multiple methods
2024-03-18 14:27:47 +01:00
Ivan Krysak
1860bbff8a
EFA: update clobbered register list computation
2024-03-18 13:27:34 +00:00
Ivan Krysak
256df3f92a
EFA: update preserved register diffing
2024-03-18 13:27:34 +00:00
Ivan Krysak
c40e775570
EFA: reorder prototype-based summary importer
...
This lets up cleanly "bail out" after only some of the computation
is done. This way we avoid reading information we don't really use
from the model based on who is the specific user of the oracle.
2024-03-18 13:27:34 +00:00
Ivan Krysak
e92907865c
EFA: turn importPrototype into a helper struct
2024-03-18 13:27:31 +00:00
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