Use correct byteswap routine for elf_note
authormalc <av1474@comtv.ru>
Sat, 18 Jul 2009 09:12:20 +0000 (13:12 +0400)
committermalc <av1474@comtv.ru>
Sat, 18 Jul 2009 09:17:01 +0000 (13:17 +0400)
All elf64_note structure members are Elf64_Word (which is 32bit value)
hence using bswaptls to byteswap it on 64bit platforms is incorrect.

Signed-off-by: malc <av1474@comtv.ru>

linux-user/elfload.c

index 12d2598..63d0ae4 100644 (file)
@@ -798,9 +798,9 @@ static int elf_core_dump(int, const CPUState *);
 #ifdef BSWAP_NEEDED
 static void bswap_note(struct elf_note *en)
 {
-    bswaptls(&en->n_namesz);
-    bswaptls(&en->n_descsz);
-    bswaptls(&en->n_type);
+    bswap32s(&en->n_namesz);
+    bswap32s(&en->n_descsz);
+    bswap32s(&en->n_type);
 }
 #endif /* BSWAP_NEEDED */