summaryrefslogtreecommitdiff
path: root/user/qemu
diff options
context:
space:
mode:
Diffstat (limited to 'user/qemu')
-rw-r--r--user/qemu/0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch37
-rw-r--r--user/qemu/APKBUILD37
-rw-r--r--user/qemu/debug.patch136
-rw-r--r--user/qemu/ppc-Fix-size-of-ppc64-xer-register-fwd.patch70
-rw-r--r--user/qemu/signal-fixes.patch12
5 files changed, 172 insertions, 120 deletions
diff --git a/user/qemu/0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch b/user/qemu/0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch
deleted file mode 100644
index 7ea1dba6d..000000000
--- a/user/qemu/0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 3e231fa7a2dc66e2ef06ac44f4f719b08fc0c67e Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Tue, 29 Apr 2014 15:51:31 +0200
-Subject: [PATCH 6/6] linux-user/signal.c: define __SIGRTMIN/MAX for non-GNU
- platforms
-
-The __SIGRTMIN and __SIGRTMAX are glibc internals and are not available
-on all platforms, so we define those if they are missing.
-
-This is needed for musl libc.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- linux-user/signal.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/linux-user/signal.c b/linux-user/signal.c
-index 7d6246f..6019dbb 100644
---- a/linux-user/signal.c
-+++ b/linux-user/signal.c
-@@ -32,6 +32,13 @@
-
- //#define DEBUG_SIGNAL
-
-+#ifndef __SIGRTMIN
-+#define __SIGRTMIN 32
-+#endif
-+#ifndef __SIGRTMAX
-+#define __SIGRTMAX (NSIG-1)
-+#endif
-+
- static struct target_sigaltstack target_sigaltstack_used = {
- .ss_sp = 0,
- .ss_size = 0,
---
-1.9.2
-
diff --git a/user/qemu/APKBUILD b/user/qemu/APKBUILD
index d1717c62f..41a6647bf 100644
--- a/user/qemu/APKBUILD
+++ b/user/qemu/APKBUILD
@@ -4,12 +4,12 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=qemu
-pkgver=2.12.0
+pkgver=3.0.0
pkgrel=0
-pkgdesc="QEMU is a generic machine emulator and virtualizer"
-url="http://qemu.org/"
+pkgdesc="Machine emulator and virtualisation software"
+url="https://www.qemu.org/"
arch="all"
-license="GPL-2.0-only LGPL-2.1-only"
+license="GPL-2.0-only AND LGPL-2.1-only"
makedepends="
alsa-lib-dev
bison
@@ -50,8 +50,7 @@ install="$pkgname.pre-install $pkgname.post-install"
# suid needed for qemu-bridge-helper
# strip fails on .img files
# some tests does not run on our builders
-# ROMs confuse dbg
-options="suid !strip !check !dbg"
+options="suid !strip !check"
subpackages="$pkgname-doc $pkgname-lang $pkgname-guest-agent:guest
$pkgname-user $pkgname-system"
@@ -127,6 +126,8 @@ done
case "$CARCH" in
x86) _arch=i386 ;;
x86_64) _arch=x86_64 ;;
+ ppc64) _arch=ppc64 ;;
+ ppc) _arch=ppc ;;
*) _arch="" ;;
esac
if [ -n "$_arch" ]; then
@@ -136,9 +137,8 @@ fi
subpackages="$subpackages $pkgname-img" # -img must be declared the last
-source="http://wiki.qemu-project.org/download/$pkgname-$pkgver.tar.bz2
+source="https://download.qemu.org/$pkgname-$pkgver.tar.xz
0001-elfload-load-PIE-executables-to-right-address.patch
- 0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch
0001-linux-user-fix-build-with-musl-on-aarch64.patch
musl-F_SHLCK-and-F_EXLCK.patch
fix-sigevent-and-sigval_t.patch
@@ -148,8 +148,8 @@ source="http://wiki.qemu-project.org/download/$pkgname-$pkgver.tar.bz2
0001-linux-user-fix-build-with-musl-on-ppc64le.patch
fix-sockios-header.patch
test-crypto-ivgen-skip-essiv.patch
- ppc-Fix-size-of-ppc64-xer-register-fwd.patch
ppc32-musl-support.patch
+ signal-fixes.patch
sysinfo-header.patch
fix-lm32-underlinking.patch
@@ -203,7 +203,8 @@ _compile_common() {
--sysconfdir=/etc \
--libexecdir=/usr/lib/qemu \
--disable-glusterfs \
- --disable-debug-info \
+ --enable-debug-info \
+ --disable-strip \
--disable-bsd-user \
--disable-werror \
--disable-sdl \
@@ -217,6 +218,7 @@ _compile_common() {
_compile_system() {
_compile_common \
--audio-drv-list=oss,alsa \
+ --enable-debug-tcg \
--enable-kvm \
--enable-vde \
--enable-virtfs \
@@ -343,6 +345,16 @@ img() {
return $retval
}
+dbg() {
+ # God, save me.
+ local _save="$srcdir"/tmpshare
+ # default_dbg uses srcdir for its own purposes;
+ # its value cannot be used after it is executed
+ mv "$pkgdir"/usr/share/qemu $_save
+ default_dbg
+ mv $_save "$pkgdir"/usr/share/qemu
+}
+
user() {
pkgdesc="All QEMU user targets (metapackage)"
depends=""
@@ -377,9 +389,8 @@ guest() {
"$subpkgdir"/etc/conf.d/$pkgname-guest-agent
}
-sha512sums="91d829f44c431e4c1cd335f3efea5afff9da62d832b0296a92417463ea0826d09ce226c2ea8ac167fe7b99b6bb976c7cb1357aaf17735ee57af6602161e46346 qemu-2.12.0.tar.bz2
+sha512sums="a764302f50b9aca4134bbbc1f361b98e71240cdc7b25600dfe733bf4cf17bd86000bd28357697b08f3b656899dceb9e459350b8d55557817444ed5d7fa380a5a qemu-3.0.0.tar.xz
405008589cad1c8b609eca004d520bf944366e8525f85a19fc6e283c95b84b6c2429822ba064675823ab69f1406a57377266a65021623d1cd581e7db000134fd 0001-elfload-load-PIE-executables-to-right-address.patch
-ec84b27648c01c6e58781295dcd0c2ff8e5a635f9836ef50c1da5d0ed125db1afc4cb5b01cb97606d6dd8f417acba93e1560d9a32ca29161a4bb730b302440ea 0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch
1ac043312864309e19f839a699ab2485bca51bbf3d5fdb39f1a87b87e3cbdd8cbda1a56e6b5c9ffccd65a8ac2f600da9ceb8713f4dbba26f245bc52bcd8a1c56 0001-linux-user-fix-build-with-musl-on-aarch64.patch
224f5b44da749921e8a821359478c5238d8b6e24a9c0b4c5738c34e82f3062ec4639d495b8b5883d304af4a0d567e38aa6623aac1aa3a7164a5757c036528ac0 musl-F_SHLCK-and-F_EXLCK.patch
5da8114b9bd2e62f0f1f0f73f393fdbd738c5dea827ea60cedffd6f6edd0f5a97489c7148d37a8ec5a148d4e65d75cbefe9353714ee6b6f51a600200133fc914 fix-sigevent-and-sigval_t.patch
@@ -389,8 +400,8 @@ fd178f2913639a0c33199b3880cb17536961f2b3ff171c12b27f4be6bca032d6b88fd16302d09c69
d8933df9484158c2b4888254e62117d78f8ed7c18527b249419f39c2b2ab1afa148010884b40661f8965f1ef3105580fceffdfddbb2c9221dc1c62066722ba65 0001-linux-user-fix-build-with-musl-on-ppc64le.patch
39590476a4ebd7c1e79a4f0451b24c75b1817a2a83abaa1f71bb60b225d772152f0af8f3e51ff65645e378c536ffa6ff551dade52884d03a14b7c6a19c5c97d4 fix-sockios-header.patch
8b8db136f78bd26b5da171effa9e11016ec2bc3e2fc8107228b5543b47aa370978ed883794aa4f917f334e284a5b49e82070e1da2d31d49301195b6713a48eff test-crypto-ivgen-skip-essiv.patch
-a4cbb020d6a839b5a129964027169babff2c1455170c5fec855232d999481eea2cae186fa66ceaa5c8a05f3eb87f9565aaf9bdcc0e56edf3060e39e80c10c782 ppc-Fix-size-of-ppc64-xer-register-fwd.patch
fb0130fa4e8771b23ae337ea3e5e29fd5f7dcfe7f9f7a68968f5b059bb4dd1336b0d04c118840d55885bc784a96a99b28aeacbc6a5549b2e6750c9d3099a897c ppc32-musl-support.patch
+c6436b1cc986788baccd5fe0f9d23c7db9026f6b723260611cf894bd94ee830140a17ee5859efe0dad0ca3bfe9caae1269bc5c9ab4c6e696f35c7857c1b5c86b signal-fixes.patch
698f6b134f4ca87f4de62caf7a656841a40a451b8686ca95928f67a296e58a7493d432d9baa5f6360917865aa4929600baf1699993b0600923a066ca9d45d1da sysinfo-header.patch
2828cc612539aa93b5789de7de6d4f85d3cf82311484c0fe91fdd3efeb972057e2baa2a3809ed633d6caa1785642d49196cb282b095d7553c510c47ce7d6a702 fix-lm32-underlinking.patch
d90c034cae3f9097466854ed1a9f32ab4b02089fcdf7320e8f4da13b2b1ff65067233f48809911485e4431d7ec1a22448b934121bc9522a2dc489009e87e2b1f qemu-guest-agent.confd
diff --git a/user/qemu/debug.patch b/user/qemu/debug.patch
new file mode 100644
index 000000000..930ae11c1
--- /dev/null
+++ b/user/qemu/debug.patch
@@ -0,0 +1,136 @@
+diff --git a/user/qemu/APKBUILD b/user/qemu/APKBUILD
+index 3e0be56..27ed920 100644
+--- a/user/qemu/APKBUILD
++++ b/user/qemu/APKBUILD
+@@ -5,7 +5,7 @@
+ # Maintainer: A. Wilcox <awilfox@adelielinux.org>
+ pkgname=qemu
+ pkgver=2.12.1
+-pkgrel=0
++pkgrel=95
+ pkgdesc="Machine emulator and virtualisation software"
+ url="https://www.qemu.org/"
+ arch="all"
+@@ -56,68 +56,10 @@ subpackages="$pkgname-doc $pkgname-lang $pkgname-guest-agent:guest
+ $pkgname-user $pkgname-system"
+
+ _user_subsystems="
+- aarch64
+- alpha
+- arm
+- armeb
+- cris
+- hppa
+ i386
+- m68k
+- microblaze
+- microblazeel
+- mips
+- mips64
+- mips64el
+- mipsel
+- mipsn32
+- mipsn32el
+- or1k
+- ppc
+- ppc64
+- ppc64abi32
+- ppc64le
+- s390x
+- sh4
+- sh4eb
+- sparc
+- sparc32plus
+- sparc64
+- tilegx
+ x86_64"
+ _system_subsystems="
+- system-aarch64
+- system-alpha
+- system-arm
+- system-cris
+- system-hppa
+ system-i386
+- system-lm32
+- system-m68k
+- system-microblaze
+- system-microblazeel
+- system-mips
+- system-mips64
+- system-mips64el
+- system-mipsel
+- system-moxie
+- system-nios2
+- system-or1k
+- system-ppc
+- system-ppc64
+- system-ppcemb
+- system-riscv32
+- system-riscv64
+- system-s390x
+- system-sh4
+- system-sh4eb
+- system-sparc
+- system-sparc64
+- system-tricore
+- system-unicore32
+- system-x86_64
+- system-xtensa
+- system-xtensaeb
+ "
+ _subsystems="$_user_subsystems $_system_subsystems"
+ for _sub in $_subsystems; do
+@@ -152,6 +94,7 @@ source="https://download.qemu.org/$pkgname-$pkgver.tar.xz
+ ppc32-musl-support.patch
+ sysinfo-header.patch
+ fix-lm32-underlinking.patch
++ debug.patch
+
+ $pkgname-guest-agent.confd
+ $pkgname-guest-agent.initd
+@@ -203,7 +146,8 @@ _compile_common() {
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/qemu \
+ --disable-glusterfs \
+- --disable-debug-info \
++ --enable-debug-info \
++ --disable-strip \
+ --disable-bsd-user \
+ --disable-werror \
+ --disable-sdl \
+@@ -217,6 +161,7 @@ _compile_common() {
+ _compile_system() {
+ _compile_common \
+ --audio-drv-list=oss,alsa \
++ --enable-debug-tcg \
+ --enable-kvm \
+ --enable-vde \
+ --enable-virtfs \
+@@ -247,7 +192,8 @@ build() {
+ _compile_common \
+ --enable-linux-user \
+ --disable-system \
+- --static
++ --static \
++ --target-list="i386-linux-user,x86_64-linux-user"
+
+ cd "$builddir"/build
+ _compile_system \
+@@ -256,7 +202,8 @@ build() {
+ --enable-vnc-jpeg \
+ --enable-spice \
+ --enable-guest-agent \
+- --disable-gtk
++ --disable-gtk \
++ --target-list="i386-softmmu"
+
+ if [ -n "$_arch" ]; then
+ cd "$builddir"/build-gtk
+@@ -403,6 +350,7 @@ a4cbb020d6a839b5a129964027169babff2c1455170c5fec855232d999481eea2cae186fa66ceaa5
+ fb0130fa4e8771b23ae337ea3e5e29fd5f7dcfe7f9f7a68968f5b059bb4dd1336b0d04c118840d55885bc784a96a99b28aeacbc6a5549b2e6750c9d3099a897c ppc32-musl-support.patch
+ 698f6b134f4ca87f4de62caf7a656841a40a451b8686ca95928f67a296e58a7493d432d9baa5f6360917865aa4929600baf1699993b0600923a066ca9d45d1da sysinfo-header.patch
+ 2828cc612539aa93b5789de7de6d4f85d3cf82311484c0fe91fdd3efeb972057e2baa2a3809ed633d6caa1785642d49196cb282b095d7553c510c47ce7d6a702 fix-lm32-underlinking.patch
++cfa0bc3c10d64060bf2ad46fc056060527a9ab68ab36ed012eab85db8a6053a2aa81199c6850c097f56ff3d4ea8fb23ee66aec62c33117ccf7518d64105b7e30 debug.patch
+ d90c034cae3f9097466854ed1a9f32ab4b02089fcdf7320e8f4da13b2b1ff65067233f48809911485e4431d7ec1a22448b934121bc9522a2dc489009e87e2b1f qemu-guest-agent.confd
+ 1cd24c2444c5935a763c501af2b0da31635aad9cf62e55416d6477fcec153cddbe7de205d99616def11b085e0dd366ba22463d2270f831d884edbc307c7864a6 qemu-guest-agent.initd
+ 9b7a89b20fcf737832cb7b4d5dc7d8301dd88169cbe5339eda69fbb51c2e537d8cb9ec7cf37600899e734209e63410d50d0821bce97e401421db39c294d97be2 80-kvm.rules
diff --git a/user/qemu/ppc-Fix-size-of-ppc64-xer-register-fwd.patch b/user/qemu/ppc-Fix-size-of-ppc64-xer-register-fwd.patch
deleted file mode 100644
index 87fd4a1ee..000000000
--- a/user/qemu/ppc-Fix-size-of-ppc64-xer-register-fwd.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c
-index 7a33813..b6f6693 100644
---- a/target/ppc/gdbstub.c
-+++ b/target/ppc/gdbstub.c
-@@ -37,10 +37,10 @@ static int ppc_gdb_register_len_apple(int n)
- case 65+32: /* msr */
- case 67+32: /* lr */
- case 68+32: /* ctr */
-- case 69+32: /* xer */
- case 70+32: /* fpscr */
- return 8;
- case 66+32: /* cr */
-+ case 69+32: /* xer */
- return 4;
- default:
- return 0;
-@@ -61,6 +61,8 @@ static int ppc_gdb_register_len(int n)
- return 8;
- case 66:
- /* cr */
-+ case 69:
-+ /* xer */
- return 4;
- case 64:
- /* nip */
-@@ -70,8 +72,6 @@ static int ppc_gdb_register_len(int n)
- /* lr */
- case 68:
- /* ctr */
-- case 69:
-- /* xer */
- return sizeof(target_ulong);
- case 70:
- /* fpscr */
-@@ -152,7 +152,7 @@ int ppc_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_buf, int n)
- gdb_get_regl(mem_buf, env->ctr);
- break;
- case 69:
-- gdb_get_regl(mem_buf, env->xer);
-+ gdb_get_reg32(mem_buf, env->xer);
- break;
- case 70:
- gdb_get_reg32(mem_buf, env->fpscr);
-@@ -208,7 +208,7 @@ int ppc_cpu_gdb_read_register_apple(CPUState *cs, uint8_t *mem_buf, int n)
- gdb_get_reg64(mem_buf, env->ctr);
- break;
- case 69 + 32:
-- gdb_get_reg64(mem_buf, env->xer);
-+ gdb_get_reg32(mem_buf, env->xer);
- break;
- case 70 + 32:
- gdb_get_reg64(mem_buf, env->fpscr);
-@@ -259,7 +259,7 @@ int ppc_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
- env->ctr = ldtul_p(mem_buf);
- break;
- case 69:
-- env->xer = ldtul_p(mem_buf);
-+ env->xer = ldl_p(mem_buf);
- break;
- case 70:
- /* fpscr */
-@@ -309,7 +309,7 @@ int ppc_cpu_gdb_write_register_apple(CPUState *cs, uint8_t *mem_buf, int n)
- env->ctr = ldq_p(mem_buf);
- break;
- case 69 + 32:
-- env->xer = ldq_p(mem_buf);
-+ env->xer = ldl_p(mem_buf);
- break;
- case 70 + 32:
- /* fpscr */
diff --git a/user/qemu/signal-fixes.patch b/user/qemu/signal-fixes.patch
new file mode 100644
index 000000000..7cde67d01
--- /dev/null
+++ b/user/qemu/signal-fixes.patch
@@ -0,0 +1,12 @@
+--- qemu-3.0.0/linux-user/signal.c.old 2018-09-06 23:06:29.040000000 +0000
++++ qemu-3.0.0/linux-user/signal.c 2018-09-06 23:09:23.370000000 +0000
+@@ -37,6 +37,9 @@
+ static void host_signal_handler(int host_signum, siginfo_t *info,
+ void *puc);
+
++#define __SIGRTMIN 35
++#define __SIGRTMAX _NSIG-1
++
+ static uint8_t host_to_target_signal_table[_NSIG] = {
+ [SIGHUP] = TARGET_SIGHUP,
+ [SIGINT] = TARGET_SIGINT,