summaryrefslogtreecommitdiff
path: root/libre/qemu-user-static/allow_elf64.patch
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2018-05-28 21:18:43 -0400
committerLuke Shumaker <lukeshu@lukeshu.com>2018-05-29 11:10:42 -0400
commite1ec62c46a0be4c40414df02f9b6fccfca94006e (patch)
treeabf63f0d50d6c724e90511f8baf4c4a9971b03b4 /libre/qemu-user-static/allow_elf64.patch
parent06f09684205a5674088113b098f5fd2a6176772c (diff)
downloadabslibre-e1ec62c46a0be4c40414df02f9b6fccfca94006e.tar.gz
abslibre-e1ec62c46a0be4c40414df02f9b6fccfca94006e.tar.bz2
abslibre-e1ec62c46a0be4c40414df02f9b6fccfca94006e.zip
Update libre/qemu-user-static and dependencies
Fighting with glib2 was no fun. But hey, at least I got a GCC bug report out of it! https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85957 To get around this, I enabled SSE2 for glib2-static. This means it won't run on pre-Pentium 4 (2001) i686 processors; which will cause problems on the Pentium Pro/2 and the Pentium 3, and their AMD competitors: K6 and K7 (the latter of which was branded as Athlon, Athlon XP, Duron, and Sempron). https://lists.parabola.nu/pipermail/dev/2018-May/006748.html If someone digs out a Pentium 2 and gets Parabola to boot on it, I'll figure out a different way to get around glib2's disagreement with x87 floating point math; and turn SSE2 back off.
Diffstat (limited to 'libre/qemu-user-static/allow_elf64.patch')
-rw-r--r--libre/qemu-user-static/allow_elf64.patch18
1 files changed, 8 insertions, 10 deletions
diff --git a/libre/qemu-user-static/allow_elf64.patch b/libre/qemu-user-static/allow_elf64.patch
index 07f27a038..0c5f6917c 100644
--- a/libre/qemu-user-static/allow_elf64.patch
+++ b/libre/qemu-user-static/allow_elf64.patch
@@ -1,24 +1,22 @@
-commit 3c72765ec760a51f0e879dc792be82c93141e318
+commit cb61bc8a42da1a971079767e63df4503b6ab2efb
Author: Anatol Pomozov <anatol.pomozov@gmail.com>
-Date: Tue Jun 6 20:07:03 2017 -0700
+Date: Mon Jan 29 10:08:53 2018 -0800
- Remove restriction that prevents bootimg elf64 images
+ multiboot: Make elf64 loading functionality compatible with GRUB
- It is possible to create a 64 bit elf image that has valid multiboot header.
- qemu should be able to boot such images.
-
- Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
+ GRUB is a reference multiboot implementation and supports loading elf64
+ binaries. Make QEMU to work similar was as GRUB.
diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c
-index 663f35a658..cf1b4f5fb3 100644
+index 5bc0a2cddb..0907e42a39 100644
--- a/hw/i386/multiboot.c
+++ b/hw/i386/multiboot.c
-@@ -192,11 +192,6 @@ int load_multiboot(FWCfgState *fw_cfg,
+@@ -193,11 +193,6 @@ int load_multiboot(FWCfgState *fw_cfg,
int kernel_size;
fclose(f);
- if (((struct elf64_hdr*)header)->e_machine == EM_X86_64) {
-- fprintf(stderr, "Cannot load x86-64 image, give a 32bit one.\n");
+- error_report("Cannot load x86-64 image, give a 32bit one.");
- exit(1);
- }
-