Alessandro Di Federico
b523889742
DwarfImporter: try .debug before giving up
...
Also, improve logging.
2025-01-28 15:20:45 +01:00
Alessandro Di Federico
832840c307
Importers: ignore unmapped code
...
This commit ensures that parts of the model that must point to code
(specifically `Binary::EntryPoint`, `Binary::ExtraCodeAddresses` and
`Function::Entry`) actually point to a segment mapped as +x.
2024-11-28 15:22:10 +01:00
Alessandro Di Federico
278c6f625c
Importers: first of all, Segments
...
This commit makes sure that before setting EntryPoint, adding
ExtraCodeAddresses or Function entry points, we completed the processing
of Segments.
2024-11-28 14:04:36 +01:00
Alessandro Di Federico
d1252046ce
Importers: do not set EntryPoint, if absent
2024-11-28 13:58:29 +01:00
Alessandro Di Federico
1e2a55e372
Minor changes
2024-11-28 13:58:28 +01:00
Alessandro Di Federico
efcea8ae48
importBinary: fix error handling
2024-11-12 18:05:48 +01:00
Ivan Krysak
1eb80ecd2d
Introduce an error creation helper
2024-11-06 15:20:37 +02:00
Alessandro Di Federico
16e01f43d6
Import revng-c's FunctionTags.h
2024-10-31 17:19:51 +01:00
Alessandro Di Federico
a0c670652c
Improve usages of Expected<T>
2024-10-10 14:50:26 +02:00
Ivan Krysak
4bdc7f83b5
ABI: drop incomplete pascal support
2024-10-08 13:53:53 +02:00
Ivan Krysak
8c313a73af
Model: make sure segments use generic addresses
2024-10-08 13:53:52 +02:00
Ivan Krysak
99e016f120
ABI: reorganize default ABI helpers
2024-10-08 13:53:52 +02:00
Giacomo Vercesi
f8ffe38687
Unify cache directory logic
...
Make the cache directory logic uniform in Python and C++, move the
respective implementations under support since it's project-wide logic
and not exclusive to debug-info.
2024-10-01 13:38:13 +02:00
Alessandro Di Federico
c1cbb4e9a0
Initialize pointers to nullptr
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
2cdedc71f4
s/serialize/toString/
...
We keep serialize for method dealing with streams.
If it returns a `std::string`, let's use `toString`.
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
c8d4381297
s/Context &Ctx/Context &Context/g
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
bd08864e49
DwarfReader::readValue: handle DW_EH_PE_omit
2024-09-26 17:44:51 +02:00
Alessandro Di Federico
5c9b6ed9b3
Rename DILogger into Log
2024-08-16 13:27:00 +02:00
Alessandro Di Federico
09e483f96b
BinaryImporter: create a Function for EntryPoint
2024-08-16 13:01:59 +02:00
Alessandro Di Federico
cba1d6fa51
PDBImporter: fix .pdb path lookup
2024-08-16 13:01:57 +02:00
Alessandro Di Federico
d3b945c6c2
PECOFFImporter: use Generic Segment::StartAddress
2024-08-05 18:00:27 +02:00
Alessandro Di Federico
7b00473859
PDBImporter: rework .pdb search
2024-08-05 17:41:34 +02:00
Alessandro Di Federico
df8f4db512
MachOImporter: set DefaultABI
2024-07-09 08:58:51 +02:00
Alessandro Di Federico
1981f5a433
Minor changes
2024-07-09 08:58:51 +02:00
Ivan Krysak
4a2db0ba4f
UpcastablePointer: streamline empty behavior
2024-06-27 11:05:52 +02:00
Ivan Krysak
dfa7478685
Adopt reworked model::Type
2024-06-27 11:05:51 +02:00
Ivan Krysak
b6625e8913
Model: simplify fixModel pass
...
Instead of getting reimplemented/updated, it now just reuses normal
type verification routines.
2024-06-27 11:05:50 +02:00
Ivan Krysak
927e8006b9
Model: rename TypePath to DefinitionReference
2024-06-27 11:05:49 +02:00
Ivan Krysak
ac587cbb4f
Model: rename Type into TypeDefinition
2024-06-27 11:05:48 +02:00
Ivan Krysak
b2959e36df
Minor improvements
2024-06-27 11:05:48 +02:00
Alessandro Di Federico
d07d6c4f1f
Drop leftover Section.h
2024-06-20 10:24:49 +02:00
Massimo Fioravanti
f783868dde
Model: adopt tryGet instead of find() != end()
2024-06-20 09:57:36 +02:00
Alessandro Di Federico
33cb4232f4
BinaryImporter: bail out if we have segments
2024-06-19 17:50:51 +02:00
Alessandro Di Federico
47c3dd8f0f
Drop model::Segment::Sections
2024-05-22 10:25:25 +02:00
Alessandro Di Federico
fe1dffcffd
Add some missing includes
...
This is in preparation of reducing headers in Debug.h.
2024-05-03 21:52:40 +02:00
Alessandro Di Federico
9d12cd35e3
DwarfImporter: improve logging
2024-04-19 18:33:00 +02:00
Alessandro Di Federico
58d965f977
DwarfImporter::getName: consider abstract_origin
2024-04-19 18:33:00 +02:00
Alessandro Di Federico
fcd04c163b
DwarfImporter: hack to handle transparent unions
2024-04-19 18:33:00 +02:00
Alessandro Di Federico
2267b51090
Mark findPrototype as inline
2024-04-19 18:33:00 +02:00
Alessandro Di Federico
9bbf1cc144
DwarfImporter: renumber UnionFields after cleanup
2024-04-11 15:29:39 +02:00
Alessandro Di Federico
7f1a15d1bb
Model: ignore empty ExportedNames
2024-03-01 14:53:07 +01:00
Alessandro Di Federico
3cfd01e617
DwarfImporter: correctly handle Expected
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
0da9d1e1a4
Model: fix handling of 0-sized arguments
...
We used to support having a single `void` argument. It was for some
C-compatibility ambitions, but just omitting the argument is perfectly
fine.
Also, the DWARF importer has been fixed to handle typedef'd void as
arguments.
More in general, arguments are now required to always have a size.
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
d9e649d272
Importer/Binary: improve logging
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
aa882f1bef
Importer/Binary: fix default XDG cache path
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
6b4f44af2d
Minor changes
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
340b02c71e
DwarfImporter: improve progress reporting
2024-03-01 14:23:08 +01:00
Ivan Krysak
e708a3655b
ABI: drop incomplete clrcall support
2024-02-09 15:09:37 +00:00
Ivan Krysak
af6f9367b2
ImportPE: remove i386-specific values
2024-02-09 15:09:37 +00:00
Djordje Todorovic
79460c6933
PDBImport: Handle forward referenced types
...
A class or a struct type A can be a forward declaration and refer
to another type B in PDB, so we need to follow the references.
We pre-create type for B, when we face type A, and then, when we
visit type B, we populate the fields for the model::type we
pre-created.
In addition, this patch fixes some minor/side bugs:
- Handle SHORT/Int16Short simple type
- Do not delete model::Function if Prototype is invalid.
2024-02-09 15:09:37 +00:00