This repository has been archived by the owner on Jul 7, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathChangeLog
253 lines (160 loc) · 8.04 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
2020-09-02 William Woodruff <[email protected]>
* Simplify out-of-tree builds with the XED_BUILD_DIR env variable
* Replace distutils with setuptools
2020-05-03 huku <[email protected]>
* Fixed compiler warnings
* Allow prebuilt XED by fetching current kit from environment (@langston-barrett)
* Expose get_modrm() and get_nprefixes() via Instruction (@langston-barrett)
* Updated ChangeLog
2020-04-20 William Woodruff <[email protected]>
* Bumped XED submodule to afbb851
* Bumped mbuild submodule to 5304b94
2020-04-16 William Woodruff <[email protected]>
* Use a static build of XED in pyxed
* Add pytest-based unit tests
2020-04-06 William Woodruff <[email protected]>
* Allow dump_intel_format to take a keyword argument for
suppressing the runtime address
2020-03-31 William Woodruff <[email protected]>
* Fixed an incorrect function call in operand.c
2020-03-24 William Woodruff <[email protected]>
* Bumped XED submodule to 4012555
2020-03-17 William Woodruff <[email protected]>
* Added more accessor methods to pyxed.Operand
2020-03-10 William Woodruff <[email protected]>
* Added mbuild as a submodule (for XED builds)
* Added GitHub Actions-based CI
2019-08-28 Danny Quist
* Added Python 3 support
* Intel Xed as a sub-module
* Build system now completely distools based
2018-07-05 huku <[email protected]>
* Fixed bug in `register_constants()' (issue #3, spotted by @majinxx297).
* Updated "Makefile" to make it compatible with newer versions of XED
(issue #2, spotted by @andermoran).
* Minor "README.md" updates.
2016-10-06 huku <[email protected]>
* Added "setup.py" and modified makefiles accordingly.
2016-05-24 huku <[email protected]>
* Updated Windows makefiles and uploaded new precompiled binaries.
2016-04-29 huku <[email protected]>
* Fixed compilation problem introduced in previous commit (spotted by
@imosukebe).
2016-04-01 huku <[email protected]>
* Removed unused `*args' argument in `M_NOARG' methods.
* Fixed `NULL' pointer dereference in `new_rflags()' when trying to read
EFLAGS/RFLAGS of an instruction that doesn't use it.
* Various code clean-ups, especially in "instruction.c".
* Renamed "written_regs.py" to "dump_written_regs.py" in "examples/".
2016-03-26 huku <[email protected]>
* Implemented `get_isa_set()' in class `Instruction'.
2016-03-25 huku <[email protected]>
* Tested latest version of Intel's XED, which now comes as a standalone
library.
* Updated "README.md".
2015-12-04 huku <[email protected]>
* Fixed typo in "decoder.h".
* Replaced calls to `Py*_Check()' with `Py*_CheckExact()'.
* Modified "Makefile" to use "python2.7-config".
* Added link to precompiled binaries for Microsoft Windows and updated
"README.md" accordingly.
2015-10-07 huku <[email protected]>
* Fixed memory leak in method `decode()' of class `Decoder'.
* Switched type of member attributes in `Decoder' and `Instruction' from
`T_OBJECT' to `T_ULONGLONG'; results in faster and more efficient code
with less memory allocations.
2015-09-22 huku <[email protected]>
* Renamed `get_immediate_is_signed()' to `is_immediate_signed()'.
* `XED_OPVIS_XXX' constants are now visible to Python.
2015-09-21 huku <[email protected]>
* Fixed bug (invalid return type) in `get_scale()'.
2015-08-17 huku <[email protected]>
* Renamed `InvalidOffsetException' to `InvalidOffsetError'.
* One year of `pyxed' development; it's not WIP any more.
2015-06-26 huku <[email protected]>
* Fixed invalid typecast in "pyxed.c".
* Implemented `get_operand_length()', `get_operand_length_bits()' and
`get_memory_operand_length()' in class `Instruction'.
* Updated "README.md".
* Added "encoder.c" and "encoder.h".
2015-03-10 huku <[email protected]>
* Added "Makefile.nmake"; makefile for Microsoft's `nmake' utility.
* Modified source to make it compile on Microsoft Windows (see "Makefile.nmake").
* Tested on latest PIN (pin-2.14-71313).
* Fixed compiler warning in "instruction.c".
* Fixed comment typo in "decoder.c".
* Implemented `get_scale()' in class `Instruction'.
* `XED_OPERAND_XXX' constants are now visible to Python.
2014-12-23 huku <[email protected]>
* Class `XED' was renamed to `Decoder'.
* Fixed typo in "README.md" and "NOTES.md".
2014-12-10 huku <[email protected]>
* Introduced new class `Rflags' that represents the CPU flags register
contents.
* Implemented new methods in class `Instruction'.
* Added "dump_rflags.py" in "examples/".
2014-11-25 huku <[email protected]>
* Implemented new methods in class `Instruction'.
2014-10-20 huku <[email protected]>
* Implemented new methods in class `Instruction' and class `Operand'.
* Cleaned up and reordered function definitions in "operand.c".
* Fixed several compiler warnings on LLVM (Mac OS X).
* Functions `is_register()' and `is_memory_addressing_register()' of class
`Operand' were modified to return a boolean.
* `XED_OPERAND_WIDTH_XXX' and `XED_OPERAND_XTYPE_XXX' constants are now
visible to Python.
* Added "NOTES.md".
* Removed "test.py" and added a couple of examples in "examples/".
2014-10-01 huku <[email protected]>
* Implemented several new methods in class `Instruction'.
* Cleaned up and reordered function definitions in "instruction.c".
* `XED_REG_XXX' constants are now visible to Python.
* Added `M_VARARGS()' and `M_NOARGS()' macros; `PyMethodDef[]' definitions
are now much more readable.
* Modified all `PyCFunction' definitions to receive specific data types as
`self' instead of `PyObject *' (this is how they do it in the official
Python sources).
2014-09-16 huku <[email protected]>
* Fixed `snprintf()' related compiler warning on 64-bit systems.
* Replaced `PyLong_AsSize_t()' with `PyLong_AsLong()'; the first may return
-1 even though it shouldn't.
* From now on, we only support Pin >= 2.14.
2014-09-15 huku <[email protected]>
* Instantiating `Instruction' and `Operand' objects by hand is not possible
any more.
2014-09-11 huku <[email protected]>
* Added `InvalidOffsetException' exception class.
* Method `decode()' of class `XED' was modified to raise the aforementioned
exception when `itext_offset' doesn't fall within `itext' bounds.
2014-09-10 huku <[email protected]>
* Fixed bug in `decode()' of class `XED' (`xed_decode()' may fail when the
third parameter exceeds `XED_MAX_INSTRUCTION_BYTES').
2014-09-09 huku <[email protected]>
* Added `InvalidExceptionError' exception class.
* Added "pyxed.h"; includes external definitions that should be visible to
all source files.
* Method `decode()' of class `XED' was modified to raise an exception when
the decoded instruction is invalid.
2014-09-04 huku <[email protected]>
* Added "check.c" and "check.h" which contain functions for checking the
underlying type of `PyObject' variables.
* Member `itext_offset' of class `XED' is now exported and may be modified.
* Implemented the following methods in class `Instruction': `get_length()',
`get_attribute()' and `get_branch_displacement()'.
* Member `runtime_address' of class `Instruction' is now exported and may be
modified.
* Removed sucky `m_xxx()' macros.
* Renamed C structures `XED', `Instruction' and `Operand' to `xed_t',
`instruction_t' and `operand_t' respectively. The class names visible to
Python have remained the same.
* `XED_ATTRIBUTE_XXX' constants are now visible to Python.
2014-08-14 huku <[email protected]>
* Implemented `is_register()' and `is_memory_addressing_register()' in
"operand.c".
2014-08-07 huku <[email protected]>
* Added `Operand' Python class implemented in "operand.c".
* Implemented more methods in "instruction.c".
* Added BSD 2-clause license.
2014-08-06 huku <[email protected]>
* First release of `pyxed'. Doesn't do anything useful yet; it can only
print decoded instructions in Intel format.