On Fri, Aug 22, 2025 at 02:26:51PM +0200, Paolo Bonzini wrote: > From: Tanish Desai <tanishdesa...@gmail.com> > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > scripts/tracetool/__init__.py | 2 +- > scripts/tracetool/backend/simple.py | 7 +++++ > tests/tracetool/simple.rs | 41 +++++++++++++++++++++++++++++ > tests/tracetool/tracetool-test.py | 2 ++ > 4 files changed, 51 insertions(+), 1 deletion(-) > create mode 100644 tests/tracetool/simple.rs > > diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py > index 0b8ec707332..7542757799e 100644 > --- a/scripts/tracetool/__init__.py > +++ b/scripts/tracetool/__init__.py > @@ -336,7 +336,7 @@ def rust_call_extern(self): > def rust_cast(name, type_): > if type_ == "const char *": > return f"_{name}.as_ptr()" > - return "_{name}" > + return f"_{name}" > > return ", ".join((rust_cast(name, type_) for type_, name in > self._args)) >
This should be squashed into the earlier patch that introduced the mistake > diff --git a/tests/tracetool/simple.rs b/tests/tracetool/simple.rs > new file mode 100644 > index 00000000000..895096088dc > --- /dev/null > +++ b/tests/tracetool/simple.rs > @@ -0,0 +1,41 @@ > +// This file is autogenerated by tracetool, do not edit. > + > +#[allow(unused_imports)] > +use std::ffi::c_char; > +#[allow(unused_imports)] > +use qemu_api::bindings; > + > +#[inline(always)] > +fn trace_event_get_state_dynamic_by_id(_id: u16) -> bool { > + unsafe { (trace_events_enabled_count != 0) && (_id != 0) } > +} > + > +extern "C" { > + static mut trace_events_enabled_count: u32; > +} > +extern "C" { > + static mut _TRACE_TEST_BLAH_DSTATE: u16; > + static mut _TRACE_TEST_WIBBLE_DSTATE: u16; > +} > +const _TRACE_TEST_BLAH_ENABLED: bool = true; > +const _TRACE_TEST_WIBBLE_ENABLED: bool = true; Does rust have any policy reserving use of leading underscore in identifiers ? > + > +#[inline(always)] > +#[allow(dead_code)] > +pub fn trace_test_blah(_context: *mut (), _filename: &std::ffi::CStr) > +{ > + if trace_event_get_state_dynamic_by_id(unsafe { > _TRACE_TEST_BLAH_DSTATE}) { > + extern "C" { fn _simple_trace_test_blah(_context: *mut (), > _filename: *const std::ffi::c_char); } > + unsafe { _simple_trace_test_blah(_context, _filename.as_ptr()); } > + } > +} > + > +#[inline(always)] > +#[allow(dead_code)] > +pub fn trace_test_wibble(_context: *mut (), _value: std::ffi::c_int) > +{ > + if trace_event_get_state_dynamic_by_id(unsafe { > _TRACE_TEST_WIBBLE_DSTATE}) { > + extern "C" { fn _simple_trace_test_wibble(_context: *mut (), _value: > std::ffi::c_int); } > + unsafe { _simple_trace_test_wibble(_context, _value); } > + } > +} With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|