Update to QEMU 8 (#1299)

* Update to QEMU 8

* fix

* fix snapshots

* fix pcrel
This commit is contained in:
Andrea Fioraldi 2023-06-02 18:24:07 +02:00 committed by GitHub
parent 8445ae54b3
commit 356698c24b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 2 deletions

View File

@ -25,6 +25,7 @@ const WRAPPER_HEADER: &str = r#"
#include "qapi/error.h" #include "qapi/error.h"
#include "exec/target_page.h" #include "exec/target_page.h"
#include "exec/cpu-defs.h"
#include "hw/qdev-core.h" #include "hw/qdev-core.h"
#include "hw/qdev-properties.h" #include "hw/qdev-properties.h"
#include "qemu/error-report.h" #include "qemu/error-report.h"
@ -44,6 +45,7 @@ const WRAPPER_HEADER: &str = r#"
#else #else
#include "migration/vmstate.h" #include "migration/vmstate.h"
#include "migration/savevm.h"
#include "hw/core/sysemu-cpu-ops.h" #include "hw/core/sysemu-cpu-ops.h"
#include "exec/address-spaces.h" #include "exec/address-spaces.h"
#include "sysemu/tcg.h" #include "sysemu/tcg.h"

View File

@ -8,7 +8,7 @@ use which::which;
const QEMU_URL: &str = "https://github.com/AFLplusplus/qemu-libafl-bridge"; const QEMU_URL: &str = "https://github.com/AFLplusplus/qemu-libafl-bridge";
const QEMU_DIRNAME: &str = "qemu-libafl-bridge"; const QEMU_DIRNAME: &str = "qemu-libafl-bridge";
const QEMU_REVISION: &str = "6ae8b5bfb0bc4ac7a0b2ec463cf1000363836c0c"; const QEMU_REVISION: &str = "9302a3a8174a45a14c77be316126f2673248be51";
fn build_dep_check(tools: &[&str]) { fn build_dep_check(tools: &[&str]) {
for tool in tools { for tool in tools {
@ -321,10 +321,12 @@ pub fn build(
.arg(format!("{}/libhwcore.fa", build_dir.display())) .arg(format!("{}/libhwcore.fa", build_dir.display()))
.arg(format!("{}/libqom.fa", build_dir.display())) .arg(format!("{}/libqom.fa", build_dir.display()))
.arg(format!("{}/libevent-loop-base.a", build_dir.display())) .arg(format!("{}/libevent-loop-base.a", build_dir.display()))
.arg(format!("{}/gdbstub/libgdb_user.fa", build_dir.display()))
.arg("--no-whole-archive") .arg("--no-whole-archive")
.arg(format!("{}/libqemuutil.a", build_dir.display())) .arg(format!("{}/libqemuutil.a", build_dir.display()))
.arg(format!("{}/libhwcore.fa", build_dir.display())) .arg(format!("{}/libhwcore.fa", build_dir.display()))
.arg(format!("{}/libqom.fa", build_dir.display())) .arg(format!("{}/libqom.fa", build_dir.display()))
.arg(format!("{}/gdbstub/libgdb_user.fa", build_dir.display()))
.arg(format!( .arg(format!(
"--dynamic-list={}/plugins/qemu-plugins.symbols", "--dynamic-list={}/plugins/qemu-plugins.symbols",
qemu_path.display() qemu_path.display()
@ -344,6 +346,7 @@ pub fn build(
.arg(format!("{}/libhwcore.fa", build_dir.display())) .arg(format!("{}/libhwcore.fa", build_dir.display()))
.arg(format!("{}/libqom.fa", build_dir.display())) .arg(format!("{}/libqom.fa", build_dir.display()))
.arg(format!("{}/libevent-loop-base.a", build_dir.display())) .arg(format!("{}/libevent-loop-base.a", build_dir.display()))
.arg(format!("{}/gdbstub/libgdb_softmmu.fa", build_dir.display()))
.arg(format!("{}/libio.fa", build_dir.display())) .arg(format!("{}/libio.fa", build_dir.display()))
.arg(format!("{}/libcrypto.fa", build_dir.display())) .arg(format!("{}/libcrypto.fa", build_dir.display()))
.arg(format!("{}/libauthz.fa", build_dir.display())) .arg(format!("{}/libauthz.fa", build_dir.display()))
@ -353,6 +356,10 @@ pub fn build(
.arg(format!("{}/libqmp.fa", build_dir.display())) .arg(format!("{}/libqmp.fa", build_dir.display()))
.arg("--no-whole-archive") .arg("--no-whole-archive")
.arg(format!("{}/libqemuutil.a", build_dir.display())) .arg(format!("{}/libqemuutil.a", build_dir.display()))
.arg(format!(
"{}/subprojects/dtc/libfdt/libfdt.a",
build_dir.display()
))
.arg(format!( .arg(format!(
"{}/subprojects/libvhost-user/libvhost-user-glib.a", "{}/subprojects/libvhost-user/libvhost-user-glib.a",
build_dir.display() build_dir.display()
@ -365,10 +372,10 @@ pub fn build(
"{}/subprojects/libvduse/libvduse.a", "{}/subprojects/libvduse/libvduse.a",
build_dir.display() build_dir.display()
)) ))
.arg(format!("{}/libfdt.a", build_dir.display()))
.arg(format!("{}/libmigration.fa", build_dir.display())) .arg(format!("{}/libmigration.fa", build_dir.display()))
.arg(format!("{}/libhwcore.fa", build_dir.display())) .arg(format!("{}/libhwcore.fa", build_dir.display()))
.arg(format!("{}/libqom.fa", build_dir.display())) .arg(format!("{}/libqom.fa", build_dir.display()))
.arg(format!("{}/gdbstub/libgdb_softmmu.fa", build_dir.display()))
.arg(format!("{}/libio.fa", build_dir.display())) .arg(format!("{}/libio.fa", build_dir.display()))
.arg(format!("{}/libcrypto.fa", build_dir.display())) .arg(format!("{}/libcrypto.fa", build_dir.display()))
.arg(format!("{}/libauthz.fa", build_dir.display())) .arg(format!("{}/libauthz.fa", build_dir.display()))