diff --git a/debian/patches/qboot_redundant_addr32.patch b/debian/patches/qboot_redundant_addr32.patch new file mode 100644 index 0000000000000000000000000000000000000000..71773d62a84fe3f51d2a971a3c163e3c33d1c4cf --- /dev/null +++ b/debian/patches/qboot_redundant_addr32.patch @@ -0,0 +1,43 @@ +From: Heinrich Schuchardt +Subject: Avoid redundant addr32 prefix + +Without the patch building for amd64 on Ubuntu Kinetic results in errors: + + roms/qboot/code16.c: Assembler messages: + roms/qboot/code16.c:37: Error: redundant addr32 prefix + roms/qboot/code16.c:27: Error: redundant addr32 prefix + roms/qboot/code16.c:18: Error: redundant addr32 prefix + make[3]: + *** [/tmp/cccVuKNX.mk:2: /tmp/ccVEDE5R.ltrans0.ltrans.o] Error 1 + +Signed-off-by: Heinrich Schuchardt + +--- a/roms/qboot/code16.c ++++ b/roms/qboot/code16.c +@@ -15,7 +15,7 @@ + { + uint8_t v; + +- asm volatile("addr32 movb %%fs:%1,%0" : "=q" (v) : "m" (*(uint8_t *)addr)); ++ asm volatile("movb %%fs:%1,%0" : "=q" (v) : "m" (*(uint8_t *)addr)); + + return v; + } +@@ -24,7 +24,7 @@ + { + uint32_t v; + +- asm volatile("addr32 movl %%fs:%1,%0" : "=r" (v) : "m" (*(uint32_t *)addr)); ++ asm volatile("movl %%fs:%1,%0" : "=r" (v) : "m" (*(uint32_t *)addr)); + + return v; + } +@@ -34,7 +34,7 @@ + uint32_t addr = ((uintptr_t) p) & 65535; + uint16_t v; + +- asm volatile("addr32 movw %%cs:%1,%0" : "=r" (v) : "m" (*(uint32_t *)addr)); ++ asm volatile("movw %%cs:%1,%0" : "=r" (v) : "m" (*(uint32_t *)addr)); + + return v; + } diff --git a/debian/patches/series b/debian/patches/series index 5a31c54820b6179c06d0cc38d6df2603ffa8f15b..5f5ecd83a57ed28c3ea292bbc5bbe7b94506588b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -23,3 +23,4 @@ coroutine-rename-qemu_coroutine_inc-dec_pool_size.patch coroutine-revert-to-constant-batch-size.patch target-i386-do-not-consult-nonexistent-host-leaves.patch common-user-no-user.patch +qboot_redundant_addr32.patch