unicorn/qemu/target-i386
Paolo Bonzini 2e6770c643
target-i386: fix pcmpxstrx equal-ordered (strstr) mode
In this mode, referring an invalid element of the source forces the
result to false (table 4-7, last column) but referring an invalid
element of the destination forces the result to true, so the outer
loop should still be run even if some elements of the destination
will be invalid. They will be avoided in the inner loop, which
correctly bounds "i" to validd, but they will still contribute to a
positive outcome of the search.

This fixes tst_strstr in glibc 2.17.

Backports commit 54c54f8b56047d3c2420e1ae06a6a8890c220ac4 from qemu
2018-02-17 15:24:15 -05:00
..
arch_memory_mapping.c Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2018-02-12 19:27:02 -05:00
bpt_helper.c target-i386: Check CR4[DE] for processing DR4/DR5 2018-02-17 15:24:06 -05:00
cc_helper.c target-i386: exception handling for other helper functions 2018-02-17 15:23:51 -05:00
cc_helper_template.h This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
cpu-qom.h target-i386: create a separate AddressSpace for each CPU 2018-02-13 12:36:26 -05:00
cpu.c target-i386: Use 1UL for bit shift 2018-02-17 15:24:06 -05:00
cpu.h target-i386: Check CR4[DE] for processing DR4/DR5 2018-02-17 15:24:06 -05:00
excp_helper.c target-i386: introduce new raise_exception functions 2018-02-17 15:23:50 -05:00
fpu_helper.c target-i386: exception handling for FPU instructions 2018-02-17 15:23:50 -05:00
helper.c target-i386: Use correct memory attributes for memory accesses 2018-02-13 11:54:12 -05:00
helper.h target-i386: Check CR4[DE] for processing DR4/DR5 2018-02-17 15:24:06 -05:00
int_helper.c target-i386: exception handling for div instructions 2018-02-17 15:23:50 -05:00
Makefile.objs target-i386: Move breakpoint related functions to new file 2018-02-11 12:25:24 -05:00
mem_helper.c target-i386: exception handling for memory helpers 2018-02-17 15:23:50 -05:00
misc_helper.c target-i386: exception handling for other helper functions 2018-02-17 15:23:51 -05:00
ops_sse.h target-i386: fix pcmpxstrx equal-ordered (strstr) mode 2018-02-17 15:24:15 -05:00
ops_sse_header.h import 2015-08-21 15:04:50 +08:00
seg_helper.c target-i386: Introduce cpu_x86_update_dr7 2018-02-17 15:24:05 -05:00
shift_helper_template.h This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
smm_helper.c target-i386: allow any alignment for SMBASE 2018-02-17 15:24:05 -05:00
svm.h Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
svm_helper.c target-i386: Use correct memory attributes for memory accesses 2018-02-13 11:54:12 -05:00
TODO import 2015-08-21 15:04:50 +08:00
topology.h platform.h move #3 2017-01-21 00:13:21 +11:00
translate.c target-*: Advance pc after recognizing a breakpoint 2018-02-17 15:24:11 -05:00
unicorn.c target-i386: make xmm_regs 512-bit wide 2018-02-12 12:38:43 -05:00
unicorn.h New feature: registers can be bulk saved/restored in an opaque blob 2016-08-20 04:14:07 -07:00