diff --git a/0019-linux-user-ARM-Ignore-immediate-val.patch b/0019-linux-user-ARM-Ignore-immediate-val.patch index 2cdbfe5c..052a4b97 100644 --- a/0019-linux-user-ARM-Ignore-immediate-val.patch +++ b/0019-linux-user-ARM-Ignore-immediate-val.patch @@ -1,7 +1,8 @@ From 8cc5120497695e7ea8dde9b096eb6c8cb9b6ac35 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 29 May 2012 17:28:07 +0200 -Subject: [PATCH] linux-user: ARM: Ignore immediate value for svc in thumb mode +Subject: [PATCH] linux-user: ARM: Ignore immediate value for svc in thumb + mode When running in thumb mode, Linux doesn't evaluate the immediate value of the svc instruction, but instead just always assumes the syscall number diff --git a/0022-use-libexecdir-instead-of-ignoring-.patch b/0022-use-libexecdir-instead-of-ignoring-.patch index 370a6b9f..6ef17ae0 100644 --- a/0022-use-libexecdir-instead-of-ignoring-.patch +++ b/0022-use-libexecdir-instead-of-ignoring-.patch @@ -1,9 +1,10 @@ From 57fd4d50146ef90693d569ee799f7e9e9d606e05 Mon Sep 17 00:00:00 2001 From: Michael Tokarev Date: Thu, 7 Jun 2012 01:11:00 +0400 -Subject: [PATCH] use --libexecdir instead of ignoring it first and reinventing it later +Subject: [PATCH] use --libexecdir instead of ignoring it first and + reinventing it later MIME-Version: 1.0 -Content-Type: text/plain; charset=utf-8 +Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 7b93fadf3a38d1ed65ea5536a52efc2772c6e3b8 "Add basic version diff --git a/0024-linux-user-binfmt-Force-using-emula.patch b/0024-linux-user-binfmt-Force-using-emula.patch new file mode 100644 index 00000000..96086f21 --- /dev/null +++ b/0024-linux-user-binfmt-Force-using-emula.patch @@ -0,0 +1,33 @@ +From da89f732a99c424c0830c04ce269e679e81e2d8f Mon Sep 17 00:00:00 2001 +From: Alexander Graf +Date: Mon, 18 Jun 2012 14:15:04 +0200 +Subject: [PATCH] linux-user/binfmt: Force using emulation when LIBRARY_PATH + is set +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC ignores LIBRARY_PATH when cross-compiling so we must use emulation +to have it picked up correctly. + +Signed-off-by: Alexander Graf +Signed-off-by: Andreas Färber +--- + linux-user/binfmt.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/linux-user/binfmt.c b/linux-user/binfmt.c +index 87dc4c6..a1b712d 100644 +--- a/linux-user/binfmt.c ++++ b/linux-user/binfmt.c +@@ -42,7 +42,9 @@ int main(int argc, char **argv, char **envp) + } + guestarch++; + asprintf(&hostbin, "/emul/" ARCH_NAME "-for-%s/%s", guestarch, argv[1]); +- if (!access(hostbin, X_OK)) { ++ /* gcc ignores LIBRARY_PATH in its cross variant, so let's not use ++ host binaries when we find it set */ ++ if (!access(hostbin, X_OK) && !getenv("LIBRARY_PATH")) { + /* + * We found a host binary replacement for the non-host binary. Let's + * use that instead! diff --git a/qemu.changes b/qemu.changes index 7aef729f..df43b0c4 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Jun 18 12:27:56 UTC 2012 - afaerber@suse.de + +- add patch by Alex to force gcc being emulated for LIBRARY_PATH + +------------------------------------------------------------------- +Mon Jun 18 09:06:41 UTC 2012 - dvaleev@suse.com + +- add libfdt1 to buildrequires on ppc + ------------------------------------------------------------------- Thu Jun 14 14:39:57 UTC 2012 - afaerber@suse.de diff --git a/qemu.spec b/qemu.spec index 4492d5b2..1a74e016 100644 --- a/qemu.spec +++ b/qemu.spec @@ -47,6 +47,7 @@ Patch0020: 0020-linux-user-arm-no-tb_flush-on-reset.patch Patch0021: 0021-linux-user-fix-multi-threaded-proc-.patch Patch0022: 0022-use-libexecdir-instead-of-ignoring-.patch Patch0023: 0023-linux-user-Ignore-broken-loop-ioctl.patch +Patch0024: 0024-linux-user-binfmt-Force-using-emula.patch # this is to make lint happy Source300: rpmlintrc Source302: bridge.conf @@ -86,6 +87,10 @@ BuildRequires: libspice-server-devel BuildRequires: spice-protocol-devel %endif %endif +%ifarch ppc ppc64 +#we need that for -M pseries support in SLES +BuildRequires: libfdt1-devel +%endif BuildRequires: fdupes BuildRequires: glib2-devel BuildRequires: libvdeplug3-devel @@ -160,6 +165,7 @@ run cross-architecture builds. %patch0021 -p1 %patch0022 -p1 %patch0023 -p1 +%patch0024 -p1 %build # build QEMU diff --git a/qemu.spec.in b/qemu.spec.in index d3239b0b..8c28a704 100644 --- a/qemu.spec.in +++ b/qemu.spec.in @@ -64,6 +64,10 @@ BuildRequires: libspice-server-devel BuildRequires: spice-protocol-devel %endif %endif +%ifarch ppc ppc64 +#we need that for -M pseries support in SLES +BuildRequires: libfdt1-devel +%endif BuildRequires: fdupes BuildRequires: glib2-devel BuildRequires: libvdeplug3-devel