2022-09-20  Yonggang Luo  <luoyonggang@gmail.com>

	* memory-access.h: Use BYTE_ORDER, LITTLE_ENDIAN and BIG_ENDIAN.
	* riscv_disasm.c: Likewise.

2021-12-04  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (GENDIS_ENV): New variable, depends on
	USE_ADDRESS_SANITIZER.

2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>

	* .gitignore: New file.

2020-12-16  Érico Nogueira  <ericonr@disroot.org>

	* Makefile.am (i386_gendis_LDADD): Add obstack_LIBS.

2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>

	* i386_lex.l (invalid_char): Replace gettext(...) with _(...).
	* i386_parse.y (yyerror): Likewise.

2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>

	* bpf_disasm.c (bswap_bpf_insn): Fix spelling typo in comment.
	* i386_disasm.c (i386_disasm): Likewise.

2020-05-09  Mark Wielaard  <mark@klomp.org>

	* i386_parse.y (new_bitfield): Call free newp on error.

2020-04-16  Mark Wielaard  <mark@klomp.org>

	* i386_disasm.c (i386_disasm): Replace assert with goto invalid_op
	for bad prefix.

2019-12-11  Omar Sandoval  <osandov@fb.com>

	* Makefile.am (i386_lex_CFLAGS): Add -Wno-implicit-fallthrough.

2019-10-17  Mark Wielaard  <mark@klomp.org>

	* i386_data.h (FCT_sel): Check for param_start + 2 >= end instead
	of just >.
	* i386_disasm.c (i386_disasm): Check param_start < end. Don't
	assert, but assign INVALID to str. Make sure we get past any
	unrecognized opcode.

2019-09-07  Mark Wielaard  <mark@klomp.org>

	* riscv_disasm.c (riscv_disasm): Use UINT64_C to make calculation
	unsigned.

2019-07-05  Omar Sandoval  <osandov@fb.com>

	* Makefile.am: Combine libcpu_{i386,x86_64,bpf}.a into libcpu.a.
	Make libcpu.a non-PIC by default.
	Add libcpu_pic.a.

2018-11-04  Mark Wielaard  <mark@klomp.org>

	* bpf_disasm.c (bpf_disasm): Recognize BPF_JLT, BPF_JLE, BPF_JSLT
	and BPF_JSLE.

2018-02-09  Joshua Watt  <JPEWhacker@gmail.com>

	* i386_disasm.c (i386_disasm): Use FALLTHOUGH macro instead of
	comment.

2017-08-18  Ulf Hermann  <ulf.hermann@qt.io>

	* memory-access.h: Use attribute_packed.

2017-02-27  Ulf Hermann  <ulf.hermann@qt.io>

	* Makefile.am: Use fpic_CFLAGS.

2017-07-18  Mark Wielaard  <mark@klomp.org>

	* Makefile.am: Don't check HAVE_LINUX_BPF_H, just define libcpu_bpf.
	* bpf_disasm.c: Include bpf.h instead of linux/bpf.h. Don't define
	BPF_PSEUDO_MAP_FD.

2017-04-20  Ulf Hermann <ulf.hermann@qt.io>

	* Makefile.am: Add EXEEXT to gendis.

2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>

	* i386_parse.y: Eliminate comparison_fn_t.

2016-11-02  Mark Wielaard  <mjw@redhat.com>

	* i386_disasm.c (i386_disasm): Add fallthrough comment.

2016-10-11  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>

	* i386_lex.l: Remove system.h include, add libeu.h include.
	* i386_parse.y: Remove sys/param.h include, add libeu.h include.
	* i386_disasm.c: Remove sys/param.h.

2016-09-05  Mark Wielaard  <mjw@redhat.com>

	* bpf_disasm.c: Define BPF_PSEUDO_MAP_FD if undefined.

2016-08-10  Richard Henderson  <rth@redhat.com>

	* bpf_disasm.c (bpf_disasm): Rearrange the printing of instructions
	to use exactly the operands required.

