Ivan Krysak
154287b5d5
init_local_sp: drop leading _
2025-04-17 11:19:17 +03:00
Ivan Krysak
cdd9004feb
StringLiteral: do not escape HTML in non-HTML mode
2025-04-17 11:19:17 +03:00
Ivan Krysak
e96e64f035
CNameBuilder: ban known llvm intrinsic names
2025-04-17 11:19:17 +03:00
Ivan Krysak
29554ef303
CNameBuilder: ban known helper names
2025-04-17 11:19:17 +03:00
Ivan Krysak
80d8ac2b1d
Introduce helper list collection
2025-04-17 11:19:17 +03:00
Ivan Krysak
57b5eb7f98
NameBuilder: allow different name checkers
2025-04-17 11:19:17 +03:00
Ivan Krysak
4cde1f614c
support.h: mark unknown_pc as noreturn
2025-04-17 11:19:17 +03:00
Ivan Krysak
e579da5f9d
early-linked.c: use an uglier name for ignore
2025-04-17 11:19:17 +03:00
Ivan Krysak
47a1869695
tests: ensure architecture is always available
2025-04-17 11:19:17 +03:00
Ivan Krysak
a3c8ced826
getUniqueString: use hash for empty strings
2025-04-17 11:19:17 +03:00
Ivan Krysak
93e44460bf
ptml::CTypeBuilder: drop getPlainTypeName
2025-04-17 11:19:17 +03:00
Ivan Krysak
7d409ab4a7
KeyedObjectContainer: support llvm::StringRef
2025-04-17 11:19:17 +03:00
Ivan Krysak
c4f071dfe3
Importers: adopt primitive typedef flattening
2025-04-17 11:19:17 +03:00
Ivan Krysak
acb7d595ef
Model: introduce a primitive typedef removal pass
2025-04-17 11:19:17 +03:00
Ivan Krysak
1383b0a40a
Importers: replace .s in section names
2025-04-17 11:19:17 +03:00
Ivan Krysak
c9ade8d458
NameBuilder: report reason when renaming something
2025-04-17 11:19:17 +03:00
Ivan Krysak
355d4f634c
NameBuilder: prevent collisions with macros
2025-04-17 11:19:17 +03:00
Ivan Krysak
7b04cb99ae
ptml::Annotations: introduce isMacro helper
2025-04-17 11:19:17 +03:00
Ivan Krysak
433af9ef6e
Adopt the new name deduplication pass
2025-04-17 11:19:17 +03:00
Ivan Krysak
cf78106d54
Model: introduce a name deduplication pass
2025-04-17 11:19:17 +03:00
Ivan Krysak
dce5c1a02c
NamingConfiguration: pull more prefixes inside
...
Unify additional values that used to be hardcoded in the old backend
under the same naming configuration root.
2025-04-17 11:19:17 +03:00
Ivan Krysak
af79a289d8
NamingConfiguration: add a new option
...
It's `ReserveNamesStartingWithUnderscore`.
2025-04-17 11:19:17 +03:00
Ivan Krysak
57ac85d7a0
NameBuilder: introduce warning method
2025-04-17 11:19:17 +03:00
Ivan Krysak
1115319463
ABI-tests: adjust name checking asserts
...
Since `NameBuilder::name` can never return an empty string, these can
never fail. But instead of removing them, it's safer to check whether
all the functions have a "real" name coming from the debug information
instead.
2025-04-17 11:19:17 +03:00
Ivan Krysak
f070f1f1e1
Model: sunset double name system
2025-04-17 11:19:17 +03:00
Ivan Krysak
25790b5a78
NameBuilder: change automatic segment name
...
Use index within the binary instead of address in order to make these
shorter.
2025-04-15 16:35:42 +03:00
Ivan Krysak
645cf7fc2e
NameBuilder: sunset deduplication
...
This reworks NameBuilder to ease the transition to the system where
the model will be guaranteed to never contain any name collisions, both
between user-specified names and the automatic ones.
2025-04-15 16:35:42 +03:00
Ivan Krysak
45cc80cb68
PrimitiveType: introduce isCName helper
2025-04-15 16:35:42 +03:00
Ivan Krysak
cbddbaa462
Model: add a way to iterate over all the registers
2025-04-15 16:35:42 +03:00
Ivan Krysak
e10199ee1c
TypeDefinitionKind: introduce a prefix consumer
2025-04-15 16:35:42 +03:00
Ivan Krysak
795a84dfe6
MetaAddressType: introduce a prefix consumer
2025-04-15 16:35:42 +03:00
Ivan Krysak
2e85653873
MetaAddressType: introduce Count
2025-04-15 16:35:42 +03:00
Ivan Krysak
6ea75f02b3
Model: switch to the new namespace verifier
2025-04-15 16:35:42 +03:00
Ivan Krysak
3ff5b2cd3a
Support: introduce unwrapError
2025-04-15 16:35:42 +03:00
Ivan Krysak
c9d9b00bb0
Model: introduce generic namespace processing
2025-04-15 16:35:42 +03:00
Ivan Krysak
6710dacfed
Model: give path helpers a home
2025-04-15 16:35:42 +03:00
Ivan Krysak
b354f1b75b
TupleTree: allow visiting upcastable pointers
2025-04-15 16:35:42 +03:00
Ivan Krysak
6c6cf04d11
STLExtras: rename is_contained_if into any_of
...
This improves consistency with the names llvm uses.
2025-04-15 16:35:42 +03:00
Ivan Krysak
0bd174c07f
STLExtras: fix an ambiguous find_if call
2025-04-15 16:35:42 +03:00
Ivan Krysak
50bbcaba1c
Sunset name collision tests
...
Because of the switch to pre-model deduplication, no collisions are
possible, as such, it doesn't make much sense to keep these.
2025-04-15 16:35:42 +03:00
Ivan Krysak
169383daa8
MetaAddress: introduce toIdentifier() method
...
It's equivalent to the existing `toString()` except for the fact that
it uses an identifier-friendly separator (`_`).
2025-04-15 16:35:42 +03:00
Ivan Krysak
3edb6cbb9b
Minor improvements
2025-04-15 16:35:42 +03:00
Alessandro Di Federico
c5c657d11b
Lift: increase determinism
2025-04-15 15:31:10 +02:00
Alessandro Di Federico
de2a96c34c
AVI: set the extremal value ot top
2025-04-15 15:31:10 +02:00
Alessandro Di Federico
c2461377cd
Merge branch 'feature/s3-storage-python-2-fixes'
2025-04-07 14:42:11 +02:00
Giacomo Vercesi
38aefea930
ResettableTimer: fix deadlock
...
The `ResettableTimer` class' code did not account for the `function`
attribute to possibly call the timer, creating a deadlock because the
lock was already taken while calling the function. Move the function
call out of the lock.
2025-04-07 10:36:36 +02:00
Giacomo Vercesi
e6fcca3dc6
TupleTreeContainer: fix infinite recursion
...
Fix an infinite recursion caused by renaming the `ContainerBase::load`
function to `ContainerBase::loadImpl`.
2025-04-07 10:35:20 +02:00
Alessandro Di Federico
d1a7eff8cb
Merge branch 'feature/s3-storage-python-2'
2025-04-03 15:59:35 +02:00
Giacomo Vercesi
11f1e532c6
Implement dirty bit on Container
...
Add a `Dirty` boolean to the `ContainerBase` class. This will be set to
true when the container mutates itself (e.g. remove, mergeBack, clear).
The dirty bit is reset when running `PipelineManager.store`.
2025-04-03 15:59:18 +02:00
Giacomo Vercesi
f740badd68
PipelineManager: drop storeContext
...
The `storeContext` function was a misguided attempt to performance
optimization. Without storing all the containers and the invalidation
metadata the resume directory would be corrupt by just storing the
context.
2025-04-03 15:59:18 +02:00