<feed xmlns='http://www.w3.org/2005/Atom'>
<title>substitute/lib/arm64, branch master</title>
<subtitle>Runtime hooking library</subtitle>
<link rel='alternate' type='text/html' href='http://git.shotatoshounenwachigau.moe/vita/substitute/'/>
<entry>
<title>style police</title>
<updated>2015-07-16T04:55:19+00:00</updated>
<author>
<name>comex</name>
</author>
<published>2015-07-16T04:55:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.shotatoshounenwachigau.moe/vita/substitute/commit/?id=dfd16cc1f759a103707ebd27743abc621486e131'/>
<id>dfd16cc1f759a103707ebd27743abc621486e131</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>A number of critical fixes painstakingly discovered in the slowest way possible.</title>
<updated>2015-03-02T04:07:15+00:00</updated>
<author>
<name>comex</name>
</author>
<published>2015-03-02T04:07:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.shotatoshounenwachigau.moe/vita/substitute/commit/?id=7f24621bec0b0a5b3cab9ec2dfc68929a2d49d25'/>
<id>7f24621bec0b0a5b3cab9ec2dfc68929a2d49d25</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add unaligned read/write functions.</title>
<updated>2015-02-25T01:57:12+00:00</updated>
<author>
<name>comex</name>
</author>
<published>2015-02-25T01:57:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.shotatoshounenwachigau.moe/vita/substitute/commit/?id=11d6f5764e35bdddae7a4aaf23fd859eecb48c8f'/>
<id>11d6f5764e35bdddae7a4aaf23fd859eecb48c8f</id>
<content type='text'>
I thought I could get away without since I wasn't (presently) targeting
systems without hardware support for unaligned accesses, but on armv7
clang insists on optimizing into the one ARM instruction that requires
alignment anyway - LDM/STM.  Oops.  Damnit, clang.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I thought I could get away without since I wasn't (presently) targeting
systems without hardware support for unaligned accesses, but on armv7
clang insists on optimizing into the one ARM instruction that requires
alignment anyway - LDM/STM.  Oops.  Damnit, clang.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix arm64/armv7 ish</title>
<updated>2015-02-25T01:39:14+00:00</updated>
<author>
<name>comex</name>
</author>
<published>2015-02-25T01:39:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.shotatoshounenwachigau.moe/vita/substitute/commit/?id=24eddaa8240137328a0522eccf741e7868a2ee58'/>
<id>24eddaa8240137328a0522eccf741e7868a2ee58</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add transform-dis-cases-arm64.S and fix a serious bug thus discovered.</title>
<updated>2015-02-23T05:54:14+00:00</updated>
<author>
<name>comex</name>
</author>
<published>2015-02-23T05:52:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.shotatoshounenwachigau.moe/vita/substitute/commit/?id=3ea0b595a9783282c233f0c7910c11688f9ae721'/>
<id>3ea0b595a9783282c233f0c7910c11688f9ae721</id>
<content type='text'>
Commit transform-dis-cases-x86_64.S, which I forgot to earlier.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit transform-dis-cases-x86_64.S, which I forgot to earlier.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ban calls within transform regions in threadsafe mode.</title>
<updated>2015-02-23T05:54:13+00:00</updated>
<author>
<name>comex</name>
</author>
<published>2015-02-23T05:41:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.shotatoshounenwachigau.moe/vita/substitute/commit/?id=b63f1dff9dc736f7fa66f04976436f1f3fe2ac5d'/>
<id>b63f1dff9dc736f7fa66f04976436f1f3fe2ac5d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>various fixes</title>
<updated>2015-02-18T07:57:08+00:00</updated>
<author>
<name>comex</name>
</author>
<published>2015-02-18T07:57:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.shotatoshounenwachigau.moe/vita/substitute/commit/?id=ce8cffd7cba9925779163fa4380f98b2f70f5a7b'/>
<id>ce8cffd7cba9925779163fa4380f98b2f70f5a7b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Trampoline fixes.</title>
<updated>2015-02-15T04:41:06+00:00</updated>
<author>
<name>comex</name>
</author>
<published>2015-02-15T04:14:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.shotatoshounenwachigau.moe/vita/substitute/commit/?id=67ebaf0d22fefa885d29c3c697fbe61956d18354'/>
<id>67ebaf0d22fefa885d29c3c697fbe61956d18354</id>
<content type='text'>
The transformed code was incorrect because it assumed the pointer it was
writing to was where the code would execute, but it was actually
'rewritten_temp'.  Changed transform_dis_main to take a pc_trampoline
pointer, which also helps the test harness.  However, this means that it
has to be called after the trampoline has been allocated, while before
the trampoline allocation depended on the generated size; this change
doesn't bother to use two passes or anything, but just allocates a new
code buffer if the maximum possible size isn't available - not the end
of the world, since trampoline_ptr will still only be increased by the
actual size before the next hook in the series (if any).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The transformed code was incorrect because it assumed the pointer it was
writing to was where the code would execute, but it was actually
'rewritten_temp'.  Changed transform_dis_main to take a pc_trampoline
pointer, which also helps the test harness.  However, this means that it
has to be called after the trampoline has been allocated, while before
the trampoline allocation depended on the generated size; this change
doesn't bother to use two passes or anything, but just allocates a new
code buffer if the maximum possible size isn't available - not the end
of the world, since trampoline_ptr will still only be increased by the
actual size before the next hook in the series (if any).
</pre>
</div>
</content>
</entry>
<entry>
<title>call vs. branch fixes on ARM (though really I should just ignore calls)</title>
<updated>2015-02-09T05:27:15+00:00</updated>
<author>
<name>comex</name>
</author>
<published>2015-02-09T05:27:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.shotatoshounenwachigau.moe/vita/substitute/commit/?id=00ceac163e5f6706c039a56b17cfb29111f2cc78'/>
<id>00ceac163e5f6706c039a56b17cfb29111f2cc78</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>more</title>
<updated>2015-02-09T05:06:05+00:00</updated>
<author>
<name>comex</name>
</author>
<published>2015-02-09T05:06:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.shotatoshounenwachigau.moe/vita/substitute/commit/?id=d819360f9e619ddadde2bbae3cc1ec389a43a8e9'/>
<id>d819360f9e619ddadde2bbae3cc1ec389a43a8e9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
