1da0c48c4Sopenharmony_ci2022-10-21  Yonggang Luo  <luoyonggang@gmail.com>
2da0c48c4Sopenharmony_ci
3da0c48c4Sopenharmony_ci	* i386_disasm.c: Don't include endian.h.
4da0c48c4Sopenharmony_ci	* memory-access.h: Don't include byteswap.h and endian.h.
5da0c48c4Sopenharmony_ci	Do include system.h.
6da0c48c4Sopenharmony_ci
7da0c48c4Sopenharmony_ci2022-09-20  Yonggang Luo  <luoyonggang@gmail.com>
8da0c48c4Sopenharmony_ci
9da0c48c4Sopenharmony_ci	* memory-access.h: Use BYTE_ORDER, LITTLE_ENDIAN and BIG_ENDIAN.
10da0c48c4Sopenharmony_ci	* riscv_disasm.c: Likewise.
11da0c48c4Sopenharmony_ci
12da0c48c4Sopenharmony_ci2021-12-04  Mark Wielaard  <mark@klomp.org>
13da0c48c4Sopenharmony_ci
14da0c48c4Sopenharmony_ci	* Makefile.am (GENDIS_ENV): New variable, depends on
15da0c48c4Sopenharmony_ci	USE_ADDRESS_SANITIZER.
16da0c48c4Sopenharmony_ci
17da0c48c4Sopenharmony_ci2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>
18da0c48c4Sopenharmony_ci
19da0c48c4Sopenharmony_ci	* .gitignore: New file.
20da0c48c4Sopenharmony_ci
21da0c48c4Sopenharmony_ci2020-12-16  Érico Nogueira  <ericonr@disroot.org>
22da0c48c4Sopenharmony_ci
23da0c48c4Sopenharmony_ci	* Makefile.am (i386_gendis_LDADD): Add obstack_LIBS.
24da0c48c4Sopenharmony_ci
25da0c48c4Sopenharmony_ci2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
26da0c48c4Sopenharmony_ci
27da0c48c4Sopenharmony_ci	* i386_lex.l (invalid_char): Replace gettext(...) with _(...).
28da0c48c4Sopenharmony_ci	* i386_parse.y (yyerror): Likewise.
29da0c48c4Sopenharmony_ci
30da0c48c4Sopenharmony_ci2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
31da0c48c4Sopenharmony_ci
32da0c48c4Sopenharmony_ci	* bpf_disasm.c (bswap_bpf_insn): Fix spelling typo in comment.
33da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Likewise.
34da0c48c4Sopenharmony_ci
35da0c48c4Sopenharmony_ci2020-05-09  Mark Wielaard  <mark@klomp.org>
36da0c48c4Sopenharmony_ci
37da0c48c4Sopenharmony_ci	* i386_parse.y (new_bitfield): Call free newp on error.
38da0c48c4Sopenharmony_ci
39da0c48c4Sopenharmony_ci2020-04-16  Mark Wielaard  <mark@klomp.org>
40da0c48c4Sopenharmony_ci
41da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Replace assert with goto invalid_op
42da0c48c4Sopenharmony_ci	for bad prefix.
43da0c48c4Sopenharmony_ci
44da0c48c4Sopenharmony_ci2019-12-11  Omar Sandoval  <osandov@fb.com>
45da0c48c4Sopenharmony_ci
46da0c48c4Sopenharmony_ci	* Makefile.am (i386_lex_CFLAGS): Add -Wno-implicit-fallthrough.
47da0c48c4Sopenharmony_ci
48da0c48c4Sopenharmony_ci2019-10-17  Mark Wielaard  <mark@klomp.org>
49da0c48c4Sopenharmony_ci
50da0c48c4Sopenharmony_ci	* i386_data.h (FCT_sel): Check for param_start + 2 >= end instead
51da0c48c4Sopenharmony_ci	of just >.
52da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Check param_start < end. Don't
53da0c48c4Sopenharmony_ci	assert, but assign INVALID to str. Make sure we get past any
54da0c48c4Sopenharmony_ci	unrecognized opcode.
55da0c48c4Sopenharmony_ci
56da0c48c4Sopenharmony_ci2019-09-07  Mark Wielaard  <mark@klomp.org>
57da0c48c4Sopenharmony_ci
58da0c48c4Sopenharmony_ci	* riscv_disasm.c (riscv_disasm): Use UINT64_C to make calculation
59da0c48c4Sopenharmony_ci	unsigned.
60da0c48c4Sopenharmony_ci
61da0c48c4Sopenharmony_ci2019-07-05  Omar Sandoval  <osandov@fb.com>
62da0c48c4Sopenharmony_ci
63da0c48c4Sopenharmony_ci	* Makefile.am: Combine libcpu_{i386,x86_64,bpf}.a into libcpu.a.
64da0c48c4Sopenharmony_ci	Make libcpu.a non-PIC by default.
65da0c48c4Sopenharmony_ci	Add libcpu_pic.a.
66da0c48c4Sopenharmony_ci
67da0c48c4Sopenharmony_ci2018-11-04  Mark Wielaard  <mark@klomp.org>
68da0c48c4Sopenharmony_ci
69da0c48c4Sopenharmony_ci	* bpf_disasm.c (bpf_disasm): Recognize BPF_JLT, BPF_JLE, BPF_JSLT
70da0c48c4Sopenharmony_ci	and BPF_JSLE.
71da0c48c4Sopenharmony_ci
72da0c48c4Sopenharmony_ci2018-02-09  Joshua Watt  <JPEWhacker@gmail.com>
73da0c48c4Sopenharmony_ci
74da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Use FALLTHOUGH macro instead of
75da0c48c4Sopenharmony_ci	comment.
76da0c48c4Sopenharmony_ci
77da0c48c4Sopenharmony_ci2017-08-18  Ulf Hermann  <ulf.hermann@qt.io>
78da0c48c4Sopenharmony_ci
79da0c48c4Sopenharmony_ci	* memory-access.h: Use attribute_packed.
80da0c48c4Sopenharmony_ci
81da0c48c4Sopenharmony_ci2017-02-27  Ulf Hermann  <ulf.hermann@qt.io>
82da0c48c4Sopenharmony_ci
83da0c48c4Sopenharmony_ci	* Makefile.am: Use fpic_CFLAGS.
84da0c48c4Sopenharmony_ci
85da0c48c4Sopenharmony_ci2017-07-18  Mark Wielaard  <mark@klomp.org>
86da0c48c4Sopenharmony_ci
87da0c48c4Sopenharmony_ci	* Makefile.am: Don't check HAVE_LINUX_BPF_H, just define libcpu_bpf.
88da0c48c4Sopenharmony_ci	* bpf_disasm.c: Include bpf.h instead of linux/bpf.h. Don't define
89da0c48c4Sopenharmony_ci	BPF_PSEUDO_MAP_FD.
90da0c48c4Sopenharmony_ci
91da0c48c4Sopenharmony_ci2017-04-20  Ulf Hermann <ulf.hermann@qt.io>
92da0c48c4Sopenharmony_ci
93da0c48c4Sopenharmony_ci	* Makefile.am: Add EXEEXT to gendis.
94da0c48c4Sopenharmony_ci
95da0c48c4Sopenharmony_ci2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>
96da0c48c4Sopenharmony_ci
97da0c48c4Sopenharmony_ci	* i386_parse.y: Eliminate comparison_fn_t.
98da0c48c4Sopenharmony_ci
99da0c48c4Sopenharmony_ci2016-11-02  Mark Wielaard  <mjw@redhat.com>
100da0c48c4Sopenharmony_ci
101da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Add fallthrough comment.
102da0c48c4Sopenharmony_ci
103da0c48c4Sopenharmony_ci2016-10-11  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
104da0c48c4Sopenharmony_ci
105da0c48c4Sopenharmony_ci	* i386_lex.l: Remove system.h include, add libeu.h include.
106da0c48c4Sopenharmony_ci	* i386_parse.y: Remove sys/param.h include, add libeu.h include.
107da0c48c4Sopenharmony_ci	* i386_disasm.c: Remove sys/param.h.
108da0c48c4Sopenharmony_ci
109da0c48c4Sopenharmony_ci2016-09-05  Mark Wielaard  <mjw@redhat.com>
110da0c48c4Sopenharmony_ci
111da0c48c4Sopenharmony_ci	* bpf_disasm.c: Define BPF_PSEUDO_MAP_FD if undefined.
112da0c48c4Sopenharmony_ci
113da0c48c4Sopenharmony_ci2016-08-10  Richard Henderson  <rth@redhat.com>
114da0c48c4Sopenharmony_ci
115da0c48c4Sopenharmony_ci	* bpf_disasm.c (bpf_disasm): Rearrange the printing of instructions
116da0c48c4Sopenharmony_ci	to use exactly the operands required.
117da0c48c4Sopenharmony_ci
118da0c48c4Sopenharmony_ci2016-06-28  Richard Henderson  <rth@redhat.com>
119da0c48c4Sopenharmony_ci
120da0c48c4Sopenharmony_ci	* Makefile.am (noinst_LIBRARIES): Add libcpu_bpf.a.
121da0c48c4Sopenharmony_ci	(libcpu_bpf_a_SOURCES, libcpu_bpf_a_CFLAGS): New.
122da0c48c4Sopenharmony_ci	* bpf_disasm.c: New file.
123da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Add ebl parameter.
124da0c48c4Sopenharmony_ci
125da0c48c4Sopenharmony_ci2015-10-05  Josh Stone  <jistone@redhat.com>
126da0c48c4Sopenharmony_ci
127da0c48c4Sopenharmony_ci	* Makefile.am (%_defs): Add AM_V_GEN and AM_V_at silencers.
128da0c48c4Sopenharmony_ci	($(srcdir)/%_dis.h): Ditto.
129da0c48c4Sopenharmony_ci	(%.mnemonics): Add AM_V_GEN silencer.
130da0c48c4Sopenharmony_ci
131da0c48c4Sopenharmony_ci2014-10-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
132da0c48c4Sopenharmony_ci
133da0c48c4Sopenharmony_ci	* Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid
134da0c48c4Sopenharmony_ci	relocation overflows in some platforms.
135da0c48c4Sopenharmony_ci
136da0c48c4Sopenharmony_ci2014-04-13  Mark Wielaard  <mjw@redhat.com>
137da0c48c4Sopenharmony_ci
138da0c48c4Sopenharmony_ci	* Makefile.am (i386_gendis_LDADD): Remove libmudflap.
139da0c48c4Sopenharmony_ci
140da0c48c4Sopenharmony_ci2013-04-24  Mark Wielaard  <mjw@redhat.com>
141da0c48c4Sopenharmony_ci
142da0c48c4Sopenharmony_ci	* Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
143da0c48c4Sopenharmony_ci
144da0c48c4Sopenharmony_ci2012-10-10  Roland McGrath  <roland@hack.frob.com>
145da0c48c4Sopenharmony_ci
146da0c48c4Sopenharmony_ci	* Makefile.am (%_defs, $(srcdir)/%_dis.h): Redirect to temp file,
147da0c48c4Sopenharmony_ci	mv into place with separate command.
148da0c48c4Sopenharmony_ci
149da0c48c4Sopenharmony_ci2012-06-26  Roland McGrath  <roland@hack.frob.com>
150da0c48c4Sopenharmony_ci
151da0c48c4Sopenharmony_ci	* Makefile.am [!MAINTAINER_MODE] ($(srcdir)/%_dis.h): New rule.
152da0c48c4Sopenharmony_ci
153da0c48c4Sopenharmony_ci2012-02-24  Mark Wielaard  <mjw@redhat.com>
154da0c48c4Sopenharmony_ci
155da0c48c4Sopenharmony_ci	* Makefile.am (CLEANFILES): Move %_dis.h to...
156da0c48c4Sopenharmony_ci	(MAINTAINERCLEANFILES): here.
157da0c48c4Sopenharmony_ci
158da0c48c4Sopenharmony_ci2012-01-21  Ulrich Drepper  <drepper@gmail.com>
159da0c48c4Sopenharmony_ci
160da0c48c4Sopenharmony_ci	* i386_disasm.c (ADD_NSTRING): Define.
161da0c48c4Sopenharmony_ci	(i386_disasm): Print color codes in the appropriate places.
162da0c48c4Sopenharmony_ci
163da0c48c4Sopenharmony_ci2011-10-16  Roland McGrath  <roland@hack.frob.com>
164da0c48c4Sopenharmony_ci
165da0c48c4Sopenharmony_ci	* Makefile.am (libcpu_i386_a_SOURCES): Add i386_dis.h.
166da0c48c4Sopenharmony_ci	(libcpu_x86_64_a_SOURCES): Add x86_64_dis.h.
167da0c48c4Sopenharmony_ci	(i386_disasm.o, x86_64_disasm.o): Depend on those in $(srcdir).
168da0c48c4Sopenharmony_ci	(%_dis.h): Renamed target pattern to ...
169da0c48c4Sopenharmony_ci	($(srcdir)/%_dis.h): ... this.
170da0c48c4Sopenharmony_ci	(noinst_HEADERS, noinst_PROGRAMS): Put under [MAINTAINER_MODE].
171da0c48c4Sopenharmony_ci
172da0c48c4Sopenharmony_ci2010-08-16  Roland McGrath  <roland@redhat.com>
173da0c48c4Sopenharmony_ci
174da0c48c4Sopenharmony_ci	* Makefile.am (%_defs): New pattern rule.
175da0c48c4Sopenharmony_ci	(%_dis.h, %.mnemonics): Define as pattern rules using %_defs input.
176da0c48c4Sopenharmony_ci	(CLEANFILES): Include all those files.
177da0c48c4Sopenharmony_ci
178da0c48c4Sopenharmony_ci2010-02-15  Roland McGrath  <roland@redhat.com>
179da0c48c4Sopenharmony_ci
180da0c48c4Sopenharmony_ci	* Makefile.am: Use config/eu.am for common stuff.
181da0c48c4Sopenharmony_ci
182da0c48c4Sopenharmony_ci2009-04-14  Roland McGrath  <roland@redhat.com>
183da0c48c4Sopenharmony_ci
184da0c48c4Sopenharmony_ci	* Makefile.am (AM_CFLAGS): Add -fdollars-in-identifiers; it is not the
185da0c48c4Sopenharmony_ci	default on every machine.
186da0c48c4Sopenharmony_ci
187da0c48c4Sopenharmony_ci2009-01-23  Roland McGrath  <roland@redhat.com>
188da0c48c4Sopenharmony_ci
189da0c48c4Sopenharmony_ci	* Makefile.am (i386_parse_CFLAGS): Use quotes around command
190da0c48c4Sopenharmony_ci	substitution that can produce leading whitespace.
191da0c48c4Sopenharmony_ci
192da0c48c4Sopenharmony_ci2009-01-01  Ulrich Drepper  <drepper@redhat.com>
193da0c48c4Sopenharmony_ci
194da0c48c4Sopenharmony_ci	* i386_parse.y (instrtable_out): Optimize match_data table by not
195da0c48c4Sopenharmony_ci	emitting 0xff masks for leading bytes.
196da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Adjust reader of match_data.
197da0c48c4Sopenharmony_ci
198da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Reset bufcnt when not matched.  We
199da0c48c4Sopenharmony_ci	don't expect snprintf to fail.
200da0c48c4Sopenharmony_ci
201da0c48c4Sopenharmony_ci2008-12-31  Ulrich Drepper  <drepper@redhat.com>
202da0c48c4Sopenharmony_ci
203da0c48c4Sopenharmony_ci	* defs/i386: Add dppd, dpps, insertps, movntdqa, mpsadbw, packusdw,
204da0c48c4Sopenharmony_ci	pblendvb, pblendw, pcmpeqq, pcmpestri, pcmpestrm, pcmpistri, pcmpistrm,
205da0c48c4Sopenharmony_ci	pcmpgtq, phminposuw, pinsrb, pinsrd, pmaxsb, pmaxsd, pmaxud, pmaxuw,
206da0c48c4Sopenharmony_ci	pminsb, pminsd, pminud, pminuw, pmovsxbw, pmovsxbd, pmovsxbq, pmovsxwd,
207da0c48c4Sopenharmony_ci	pmovsxwq, pmovsxdq, pmovzxbw, pmovzxbd, pmovzxbq, pmovzxwd, pmovzxwq,
208da0c48c4Sopenharmony_ci	pmovzxdq, pmuldq, pmulld, popcnt, ptest, roundss, roundps, roundpd,
209da0c48c4Sopenharmony_ci	and roundsd opcodes.
210da0c48c4Sopenharmony_ci
211da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Correct resizing of buffer.
212da0c48c4Sopenharmony_ci
213da0c48c4Sopenharmony_ci	* i386_parse.y (struct argstring): Add off element.
214da0c48c4Sopenharmony_ci	(off_op_str): New global variable.
215da0c48c4Sopenharmony_ci	(print_op_str): Print strings as concatenated strings.  Keep track
216da0c48c4Sopenharmony_ci	of index and length.  Update ->off element.
217da0c48c4Sopenharmony_ci	(print_op_str_idx): New function.
218da0c48c4Sopenharmony_ci	(instrtable_out): Mark op%d_fct as const.
219da0c48c4Sopenharmony_ci	Emit two tables for the strings: the string itself (op%d_str) and the
220da0c48c4Sopenharmony_ci	index table (op%d_str_idx).
221da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Adjust for new op%d_str definition.
222da0c48c4Sopenharmony_ci
223da0c48c4Sopenharmony_ci	* i386_disasm.c [X86_64] (i386_disasm): Handle rex prefix when
224da0c48c4Sopenharmony_ci	printing only prefix.
225da0c48c4Sopenharmony_ci
226da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Minor optimizations.
227da0c48c4Sopenharmony_ci
228da0c48c4Sopenharmony_ci	* i386_parse.y (instrtable_out): No need to emit index, the reader can
229da0c48c4Sopenharmony_ci	keep track.
230da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): The index is not emitted anymore, no
231da0c48c4Sopenharmony_ci	need to skip it.
232da0c48c4Sopenharmony_ci
233da0c48c4Sopenharmony_ci	* i386_disasm.c (amd3dnow): Mark as const.
234da0c48c4Sopenharmony_ci
235da0c48c4Sopenharmony_ci	* defs/i386: Add blendvpd and blendvps opcodes.
236da0c48c4Sopenharmony_ci
237da0c48c4Sopenharmony_ci2008-12-30  Ulrich Drepper  <drepper@redhat.com>
238da0c48c4Sopenharmony_ci
239da0c48c4Sopenharmony_ci	* defs/i386: Add blendpd and blendps opcodes.
240da0c48c4Sopenharmony_ci
241da0c48c4Sopenharmony_ci2008-12-19  Ulrich Drepper  <drepper@redhat.com>
242da0c48c4Sopenharmony_ci
243da0c48c4Sopenharmony_ci	* defs/i386: Add entry for AMD 3DNOW.
244da0c48c4Sopenharmony_ci	* i386_disasm.c: Implement AMD 3DNOW disassembly.
245da0c48c4Sopenharmony_ci
246da0c48c4Sopenharmony_ci2008-12-17  Ulrich Drepper  <drepper@redhat.com>
247da0c48c4Sopenharmony_ci
248da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): If instruction matches prefix,
249da0c48c4Sopenharmony_ci	undoing the prefix match finishes the instruction.
250da0c48c4Sopenharmony_ci
251da0c48c4Sopenharmony_ci2008-01-21  Roland McGrath  <roland@redhat.com>
252da0c48c4Sopenharmony_ci
253da0c48c4Sopenharmony_ci	* defs/i386: Fix typo in comment.
254da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Handle cltq, cqto.
255da0c48c4Sopenharmony_ci
256da0c48c4Sopenharmony_ci	* i386_parse.y: Add sanity check for NMNES macro value.
257da0c48c4Sopenharmony_ci	* Makefile.am (i386_parse.o): Fix target in dependency rule.
258da0c48c4Sopenharmony_ci	(i386_parse.h): New target with empty commands.
259da0c48c4Sopenharmony_ci	(i386_lex.o): Depend on it in place of i386_parse.c.
260da0c48c4Sopenharmony_ci
261da0c48c4Sopenharmony_ci2008-01-21  Ulrich Drepper  <drepper@redhat.com>
262da0c48c4Sopenharmony_ci
263da0c48c4Sopenharmony_ci	* Makefile.am (EXTRA_DIST): Remove defs/x86_64.
264da0c48c4Sopenharmony_ci
265da0c48c4Sopenharmony_ci2008-01-14  Ulrich Drepper  <drepper@redhat.com>
266da0c48c4Sopenharmony_ci
267da0c48c4Sopenharmony_ci	* defs/i386: Add fixes for opcodes with register number in opcode,
268da0c48c4Sopenharmony_ci	64-bit immediate forms, nop with rex.B.
269da0c48c4Sopenharmony_ci	* i386_data.h [X86_64] (FCT_imm64$w): New function.
270da0c48c4Sopenharmony_ci	(FCT_oreg): New function.
271da0c48c4Sopenharmony_ci	(FCT_oreg$w): New function.
272da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Reinitialize fmt always before
273da0c48c4Sopenharmony_ci	starting the loop to process the string.  Handle 0x90 special for
274da0c48c4Sopenharmony_ci	x86-64.
275da0c48c4Sopenharmony_ci	* i386_parse.y (fillin_arg): Expand synonyms before concatening to
276da0c48c4Sopenharmony_ci	form the function name.
277da0c48c4Sopenharmony_ci
278da0c48c4Sopenharmony_ci2008-01-11  Ulrich Drepper  <drepper@redhat.com>
279da0c48c4Sopenharmony_ci
280da0c48c4Sopenharmony_ci	* i386_disasm.c (struct output_buffer): Remove symcb and symcbarg.
281da0c48c4Sopenharmony_ci	(i386_disasm): Remove appropriate initializers.
282da0c48c4Sopenharmony_ci	Use symcb to lookup symbol strings.
283da0c48c4Sopenharmony_ci
284da0c48c4Sopenharmony_ci	* i386_disasm.c (struct output_buffer): Add labelbuf, labelbufsize,
285da0c48c4Sopenharmony_ci	symaddr_use, and symaddr fields.
286da0c48c4Sopenharmony_ci	(i386_disasm): Remove labelbuf and labelbufsize variables.
287da0c48c4Sopenharmony_ci	Add back %e format.  Implement %a and %l formats.
288da0c48c4Sopenharmony_ci
289da0c48c4Sopenharmony_ci	* i386_data.h (general_mod$r_m): Set symaddr_use and symaddr for %rip
290da0c48c4Sopenharmony_ci	base addressing.
291da0c48c4Sopenharmony_ci
292da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Resize output buffer if necessary.
293da0c48c4Sopenharmony_ci	Optimize output_data initialization.  Free buffers before return.
294da0c48c4Sopenharmony_ci	(struct output_data): Remove op1str field.  Adjust code.
295da0c48c4Sopenharmony_ci	(i386_disasm): Store final NUL btye at end of functions.
296da0c48c4Sopenharmony_ci
297da0c48c4Sopenharmony_ci2008-01-10  Ulrich Drepper  <drepper@redhat.com>
298da0c48c4Sopenharmony_ci
299da0c48c4Sopenharmony_ci	* i386_data.h (FCT_crdb): New function.
300da0c48c4Sopenharmony_ci	(FCT_ccc): Use FCT_crdb.
301da0c48c4Sopenharmony_ci	(FCT_ddd): Likewise.
302da0c48c4Sopenharmony_ci
303da0c48c4Sopenharmony_ci	* defs/i386: Fix a few instructions with immediate arguments.
304da0c48c4Sopenharmony_ci
305da0c48c4Sopenharmony_ci	* i386_disasm.c: Rewrite interface to callback functions for operands
306da0c48c4Sopenharmony_ci	to take a single pointer to a structure.
307da0c48c4Sopenharmony_ci	* i386_data.h: Adjust all functions.
308da0c48c4Sopenharmony_ci
309da0c48c4Sopenharmony_ci2008-01-08  Ulrich Drepper  <drepper@redhat.com>
310da0c48c4Sopenharmony_ci
311da0c48c4Sopenharmony_ci	* Makefile.am: Enable x86-64 again.
312da0c48c4Sopenharmony_ci	* defs/i386: Lots of changes for x86-64.
313da0c48c4Sopenharmony_ci	* i386_data.h: Add support for use in x86-64 disassembler.
314da0c48c4Sopenharmony_ci	* i386_disasm.c: Likewise.
315da0c48c4Sopenharmony_ci	* i386_parse.y: Likewise.
316da0c48c4Sopenharmony_ci	* defs/x86_64: Removed.
317da0c48c4Sopenharmony_ci
318da0c48c4Sopenharmony_ci2008-01-04  Ulrich Drepper  <drepper@redhat.com>
319da0c48c4Sopenharmony_ci
320da0c48c4Sopenharmony_ci	* defs/i386: Cleanups, remove masks which are not needed.
321da0c48c4Sopenharmony_ci	Add remaining Intel opcodes.
322da0c48c4Sopenharmony_ci	* i386_data.h (FCT_imm8): Check for input buffer overrun.
323da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Likewise.
324da0c48c4Sopenharmony_ci	* i386_parse.y: Remove suffixes which are not needed anymore.
325da0c48c4Sopenharmony_ci
326da0c48c4Sopenharmony_ci2008-01-03  Ulrich Drepper  <drepper@redhat.com>
327da0c48c4Sopenharmony_ci
328da0c48c4Sopenharmony_ci	* defs/i386: Add yet more SSE instructions.
329da0c48c4Sopenharmony_ci
330da0c48c4Sopenharmony_ci2008-01-02  Ulrich Drepper  <drepper@redhat.com>
331da0c48c4Sopenharmony_ci
332da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Extend matcher to allow tables to
333da0c48c4Sopenharmony_ci	contain instructions with prefixes.
334da0c48c4Sopenharmony_ci	* defs/i386: Use for many SSE operations.
335da0c48c4Sopenharmony_ci	* i386_data.h (FCT_mmxreg2): Removed.
336da0c48c4Sopenharmony_ci
337da0c48c4Sopenharmony_ci2008-01-01  Ulrich Drepper  <drepper@redhat.com>
338da0c48c4Sopenharmony_ci
339da0c48c4Sopenharmony_ci	* defs/i386: More 0f prefix support.
340da0c48c4Sopenharmony_ci	* i386_data.h (FCT_mmxreg): Implement.
341da0c48c4Sopenharmony_ci	(FCT_mmxreg2): Implement.
342da0c48c4Sopenharmony_ci	(FCT_mmreg): Remove.
343da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): More special instructions.
344da0c48c4Sopenharmony_ci	Fix tttn suffix for cmov.
345da0c48c4Sopenharmony_ci	* i386_parse.y: Simplify test for mod/r_m mode.
346da0c48c4Sopenharmony_ci
347da0c48c4Sopenharmony_ci2007-12-31  Ulrich Drepper  <drepper@redhat.com>
348da0c48c4Sopenharmony_ci
349da0c48c4Sopenharmony_ci	* defs/i386: Fix order or arguments for mov of control/debug registers.
350da0c48c4Sopenharmony_ci	* i386_data.h (FCT_ccc): Implement
351da0c48c4Sopenharmony_ci	(FCT_ddd): Implement
352da0c48c4Sopenharmony_ci
353da0c48c4Sopenharmony_ci2007-12-30  Ulrich Drepper  <drepper@redhat.com>
354da0c48c4Sopenharmony_ci
355da0c48c4Sopenharmony_ci	* defs/i386: Fix 0f groups 6 and 7.
356da0c48c4Sopenharmony_ci	* i386_data.c (FCT_mod$16r_m): Implement.
357da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Third parameter can also have string.
358da0c48c4Sopenharmony_ci
359da0c48c4Sopenharmony_ci2007-12-29  Ulrich Drepper  <drepper@redhat.com>
360da0c48c4Sopenharmony_ci
361da0c48c4Sopenharmony_ci	* defs/i386: Add lots of floating point ops.
362da0c48c4Sopenharmony_ci	* i386_data.h (FCT_fmod$fr_m): Removed.
363da0c48c4Sopenharmony_ci	(FCT_freg): Implement.
364da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Implement suffix_D.
365da0c48c4Sopenharmony_ci	* i386_parse.y: Emit suffix_D.
366da0c48c4Sopenharmony_ci
367da0c48c4Sopenharmony_ci	* defs/i386: Use rel instead of dispA.
368da0c48c4Sopenharmony_ci	Fix lcall, dec, div, idiv, imul, inc, jmp, ljmp, mul, neg, not, push,
369da0c48c4Sopenharmony_ci	test.
370da0c48c4Sopenharmony_ci
371da0c48c4Sopenharmony_ci	* i386_data.h (FCT_dispA): Removed.
372da0c48c4Sopenharmony_ci	(FCT_ds_xx): Add test for end of input buffer.
373da0c48c4Sopenharmony_ci	* i386_disasm.c (ABORT_ENTRY): Removed.
374da0c48c4Sopenharmony_ci	(i386_disasm): Fix handling of SIB.  Pass correct address value to
375da0c48c4Sopenharmony_ci	operand callbacks.
376da0c48c4Sopenharmony_ci
377da0c48c4Sopenharmony_ci	* Makefile.am (*.mnemonics): Filter out INVALID entry.
378da0c48c4Sopenharmony_ci	* defs/i386: Define imms8 and use in appropriate places.
379da0c48c4Sopenharmony_ci	Add INVALID entries for special opcodes with special mnemonics.
380da0c48c4Sopenharmony_ci	Fix int3.  Fix typo in shl.  Correct xlat.
381da0c48c4Sopenharmony_ci	* i386_data.h (FCT_ds_xx): New function.
382da0c48c4Sopenharmony_ci	(FCT_ds_si): Use it.
383da0c48c4Sopenharmony_ci	(FCT_ds_bx): New function.
384da0c48c4Sopenharmony_ci	(FCT_imms8): New function.
385da0c48c4Sopenharmony_ci	* i386_disasm.c (MNE_INVALID): Define.
386da0c48c4Sopenharmony_ci	(i386_disasm): Handle invalid opcodes in mnemonics printing, not
387da0c48c4Sopenharmony_ci	separately.  Fix address value passed to operand handlers.
388da0c48c4Sopenharmony_ci	* i386_parse.y (bx_reg): Define.
389da0c48c4Sopenharmony_ci	(instrtable_out): Handle INVALID entries differently, just use
390da0c48c4Sopenharmony_ci	MNE_INVALID value for .mnemonic.
391da0c48c4Sopenharmony_ci
392da0c48c4Sopenharmony_ci2007-12-28  Ulrich Drepper  <drepper@redhat.com>
393da0c48c4Sopenharmony_ci
394da0c48c4Sopenharmony_ci	* defs/i386: Fix shift and mov immediate instructions.
395da0c48c4Sopenharmony_ci	* i386_data.h (FCT_imm16): Implement.
396da0c48c4Sopenharmony_ci
397da0c48c4Sopenharmony_ci	* defs/i386: Use absval instead of abs of lcall and ljmp.
398da0c48c4Sopenharmony_ci	Add parameters for cmps.  Fix test and mov immediate.
399da0c48c4Sopenharmony_ci	* i386_data.h: Implement FCT_absval.
400da0c48c4Sopenharmony_ci	* i386_disasm.c: Handle data16 for suffix_w  and FCT_imm.
401da0c48c4Sopenharmony_ci
402da0c48c4Sopenharmony_ci	* defs/i386: Move entries with 0x9b prefix together.
403da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Fix recognizing insufficient bytes in
404da0c48c4Sopenharmony_ci	input.  Handle data16 with suffix_W.
405da0c48c4Sopenharmony_ci
406da0c48c4Sopenharmony_ci	* i386_data.h (FCT_*): Add end parameter to all functions.  Check
407da0c48c4Sopenharmony_ci	before using more bytes.
408da0c48c4Sopenharmony_ci	(FCT_sel): Implement.
409da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Better handle end of input buffer.
410da0c48c4Sopenharmony_ci	Specal opcode 0x99.
411da0c48c4Sopenharmony_ci
412da0c48c4Sopenharmony_ci	* Makefile.am: Use m4 to preprocess defs/* files.
413da0c48c4Sopenharmony_ci	* defs/i386: Adjust appropriately.
414da0c48c4Sopenharmony_ci	* i386_data.c (FCT_ax): Implement.
415da0c48c4Sopenharmony_ci	(FCT_ax$w): Use FCT_ax.
416da0c48c4Sopenharmony_ci	* i386_disasm.c (ADD_STRING): Use _len instead of len.
417da0c48c4Sopenharmony_ci	(i386_disasm): If no instruction can be matched because of lack of
418da0c48c4Sopenharmony_ci	input and prefixes have been matched, print prefixes.
419da0c48c4Sopenharmony_ci	Recognize abort entries.
420da0c48c4Sopenharmony_ci	Handle special cases.
421da0c48c4Sopenharmony_ci	* i386_gendis.c: Recognize - input file name.
422da0c48c4Sopenharmony_ci	* i386_lex.c: Recognize INVALID token.
423da0c48c4Sopenharmony_ci	* i386_parse.y: Handle INVALID token input.
424da0c48c4Sopenharmony_ci
425da0c48c4Sopenharmony_ci	* defs/i386: Fix mov, pop.
426da0c48c4Sopenharmony_ci	* i386_data.h (FCT_sreg3): Implement.
427da0c48c4Sopenharmony_ci
428da0c48c4Sopenharmony_ci2007-12-27  Ulrich Drepper  <drepper@redhat.com>
429da0c48c4Sopenharmony_ci
430da0c48c4Sopenharmony_ci	* defs/i386: Fix adc, add, cmp, or, sbb, sub, xchg, xor.
431da0c48c4Sopenharmony_ci	* i386_data.h (FCT_imms): New function.
432da0c48c4Sopenharmony_ci	(FCT_imm$s): Use FCT_imms for handling of signed values.
433da0c48c4Sopenharmony_ci	(FCT_imm8): Sign extend values.
434da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Implement suffix_w0.
435da0c48c4Sopenharmony_ci	* i386_parse.y: Emit suffix w0.
436da0c48c4Sopenharmony_ci
437da0c48c4Sopenharmony_ci	* i386_data.h (FCT_disp8): Add 0x prefix.
438da0c48c4Sopenharmony_ci	(FCT_ds_si): Implement.
439da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Increment addr for invalid prefixes.
440da0c48c4Sopenharmony_ci	Implement tttn suffix.
441da0c48c4Sopenharmony_ci	* i386_parse.y: Emit tttn suffix definition.
442da0c48c4Sopenharmony_ci
443da0c48c4Sopenharmony_ci2007-12-26  Ulrich Drepper  <drepper@redhat.com>
444da0c48c4Sopenharmony_ci
445da0c48c4Sopenharmony_ci	* i386_data.h (struct instr_enc): Use suffix field.
446da0c48c4Sopenharmony_ci	(FCT_dx): Fill in body.
447da0c48c4Sopenharmony_ci	(FCT_es_di): Likewise.
448da0c48c4Sopenharmony_ci	(FCT_imm$s): Sign-extended byte values.
449da0c48c4Sopenharmony_ci	* i386_disasm.c: Protect ADD_CHAR and ADD_STRING macros.  Adjust uses.
450da0c48c4Sopenharmony_ci	(i386_disasm): Handle suffix.
451da0c48c4Sopenharmony_ci	* i386_parse.y: Emit suffix information.
452da0c48c4Sopenharmony_ci	* defs/i386: Remove unnecessary suffixes.
453da0c48c4Sopenharmony_ci
454da0c48c4Sopenharmony_ci	* Makefile.am: Disable building x86-64 version for now.
455da0c48c4Sopenharmony_ci
456da0c48c4Sopenharmony_ci	* defs/i386: Fix and, bound, cmp, or, pop, sbb, sub, xor.
457da0c48c4Sopenharmony_ci	* i386_data.h: Pass pointer to prefix to functions.  If not prefixes
458da0c48c4Sopenharmony_ci	are consumed this means invalid input.
459da0c48c4Sopenharmony_ci	* i386_disasm.c: Fix prefix printing.  Adjust function calls for
460da0c48c4Sopenharmony_ci	parameter change.
461da0c48c4Sopenharmony_ci	* i386_parse.y: Recognize moda prefix.
462da0c48c4Sopenharmony_ci
463da0c48c4Sopenharmony_ci2007-12-21  Ulrich Drepper  <drepper@redhat.com>
464da0c48c4Sopenharmony_ci
465da0c48c4Sopenharmony_ci	* i386_data.h: Fix SIB handling.
466da0c48c4Sopenharmony_ci	* i386_disasm.c: Likewise.
467da0c48c4Sopenharmony_ci
468da0c48c4Sopenharmony_ci2007-12-19  Ulrich Drepper  <drepper@redhat.com>
469da0c48c4Sopenharmony_ci
470da0c48c4Sopenharmony_ci	* defs/i386: Fix up 'and' opcode.
471da0c48c4Sopenharmony_ci
472da0c48c4Sopenharmony_ci2007-10-31  Ulrich Drepper  <drepper@redhat.com>
473da0c48c4Sopenharmony_ci
474da0c48c4Sopenharmony_ci	* Makefile.am: Add dependencies of the generated files on the source
475da0c48c4Sopenharmony_ci	files.
476da0c48c4Sopenharmony_ci	(i386_lex_CFLAGS): Add -Wno-sign-compare.
477da0c48c4Sopenharmony_ci
478da0c48c4Sopenharmony_ci	* defs/i386: A lot more data.
479da0c48c4Sopenharmony_ci	* defs/x86_64: Likewise.
480da0c48c4Sopenharmony_ci	* i386_data.h (struct instr_enc): Add off1_3, off2_3, and off3_3
481da0c48c4Sopenharmony_ci	fields.
482da0c48c4Sopenharmony_ci	(opfct_t): Add parameter for third operand.
483da0c48c4Sopenharmony_ci	(FCT_*): Likewise.
484da0c48c4Sopenharmony_ci	(data_prefix): New function.
485da0c48c4Sopenharmony_ci	(FCT_abs): Implement.
486da0c48c4Sopenharmony_ci	(FCT_ax): Renamed to FCT_ax$w amd implement.
487da0c48c4Sopenharmony_ci	(FCT_disp8): Implement.
488da0c48c4Sopenharmony_ci	(FCT_dispA): Implement.
489da0c48c4Sopenharmony_ci	(FCT_imm): Implement.
490da0c48c4Sopenharmony_ci	(FCT_imm$w): Implement.
491da0c48c4Sopenharmony_ci	(FCT_imm$s): Don't zero-pad numbers.
492da0c48c4Sopenharmony_ci	(FCT_imm8): Likewise.
493da0c48c4Sopenharmony_ci	(FCT_rel): Likewise.
494da0c48c4Sopenharmony_ci	(general_mod$r_m): New function.
495da0c48c4Sopenharmony_ci	(FCT_mod$r_m): Use it.
496da0c48c4Sopenharmony_ci	(FCT_mod$r_m$w): New function.
497da0c48c4Sopenharmony_ci	(FCT_mod$8r_m): New function.
498da0c48c4Sopenharmony_ci	(FCT_reg): Correctly handle 16-bit registers.
499da0c48c4Sopenharmony_ci	(FCT_reg$w): New function.
500da0c48c4Sopenharmony_ci	* i386_disasm.c (i386_disasm): Handle prefixes better.
501da0c48c4Sopenharmony_ci	Pass third parameter to operand functions.
502da0c48c4Sopenharmony_ci	* i386_parse.y (struct instruction): Add off3 field.
503da0c48c4Sopenharmony_ci	Handle third operand throughout.
504da0c48c4Sopenharmony_ci
505da0c48c4Sopenharmony_ci2007-02-05  Ulrich Drepper  <drepper@redhat.com>
506da0c48c4Sopenharmony_ci
507da0c48c4Sopenharmony_ci	* i386_disasm.c: New file.
508da0c48c4Sopenharmony_ci	* i386_data.h: New file.
509da0c48c4Sopenharmony_ci	* i386_gendis.c: New file.
510da0c48c4Sopenharmony_ci	* i386_lex.l: New file.
511da0c48c4Sopenharmony_ci	* i386_parse.y: New file.
512da0c48c4Sopenharmony_ci	* memory-access.h: New file.
513da0c48c4Sopenharmony_ci	* x86_64_disasm.c: New file.
514da0c48c4Sopenharmony_ci	* defs/i386: New file.
515da0c48c4Sopenharmony_ci	* defs/i386.doc: New file.
516da0c48c4Sopenharmony_ci	* defs/x86_64: New file.
517da0c48c4Sopenharmony_ci
518da0c48c4Sopenharmony_ci2005-02-15  Ulrich Drepper  <drepper@redhat.com>
519da0c48c4Sopenharmony_ci
520da0c48c4Sopenharmony_ci	* Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
521da0c48c4Sopenharmony_ci
522da0c48c4Sopenharmony_ci2005-02-05  Ulrich Drepper  <drepper@redhat.com>
523da0c48c4Sopenharmony_ci
524da0c48c4Sopenharmony_ci	* Makefile.am (AM_CFLAGS): Define, instead of adding things to DEFS.
525da0c48c4Sopenharmony_ci
526da0c48c4Sopenharmony_ci2003-08-11  Ulrich Drepper  <drepper@redhat.com>
527da0c48c4Sopenharmony_ci
528da0c48c4Sopenharmony_ci	* Moved to CVS archive.
529