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