Alessandro Di Federico
6a41b116ae
tmp
2022-10-23 09:19:59 +02:00
Alessandro Di Federico
368f27b876
yields test: use one-per-architecture
2022-10-22 00:42:53 +02:00
Massimo Fioravanti
6a869735a9
Pipeline: fix driver for targetless invocation
2022-10-21 11:18:33 +02:00
Massimo Fioravanti
d55aa9b9e6
Pipeline: remove * from targets
...
Now * is just a pipeline frontend shorthand.
2022-10-20 14:20:12 +02:00
Alessandro Di Federico
b2ba0a59eb
Merge branch 'feature/gdb'
2022-10-11 19:08:32 +02:00
Alessandro Di Federico
8aa2c2ac44
daemon/test.py: do not use memfd
2022-10-11 19:08:10 +02:00
Alessandro Di Federico
12191a8d01
daemon/test.py: use log function
2022-10-11 19:08:10 +02:00
Alessandro Di Federico
5feea4e47a
Drop graphlib-backport: we require Python 3.10
2022-10-11 19:08:10 +02:00
Alessandro Di Federico
d18b1a9092
Drop unused Python requirement: psutil
2022-10-11 19:08:10 +02:00
Alessandro Di Federico
6fae9fc1c5
Stop checking Python requirements
2022-10-11 19:08:10 +02:00
Alessandro Di Federico
5a99154196
Put Python packages into lib/python*/site-packages
2022-10-11 19:08:10 +02:00
Alessandro Di Federico
cecc22c4a3
Merge branch 'feature/ptml-fixes'
2022-10-11 17:12:07 +02:00
Giacomo Vercesi
025f6d5580
Assembly & CFG: fix MIME type
...
Change the MIME type of the assembly artifact and the svg graphs to the
new naming convention.
2022-10-11 17:11:04 +02:00
Giacomo Vercesi
677fe190be
Ranks: split TypeField
...
Split the TypeField Rank in 3 more specific ranks: StructField,
UnionField and EnumMember.
2022-10-11 17:10:46 +02:00
Giacomo Vercesi
0566f5342e
Yield/PTML: make instruction definition 0-sized
...
Instruction definition tags are now generated as a 0-size anchor on
the LHS of the text of the actual instruction, this is to prevent
a potential user asking for the definition/reference of the single
instruction.
2022-10-11 17:10:17 +02:00
Giacomo Vercesi
4d0f72548a
ControlFlow/SVG: switch to simple tree layouter
2022-10-11 17:10:06 +02:00
Ivan Krysak
b94c23cf52
Yield/ControlFlow: stop accounting for footer
2022-10-11 17:09:39 +02:00
Giacomo Vercesi
4271082b3f
revng.api: remove dead import
2022-10-11 17:09:18 +02:00
Pietro Fezzardi
43cb77e6a3
TypeSystemPrinter: route edge to the top of nodes
2022-10-06 17:53:47 +02:00
Alessandro Di Federico
17149bacb7
Merge branch 'feature/revng-distributable-revamp'
2022-10-06 15:13:04 +02:00
Giacomo Vercesi
ff48b9de75
Introduce revng daemon-self-test
...
This new command will, given an executable, try to produce all
artifacts. By default it will run `revng daemon`, however an external
address can be provided to test remote daemons, e.g. running inside a
container.
2022-10-06 15:12:36 +02:00
Giacomo Vercesi
e5963395dc
Drop requests in favor of aiohttp
...
Drop the use of requests in the daemon tests, use aiohttp instead as
it allows the use of unix sockets, which simplifies the creation of
multiple ephimeral daemons
2022-10-04 14:20:03 +02:00
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