2016-06-28  Richard Henderson  <rth@redhat.com>

	* Makefile.am (noinst_LIBRARIES): Add libcpu_bpf.a.
	(libcpu_bpf_a_SOURCES, libcpu_bpf_a_CFLAGS): New.
	* bpf_disasm.c: New file.
	* i386_disasm.c (i386_disasm): Add ebl parameter.

2015-10-05  Josh Stone  <jistone@redhat.com>

	* Makefile.am (%_defs): Add AM_V_GEN and AM_V_at silencers.
	($(srcdir)/%_dis.h): Ditto.
	(%.mnemonics): Add AM_V_GEN silencer.

2014-10-29  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid
	relocation overflows in some platforms.

2014-04-13  Mark Wielaard  <mjw@redhat.com>

	* Makefile.am (i386_gendis_LDADD): Remove libmudflap.

2013-04-24  Mark Wielaard  <mjw@redhat.com>

	* Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.

2012-10-10  Roland McGrath  <roland@hack.frob.com>

	* Makefile.am (%_defs, $(srcdir)/%_dis.h): Redirect to temp file,
	mv into place with separate command.

2012-06-26  Roland McGrath  <roland@hack.frob.com>

	* Makefile.am [!MAINTAINER_MODE] ($(srcdir)/%_dis.h): New rule.

2012-02-24  Mark Wielaard  <mjw@redhat.com>

	* Makefile.am (CLEANFILES): Move %_dis.h to...
	(MAINTAINERCLEANFILES): here.

2012-01-21  Ulrich Drepper  <drepper@gmail.com>

	* i386_disasm.c (ADD_NSTRING): Define.
	(i386_disasm): Print color codes in the appropriate places.

2011-10-16  Roland McGrath  <roland@hack.frob.com>

	* Makefile.am (libcpu_i386_a_SOURCES): Add i386_dis.h.
	(libcpu_x86_64_a_SOURCES): Add x86_64_dis.h.
	(i386_disasm.o, x86_64_disasm.o): Depend on those in $(srcdir).
	(%_dis.h): Renamed target pattern to ...
	($(srcdir)/%_dis.h): ... this.
	(noinst_HEADERS, noinst_PROGRAMS): Put under [MAINTAINER_MODE].

2010-08-16  Roland McGrath  <roland@redhat.com>

	* Makefile.am (%_defs): New pattern rule.
	(%_dis.h, %.mnemonics): Define as pattern rules using %_defs input.
	(CLEANFILES): Include all those files.

2010-02-15  Roland McGrath  <roland@redhat.com>

	* Makefile.am: Use config/eu.am for common stuff.

2009-04-14  Roland McGrath  <roland@redhat.com>

	* Makefile.am (AM_CFLAGS): Add -fdollars-in-identifiers; it is not the
	default on every machine.

2009-01-23  Roland McGrath  <roland@redhat.com>

	* Makefile.am (i386_parse_CFLAGS): Use quotes around command
	substitution that can produce leading whitespace.

2009-01-01  Ulrich Drepper  <drepper@redhat.com>

	* i386_parse.y (instrtable_out): Optimize match_data table by not
	emitting 0xff masks for leading bytes.
	* i386_disasm.c (i386_disasm): Adjust reader of match_data.

	* i386_disasm.c (i386_disasm): Reset bufcnt when not matched.  We
	don't expect snprintf to fail.

