Commit Graph

6113 Commits

Author SHA1 Message Date
Alessandro Di Federico b4817a4f14 Rename pipelines file 2024-02-09 10:04:22 +01:00
Alessandro Di Federico e48430798f {artifact,analyze}: fix output with no arguments 2024-02-09 10:04:22 +01:00
Alessandro Di Federico 944f827ae3 Drop obsolete +yaml MIME types 2024-02-09 10:04:21 +01:00
Alessandro Di Federico f2be46d4da ToolCLOptions: introduce --model 2024-02-09 10:04:21 +01:00
Alessandro Di Federico 66b502f484 Doxygen: function prototype is optional 2024-02-09 10:04:21 +01:00
Alessandro Di Federico c73e88a8d8 Model: handle missing function prototype 2024-02-09 10:04:20 +01:00
Alessandro Di Federico 83b94026e4 RootAnalyzer: handle missing prototype 2024-02-09 10:04:20 +01:00
Alessandro Di Federico a04ccb6883 CodeGenerator: relax check on entry point 2024-02-09 10:04:19 +01:00
Alessandro Di Federico 6f60d9b492 Introduce revng --rr 2024-02-09 10:04:19 +01:00
Alessandro Di Federico f81851c36b CodeGenerator: do not tag LLVM intrinsics 2024-02-09 10:04:19 +01:00
Alessandro Di Federico bef9efc599 EFA, importModel: handle missing prototype 2024-02-09 10:04:18 +01:00
Alessandro Di Federico 4bca30df5d InlineHelpers: fix bug preventing inlining helpers 2024-02-09 10:04:18 +01:00
Alessandro Di Federico 7112482989 Storage: fix writing to a pipe 2024-02-09 10:04:18 +01:00
Alessandro Di Federico 4d9de92c77 revng-analyze: handle analysis name != type name 2024-02-09 10:04:17 +01:00
Alessandro Di Federico 5fbb5ff503 Minor changes 2024-02-09 10:04:17 +01:00
Alessandro Di Federico 61a4aa17b8 CMake: fix pointless rebuilds 2024-02-09 09:04:30 +01:00
Alessandro Di Federico e718f9aa76 Standardize unit test names 2024-02-09 09:04:28 +01:00
Alessandro Di Federico f74acda0f1 Import test for documentation 2024-02-09 09:04:25 +01:00
Alessandro Di Federico 490b9c6e7f Reorganize test suite 2024-02-09 09:04:25 +01:00
Alessandro Di Federico b997e24280 PromoteInitCSVToUndef: preserve link register only 2024-02-09 09:04:25 +01:00
Alessandro Di Federico f6f542769b Convert all public strings to kebab-case 2024-02-09 09:04:25 +01:00
Alessandro Di Federico a555b6d50b s/+yaml/+tar+gz/g 2024-02-09 09:04:25 +01:00
Pietro Fezzardi 8acf6c2f94 Allow type-less Segments in the Model 2024-02-09 09:04:23 +01:00
Alessandro Di Federico 911ab00107 s/CDecompilation/Decompile/g 2024-02-09 09:03:34 +01:00
Alessandro Di Federico ba94f0ddd4 s/DecompiledToYAML/Decompiled/g 2024-02-09 09:03:34 +01:00
Alessandro Di Federico 7a2e315e29 s/IRCanonicalization/Canonicalize/g 2024-02-09 09:03:34 +01:00
Alessandro Di Federico 2c9d50bdec s/DecompiledYAMLToC/DecompileToSingleFile/g 2024-02-09 09:03:34 +01:00
Alessandro Di Federico 23b3bc9e16 s/ImportModelFromC/ImportFromC/g 2024-02-09 09:03:34 +01:00
Alessandro Di Federico 9c7aa51baa s/ToCABIFunctionType/FunctionsToCABI/g 2024-02-09 09:03:34 +01:00
Alessandro Di Federico 011d04eaaa Drop obsolete tools 2024-02-09 09:03:34 +01:00
Alessandro Di Federico 539b2bd435 Rename dla analysis into analyze-data-layout 2024-02-09 09:03:34 +01:00
Alessandro Di Federico 11308a1bc7 Rename steps and analyses 2024-02-09 09:03:33 +01:00
Alessandro Di Federico 5c8c87a428 Rename pipelines file 2024-02-09 09:02:56 +01:00
Alessandro Di Federico 92c22ce9f1 Minor changes 2024-02-09 09:02:56 +01:00
Pietro Fezzardi 38ef06ea87 Merge branch 'feature/sections-in-segments' 2024-02-08 18:09:50 +01:00
Pietro Fezzardi 0a90048663 DLA: recursively update nested struct types
This enables e.g. updating nested structs representing Sections inside
Segments.
2024-02-08 18:09:12 +01:00
Pietro Fezzardi fa48e50403 DLA: simplify fillStructWithRecoveredDLATypes
The function now takes 2 arguments less.
2024-02-08 18:09:12 +01:00
Alessandro Di Federico b34031f828 Import sections into segment's struct
Each model::Segment is associated to a model::StructType. Now we also
create sub-`structs` for sections, if available.
2024-02-08 16:57:40 +01:00
Pietro Fezzardi b70a5febfa IRCanonicalization: prefer getTypeStoreSize
This commit replaces all the uses on getTypeAllocSize with
getTypeStoreSize.
The result of the second method are more accurate, e.g. for i96
getTypeAllocSize returns 16, while getTypeStoreSize returns 12.
This makes it more suitable for reasoning about type sizes in a way that
is compatible with the model.
2024-02-08 09:03:55 +01:00
Pietro Fezzardi 51cbceaced DLA: remove dead code 2024-02-08 09:03:31 +01:00
Pietro Fezzardi fdf1720433 Drop ValueManipulationAnalysis (VMA)
This commit drops ValueManipulationAnalysis, which in its original
design based on MinCut and Karger, was never enabled in the
decompilation pipeline.

