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