Hello community,
here is the log from the commit of package libx86emu for openSUSE:Factory checked in at 2016-06-29 15:04:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libx86emu (Old)
and /work/SRC/openSUSE:Factory/.libx86emu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libx86emu"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libx86emu/libx86emu.changes 2016-04-08 09:37:43.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libx86emu.new/libx86emu.changes 2016-06-29 15:04:09.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Jun 22 12:18:16 UTC 2016 - snwint@suse.com
+
+- Add tests for retn/retf instructions
+- Small compatibility fixes for msvc compiler
+- 1.11
+
+-------------------------------------------------------------------
Old:
----
libx86emu-1.10.tar.xz
New:
----
libx86emu-1.11.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libx86emu.spec ++++++
--- /var/tmp/diff_new_pack.CKwRYx/_old 2016-06-29 15:04:10.000000000 +0200
+++ /var/tmp/diff_new_pack.CKwRYx/_new 2016-06-29 15:04:10.000000000 +0200
@@ -24,7 +24,7 @@
Summary: A small x86 emulation library.
License: BSD-3-Clause
Group: System/Libraries
-Version: 1.10
+Version: 1.11
Release: 0
PreReq: /sbin/ldconfig
Source: %{name}-%{version}.tar.xz
++++++ libx86emu-1.10.tar.xz -> libx86emu-1.11.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/VERSION new/libx86emu-1.11/VERSION
--- old/libx86emu-1.10/VERSION 2016-04-05 17:33:29.000000000 +0200
+++ new/libx86emu-1.11/VERSION 2016-06-22 14:15:06.000000000 +0200
@@ -1 +1 @@
-1.10
+1.11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/changelog new/libx86emu-1.11/changelog
--- old/libx86emu-1.10/changelog 2016-04-05 17:33:29.000000000 +0200
+++ new/libx86emu-1.11/changelog 2016-06-22 14:15:06.000000000 +0200
@@ -1,3 +1,7 @@
+2016-04-11: 1.11
+ - Add tests for retn/retf instructions
+ - Small compatibility fixes for msvc compiler
+
2016-04-05: 1.10
- add tests for rol/ror instructions
- rewrite rol/ror implementation to be more readable and to fix overflow flag setting
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/decode.c new/libx86emu-1.11/decode.c
--- old/libx86emu-1.10/decode.c 2016-04-05 17:33:29.000000000 +0200
+++ new/libx86emu-1.11/decode.c 2016-06-22 14:15:06.000000000 +0200
@@ -68,16 +68,11 @@
char **p;
unsigned u, rs = 0;
time_t t0;
+ int has_prefix;
#if WITH_TSC
u64 tsc_ofs;
#endif
- static unsigned char is_prefix[0x100] = {
- [0x26] = 1, [0x2e] = 1, [0x36] = 1, [0x3e] = 1,
- [0x64 ... 0x67] = 1,
- [0xf0] = 1, [0xf2 ... 0xf3] = 1
- };
-
if(emu) M = *emu;
p = &M.log.ptr;
@@ -145,8 +140,9 @@
memcpy(M.x86.decode_seg, "[", 1);
/* handle prefixes here */
- while(is_prefix[op1 = fetch_byte()]) {
- switch(op1) {
+ has_prefix = 1;
+ while(has_prefix) {
+ switch(op1 = fetch_byte()) {
case 0x26:
memcpy(M.x86.decode_seg, "es:[", 4);
M.x86.default_seg = M.x86.seg + R_ES_INDEX;
@@ -188,6 +184,9 @@
OP_DECODE("repe ");
M.x86.mode |= _MODE_REPE;
break;
+ default:
+ has_prefix = 0;
+ break;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/include/x86emu.h new/libx86emu-1.11/include/x86emu.h
--- old/libx86emu-1.10/include/x86emu.h 2016-04-05 17:33:29.000000000 +0200
+++ new/libx86emu-1.11/include/x86emu.h 2016-06-22 14:15:06.000000000 +0200
@@ -45,7 +45,7 @@
extern "C" { /* Use "C" linkage when in C++ mode */
#endif
-#include
+#include
/*---------------------- Macros and type definitions ----------------------*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/test/0034_ret_far_16.done new/libx86emu-1.11/test/0034_ret_far_16.done
--- old/libx86emu-1.10/test/0034_ret_far_16.done 1970-01-01 01:00:00.000000000 +0100
+++ new/libx86emu-1.11/test/0034_ret_far_16.done 2016-06-22 14:15:06.000000000 +0200
@@ -0,0 +1,28 @@
+; - - memory
+; 0 1 2 3 4 5 6 7 8 9 a b c d e f
+00001000: 68 aa aa 0e e8 04 00 68 bb bb f4 ca 02 00 90 90
+00001010: f4
+0000fff0: 07 00 00 01 bb bb
+
+; - - registers
+msr[0010] 0000000000000006 ; tsc
+
+cr0=00000000 cr1=00000000 cr2=00000000 cr3=00000000 cr4=00000000
+dr0=00000000 dr1=00000000 dr2=00000000 dr3=00000000 dr6=00000000 dr7=00000000
+
+gdt.base=00000000 gdt.limit=ffff
+idt.base=00000000 idt.limit=ffff
+tr=0000 tr.base=00000000 tr.limit=00000000 tr.acc=0000
+ldt=0000 ldt.base=00000000 ldt.limit=00000000 ldt.acc=0000
+
+cs=0100 cs.base=00001000 cs.limit=0000ffff cs.acc=009b
+ss=0000 ss.base=00000000 ss.limit=0000ffff ss.acc=0093
+ds=0000 ds.base=00000000 ds.limit=0000ffff ds.acc=0093
+es=0000 es.base=00000000 es.limit=0000ffff es.acc=0093
+fs=0000 fs.base=00000000 fs.limit=0000ffff fs.acc=0093
+gs=0000 gs.base=00000000 gs.limit=0000ffff gs.acc=0093
+
+eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
+esi=00000000 edi=00000000 ebp=00000000 esp=0000fffe
+eip=0000000b eflags=00000002
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/test/0034_ret_far_16.tst new/libx86emu-1.11/test/0034_ret_far_16.tst
--- old/libx86emu-1.10/test/0034_ret_far_16.tst 1970-01-01 01:00:00.000000000 +0100
+++ new/libx86emu-1.11/test/0034_ret_far_16.tst 2016-06-22 14:15:06.000000000 +0200
@@ -0,0 +1,16 @@
+[init]
+
+ss.limit=0xffff
+
+[code start=0x100:0x0 bits=16]
+
+ push 0xAAAA
+ push cs
+ call func
+ push 0xBBBB
+ hlt
+
+ func:
+ retf 2
+ nop
+ nop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/test/0034_ret_far_32.done new/libx86emu-1.11/test/0034_ret_far_32.done
--- old/libx86emu-1.10/test/0034_ret_far_32.done 1970-01-01 01:00:00.000000000 +0100
+++ new/libx86emu-1.11/test/0034_ret_far_32.done 2016-06-22 14:15:06.000000000 +0200
@@ -0,0 +1,28 @@
+; - - memory
+; 0 1 2 3 4 5 6 7 8 9 a b c d e f
+00001000: 68 aa aa aa aa 0e e8 06 00 00 00 68 bb bb bb bb
+00001010: f4 ca 04 00 90 90 f4
+fffffff0: 0b 00 00 00 00 01 00 00 bb bb bb bb
+
+; - - registers
+msr[0010] 0000000000000006 ; tsc
+
+cr0=00000000 cr1=00000000 cr2=00000000 cr3=00000000 cr4=00000000
+dr0=00000000 dr1=00000000 dr2=00000000 dr3=00000000 dr6=00000000 dr7=00000000
+
+gdt.base=00000000 gdt.limit=ffff
+idt.base=00000000 idt.limit=ffff
+tr=0000 tr.base=00000000 tr.limit=00000000 tr.acc=0000
+ldt=0000 ldt.base=00000000 ldt.limit=00000000 ldt.acc=0000
+
+cs=0100 cs.base=00001000 cs.limit=0000ffff cs.acc=049b
+ss=0000 ss.base=00000000 ss.limit=ffffffff ss.acc=0c93
+ds=0000 ds.base=00000000 ds.limit=0000ffff ds.acc=0093
+es=0000 es.base=00000000 es.limit=0000ffff es.acc=0093
+fs=0000 fs.base=00000000 fs.limit=0000ffff fs.acc=0093
+gs=0000 gs.base=00000000 gs.limit=0000ffff gs.acc=0093
+
+eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
+esi=00000000 edi=00000000 ebp=00000000 esp=fffffffc
+eip=00000011 eflags=00000002
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/test/0034_ret_far_32.tst new/libx86emu-1.11/test/0034_ret_far_32.tst
--- old/libx86emu-1.10/test/0034_ret_far_32.tst 1970-01-01 01:00:00.000000000 +0100
+++ new/libx86emu-1.11/test/0034_ret_far_32.tst 2016-06-22 14:15:06.000000000 +0200
@@ -0,0 +1,16 @@
+[init]
+
+ss.limit=0xffffffff
+
+[code start=0x100:0x0 bits=32]
+
+ push 0xAAAAAAAA
+ push cs
+ call func
+ push 0xBBBBBBBB
+ hlt
+
+ func:
+ retf 4
+ nop
+ nop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/test/0034_ret_near_16.done new/libx86emu-1.11/test/0034_ret_near_16.done
--- old/libx86emu-1.10/test/0034_ret_near_16.done 1970-01-01 01:00:00.000000000 +0100
+++ new/libx86emu-1.11/test/0034_ret_near_16.done 2016-06-22 14:15:06.000000000 +0200
@@ -0,0 +1,27 @@
+; - - memory
+; 0 1 2 3 4 5 6 7 8 9 a b c d e f
+00001000: 68 aa aa e8 04 00 68 bb bb f4 c2 02 00 90 90 f4
+0000fff0: 06 00 bb bb
+
+; - - registers
+msr[0010] 0000000000000005 ; tsc
+
+cr0=00000000 cr1=00000000 cr2=00000000 cr3=00000000 cr4=00000000
+dr0=00000000 dr1=00000000 dr2=00000000 dr3=00000000 dr6=00000000 dr7=00000000
+
+gdt.base=00000000 gdt.limit=ffff
+idt.base=00000000 idt.limit=ffff
+tr=0000 tr.base=00000000 tr.limit=00000000 tr.acc=0000
+ldt=0000 ldt.base=00000000 ldt.limit=00000000 ldt.acc=0000
+
+cs=0100 cs.base=00001000 cs.limit=0000ffff cs.acc=009b
+ss=0000 ss.base=00000000 ss.limit=0000ffff ss.acc=0093
+ds=0000 ds.base=00000000 ds.limit=0000ffff ds.acc=0093
+es=0000 es.base=00000000 es.limit=0000ffff es.acc=0093
+fs=0000 fs.base=00000000 fs.limit=0000ffff fs.acc=0093
+gs=0000 gs.base=00000000 gs.limit=0000ffff gs.acc=0093
+
+eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
+esi=00000000 edi=00000000 ebp=00000000 esp=0000fffe
+eip=0000000a eflags=00000002
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/test/0034_ret_near_16.tst new/libx86emu-1.11/test/0034_ret_near_16.tst
--- old/libx86emu-1.10/test/0034_ret_near_16.tst 1970-01-01 01:00:00.000000000 +0100
+++ new/libx86emu-1.11/test/0034_ret_near_16.tst 2016-06-22 14:15:06.000000000 +0200
@@ -0,0 +1,15 @@
+[init]
+
+ss.limit=0xffff
+
+[code start=0x100:0x0 bits=16]
+
+ push 0xAAAA
+ call func
+ push 0xBBBB
+ hlt
+
+ func:
+ ret 2
+ nop
+ nop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/test/0034_ret_near_32.done new/libx86emu-1.11/test/0034_ret_near_32.done
--- old/libx86emu-1.10/test/0034_ret_near_32.done 1970-01-01 01:00:00.000000000 +0100
+++ new/libx86emu-1.11/test/0034_ret_near_32.done 2016-06-22 14:15:06.000000000 +0200
@@ -0,0 +1,28 @@
+; - - memory
+; 0 1 2 3 4 5 6 7 8 9 a b c d e f
+00001000: 68 aa aa aa aa e8 06 00 00 00 68 bb bb bb bb f4
+00001010: c2 04 00 90 90 f4
+fffffff0: 0a 00 00 00 bb bb bb bb
+
+; - - registers
+msr[0010] 0000000000000005 ; tsc
+
+cr0=00000000 cr1=00000000 cr2=00000000 cr3=00000000 cr4=00000000
+dr0=00000000 dr1=00000000 dr2=00000000 dr3=00000000 dr6=00000000 dr7=00000000
+
+gdt.base=00000000 gdt.limit=ffff
+idt.base=00000000 idt.limit=ffff
+tr=0000 tr.base=00000000 tr.limit=00000000 tr.acc=0000
+ldt=0000 ldt.base=00000000 ldt.limit=00000000 ldt.acc=0000
+
+cs=0100 cs.base=00001000 cs.limit=0000ffff cs.acc=049b
+ss=0000 ss.base=00000000 ss.limit=ffffffff ss.acc=0c93
+ds=0000 ds.base=00000000 ds.limit=0000ffff ds.acc=0093
+es=0000 es.base=00000000 es.limit=0000ffff es.acc=0093
+fs=0000 fs.base=00000000 fs.limit=0000ffff fs.acc=0093
+gs=0000 gs.base=00000000 gs.limit=0000ffff gs.acc=0093
+
+eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
+esi=00000000 edi=00000000 ebp=00000000 esp=fffffffc
+eip=00000010 eflags=00000002
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-1.10/test/0034_ret_near_32.tst new/libx86emu-1.11/test/0034_ret_near_32.tst
--- old/libx86emu-1.10/test/0034_ret_near_32.tst 1970-01-01 01:00:00.000000000 +0100
+++ new/libx86emu-1.11/test/0034_ret_near_32.tst 2016-06-22 14:15:06.000000000 +0200
@@ -0,0 +1,15 @@
+[init]
+
+ss.limit=0xffffffff
+
+[code start=0x100:0x0 bits=32]
+
+ push 0xAAAAAAAA
+ call func
+ push 0xBBBBBBBB
+ hlt
+
+ func:
+ ret 4
+ nop
+ nop