2008-12-31  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Add dppd, dpps, insertps, movntdqa, mpsadbw, packusdw,
	pblendvb, pblendw, pcmpeqq, pcmpestri, pcmpestrm, pcmpistri, pcmpistrm,
	pcmpgtq, phminposuw, pinsrb, pinsrd, pmaxsb, pmaxsd, pmaxud, pmaxuw,
	pminsb, pminsd, pminud, pminuw, pmovsxbw, pmovsxbd, pmovsxbq, pmovsxwd,
	pmovsxwq, pmovsxdq, pmovzxbw, pmovzxbd, pmovzxbq, pmovzxwd, pmovzxwq,
	pmovzxdq, pmuldq, pmulld, popcnt, ptest, roundss, roundps, roundpd,
	and roundsd opcodes.

	* i386_disasm.c (i386_disasm): Correct resizing of buffer.

	* i386_parse.y (struct argstring): Add off element.
	(off_op_str): New global variable.
	(print_op_str): Print strings as concatenated strings.  Keep track
	of index and length.  Update ->off element.
	(print_op_str_idx): New function.
	(instrtable_out): Mark op%d_fct as const.
	Emit two tables for the strings: the string itself (op%d_str) and the
	index table (op%d_str_idx).
	* i386_disasm.c (i386_disasm): Adjust for new op%d_str definition.

	* i386_disasm.c [X86_64] (i386_disasm): Handle rex prefix when
	printing only prefix.

	* i386_disasm.c (i386_disasm): Minor optimizations.

	* i386_parse.y (instrtable_out): No need to emit index, the reader can
	keep track.
	* i386_disasm.c (i386_disasm): The index is not emitted anymore, no
	need to skip it.

	* i386_disasm.c (amd3dnow): Mark as const.

	* defs/i386: Add blendvpd and blendvps opcodes.

2008-12-30  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Add blendpd and blendps opcodes.

2008-12-19  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Add entry for AMD 3DNOW.
	* i386_disasm.c: Implement AMD 3DNOW disassembly.

2008-12-17  Ulrich Drepper  <drepper@redhat.com>

	* i386_disasm.c (i386_disasm): If instruction matches prefix,
	undoing the prefix match finishes the instruction.

2008-01-21  Roland McGrath  <roland@redhat.com>

	* defs/i386: Fix typo in comment.
	* i386_disasm.c (i386_disasm): Handle cltq, cqto.

	* i386_parse.y: Add sanity check for NMNES macro value.
	* Makefile.am (i386_parse.o): Fix target in dependency rule.
	(i386_parse.h): New target with empty commands.
	(i386_lex.o): Depend on it in place of i386_parse.c.

2008-01-21  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am (EXTRA_DIST): Remove defs/x86_64.

2008-01-14  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Add fixes for opcodes with register number in opcode,
	64-bit immediate forms, nop with rex.B.
	* i386_data.h [X86_64] (FCT_imm64$w): New function.
	(FCT_oreg): New function.
	(FCT_oreg$w): New function.
	* i386_disasm.c (i386_disasm): Reinitialize fmt always before
	starting the loop to process the string.  Handle 0x90 special for
	x86-64.
	* i386_parse.y (fillin_arg): Expand synonyms before concatening to
	form the function name.

2008-01-11  Ulrich Drepper  <drepper@redhat.com>

	* i386_disasm.c (struct output_buffer): Remove symcb and symcbarg.
	(i386_disasm): Remove appropriate initializers.
	Use symcb to lookup symbol strings.

	* i386_disasm.c (struct output_buffer): Add labelbuf, labelbufsize,
	symaddr_use, and symaddr fields.
	(i386_disasm): Remove labelbuf and labelbufsize variables.
	Add back %e format.  Implement %a and %l formats.

	* i386_data.h (general_mod$r_m): Set symaddr_use and symaddr for %rip
	base addressing.

	* i386_disasm.c (i386_disasm): Resize output buffer if necessary.
	Optimize output_data initialization.  Free buffers before return.
	(struct output_data): Remove op1str field.  Adjust code.
	(i386_disasm): Store final NUL btye at end of functions.

2008-01-10  Ulrich Drepper  <drepper@redhat.com>

	* i386_data.h (FCT_crdb): New function.
	(FCT_ccc): Use FCT_crdb.
	(FCT_ddd): Likewise.

	* defs/i386: Fix a few instructions with immediate arguments.

	* i386_disasm.c: Rewrite interface to callback functions for operands
	to take a single pointer to a structure.
	* i386_data.h: Adjust all functions.

2008-01-08  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am: Enable x86-64 again.
	* defs/i386: Lots of changes for x86-64.
	* i386_data.h: Add support for use in x86-64 disassembler.
	* i386_disasm.c: Likewise.
	* i386_parse.y: Likewise.
	* defs/x86_64: Removed.

