aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/snippets/rust-objects.md
AgeCommit message (Collapse)AuthorFilesLines
2025-04-28Add release notes for 1.8 that I forgot.Jussi Pakkanen1-4/+0
2025-04-04rust: add external objects to the link command linePaolo Bonzini1-0/+4
Because rustc does not support extract_objects, QEMU creates a static library with all the C objects. It then passes this static library as link_whole, together with another static library containing general purpose utility functions which is passed as link_with. However, this is brittle because the two have a circular dependency and they cannot be merged because of the link_whole/link_with difference. While lld seems to have the --start-group/--end-group semantics automatically, ld.bfd can fail if these options are needed. This can cause difference between distros depending on how Rust is packaged (e.g. Ubuntu 22.04 and Debian bookworm seem to use ld.bfd). The simplest solution is for Meson to implement "objects:" properly for Rust. Then QEMU can use the same internal dependency objects that it already has in place for C programs. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>