Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-12-16 | fix hreset being disassembled as having second operand of "Nothing" | iximeow | |
just report it having one operand... | |||
2023-12-16 | fix incorrect register class names in long_mode1.2.1 | iximeow | |
also adjust changelog for a 1.2.1 version again, no new interfaces to go with these bugfixes. | |||
2023-12-16 | fix incorrect register selection for `vpbroadcastm{b2q,w2d}` with `rex.b` set | iximeow | |
2023-12-16 | fix incorrect register selection for `vpmov*2m` with `rex.r` set | iximeow | |
2023-12-16 | fix incorrect register selection for `vpmovm2*` with `rex.b` set | iximeow | |
2023-12-16 | abnormal memory sizes for keylocker instructions are not bugs | iximeow | |
new `does_not_decode_invalid_registers` fuzzer found other bugs! the 384-bit accesses for 128b keylocker instructions are an otherwise-unknown size and had a memory size of `BUG`. they are not bugs. give the memory size a real name. | |||
2023-12-16 | reword new changelog entries | iximeow | |
2023-12-15 | update changelog, bump version number for future publish | iximeow | |
2023-07-24 | 1.2.0 | iximeow | |
2023-07-24 | fix handling of lar/lsl source register | iximeow | |
2023-07-23 | fix inconsistently-poreted memory access size of vcvt{,t}{sd,si} | iximeow | |
2023-07-23 | fix + better test cvttsd2si+cvtsd2si (misdecode under 64-bit) | iximeow | |
2023-07-16 | forward changes along to 32-bit decoder... | iximeow | |
2023-07-08 | fix v(p)gather situations, get vex tests passing again | iximeow | |
2023-07-04 | fix some dancing between bank size and RegisterBank enum values | iximeow | |
in the process, fixed a decoding bug dealing with a0/a1/a2/a3 movs (respected rex.b when rex.b should have been ignored) this seems to maybe improve runtime ever so slightly, but this is really meant as a cleanup commit more than anything. | |||
2023-03-05 | add `Opcode::is_jcc`, `Opcode::is_setcc`, and `Opcode::is_cmovcc` helpers | iximeow | |
this request/suggestion comes from [github](https://github.com/iximeow/yaxpeax-x86/issues/29)! thank you! | |||
2023-02-19 | deprecate `pub fn cs`, which is an intensely embarrassing bug of a function | iximeow | |
unlike every other function to test if a particular selector is picked by prefixes, `Prefixes::cs` does not return bool, nor does it check the currently-selected prefix. instead, it modifies the decoded `Prefixes` to set the current prefix to `cs`. this has been a bug all the way since 0.0.1 was released. the function now does nothing, and is marked deprecated. in a future 2.x release, the function will be changed to return `bool` and be in-line with other segment selector-checking functions. in the mean time, a new `Prefixes::selects_cs()` does the correct thing. thank you to @meithecatte who pointed this out in https://github.com/iximeow/yaxpeax-x86/issues/28! | |||
2022-12-24 | update old yaxpeax-arch versions in ffi crates to compatible versions | iximeow | |
2022-12-03 | include typo fixes in the changelog! | iximeow | |
2022-12-03 | describe optimizations included in 1.1.5 | iximeow | |
2022-04-30 | support 0x9a callf in 16/32-bit modes | iximeow | |
2022-04-24 | fix a few issues preventing no-std builds from ... building | iximeow | |
this includes a `Makefile` that exercises the various crate configs. most annoyingly, several doc comments needed to grow `#[cfg(feature="fmt")]` blocks so docs continue to build with that feature enabled or disabled. carved out a way to run exhaustive tests; they should be written as `#[ignore]`, and then the makefile will run even ignored tests on the expectation that this will run the exhaustive (but slower) suite. exhaustive tests are not yet written. they'll probably involve spanning 4 byte sequences from 0 to 2^32-1. | |||
2022-01-12 | fuzz DisplayStyle::C and fix corresponding issues1.1.4 | iximeow | |
2022-01-02 | update changelog | iximeow | |
2022-01-02 | actually include a link | iximeow | |
2021-12-19 | prep for 1.1.3 release | iximeow | |
actual release is being held until cargo fuzz runs a while without a panic | |||
2021-12-19 | add in-tree cargo fuzz targets for decode and display impls | iximeow | |
2021-12-19 | fix incorrect memory size for f30f1e-style nop | iximeow | |
not only did the instruction have wrong data, but if displayed, the formatter would panic. | |||
2021-12-19 | test that invalid RegSpec constructions panic as expected | iximeow | |
in the process, fix 64-bit rex-byte limit, 32/16-bit mode mask reg limit | |||
2021-12-16 | displacements are stored as unsigned, but are functionally signed ints | iximeow | |
so multiplying to expand EVEX compressed offsets can overflow, and that needs to be okay. | |||
2021-10-10 | add `InstructionDisplayer` export to changelog | iximeow | |
2021-10-10 | support endbr{32,64} | iximeow | |
2021-08-21 | add `AnnotatingDecoder` note to CHANGELOG and publicize descriptions | iximeow | |
2021-08-21 | improve relative branch offset formatting for DisplayStyle::C | iximeow | |
2021-08-21 | fix incorrect decoding of 0x9*-series instructions with rex.b | iximeow | |
2021-08-21 | add push/pop/call/ret mem_size fixes to changelog | iximeow | |
2021-08-14 | update changelog | iximeow | |
2021-07-22 | fix incorrect decodes with scas and 67-prefixes1.0.4 | iximeow | |
2021-07-06 | fix doc items, add example for use of yaxpeax_x86 by yaxpeax_arch traits1.0.3 | iximeow | |
2021-07-04 | remove stale `! user beware !` line from readme1.0.2 | iximeow | |
2021-07-04 | fix docs link1.0.1 | iximeow | |
2021-07-04 | update changelog for 1.0 release1.0.0 | iximeow | |
2021-05-16 | fix ShowContextual rendering error with stale data and operands, publish 0.2.20.2.2 | iximeow | |
2021-05-07 | 0.2.10.2.1 | iximeow | |
2021-03-23 | bump to 0.2.0 and write a changelog0.2.0 | iximeow | |
2021-01-15 | support xchg AX/reg0.1.5 | iximeow | |
2021-01-15 | small perf tweaks | iximeow | |
clearing reg_rrr and reg_mmm more efficiently is an extremely small win, but a win read_imm_signed generally should inline well and runs afoul of some heuristic. inlining gets about 8% improved throughput on the (unrealistic) in-repo benchmark it would be great to be able to avoid bounds checks somehow; it looks like they alone are another ~10% of decode time. i'm not sure how to pull that off while retaining the generic iterator parameter. might just not be possible. | |||
2021-01-15 | fix several missing or invalid decodings among 0f01 opcodes | iximeow | |
* `mwaitx`, `monitorx`, `rdpru`, and `clzero` are now supported * swapgs is no longer decoded in protected mode * rdpkru and wrpkru are no longer decoded if mod bits != 11 | |||
2020-11-19 | fix decoding of rex-prefixed modrm+sib operands selecting index 0b100 and ↵0.1.4 | iximeow | |
base 0b101 for memory operands with a base, index, and displacement either the wrong base would be selected (register number ignored, so only `*ax` or `r8*` would be reported), or yaxpeax-x86 would report a base register is present when it is not (`RegIndexBaseScaleDisp` when the operand is actually `RegScaleDisp`) thank you to Evan Johnson for catching and reporting this bug! also bump crate version to 0.1.4 as this will be immediately tagged and released. | |||
2020-10-27 | fix misdecode of instructions in opcode 0x800.1.3 | iximeow | |