diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2018-05-28 21:18:43 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2018-05-29 11:10:42 -0400 |
commit | e1ec62c46a0be4c40414df02f9b6fccfca94006e (patch) | |
tree | abf63f0d50d6c724e90511f8baf4c4a9971b03b4 /libre/qemu-user-static/0001-linux-user-Use-if-to-only-call-validate_guest_space-.patch | |
parent | 06f09684205a5674088113b098f5fd2a6176772c (diff) | |
download | abslibre-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/0001-linux-user-Use-if-to-only-call-validate_guest_space-.patch')
-rw-r--r-- | libre/qemu-user-static/0001-linux-user-Use-if-to-only-call-validate_guest_space-.patch | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/libre/qemu-user-static/0001-linux-user-Use-if-to-only-call-validate_guest_space-.patch b/libre/qemu-user-static/0001-linux-user-Use-if-to-only-call-validate_guest_space-.patch deleted file mode 100644 index bbc3840fe..000000000 --- a/libre/qemu-user-static/0001-linux-user-Use-if-to-only-call-validate_guest_space-.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 0c5afb7a15b6bb0e3fe276e377ad3702427e85d1 Mon Sep 17 00:00:00 2001 -From: Luke Shumaker <lukeshu@parabola.nu> -Date: Wed, 27 Dec 2017 03:33:21 -0500 -Subject: [PATCH 01/10] linux-user: Use #if to only call validate_guest_space - for 32-bit ARM target - -Instead of defining a bogus validate_guest_space that always returns 1 on -targets other than 32-bit ARM, use #if blocks to only call it on 32-bit ARM -targets. This makes the "normal" flow control clearer. - -Signed-off-by: Luke Shumaker <lukeshu@parabola.nu> ---- - linux-user/elfload.c | 21 +++++++++------------ - 1 file changed, 9 insertions(+), 12 deletions(-) - -diff --git a/linux-user/elfload.c b/linux-user/elfload.c -index 20f3d8c2c3..cac991159c 100644 ---- a/linux-user/elfload.c -+++ b/linux-user/elfload.c -@@ -354,7 +354,6 @@ enum { - - /* The commpage only exists for 32 bit kernels */ - --#define TARGET_HAS_VALIDATE_GUEST_SPACE - /* Return 1 if the proposed guest space is suitable for the guest. - * Return 0 if the proposed guest space isn't suitable, but another - * address space should be tried. -@@ -1823,15 +1822,6 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc, - return sp; - } - --#ifndef TARGET_HAS_VALIDATE_GUEST_SPACE --/* If the guest doesn't have a validation function just agree */ --static int validate_guest_space(unsigned long guest_base, -- unsigned long guest_size) --{ -- return 1; --} --#endif -- - unsigned long init_guest_space(unsigned long host_start, - unsigned long host_size, - unsigned long guest_start, -@@ -1845,11 +1835,12 @@ unsigned long init_guest_space(unsigned long host_start, - /* If just a starting address is given, then just verify that - * address. */ - if (host_start && !host_size) { -+#if defined(TARGET_ARM) && !defined(TARGET_AARCH64) - if (validate_guest_space(host_start, host_size) == 1) { -- return host_start; -- } else { - return (unsigned long)-1; - } -+#endif -+ return host_start; - } - - /* Setup the initial flags and start address. */ -@@ -1888,6 +1879,8 @@ unsigned long init_guest_space(unsigned long host_start, - - /* Check to see if the address is valid. */ - if (!host_start || real_start == current_start) { -+#if defined(TARGET_ARM) && !defined(TARGET_AARCH64) -+ /* On 32-bit ARM, we need to also be able to map the commpage. */ - int valid = validate_guest_space(real_start - guest_start, - real_size); - if (valid == 1) { -@@ -1896,6 +1889,10 @@ unsigned long init_guest_space(unsigned long host_start, - return (unsigned long)-1; - } - /* valid == 0, so try again. */ -+#else -+ /* On other architectures, whatever we have here is fine. */ -+ break; -+#endif - } - - /* That address didn't work. Unmap and try a different one. --- -2.15.1 - |