2008-01-04  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Cleanups, remove masks which are not needed.
	Add remaining Intel opcodes.
	* i386_data.h (FCT_imm8): Check for input buffer overrun.
	* i386_disasm.c (i386_disasm): Likewise.
	* i386_parse.y: Remove suffixes which are not needed anymore.

2008-01-03  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Add yet more SSE instructions.

2008-01-02  Ulrich Drepper  <drepper@redhat.com>

	* i386_disasm.c (i386_disasm): Extend matcher to allow tables to
	contain instructions with prefixes.
	* defs/i386: Use for many SSE operations.
	* i386_data.h (FCT_mmxreg2): Removed.

2008-01-01  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: More 0f prefix support.
	* i386_data.h (FCT_mmxreg): Implement.
	(FCT_mmxreg2): Implement.
	(FCT_mmreg): Remove.
	* i386_disasm.c (i386_disasm): More special instructions.
	Fix tttn suffix for cmov.
	* i386_parse.y: Simplify test for mod/r_m mode.

2007-12-31  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Fix order or arguments for mov of control/debug registers.
	* i386_data.h (FCT_ccc): Implement
	(FCT_ddd): Implement

2007-12-30  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Fix 0f groups 6 and 7.
	* i386_data.c (FCT_mod$16r_m): Implement.
	* i386_disasm.c (i386_disasm): Third parameter can also have string.

2007-12-29  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Add lots of floating point ops.
	* i386_data.h (FCT_fmod$fr_m): Removed.
	(FCT_freg): Implement.
	* i386_disasm.c (i386_disasm): Implement suffix_D.
	* i386_parse.y: Emit suffix_D.

	* defs/i386: Use rel instead of dispA.
	Fix lcall, dec, div, idiv, imul, inc, jmp, ljmp, mul, neg, not, push,
	test.

	* i386_data.h (FCT_dispA): Removed.
	(FCT_ds_xx): Add test for end of input buffer.
	* i386_disasm.c (ABORT_ENTRY): Removed.
	(i386_disasm): Fix handling of SIB.  Pass correct address value to
	operand callbacks.

	* Makefile.am (*.mnemonics): Filter out INVALID entry.
	* defs/i386: Define imms8 and use in appropriate places.
	Add INVALID entries for special opcodes with special mnemonics.
	Fix int3.  Fix typo in shl.  Correct xlat.
	* i386_data.h (FCT_ds_xx): New function.
	(FCT_ds_si): Use it.
	(FCT_ds_bx): New function.
	(FCT_imms8): New function.
	* i386_disasm.c (MNE_INVALID): Define.
	(i386_disasm): Handle invalid opcodes in mnemonics printing, not
	separately.  Fix address value passed to operand handlers.
	* i386_parse.y (bx_reg): Define.
	(instrtable_out): Handle INVALID entries differently, just use
	MNE_INVALID value for .mnemonic.

