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