Commit Graph

6113 Commits

Author SHA1 Message Date
Alessandro Di Federico 52755aa4b4 TTG: fix temporary file leak in TypeScript backend 2022-09-26 18:09:01 +02:00
Alessandro Di Federico df17c199c8 s/object..o/object.o/ 2022-09-26 18:09:01 +02:00
Alessandro Di Federico f6d5cd24dd Give pretty names to temporary files 2022-09-26 18:09:01 +02:00
Alessandro Di Federico 02c69b0421 TemporaryFile: use RemoveFileOnSignal 2022-09-26 18:05:38 +02:00
Alessandro Di Federico c14677b162 RemoveLiftingArtifacts: do not fail, if env is absent 2022-09-26 17:02:38 +02:00
Alessandro Di Federico f8867f9220 Give pretty names to temporary files 2022-09-26 16:52:41 +02:00
Alessandro Di Federico 2a7f685aa6 MakeModelGEP: use TupleTreeReference::getConst 2022-09-26 16:52:18 +02:00
Alessandro Di Federico 692dbeb42a Merge branch 'feature/yield-call-graph-pipeline' 2022-09-26 13:42:33 +02:00
Ivan Krysak 5190f8f6c8 Yield: move PTML out of assembly namespace
This fixes an old issue: the headers were moved out out of assembly
a while back while cpp files had been forgotten.
2022-09-26 12:11:20 +02:00
Ivan Krysak f0afb1066b Yield: rework testing and add call graph tests 2022-09-26 12:11:13 +02:00
Ivan Krysak 6724b6d9cd revng/Yield/Pipes: streamline file naming 2022-09-26 12:10:47 +02:00
Ivan Krysak bb37d48dad Yield: introduce YieldCallGraphSlicePipe 2022-09-26 12:09:28 +02:00
Ivan Krysak 3cd801dbac SVG: introduce slices-to-SVG converter 2022-09-26 12:09:03 +02:00
Ivan Krysak 15f0c816c6 SVG Exporter: adopt ptml::Tag 2022-09-26 12:08:47 +02:00
Ivan Krysak 63019a3850 Yield: add a Graph keyword to SVG emitters 2022-09-26 12:08:22 +02:00
Ivan Krysak 2e9269caf8 Yield: implement pipes::*::getContract in .h 2022-09-26 12:07:54 +02:00
Ivan Krysak 6638055ecf TupleTreeCompatible: drop NotTupleTreeCompatible 2022-09-26 12:01:56 +02:00
Ivan Krysak fd994728bd Yield: introduce call graph slicing 2022-09-26 12:01:43 +02:00
Ivan Krysak cf5c010a7c Layouter: introduce simple tree specialization 2022-09-26 10:33:43 +02:00
Ivan Krysak 7e051e3a23 Layouter: improve configuration documentation 2022-09-26 10:33:43 +02:00
Ivan Krysak 0ac31f8e92 Layouter: adopt the new entry detection algorithm 2022-09-26 10:33:43 +02:00
Pietro Fezzardi c7105cda4d GraphAlgorithms: generic entry point detection 2022-09-26 10:33:43 +02:00
Ivan Krysak b267868356 CFG: fix calculateViewBox for entryless graphs 2022-09-26 10:33:43 +02:00
Ivan Krysak 0c7785bc38 Layouter & SVG: improve handling of empty graphs 2022-09-26 10:33:43 +02:00
Ivan Krysak 05d1426dca CrossRelations: drop unnecessary serialization 2022-09-26 10:33:43 +02:00
Massimo Fioravanti 3ed1ce9902 Read-only containers: support multiple readers 2022-09-26 10:33:43 +02:00
Ivan Krysak ed8279fe08 Pipes: introduce a call graph emitting pipe 2022-09-26 10:33:43 +02:00
Ivan Krysak c90a49ec56 SVG Exporter: introduce call graph flavour 2022-09-26 10:33:43 +02:00
Ivan Krysak db406a8835 PTML: introduce function links 2022-09-26 10:33:43 +02:00
Ivan Krysak 4303ed5da6 Layouter: implement non-orthogonal edge support 2022-09-26 10:33:43 +02:00
Ivan Krysak 8b01cb0da1 Layouter: increase configuration options 2022-09-26 10:33:43 +02:00
Ivan Krysak 7037be8b90 SVG Exporter: improve arrow head customizability 2022-09-26 10:33:43 +02:00
Ivan Krysak 172e07f398 Layouter: improve multiple entry graph support 2022-09-26 10:33:43 +02:00
Ivan Krysak 53ae25bcde MetaAddress: improve constexpr-friendliness 2022-09-26 10:33:43 +02:00
Ivan Krysak 9e098d2c9b GenericGraph: fix trait ordering and add inverse 2022-09-26 10:33:43 +02:00
Ivan Krysak 909042a13d AVI: rename ::Edge to avoids name collision 2022-09-26 10:33:43 +02:00
Ivan Krysak 60f6abf0eb Ease conventions to allow lines to start with -> 2022-09-26 10:33:43 +02:00
Ivan Krysak a5f97fc215 Pipes: prevent non-root ranked file containers 2022-09-26 10:33:43 +02:00
Ivan Krysak 00dc8dd477 PTMLTag: fix addListAttribute's requires clause 2022-09-26 10:33:43 +02:00
Ivan Krysak 247710648f Minor changes 2022-09-26 10:33:43 +02:00
Alessandro Di Federico 07ff20585c pipeline-analysis: handle 0 functions 2022-09-22 17:43:56 +02:00
Alessandro Di Federico 8cf981fbf8 JTM: no assert on indirect jump to invalid address 2022-09-22 17:43:56 +02:00
Alessandro Di Federico 7935af70a4 revng_add_executable_internal: force -pie
clang does not do -pie by default.
2022-09-22 17:43:55 +02:00
Alessandro Di Federico 011c65d8ab merge-dynamic: drop a default argument 2022-09-22 17:43:55 +02:00
Alessandro Di Federico cf62e6dce7 Minor changes 2022-09-22 17:43:55 +02:00
Alessandro Di Federico 08afac660b Merge branch 'feature/import-idb' 2022-09-21 18:45:26 +02:00
Alessandro Di Federico 85d574b305 test-abi: various fixes 2022-09-21 18:39:28 +02:00
Alessandro Di Federico d1bc0405dc LinkForTranslation: add .note.GNU-stack
In LinkForTranslation we create an object file for each segment in the
input binary. In order to do this, we use `objcopy`. However, an object
file without a `.note.GNU-stack` section will trigger the linked program
to have the stack executable, which we don't want.

This led the linker to complain as follows:

    ld.bfd: warning: object.o: missing .note.GNU-stack section implies
    executable stack
    ld.bfd: NOTE: This behaviour is deprecated and will be removed in a
    future version of the linker

This commit adds to the `objcopy` invocation a flag to create the
`.note.GNU-stack` section.
2022-09-21 18:39:25 +02:00
Djordje Todorovic 2e5a6dc167 model: add tests for import-idb 2022-09-21 18:39:22 +02:00
Djordje Todorovic 753a50895c Introduce revng model import-idb 2022-09-21 18:39:10 +02:00