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