Giacomo Vercesi
5d02e7258f
revng.daemon test: fail if daemon exit code != 0
2022-10-04 14:13:56 +02:00
Giacomo Vercesi
d7265ff160
PipelineC: allow signal masking
...
Some users of PipelineC might be interested in preserving
pre-existing signals, this commits adds this functionality.
2022-10-04 14:13:56 +02:00
Giacomo Vercesi
7fda1ef459
PipelineC: drop AbortHook
...
Handle crashes via signal handlers. Switch python's revng.api from
a normal python function to faulthandler, which works also in the
case of harsher interruptions (e.g. SIGABRT).
2022-10-04 14:13:56 +02:00
Giacomo Vercesi
159fa8558d
revng.api: Count owned pointers and shutdown
...
rp_shutdown must be called after all the owning pointers given by
PipelineC are freed, in order to guarantee this easily, the python
ApiWrapper will use an atomic counter, which when shutdown has been
signaled and counter reaches zero will automatically call rp_shutdown
2022-10-04 14:13:55 +02:00
Giacomo Vercesi
a935cc3073
revng daemon: switch from hypercorn to uvicorn
...
Hypercorn is experiencing weird behaviour when running tests and
receiving SIGPIPEs when a couple of F5s are issued from the browser.
The switch to uvicorn fixed these issues.
2022-10-04 14:13:55 +02:00
Giacomo Vercesi
4f5e9c5986
revng.daemon.util: Remove dead code
2022-10-04 14:13:55 +02:00
Alessandro Di Federico
574eb1c22a
Merge branch 'feature/rework-pipeline-containers'
2022-10-03 10:34:52 +02:00
Massimo Fioravanti
049ba69d43
Pipeline: containers can now enumerate their kinds
2022-09-29 15:55:30 +02:00
Massimo Fioravanti
dc23473d85
Introduce Loader::getRegistered{Pipes,Analyses}
2022-09-29 15:55:16 +02:00
Massimo Fioravanti
445bc2aa8c
Pipeline: introduce registry for container types
2022-09-29 15:52:26 +02:00
Massimo Fioravanti
9363bbd70a
Pipeline: every container type has now a C++ type
2022-09-29 15:51:17 +02:00
Giacomo Vercesi
df68b2c7c0
revng ptml: merge cat and strip
...
Merge the cat and strip subcommands within `revng ptml`
Refactor codebase so that both color and plaintext output are handled
in a unified manner.
2022-09-29 15:43:17 +02:00
Giacomo Vercesi
bf4122ed0a
Introduce v2 of revng-check-conventions
2022-09-29 15:21:59 +02:00
Alessandro Di Federico
9dd0b139c0
PromoteCSVs: helpers no longer return structs
...
PromteCSVs creates wrappers around helpers. These helpers used to return
a struct in case the helper was changing a CSV.
In order to simplify the downstream pipeline, we now use out arguments
instead of returning a struct.
2022-09-29 10:53:47 +02:00
Alessandro Di Federico
5a7c120433
Translator: stop translation if leaving +x page
...
If a basic block is starting in a traslated page, but it extends out of
it, stop translation.
2022-09-29 09:02:52 +02:00
Alessandro Di Federico
8d4b3833ec
InvokeIsolatedFunctions: adopt splitBasicBlockBefore
2022-09-26 18:10:12 +02:00
Alessandro Di Federico
3307fb4a46
api.Manager: use TemporaryDirectory if no workdir
2022-09-26 18:09:01 +02:00
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
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