- Don't want to skip this important structure in the Linux kernel
- This fixes https://github.com/bootlin/elixir/issues/207
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
We don't need to add destructors as constructors are already in the
database.
Constructors and destructors are never far away so it's
redundant.
And the tokenizer don't support destructors so only constructors are
used from the database.
Signed-off-by: Maxime Chretien <maxime.chretien@bootlin.com>
decode() is needed by FindCompatibleDts but importing query.py result in
an instantiation of the database (query.py line 29).
Moving it to lib.py allows to import it for FindCompatibleDts without
opening the database.
Signed-off-by: Maxime Chretien <maxime.chretien@bootlin.com>
This brings the idea of file families, each ident is identified by his
family and can be referenced in compatible families.
For exemple :
- A Kconfig ident can be referenced in a C file but not in a Devicetree file.
- A Devicetree ident is only referenced in Devicetree files.
- A C ident is only referenced in C files.
Kconfig idents are defined without the CONFIG_ at the beginning.
We add it while indexing for an easier processing of other files.
Signed-off-by: Maxime Chretien <maxime.chretien@bootlin.com>
- Those were important structures in Linux
They deserve to be indexed.
- This will require re-indexing, so this will take a bit
of time to be fixed in the database
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
- Suggested by Armijn Hemel
https://github.com/bootlin/elixir/issues/27
- In particular, functions defined in assembly
are now supported. Look for "memcpy" for example.
A database rebuild is required. Will increase the version
number in the next commit
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
- For long runs, allows to see which project we are in, and the
percentage of processed tags
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
This caused important symbols to be ignored (at least for the
list of instances) See https://github.com/bootlin/elixir/issues/44
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
On machines with Python < 3.5, subprocess.run is not available. In this
case, subprocess.check_output serves the same purpose [1].
This allows Elixir to run on older systems, such as Ubuntu 14.04 which
comes with Python 3.4.
[1] https://docs.python.org/3.5/library/subprocess.html#subprocess.check_output
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
The extended list was generated with a modified references database
that only stored the size of the records instead of the records
themselves. This list basically correponds to all references records
larger than 4 megabytes.