<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yaxpeax-x86/src/long_mode, branch 1.2.2</title>
<subtitle>yaxpeax x86 decoder</subtitle>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/'/>
<entry>
<title>fix hreset being disassembled as having second operand of "Nothing"</title>
<updated>2023-12-17T00:12:25+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2023-12-17T00:12:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=58913fc4e1bb153fe9d8735164ef922f71c2fa97'/>
<id>58913fc4e1bb153fe9d8735164ef922f71c2fa97</id>
<content type='text'>
just report it having one operand...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
just report it having one operand...
</pre>
</div>
</content>
</entry>
<entry>
<title>fix incorrect register class names in long_mode</title>
<updated>2023-12-16T23:54:25+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2023-12-16T23:54:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=83b12fc09a69cc5324f6f002b8c52382d4b236d1'/>
<id>83b12fc09a69cc5324f6f002b8c52382d4b236d1</id>
<content type='text'>
also adjust changelog for a 1.2.1 version again, no new interfaces to go
with these bugfixes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
also adjust changelog for a 1.2.1 version again, no new interfaces to go
with these bugfixes.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix opportunity for unhandled register synonyms</title>
<updated>2023-12-16T21:26:48+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2023-12-16T21:26:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=110f797005cca70e18cbcc0975397d26d8045245'/>
<id>110f797005cca70e18cbcc0975397d26d8045245</id>
<content type='text'>
registers `al`, `cl`, `dl`, and `bl` could have two different
representations - with `rex.w` and without. these two forms of `RegSpec`
would not compare equal, nor has the same, so for code relying on
`RegSpec` to faithfully represent a 1-1 mapping to x86 registers, these
synonyms would introduce bugs in register analysis.

for example, in `yaxpeax-core`, this would result in instructions
writing to `rex.w al` not being visible as definitions for a future
read of `!rex.w al`.

fix this in `x86_64` code, add new test cases about the confusion,
adjust register names to make this situation more clearly a bug, and
introduce two new fuzz targets that would have helped spot this error.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
registers `al`, `cl`, `dl`, and `bl` could have two different
representations - with `rex.w` and without. these two forms of `RegSpec`
would not compare equal, nor has the same, so for code relying on
`RegSpec` to faithfully represent a 1-1 mapping to x86 registers, these
synonyms would introduce bugs in register analysis.

for example, in `yaxpeax-core`, this would result in instructions
writing to `rex.w al` not being visible as definitions for a future
read of `!rex.w al`.

fix this in `x86_64` code, add new test cases about the confusion,
adjust register names to make this situation more clearly a bug, and
introduce two new fuzz targets that would have helped spot this error.
</pre>
</div>
</content>
</entry>
<entry>
<title>more RegSpec constructor validation, fix bug in x86_64 1b reg specs</title>
<updated>2023-12-16T01:26:59+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2023-12-16T01:26:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=003183a4ce31cfb718f4e4083d32c845352c2321'/>
<id>003183a4ce31cfb718f4e4083d32c845352c2321</id>
<content type='text'>
* the first four 1-byte registers, `al`, `cl`, `dl`, `bl`, can be
  constructed in two ways that produce "identical" `RegSpec` that are..
  not.
  e.g. `RegSpec::al() != Regspec::rb(0)` even though
  `RegSpec::al().name() == RegSpec::rb(0).name()`.

  this corrects the `rb` constructor at least, but instructions like
  `4830c0` and `30c0` still produce incompatible versions of `al`.

* also fix register numbering used explicit qword-sized RegSpec
  constructors, r12 and r13 used to produce r8 and r9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* the first four 1-byte registers, `al`, `cl`, `dl`, `bl`, can be
  constructed in two ways that produce "identical" `RegSpec` that are..
  not.
  e.g. `RegSpec::al() != Regspec::rb(0)` even though
  `RegSpec::al().name() == RegSpec::rb(0).name()`.

  this corrects the `rb` constructor at least, but instructions like
  `4830c0` and `30c0` still produce incompatible versions of `al`.

* also fix register numbering used explicit qword-sized RegSpec
  constructors, r12 and r13 used to produce r8 and r9
</pre>
</div>
</content>
</entry>
<entry>
<title>fix incorrect register numbers in r12/r13 RegSpec constructor functions</title>
<updated>2023-12-16T00:34:32+00:00</updated>
<author>
<name>Dongjia "toka" Zhang</name>
<email>tokazerkje@outlook.com</email>
</author>
<published>2023-12-15T16:55:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=792eb993a87fab799b3a6659c7750f2221608cbf'/>
<id>792eb993a87fab799b3a6659c7750f2221608cbf</id>
<content type='text'>
these functions had a copypaste error where the r12 and r13 versions
would create RegSpec for registers 8 and 9 instead of 12 and 13. use
correct register numbers in these macros.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
these functions had a copypaste error where the r12 and r13 versions
would create RegSpec for registers 8 and 9 instead of 12 and 13. use
correct register numbers in these macros.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix handling of lar/lsl source register</title>
<updated>2023-07-24T13:41:02+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2023-07-24T13:41:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=ab51fd1b2c7cf1b7bb6f84c5b07e06245f6b3d99'/>
<id>ab51fd1b2c7cf1b7bb6f84c5b07e06245f6b3d99</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix inconsistently-poreted memory access size of vcvt{,t}{sd,si}</title>
<updated>2023-07-23T20:13:44+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2023-07-23T20:13:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=855fa08f1d2f4bc405a1cfc205b5e9321dd4ebf5'/>
<id>855fa08f1d2f4bc405a1cfc205b5e9321dd4ebf5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix + better test cvttsd2si+cvtsd2si (misdecode under 64-bit)</title>
<updated>2023-07-23T18:06:55+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2023-07-23T18:06:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=4e5dfd758a22818c5f8496025e8c0b3dd00f0f50'/>
<id>4e5dfd758a22818c5f8496025e8c0b3dd00f0f50</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>forward changes along to 32-bit decoder...</title>
<updated>2023-07-16T20:33:03+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2023-07-16T20:33:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=22ab87ccc7cf028f9d96cff0ae17ee49a52f8877'/>
<id>22ab87ccc7cf028f9d96cff0ae17ee49a52f8877</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>trying to delete branches on bank size</title>
<updated>2023-07-09T23:28:33+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2023-07-09T23:28:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=858d39b09cb99b7ec18a2f2243dcb58ae7d4161b'/>
<id>858d39b09cb99b7ec18a2f2243dcb58ae7d4161b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
