qemu/rust
Paolo Bonzini 4f7521916d rust: modernize link_section usage for ELF platforms
Some newer ABI implementations do not provide .ctors; and while
some linkers rewrite .ctors into .init_array, not all of them do.
Use the newer .init_array ABI, which works more reliably, and
apply it to all non-Apple, non-Windows platforms.

This is similar to how the ctor crate operates; without this change,
"#[derive(Object)]" does not work on Fedora 41.

Reviewed-by: Junjie Mao <junjie.mao@hotmail.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-11-05 14:18:15 +01:00
..
hw rust: remove uses of #[no_mangle] 2024-11-05 14:18:15 +01:00
qemu-api rust: modernize link_section usage for ELF platforms 2024-11-05 14:18:15 +01:00
qemu-api-macros rust: modernize link_section usage for ELF platforms 2024-11-05 14:18:15 +01:00
.gitignore rust: add bindgen step as a meson dependency 2024-10-11 12:32:17 +02:00
Kconfig rust: add PL011 device model 2024-11-05 14:18:15 +01:00
meson.build rust: add PL011 device model 2024-11-05 14:18:15 +01:00
rustfmt.toml rust: add crate to expose bindings and interfaces 2024-10-11 12:32:17 +02:00
wrapper.h rust/wrapper.h: define memory_order enum 2024-11-05 14:18:15 +01:00