On Fri, Aug 22, 2025 at 02:26:51PM +0200, Paolo Bonzini wrote:
> From: Tanish Desai <[email protected]>
>
> Signed-off-by: Paolo Bonzini <[email protected]>
> ---
> 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 :|