qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [5036] Fix tswap size


From: malc
Subject: [Qemu-devel] [5036] Fix tswap size
Date: Wed, 20 Aug 2008 22:39:26 +0000

Revision: 5036
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5036
Author:   malc
Date:     2008-08-20 22:39:26 +0000 (Wed, 20 Aug 2008)

Log Message:
-----------
Fix tswap size

p in this case is uint32_t *

e1/e2 are unsigned ints initialized from arithmetics performed on
unsigned longs

The mistake was, probably, never noticed due to the absence of any
big endian linux-user host. The types e1/e2 and p begs the quesiton
why this function takes longs at all.

Modified Paths:
--------------
    trunk/linux-user/main.c

Modified: trunk/linux-user/main.c
===================================================================
--- trunk/linux-user/main.c     2008-08-20 22:39:24 UTC (rev 5035)
+++ trunk/linux-user/main.c     2008-08-20 22:39:26 UTC (rev 5036)
@@ -278,8 +278,8 @@
     e2 = ((addr >> 16) & 0xff) | (addr & 0xff000000) | (limit & 0x000f0000);
     e2 |= flags;
     p = ptr;
-    p[0] = tswapl(e1);
-    p[1] = tswapl(e2);
+    p[0] = tswap32(e1);
+    p[1] = tswap32(e2);
 }
 
 #if TARGET_X86_64






reply via email to

[Prev in Thread] Current Thread [Next in Thread]