TCG types will be transformed into the appropriate host types later on in the tool. Try and work around this by detecting those cases and pressing on.
[AJB: this seems a bit too hacky - but the problem is validate_type is buried a few layers deep. Maybe we should just drop TCGv from ALLOWED_TYPES and manually do if bit.startswith("TCGv_") in validate_type?] Fixes: 73ff061032 ("trace: only permit standard C types and fixed size integer types") Signed-off-by: Alex Bennée <alex.ben...@linaro.org> Cc: Matheus Ferst <matheus.fe...@eldorado.org.br> --- scripts/tracetool/__init__.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py index 5bc94d95cf..ea078e34b4 100644 --- a/scripts/tracetool/__init__.py +++ b/scripts/tracetool/__init__.py @@ -87,10 +87,11 @@ def out(*lines, **kwargs): "ssize_t", "uintptr_t", "ptrdiff_t", - # Magic substitution is done by tracetool + # Magic substitution is done by tracetool TCG_2_HOST "TCGv", ] + def validate_type(name): bits = name.split(" ") for bit in bits: @@ -405,9 +406,13 @@ def read_events(fobj, fname): try: event = Event.build(line, lineno, fname) except ValueError as e: - arg0 = 'Error at %s:%d: %s' % (fname, lineno, e.args[0]) - e.args = (arg0,) + e.args[1:] - raise + # these get translated by TCG_2_HOST later + if "TCGv_" not in e.args[0]: + arg0 = 'Error at %s:%d: %s' % (fname, lineno, e.args[0]) + e.args = (arg0,) + e.args[1:] + raise + else: + pass # transform TCG-enabled events if "tcg" not in event.properties: -- 2.20.1