Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libx86emu for openSUSE:Factory checked in at 2021-11-20 22:47:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libx86emu (Old) and /work/SRC/openSUSE:Factory/.libx86emu.new.1895 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libx86emu" Sat Nov 20 22:47:56 2021 rev:34 rq:932305 version:3.5 Changes: -------- --- /work/SRC/openSUSE:Factory/libx86emu/libx86emu.changes 2021-11-06 18:13:30.464743359 +0100 +++ /work/SRC/openSUSE:Factory/.libx86emu.new.1895/libx86emu.changes 2021-11-20 22:48:16.587813275 +0100 @@ -1,0 +2,7 @@ +Thu Nov 18 17:14:15 UTC 2021 - wfe...@opensuse.org + +- merge gh#wfeldt/libx86emu#40 +- decode extended nop instructions +- 3.5 + +-------------------------------------------------------------------- Old: ---- libx86emu-3.4.tar.xz New: ---- libx86emu-3.5.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libx86emu.spec ++++++ --- /var/tmp/diff_new_pack.Fa26pw/_old 2021-11-20 22:48:17.187811287 +0100 +++ /var/tmp/diff_new_pack.Fa26pw/_new 2021-11-20 22:48:17.187811287 +0100 @@ -22,7 +22,7 @@ Summary: An x86 emulation library License: BSD-3-Clause Group: Development/Libraries/C and C++ -Version: 3.4 +Version: 3.5 Release: 0 Source: %{name}-%{version}.tar.xz Url: https://github.com/wfeldt/libx86emu ++++++ libx86emu-3.4.tar.xz -> libx86emu-3.5.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-3.4/VERSION new/libx86emu-3.5/VERSION --- old/libx86emu-3.4/VERSION 2021-10-20 14:13:20.000000000 +0200 +++ new/libx86emu-3.5/VERSION 2021-11-18 18:14:15.000000000 +0100 @@ -1 +1 @@ -3.4 +3.5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-3.4/changelog new/libx86emu-3.5/changelog --- old/libx86emu-3.4/changelog 2021-10-20 14:13:20.000000000 +0200 +++ new/libx86emu-3.5/changelog 2021-11-18 18:14:15.000000000 +0100 @@ -1,3 +1,7 @@ +2021-11-18: 3.5 + - merge gh#wfeldt/libx86emu#40 + - decode extended nop instructions + 2021-10-20: 3.4 - merge gh#wfeldt/libx86emu#39 - fix test suite for 32-bit architectures diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libx86emu-3.4/ops2.c new/libx86emu-3.5/ops2.c --- old/libx86emu-3.4/ops2.c 2021-10-20 14:13:20.000000000 +0200 +++ new/libx86emu-3.5/ops2.c 2021-11-18 18:14:15.000000000 +0100 @@ -484,6 +484,117 @@ } } + +/**************************************************************************** +REMARKS: +Handles opcode 0x0f,0x18 +****************************************************************************/ +static void x86emuOp2_prefetch(x86emu_t *emu, u8 op2) +{ + int mod, rl, rh; + + fetch_decode_modrm(emu, &mod, &rh, &rl); + + switch(rh) { + case 0: + OP_DECODE("prefetchnta "); + break; + case 1: + OP_DECODE("prefetcht0 "); + break; + case 2: + OP_DECODE("prefetcht1 "); + break; + case 3: + OP_DECODE("prefetcht2 "); + break; + default: + OP_DECODE("hint_nop "); + break; + } + + if(mod == 3) { + if(MODE_DATA32) { + decode_rm_long_register(emu, rl); + } + else { + decode_rm_word_register(emu, rl); + } + } + else { + OP_DECODE("byte "); + decode_rm_address(emu, mod, rl); + } +} + + +/**************************************************************************** +REMARKS: +Handles opcode 0x0f,0x19,0x1c-0x1e +****************************************************************************/ +static void x86emuOp2_hint_nop(x86emu_t *emu, u8 op2) +{ + int mod, rl, rh; + + OP_DECODE("hint_nop "); + fetch_decode_modrm(emu, &mod, &rh, &rl); + + if(mod == 3) { + if(MODE_DATA32) { + decode_rm_long_register(emu, rl); + } + else { + decode_rm_word_register(emu, rl); + } + } + else { + if(MODE_DATA32) { + OP_DECODE("dword "); + } + else { + OP_DECODE("word "); + } + decode_rm_address(emu, mod, rl); + } +} + + +/**************************************************************************** +REMARKS: +Handles opcode 0x0f,0x1f +****************************************************************************/ +static void x86emuOp2_nop(x86emu_t *emu, u8 op2) +{ + int mod, rl, rh; + + /* + * Basically the same as x86emuOp2_hint_nop() - but this is the officially + * documented opcode. + */ + + OP_DECODE("nop "); + fetch_decode_modrm(emu, &mod, &rh, &rl); + + if(mod == 3) { + if(MODE_DATA32) { + decode_rm_long_register(emu, rl); + } + else { + decode_rm_word_register(emu, rl); + } + } + else { + if(MODE_DATA32) { + OP_DECODE("dword "); + } + else { + OP_DECODE("word "); + } + decode_rm_address(emu, mod, rl); + } +} + + /**************************************************************************** REMARKS: Handles opcode 0x0f,0x20 @@ -2073,14 +2184,14 @@ /* 0x15 */ x86emuOp2_SSEpackops, /* 0x16 */ x86emuOp2_SSEmovpackedops, /* 0x17 */ x86emuOp2_SSEmovpackedops, - /* 0x18 */ x86emuOp2_illegal_op, - /* 0x19 */ x86emuOp2_illegal_op, + /* 0x18 */ x86emuOp2_prefetch, + /* 0x19 */ x86emuOp2_hint_nop, /* 0x1a */ x86emuOp2_illegal_op, /* 0x1b */ x86emuOp2_illegal_op, - /* 0x1c */ x86emuOp2_illegal_op, - /* 0x1d */ x86emuOp2_illegal_op, - /* 0x1e */ x86emuOp2_illegal_op, - /* 0x1f */ x86emuOp2_illegal_op, + /* 0x1c */ x86emuOp2_hint_nop, + /* 0x1d */ x86emuOp2_hint_nop, + /* 0x1e */ x86emuOp2_hint_nop, + /* 0x1f */ x86emuOp2_nop, /* 0x20 */ x86emuOp2_mov_word_RM_CRx, /* 0x21 */ x86emuOp2_mov_word_RM_DRx,