| 2022-12-18 Yonggang Luo <luoyonggang@gmail.com> | |
| * i386_mne.h: New file, extracted from i386_disasm.c. | |
| * Makefile.am (noinst_HEADERS): Add i386_mne.h. | |
| (i386_parse_CFLAGS): Removed. | |
| * i386_disasm.c: Include i386_mne.h. | |
| * i386_parse.y: Include i386_mne.h. | |
| (instrtable_out): Use MNE_COUNT instead of NMNES. | |
| 2022-12-18 Yonggang Luo <luoyonggang@gmail.com> | |
| * i386_disasm.c (i386_disasm): Use __asm instead of asm. | |
| 2022-12-20 Mark Wielaard <mark@klomp.org> | |
| * bpf_disasm.c: Include common.h and libeblP.h. | |
| * i386_disasm.c: Include libeblP.h. | |
| * riscv_disasm.c: Likewise. | |
| 2022-10-21 Yonggang Luo <luoyonggang@gmail.com> | |
| * i386_data.h: Define FCT_mod$64r_m as FCT_mod$r_m for i386. | |
| 2022-10-21 Yonggang Luo <luoyonggang@gmail.com> | |
| * i386_disasm.c: Don't include endian.h. | |
| * memory-access.h: Don't include byteswap.h and endian.h. | |
| Do include system.h. | |
| 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. |