2007-12-28  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Fix shift and mov immediate instructions.
	* i386_data.h (FCT_imm16): Implement.

	* defs/i386: Use absval instead of abs of lcall and ljmp.
	Add parameters for cmps.  Fix test and mov immediate.
	* i386_data.h: Implement FCT_absval.
	* i386_disasm.c: Handle data16 for suffix_w  and FCT_imm.

	* defs/i386: Move entries with 0x9b prefix together.
	* i386_disasm.c (i386_disasm): Fix recognizing insufficient bytes in
	input.  Handle data16 with suffix_W.

	* i386_data.h (FCT_*): Add end parameter to all functions.  Check
	before using more bytes.
	(FCT_sel): Implement.
	* i386_disasm.c (i386_disasm): Better handle end of input buffer.
	Specal opcode 0x99.

	* Makefile.am: Use m4 to preprocess defs/* files.
	* defs/i386: Adjust appropriately.
	* i386_data.c (FCT_ax): Implement.
	(FCT_ax$w): Use FCT_ax.
	* i386_disasm.c (ADD_STRING): Use _len instead of len.
	(i386_disasm): If no instruction can be matched because of lack of
	input and prefixes have been matched, print prefixes.
	Recognize abort entries.
	Handle special cases.
	* i386_gendis.c: Recognize - input file name.
	* i386_lex.c: Recognize INVALID token.
	* i386_parse.y: Handle INVALID token input.

	* defs/i386: Fix mov, pop.
	* i386_data.h (FCT_sreg3): Implement.

2007-12-27  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Fix adc, add, cmp, or, sbb, sub, xchg, xor.
	* i386_data.h (FCT_imms): New function.
	(FCT_imm$s): Use FCT_imms for handling of signed values.
	(FCT_imm8): Sign extend values.
	* i386_disasm.c (i386_disasm): Implement suffix_w0.
	* i386_parse.y: Emit suffix w0.

	* i386_data.h (FCT_disp8): Add 0x prefix.
	(FCT_ds_si): Implement.
	* i386_disasm.c (i386_disasm): Increment addr for invalid prefixes.
	Implement tttn suffix.
	* i386_parse.y: Emit tttn suffix definition.

2007-12-26  Ulrich Drepper  <drepper@redhat.com>

	* i386_data.h (struct instr_enc): Use suffix field.
	(FCT_dx): Fill in body.
	(FCT_es_di): Likewise.
	(FCT_imm$s): Sign-extended byte values.
	* i386_disasm.c: Protect ADD_CHAR and ADD_STRING macros.  Adjust uses.
	(i386_disasm): Handle suffix.
	* i386_parse.y: Emit suffix information.
	* defs/i386: Remove unnecessary suffixes.

	* Makefile.am: Disable building x86-64 version for now.

	* defs/i386: Fix and, bound, cmp, or, pop, sbb, sub, xor.
	* i386_data.h: Pass pointer to prefix to functions.  If not prefixes
	are consumed this means invalid input.
	* i386_disasm.c: Fix prefix printing.  Adjust function calls for
	parameter change.
	* i386_parse.y: Recognize moda prefix.

2007-12-21  Ulrich Drepper  <drepper@redhat.com>

	* i386_data.h: Fix SIB handling.
	* i386_disasm.c: Likewise.

2007-12-19  Ulrich Drepper  <drepper@redhat.com>

	* defs/i386: Fix up 'and' opcode.

2007-10-31  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am: Add dependencies of the generated files on the source
	files.
	(i386_lex_CFLAGS): Add -Wno-sign-compare.

	* defs/i386: A lot more data.
	* defs/x86_64: Likewise.
	* i386_data.h (struct instr_enc): Add off1_3, off2_3, and off3_3
	fields.
	(opfct_t): Add parameter for third operand.
	(FCT_*): Likewise.
	(data_prefix): New function.
	(FCT_abs): Implement.
	(FCT_ax): Renamed to FCT_ax$w amd implement.
	(FCT_disp8): Implement.
	(FCT_dispA): Implement.
	(FCT_imm): Implement.
	(FCT_imm$w): Implement.
	(FCT_imm$s): Don't zero-pad numbers.
	(FCT_imm8): Likewise.
	(FCT_rel): Likewise.
	(general_mod$r_m): New function.
	(FCT_mod$r_m): Use it.
	(FCT_mod$r_m$w): New function.
	(FCT_mod$8r_m): New function.
	(FCT_reg): Correctly handle 16-bit registers.
	(FCT_reg$w): New function.
	* i386_disasm.c (i386_disasm): Handle prefixes better.
	Pass third parameter to operand functions.
	* i386_parse.y (struct instruction): Add off3 field.
	Handle third operand throughout.

2007-02-05  Ulrich Drepper  <drepper@redhat.com>

	* i386_disasm.c: New file.
	* i386_data.h: New file.
	* i386_gendis.c: New file.
	* i386_lex.l: New file.
	* i386_parse.y: New file.
	* memory-access.h: New file.
	* x86_64_disasm.c: New file.
	* defs/i386: New file.
	* defs/i386.doc: New file.
	* defs/x86_64: New file.

2005-02-15  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.

2005-02-05  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am (AM_CFLAGS): Define, instead of adding things to DEFS.

2003-08-11  Ulrich Drepper  <drepper@redhat.com>

	* Moved to CVS archive.
