Ivan Krysak
d02e338d23
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 15:27:14 +01:00
Alessandro Di Federico
0ae918a6a4
ValueMaterializer: work around unreachable blocks
2024-03-15 15:24:59 +01:00
Ivan Krysak
e4437563ad
ImportPE: fix the filters
2024-03-15 15:24:59 +01:00
Ivan Krysak
b97718f16b
ABI-tests: turn temporary directory into "output"
2024-03-15 15:24:59 +01:00
Ivan Krysak
5fbc86cc6e
ABI-tests: strip model of irrelevant functions
2024-03-15 15:24:59 +01:00
Ivan Krysak
6269c08578
ABI-tests: rename replace-abi script
2024-03-15 15:24:58 +01:00
Ivan Krysak
198280705a
ABI-tests: improve ABI mismatch error message
2024-03-15 15:24:58 +01:00
Ivan Krysak
3373ad91a3
ABI: do not touch ABIs of unrelated functions
2024-03-15 15:24:58 +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
Ivan Krysak
e708a3655b
ABI: drop incomplete clrcall support
2024-02-09 15:09:37 +00:00
Ivan Krysak
c8cd0ab503
ValueDistributor: improve success log message
2024-02-09 15:09:37 +00:00
Ivan Krysak
b1ed3aa959
AccessTracker: make an assertion more obvious
...
It's pretty confusing for a nullptr access to fail on the same line as
an existing assert, which is why it's better to move them to separate
lines.
2024-02-09 15:09:37 +00:00
Ivan Krysak
e62d4f79ef
ABI: remove an obsolete definition parameter
...
Since pointer to copy system got straightenned up, the old way of
marking them (`abi::Definition::UsePointerToCopyForStackArguments`)
is no longer needed.
2024-02-09 15:09:37 +00:00
Ivan Krysak
5a36d8fccf
ABI-tests: update documentation
2024-02-09 15:09:37 +00:00
Ivan Krysak
94b6be25ae
ABI-tests: check equivalence after compatibility
...
This does not change anything about the "successful" tests, but does
make "failing" ones slightly easier to debug - since "compatibility"
failures are generally easier to work with (they provide more explicit
information about the failure) that "equivalence" ones.
2024-02-09 15:09:37 +00:00
Ivan Krysak
b73d4934c8
ABI-tests: extend register comparison
...
It now accounts for endianness.
2024-02-09 15:09:37 +00:00
Ivan Krysak
52c9ae0b4d
ABI-tests: fix vector-less MIPS tests
2024-02-09 15:09:37 +00:00
Ivan Krysak
bd6ab10454
ABI-tests: stop using unsupported primitives
2024-02-09 15:09:37 +00:00
Ivan Krysak
27491410d6
ABI: introduce a way to disable vector registers
2024-02-09 15:09:37 +00:00
Ivan Krysak
fe025e37ef
ABI: short-circuit zero-offset to always be zero
2024-02-09 15:09:37 +00:00
Ivan Krysak
bc6673d90d
ABI: make alignment-computation fails stricter
2024-02-09 15:09:37 +00:00
Ivan Krysak
a018d443e1
ABI: update "safe" conversion list
2024-02-09 15:09:37 +00:00
Ivan Krysak
68301138c0
ABI: redesign register sorting from the ground up
2024-02-09 15:09:37 +00:00