Until now, VMA was only used in a severely weakened form in
initModelTypes. That for was so weakened that it barely did anything.

We already have a new design for VMA so that it can work before
DataLayoutAnalysis, and on Clift.
At this point, the old VMA is basically useless anyway, and the very few
occasions where it can do something will simply be solved by the
upcoming work on making some of the remaining casts implicit.

At this point it does not make sense to keep VMA alive anymore.
2024-02-07 00:41:30 +01:00
Pietro Fezzardi da87b94a03 Drop VMA tests
VMA is obsolete and scheduled to be removed. The tests we had in the
test suite before this commit were for a mode of operation that we're
not actively using for decompilation now, and that will be dropped.
This commits just removes those tests.
2024-02-05 18:00:06 +01:00
Andrea Gussoni 4219ce3101 ASTNode: remove unused SequenceNode constructor 2024-02-05 00:51:15 +01:00
Pietro Fezzardi 8f899300bb Merge branch 'feature/clift-types' 2024-02-04 17:10:33 +01:00
Massimo Fioravanti 95aa074e4c Allow multiple LLVM lit configuration files
revng check branch fails if there are multiple python modules with the
same name. This commit explicitly turns off checks for modules with the
same name as the configuration files of LLVM lit so that more than one
can exists.
2024-02-04 16:52:16 +01:00
Massimo Fioravanti 5259cc83fd Add types lit tests 2024-02-04 16:49:51 +01:00
Massimo Fioravanti ab856523dd Introduce clift types 2024-02-04 16:49:51 +01:00
Massimo Fioravanti 1434948e7e Add clift unit tests 2024-02-04 16:49:51 +01:00
Andrea Gussoni d940c03e9f clift: use shipped lit for tests infrastructure 2024-02-04 16:49:51 +01:00
Pietro Fezzardi a988cfe009 Merge branch 'feature/dla-fix-for-tier-2-website' 2024-02-04 16:38:08 +01:00