Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[qemu-usermode] [qemu-usermode-static] Upgrade to 2.6.2 ; JB#44440
Upgrade Qemu to 2.6.2, fix build for glibc >= 2.26, and add patches and appropriate configure flags from opensuse:Leap:42.2:Update. Fixes reported by OpenSUSE: CVE-2015-1779 CVE-2015-4037 CVE-2015-5278 CVE-2015-5279 CVE-2015-5745 CVE-2015-6815 CVE-2015-6855 CVE-2015-7295 CVE-2015-7512 CVE-2015-7549 CVE-2015-8345 CVE-2015-8504 CVE-2015-8558 CVE-2015-8567 CVE-2015-8568 CVE-2015-8613 CVE-2015-8619 CVE-2015-8743 CVE-2015-8744 CVE-2015-8745 CVE-2016-1568 CVE-2016-1714 CVE-2016-1922 CVE-2016-1981 CVE-2016-2198 CVE-2016-3710 CVE-2016-3712 CVE-2016-4439 CVE-2016-4441 CVE-2016-4952 CVE-2016-4964 CVE-2017-1066 CVE-2017-1080 CVE-2017-1091 CVE-2017-1133 CVE-2017-1143 CVE-2017-1280 CVE-2017-1367 CVE-2017-1416 CVE-2017-9524 Signed-off-by: Aapi Hämäläinen <aapi.hamalainen@jollamobile.com>
- Loading branch information
Showing
279 changed files
with
30,643 additions
and
704 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
From 6e0addbcb3978ef65f97ddd1edebd8c6176ed163 Mon Sep 17 00:00:00 2001 | ||
From: Alexander Graf <agraf@suse.de> | ||
Date: Mon, 21 Nov 2011 23:50:36 +0100 | ||
Subject: [PATCH] XXX dont dump core on sigabort | ||
|
||
--- | ||
linux-user/signal.c | 6 ++++++ | ||
1 file changed, 6 insertions(+) | ||
|
||
diff --git a/linux-user/signal.c b/linux-user/signal.c | ||
index 96e86c0a29..d422aebffc 100644 | ||
--- a/linux-user/signal.c | ||
+++ b/linux-user/signal.c | ||
@@ -443,6 +443,10 @@ static void QEMU_NORETURN force_sig(int target_sig) | ||
trace_user_force_sig(env, target_sig, host_sig); | ||
gdb_signalled(env, target_sig); | ||
|
||
+ if (target_sig == 6) { | ||
+ goto no_core; | ||
+ } | ||
+ | ||
/* dump core if supported by target binary format */ | ||
if (core_dump_signal(target_sig) && (ts->bprm->core_dump != NULL)) { | ||
stop_all_tasks(); | ||
@@ -460,6 +464,8 @@ static void QEMU_NORETURN force_sig(int target_sig) | ||
target_sig, strsignal(host_sig), "core dumped" ); | ||
} | ||
|
||
+no_core: | ||
+ | ||
/* The proper exit code for dying from an uncaught signal is | ||
* -<signal>. The kernel doesn't allow exit() or _exit() to pass | ||
* a negative value. To get the proper exit code we need to |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
From 2063cbf2dfd27c3bfc7e7cfb337bd3f20e5778d8 Mon Sep 17 00:00:00 2001 | ||
From: Ulrich Hecht <uli@suse.de> | ||
Date: Tue, 14 Apr 2009 16:18:44 +0200 | ||
Subject: [PATCH] qemu-0.9.0.cvs-binfmt | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
Fixes binfmt_misc setup script: | ||
- x86_64 is i386-compatible | ||
- m68k signature fixed | ||
- path to QEMU | ||
|
||
Signed-off-by: Ulrich Hecht <uli@suse.de> | ||
[AF: Update path for qemu-aarch64 for v2.0.0-rc1] | ||
Signed-off-by: Andreas Färber <afaerber@suse.de> | ||
--- | ||
scripts/qemu-binfmt-conf.sh | 39 +++++++++++++++++++++------------------ | ||
1 file changed, 21 insertions(+), 18 deletions(-) | ||
|
||
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh | ||
index 289b1a3963..75e05268ff 100644 | ||
--- a/scripts/qemu-binfmt-conf.sh | ||
+++ b/scripts/qemu-binfmt-conf.sh | ||
@@ -27,46 +27,49 @@ case "$cpu" in | ||
armv[4-9]*) | ||
cpu="arm" | ||
;; | ||
+ sparc*) | ||
+ cpu="sparc" | ||
+ ;; | ||
esac | ||
|
||
# register the interpreter for each cpu except for the native one | ||
if [ $cpu != "i386" ] ; then | ||
- echo ':i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-i386:' > /proc/sys/fs/binfmt_misc/register | ||
- echo ':i486:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-i386:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':i486:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:' > /proc/sys/fs/binfmt_misc/register | ||
fi | ||
if [ $cpu != "alpha" ] ; then | ||
- echo ':alpha:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-alpha:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':alpha:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-alpha:' > /proc/sys/fs/binfmt_misc/register | ||
fi | ||
if [ $cpu != "arm" ] ; then | ||
- echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-arm:' > /proc/sys/fs/binfmt_misc/register | ||
- echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register | ||
fi | ||
if [ $cpu != "aarch64" ] ; then | ||
- echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-aarch64:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:' > /proc/sys/fs/binfmt_misc/register | ||
fi | ||
if [ $cpu != "sparc" ] ; then | ||
- echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register | ||
fi | ||
if [ $cpu != "ppc" ] ; then | ||
- echo ':ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-ppc:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-ppc:' > /proc/sys/fs/binfmt_misc/register | ||
fi | ||
if [ $cpu != "m68k" ] ; then | ||
echo 'Please check cpu value and header information for m68k!' | ||
- echo ':m68k:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-m68k:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':m68k:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-m68k:' > /proc/sys/fs/binfmt_misc/register | ||
fi | ||
if [ $cpu != "mips" ] ; then | ||
# FIXME: We could use the other endianness on a MIPS host. | ||
- echo ':mips:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-mips:' > /proc/sys/fs/binfmt_misc/register | ||
- echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-mipsel:' > /proc/sys/fs/binfmt_misc/register | ||
- echo ':mipsn32:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-mipsn32:' > /proc/sys/fs/binfmt_misc/register | ||
- echo ':mipsn32el:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-mipsn32el:' > /proc/sys/fs/binfmt_misc/register | ||
- echo ':mips64:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-mips64:' > /proc/sys/fs/binfmt_misc/register | ||
- echo ':mips64el:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-mips64el:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':mips:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsel:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':mipsn32:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mipsn32:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':mipsn32el:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsn32el:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':mips64:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips64:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':mips64el:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mips64el:' > /proc/sys/fs/binfmt_misc/register | ||
fi | ||
if [ $cpu != "sh" ] ; then | ||
- echo ':sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-sh4:' > /proc/sys/fs/binfmt_misc/register | ||
- echo ':sh4eb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-sh4eb:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-sh4:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':sh4eb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sh4eb:' > /proc/sys/fs/binfmt_misc/register | ||
fi | ||
if [ $cpu != "s390x" ] ; then | ||
- echo ':s390x:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-s390x:' > /proc/sys/fs/binfmt_misc/register | ||
+ echo ':s390x:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-s390x:' > /proc/sys/fs/binfmt_misc/register | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
From e99c00c61f791f92b23c54c7e48e4af01f9d4f78 Mon Sep 17 00:00:00 2001 | ||
From: Alexander Graf <agraf@suse.de> | ||
Date: Tue, 14 Apr 2009 16:20:50 +0200 | ||
Subject: [PATCH] qemu-cvs-alsa_bitfield | ||
|
||
Implements TYPE_INTBITFIELD partially. (required for ALSA support) | ||
|
||
Signed-off-by: Alexander Graf <agraf@suse.de> | ||
Signed-off-by: Ulrich Hecht <uli@suse.de> | ||
--- | ||
include/exec/user/thunk.h | 3 +++ | ||
thunk.c | 21 +++++++++++++++++++++ | ||
2 files changed, 24 insertions(+) | ||
|
||
diff --git a/include/exec/user/thunk.h b/include/exec/user/thunk.h | ||
index ad1d60266e..4e082a75ba 100644 | ||
--- a/include/exec/user/thunk.h | ||
+++ b/include/exec/user/thunk.h | ||
@@ -37,6 +37,7 @@ typedef enum argtype { | ||
TYPE_ARRAY, | ||
TYPE_STRUCT, | ||
TYPE_OLDDEVT, | ||
+ TYPE_INTBITFIELD, | ||
} argtype; | ||
|
||
#define MK_PTR(type) TYPE_PTR, type | ||
@@ -90,6 +91,7 @@ static inline int thunk_type_size(const argtype *type_ptr, int is_host) | ||
case TYPE_SHORT: | ||
return 2; | ||
case TYPE_INT: | ||
+ case TYPE_INTBITFIELD: | ||
return 4; | ||
case TYPE_LONGLONG: | ||
case TYPE_ULONGLONG: | ||
@@ -152,6 +154,7 @@ static inline int thunk_type_align(const argtype *type_ptr, int is_host) | ||
case TYPE_SHORT: | ||
return 2; | ||
case TYPE_INT: | ||
+ case TYPE_INTBITFIELD: | ||
return 4; | ||
case TYPE_LONGLONG: | ||
case TYPE_ULONGLONG: | ||
diff --git a/thunk.c b/thunk.c | ||
index f057d86d94..6db7874cdd 100644 | ||
--- a/thunk.c | ||
+++ b/thunk.c | ||
@@ -37,6 +37,7 @@ static inline const argtype *thunk_type_next(const argtype *type_ptr) | ||
case TYPE_CHAR: | ||
case TYPE_SHORT: | ||
case TYPE_INT: | ||
+ case TYPE_INTBITFIELD: | ||
case TYPE_LONGLONG: | ||
case TYPE_ULONGLONG: | ||
case TYPE_LONG: | ||
@@ -139,6 +140,26 @@ const argtype *thunk_convert(void *dst, const void *src, | ||
case TYPE_INT: | ||
*(uint32_t *)dst = tswap32(*(uint32_t *)src); | ||
break; | ||
+ case TYPE_INTBITFIELD: | ||
+#if defined(TARGET_I386) && defined(__powerpc__) | ||
+ /* powerpc uses the MSB, whereas i386 uses the LSB | ||
+ * to store the first bit in a field */ | ||
+ { | ||
+ unsigned char byte = *(uint8_t *)src; | ||
+ *(uint8_t *)dst = ((byte >> 7) & 1) | ||
+ | ((byte >> 5) & 2) | ||
+ | ((byte >> 3) & 4) | ||
+ | ((byte >> 1) & 8) | ||
+ | ((byte << 1) & 16) | ||
+ | ((byte << 3) & 32) | ||
+ | ((byte << 5) & 64) | ||
+ | ((byte << 7) & 128); | ||
+ /* FIXME: implement for bitfields > 1 byte and other archs */ | ||
+ } | ||
+#else | ||
+ *(uint32_t *)dst = tswap32(*(uint32_t *)src); | ||
+#endif | ||
+ break; | ||
case TYPE_LONGLONG: | ||
case TYPE_ULONGLONG: | ||
*(uint64_t *)dst = tswap64(*(uint64_t *)src); |
Oops, something went wrong.