Debian Patches

Status for qemu/1:8.2.3+ds-2

Patch Description Author Forwarded Bugs Origin Last update
microvm-default-machine-type.patch set default machine type to be microvm if CONFIG_MICROVM is defined
diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c
index def37e60f79..35b948ffb11 100644
Michael Tokarev <mjt@tls.msk.ru> not-needed 2020-02-22
static-linux-user-stubs.diff static linux-user stubs
When building a static linux-user binaries, ld complains:

/usr/bin/ld: libglib-2.0.a(gutils.c.o): in function `g_get_user_database_entry':
warning: Using 'getpwuid' in statically linked applications requires...
warning: Using 'getpwnam_r' in statically linked applications requires...
warning: Using 'getpwuid_r' in statically linked applications requires...

This is because glib, in their "misc utils" unit (gutils.c), has functions
to return current user home directory and similar stuff, and this unit is
almost always included into the link, even if these particular functions
aren't used by the application.

Ideally this should be fixed on the glib side, by splitting gutils.c into
several files, so unused symbols wont be included in the link at all.
But this requires extra efforts from glib side, and static linkage with
glib is very rare.

So just stub-out a few getpw* symbols here, - this will eliminate the
warning and will make resulting binary quite a bit smaller.

It would be nice to eliminate whole dlopen() too.

diff --git a/linux-user/main.c b/linux-user/main.c
Michael Tokarev <mjt@tls.msk.ru> not-needed 2024-04-25
linux-user-binfmt-P.diff [PATCH, HACK]: linux-user: handle binfmt-misc P flag as a separate exe name
A hackish way to distinguish the case when qemu-user binary is executed
using in-kernel binfmt-misc subsystem with P flag (preserve argv).
We register binfmt interpreter under name /usr/libexec/qemu-binfmt/qemu-foo-binfmt-P
(which is just a symlink to ../../bin/qemu-foo), and if run like that,
qemu-user binary will "know" it should interpret argv[1] & argv[2]
in a special way.

diff --git a/linux-user/main.c b/linux-user/main.c
index e44bdb17b8..587bd02db2 100644
Michael Tokarev <mjt@tls.msk.ru> yes 2021-02-13
note-missing-module-pkg-name.diff Note missing module package name
Debian ships different modules in different packages.
By default qemu ignores the fact that it can not load
a module, pretending this module never existed.
Give a useful hint about the package where the module
in question resides.

This is a hack, but it makes qemu packaged in debian
more user-friendly.

diff --git a/audio/audio.c b/audio/audio.c
index 8d1e4ad922..15f1071bdc 100644
Michael Tokarev <mjt@tls.msk.ru> not-needed 2021-08-22
skip-unpack-edk2-blobs.patch skip unpacking of edk2 blobs
Debian strips the blobs from qemu.orig.tar.gz so the code
fails to unpack the missing files.

diff --git a/pc-bios/meson.build b/pc-bios/meson.build
index a7224ef469..ddaedd95af 100644
Michael Tokarev <mjt@tls.msk.ru> not-needed 2023-04-01
qemu-bridge-helper-path.patch set proper path for qemu-bridge-helper binary in the docs
Upstream should propagate this path from the config option.
This is a dumb-n-quick fix.

diff --git a/qemu-options.hx b/qemu-options.hx
index b56f6b2fb2..fe138c83d3 100644
Michael Tokarev <mjt@tls.msk.ru> no debian 2023-04-18
u-boot-sam460ex-fdi.patch u-boot-sam460ex: fdi fix
Fix the missing extern in a variable declaration,
resulting in this variable being repeated each time
this header is included, so the link with modern gcc
fails.

diff --git a/roms/u-boot-sam460ex/board/ACube/common/vesa.h b/roms/u-boot-sam460ex/board/ACube/common/vesa.h
index a6c32c3c2c..99672aa67b 100644
Michael Tokarev <mjt@tls.msk.ru> no
u-boot-sam460ex-mstring.patch u-boot-sam460ex: remove obsolete -mstring gcc option
Modern gcc complains about it.

diff --git a/roms/u-boot-sam460ex/arch/powerpc/cpu/ppc4xx/config.mk b/roms/u-boot-sam460ex/arch/powerpc/cpu/ppc4xx/config.mk
index 8f47c9b728..cf4414cee6 100644
Michael Tokarev <mjt@tls.msk.ru> no
openbios-array-bounds.diff openbios: drivers/usb.c: add pragma -Warray-bounds to work around gcc false positive
diff --git a/roms/openbios/drivers/usb.c b/roms/openbios/drivers/usb.c
index 88b7580..03f6ebb 100644
Michael Tokarev <mjt@tls.msk.ru> no
openbios-array-bounds-gcc12.patch openbios: do not error-out array-bounds warning
gcc-12.2 produces an apparently wrong warning for this file:

roms/openbios/arch/ppc/qemu/init.c:400:10: error: \
array subscript 0 is outside array bounds of ‘uint32_t[0]’ {aka ‘unsigned int[]’} \
[-Werror=array-bounds]
400 | *dsi = 0x48002002;
| =====^===========

Turn this particular -Werror back into warning. Gcc is apparently wrong here.

index e40385a70b..2e214aa079 100644
Michael Tokarev <mjt@tls.msk.ru> invalid 2022-09-02
openbios-use-source_date_epoch-in-makefile.patch roms/openbios: Use SOURCE_DATE_EPOCH in Makefile.
Embedding the build time breaks reproducibility. Instead, use the date
specified by the SOURCE_DATE_EPOCH environment variable:

https://reproducible-builds.org/docs/source-date-epoch/

This patch relies on features of GNU date, and will need further
changes for portability to other systems.
Vagrant Cascadian <vagrant@reproducible-builds.org> no 2020-06-21
seabios-hppa-use-consistent-date-and-remove-hostname.patch roms/seabios-hppa: Use consistent date and remove hostname.
Two issues break reproducibility; the time and hostname get embedded
in the resulting seabios binary.

Simply drop the hostname from the embedded version string, as it
shouldn't be needed in Debian package builds.

Use the SOURCE_DATE_EPOCH environment variable to set the build date
rather than the current time:

https://reproducible-builds.org/docs/source-date-epoch/
Vagrant Cascadian <vagrant@reproducible-builds.org> no 2020-06-21
slof-remove-user-and-host-from-release-version.patch roms/SLOF/Makefile.gen: Remove user and host from release version.
This version string ends up in the slof.bin, leading to
reproducibility issues.
Vagrant Cascadian <vagrant@reproducible-builds.org> no 2020-06-22
slof-ensure-ld-is-called-with-C-locale.patch slof/Makefile.gen: Ensure ld is called with the C locale.
The output of "ld -V" changes based on the environment's locale.
Vagrant Cascadian <vagrant@reproducible-builds.org> no 2020-06-22
openbios-spelling-endianess.patch openbios: spelling: endiannes
diff --git a/roms/openbios/kernel/bootstrap.c b/roms/openbios/kernel/bootstrap.c
index b7658ab6e9..fb4506e3ac 100644
Michael Tokarev <mjt@tls.msk.ru> no
typo-fix-expection.patch [PATCH] target/loongarch/cpu.c: typo fix: expection Michael Tokarev <mjt@tls.msk.ru> no 2024-04-24
target-riscv-kvm-change-KVM_REG_RISCV_FP_F-to-u32.patch [PATCH 1/3] target/riscv/kvm: change KVM_REG_RISCV_FP_F to u32
KVM_REG_RISCV_FP_F regs have u32 size according to the API, but by using
kvm_riscv_reg_id() in RISCV_FP_F_REG() we're returning u64 sizes when
running with TARGET_RISCV64. The most likely reason why no one noticed
this is because we're not implementing kvm_cpu_synchronize_state() in
RISC-V yet.

Create a new helper that returns a KVM ID with u32 size and use it in
RISCV_FP_F_REG().

(cherry picked from commit 49c211ffca00fdf7c0c29072c224e88527a14838)
Daniel Henrique Barboza <dbarboza@ventanamicro.com> no 2023-12-08
target-riscv-kvm-change-KVM_REG_RISCV_FP_D-to-u64.patch [PATCH 2/3] target/riscv/kvm: change KVM_REG_RISCV_FP_D to u64
KVM_REG_RISCV_FP_D regs are always u64 size. Using kvm_riscv_reg_id() in
RISCV_FP_D_REG() ends up encoding the wrong size if we're running with
TARGET_RISCV32.

Create a new helper that returns a KVM ID with u64 size and use it with
RISCV_FP_D_REG().

(cherry picked from commit 450bd6618fda3d2e2ab02b2fce1c79efd5b66084)
Daniel Henrique Barboza <dbarboza@ventanamicro.com> no 2023-12-08
target-riscv-kvm-change-timer-regs-size-to-u64.patch [PATCH 3/3] target/riscv/kvm: change timer regs size to u64
KVM_REG_RISCV_TIMER regs are always u64 according to the KVM API, but at
this moment we'll return u32 regs if we're running a RISCV32 target.

Use the kvm_riscv_reg_id_u64() helper in RISCV_TIMER_REG() to fix it.

(cherry picked from commit 10f86d1b845087d14b58d65dd2a6e3411d1b6529)
Daniel Henrique Barboza <dbarboza@ventanamicro.com> no 2023-12-08

All known versions for source package 'qemu'

Links