2009-09-01 Tristan Gingold <gingold@adacore.com>
[deliverable/binutils-gdb.git] / opcodes / ChangeLog
1 2009-09-01 Tristan Gingold <gingold@adacore.com>
2
3 * makefile.vms: Ported to Itanium VMS. Remove useless targets and
4 dependencies. Remove unused FORMAT variable.
5 * configure.com: New file to create build.com DCL script for
6 Itanium VMS or Alpha VMS.
7
8 2009-08-29 Martin Thuresson <martin@mtme.org>
9
10 * cris-dis.c (bytes_to_skip): Update code to use new name.
11 * i386-dis.c (putop): Update code to use new name.
12 * i386-gen.c (process_i386_opcodes): Update code to use
13 new name.
14 * i386-opc.h (struct template): Rename struct template to
15 insn_template. Update code accordingly.
16 * i386-tbl.h (i386_optab): Update type to use new name.
17 * ia64-dis.c (print_insn_ia64): Rename variable template
18 to template_val.
19 * tic30-dis.c (struct instruction, get_tic30_instruction):
20 Update code to use new name.
21 * tic54x-dis.c (has_lkaddr, get_insn_size)
22 (print_parallel_instruction, print_insn_tic54x, tic54x_get_insn):
23 Update code to use new name.
24 * tic54x-opc.c (tic54x_unknown_opcode, tic54x_optab):
25 Update type to new name.
26 * z8kgen.c (internal, gas): Rename variable new to new_op.
27
28 2009-08-28 H.J. Lu <hongjiu.lu@intel.com>
29
30 * Makefile.am (COMPILE_FOR_BUILD): Remove BUILD_CPPFLAGS.
31 Replace BUILD_CFLAGS with CFLAGS_FOR_BUILD.
32 (LINK_FOR_BUILD): Replace BUILD_CFLAGS/BUILD_LDFLAGS with
33 CFLAGS_FOR_BUILD/LDFLAGS_FOR_BUILD.
34 * Makefile.in: Regenerated.
35
36 2009-08-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
37
38 * Makefile.am (bfdlibdir, bfdincludedir): Move definition ...
39 [INSTALL_LIBBFD]: ... here, ...
40 [INSTALL_LIBBFD]: ... and empty overrides here.
41 [!INSTALL_LIBBFD]: (rpath_bfdlibdir): New variable.
42 [!INSTALL_LIBBFD] (libbfd_la_LDFLAGS): Use it.
43 * Makefile.in: Regenerate.
44 * configure: Regenerate.
45
46 2009-08-26 Philippe De Muyter <phdm@macqel.be>
47
48 * m68k-dis.c (print_insn_arg): Add movecr register names for
49 coldfire v4e families.
50
51 2009-08-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
52
53 * Makefile.am (SUBDIRS): Build '.' before 'po'.
54 (COMPILE_FOR_BUILD, LINK_FOR_BUILD, BUILD_LIBIBERTY)
55 (MOSTLYCLEANFILES, MAINTAINERCLEANFILES): New variables.
56 (i386-gen$(EXEEXT_FOR_BUILD)): Renamed from i386-gen, rewrite
57 using *BUILD variables, depend upon $(BUILD_LIBIBERTY).
58 (i386-gen.o): New rule.
59 ($(srcdir)/i386-init.h): Adjust.
60 (i386-opc.lo): Depend on $(srcdir)/i386-tbl.h.
61 (ia64-gen$(EXEEXT_FOR_BUILD)): Rename from ia64-gen, adjust likewise.
62 (ia64-gen.o): New rule.
63 (ia64_asmtab_deps): New variable.
64 ($(srcdir)/ia64-asmtab.c): Use it; adjust likewise.
65 (ia64-opc.lo): Depend on $(srcdir)/ia64-asmtab.c.
66 (s390-mkopc$(EXEEXT_FOR_BUILD)): Rename from s390-mkopc, adjust
67 likewise.
68 (s390-opc.tab): Adjust.
69 (z8kgen$(EXEEXT_FOR_BUILD), z8kgen.o, $(srcdir)/z8k-opc.h): New
70 rules.
71 (z8k-dis.lo): Depend on $(srcdir)/z8k-opc.h.
72 * Makefile.in: Regenerate.
73 * z8kgen.c (gas): Avoid '/*' in comment.
74 * z8k-opc.h (func): Regenerate.
75
76 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
77
78 * Makefile.am (TARGET_LIBOPCODES_CFILES): New variable, taken
79 from $(CFILES), sorted, with dis-buf.c, dis-init.c, disassemble.c,
80 i386-gen.c, ia64-opc-a.c, ia64-opc-b.c, ia64-opc-f.c, ia64-opc-i.c,
81 ia64-opc-m.c, ia64-opc-d.c, ia64-gen.c, ia64-asmtab.c removed, and
82 msp430-dis.c added.
83 (LIBOPCODES_CFILES): New variable, adding to
84 TARGET_LIBOPCODES_CFILES also non-target library sources.
85 (CFILES): Factorize based on $(LIBOPCODES_CFILES), adding generator
86 files.
87 (ALL_MACHINES): Factorize based on $(TARGET_LIBOPCODES_CFILES).
88 (EXTRA_libopcodes_la_SOURCES): Use $(LIBOPCODES_CFILES).
89 * Makefile.in: Regenerate.
90 * po/POTFILES.in: Regenerate.
91
92 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
93
94 * Makefile.am (libopcodes_la_LDFLAGS): Initialize early.
95 [INSTALL_LIBBFD] (bfdlib_LTLIBRARIES): Set only in this condition.
96 [INSTALL_LIBBFD] (bfdinclude_DATA): New.
97 [!INSTALL_LIBBFD] (noinst_LTLIBRARIES): New.
98 [!INSTALL_LIBBFD] (libopcodes_la_LDFLAGS): Ensure libopcodes.la
99 is built shared even if it is not to be installed.
100 (install-bfdlibLTLIBRARIES,uninstall-bfdlibLTLIBRARIES)
101 (install_libopcodes, uninstall_libopcodes): Remove.
102 (AM_CPPFLAGS): Renamed from ...
103 (INCLUDES): ... this.
104 * Makefile.in: Regenerate.
105
106 * Makefile.am (AUTOMAKE_OPTIONS): Remove 1.9 and cygnus, add
107 1.11, foreign, no-dist.
108 (MKDEP, m32c_opc_h): Remove variables.
109 (disassemble.lo): Rewrite using automake-style dependency
110 tracking rules; only list the dependency upon the primary source
111 file, but no included headers.
112 (m32c-asm.lo, m32c-desc.lo, m32c-dis.lo, m32c-ibld.lo, m32c-opc.lo)
113 (i386-gen.o, ia64-gen.o): Remove dependency statements.
114 (EXTRA_libopcodes_la_SOURCES): New variable, list $(CFILES) to
115 ensure all dependency fragments are included in the Makefile.
116 (s390-opc.lo): Depend on s390-opc.tab.
117 (DEP, DEP1, dep.sed, dep, dep-in, dep-am): Remove rules.
118 (mkdep section): Remove.
119 * Makefile.in: Regenerate.
120 * po/POTFILES.in: Regenerate.
121
122 * Makefile.am (install-pdf, install-html): Remove.
123 * Makefile.in: Regenerate.
124
125 * Makefile.in: Regenerate.
126 * aclocal.m4: Likewise.
127 * config.in: Likewise.
128 * configure: Likewise.
129
130 2009-08-06 Michael Eager <eager@eagercon.com>
131
132 * Makefile.am: Add microblaze-opc.h to HFILES, microblaze-dis.c to
133 CFILES, microblaze-dis.lo to ALL_MACHINES, targets.
134 * Makefile.in: Regenerate.
135 * configure.in: Add bfd_microblaze_arch target.
136 * configure: Regenerate.
137 * disassemble.c: Define ARCH_microblaze, return
138 print_insn_microblaze().
139 * microblaze-dis.c: New MicroBlaze disassembler.
140 * microblaze-opc.h: New MicroBlaze opcode definitions.
141 * microblaze-opcm.h: New MicroBlaze opcode types.
142
143 2009-07-25 H.J. Lu <hongjiu.lu@intel.com>
144
145 * configure.in: Handle bfd_l1om_arch.
146 * disassemble.c (disassembler): Likewise.
147
148 * configure: Regenerated.
149
150 * i386-dis.c (print_insn): Handle bfd_mach_l1om and
151 bfd_mach_l1om_intel_syntax. Use 8 bytes per line for Intel L1OM.
152
153 * i386-gen.c (cpu_flag_init): Set CPU_UNKNOWN_FLAGS to ~CpuL1OM.
154 Add CPU_L1OM_FLAGS.
155 (cpu_flags): Add CpuL1OM.
156 (set_bitfield): Take an argument to set the value field.
157 (process_i386_cpu_flag): Support ~CpuXXX and ~(CpuXXX|CpuYYY).
158 (process_i386_opcode_modifier): Updated.
159 (process_i386_operand_type): Likewise.
160 * i386-init.h: Regenerated.
161 * i386-tbl.h: Likewise.
162
163 * i386-opc.h (CpuL1OM): New.
164 (CpuXsave): Updated.
165 (i386_cpu_flags): Add cpul1om.
166
167 2009-07-24 Jan Beulich <jbeulich@novell.com>
168
169 * i386-dis.c (fgrps): Correct annotation for feni/fdisi. Add
170 frstpm.
171 * i386-gen.c (cpu_flag_init): Add FP enabling flags where needed.
172 (cpu_flags): Add Cpu8087, Cpu287, Cpu387, Cpu687, and CpuFISTTP.
173 (set_bitfield): Expand CpuFP to Cpu8087|Cpu287|Cpu387.
174 * i386-opc.h (Cpu8087, Cpu287, Cpu387, Cpu687, CpuFISTTP):
175 Define.
176 (union i386_cpu_flags): Add cpu8087, cpu287, cpu387, cpu687,
177 and cpufisttp.
178 * i386-opc.tbl: Qualify floating point instructions by their
179 respective CpuXXX flag. Fix fucom{,p,pp}, fprem1, fsin, fcos,
180 and fsincos to be avilable only on 387. Fix fstsw ax to be
181 available only on 287+. Add f{,n}eni, f{,n}disi, f{,n}setpm,
182 and frstpm.
183 * i386-init.h, i386-tbl.h: Regenerate.
184
185 2009-07-20 Nick Clifton <nickc@redhat.com>
186
187 PR 10288
188 * arm-dis.c (arm_opcodes): Catch non-zero bits 8-11 in register
189 offset or indexed based addressing mode 3.
190
191 2009-07-14 Nick Clifton <nickc@redhat.com>
192
193 PR 10288
194 * arm-dis.c (arm_opcodes): Catch illegal Addressing Mode 1
195 patterns.
196 (arm_decode_shift): Catch illegal register based shifts.
197 (print_insn_arm): Properly handle negative register r0
198 post-indexed addressing.
199
200 2009-07-10 Doug Kwan <dougkwan@google.com>
201
202 * arm-disc.c (print_insn_coprocessor, print_insn_arm): Print only
203 lower 32 bits of long types to make hexadecimal output consistent
204 on both 32-bit and 64-bit hosts.
205
206 2009-07-10 Alan Modra <amodra@bigpond.net.au>
207
208 * fr30-desc.c, * fr30-desc.h, * fr30-opc.c, * fr30-opc.h,
209 * frv-desc.c, * frv-desc.h, * frv-opc.c, * frv-opc.h,
210 * ip2k-desc.c, * ip2k-desc.h, * ip2k-opc.c, * ip2k-opc.h,
211 * iq2000-desc.c, * iq2000-desc.h, * iq2000-opc.c, * iq2000-opc.h,
212 * lm32-desc.c, * lm32-desc.h, * lm32-opc.c, * lm32-opc.h,
213 * lm32-opinst.c, * m32c-desc.c, * m32c-desc.h, * m32c-opc.c,
214 * m32c-opc.h, * m32r-desc.c, * m32r-desc.h, * m32r-opc.c,
215 * m32r-opc.h, * m32r-opinst.c, * mt-desc.c, * mt-desc.h,
216 * mt-opc.c, * mt-opc.h, * openrisc-desc.c, * openrisc-desc.h,
217 * openrisc-opc.c, * openrisc-opc.h, * xc16x-desc.c, * xc16x-desc.h,
218 * xc16x-opc.c, * xc16x-opc.h, * xstormy16-desc.c, * xstormy16-desc.h,
219 * xstormy16-opc.c, * xstormy16-opc.h: Regenerate.
220
221 2009-07-07 Chung-Lin Tang <cltang@pllab.cs.nthu.edu.tw>
222
223 * arm-dis.c (coprocessor_opcodes): Fix mask for waddbhus.
224
225 2009-07-07 Nick Clifton <nickc@redhat.com>
226
227 PR 10288
228 * arm-dis.c (arm_opcodes): Be more strict about decoding scaled
229 addressing modes.
230
231 2009-07-06 DJ Delorie <dj@redhat.com>
232
233 * mep-desc.c: Regenerate.
234 * mep-desc.h: Regenerate.
235 * mep-opc.c: Regenerate.
236 * mep-opc.h: Regenerate.
237
238 2009-07-06 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
239
240 * i386-opc.h (CpuFMA4): Add CpuFMA4.
241 (i386_cpu_flags): New.
242 * i386-gen.c: Add CPU_FMA4_FLAGS.
243 * i386-opc.tbl: Add FMA4 instructions.
244 * i386-tbl.h: Regenerate.
245 * i386-init.h: Regenerate.
246 * i386-dis.c (OP_VEX_FMA): New. Handle FMA4.
247 (OP_XMM_VexW): Ditto.
248 (OP_EX_VexW): Ditto.
249 (VEXI4_Fixup): Ditto.
250 (VexI4, VexFMA, Vex128FMA, EXVexW, EXdVexW, XMVexW): New Macros.
251 (PREFIX_VEX_3A5C, PREFIX_VEX_3A5D, PREFIX_VEX_3A5E): New.
252 (PREFIX_VEX_3A5F, PREFIX_VEX_3A60): New.
253 (PREFIX_VEX_3A68, PREFIX_VEX_3A69, PREFIX_VEX_3A6A): New.
254 (PREFIX_VEX_3A6B, PREFIX_VEX_3A6C, PREFIX_VEX_3A6D): New.
255 (PREFIX_VEX_3A6E, PREFIX_VEX_3A6F, PREFIX_VEX_3A7A): New.
256 (PREFIX_VEX_3A7B, PREFIX_VEX_3A7C, PREFIX_VEX_3A7D): New.
257 (PREFIX_VEX_3A7E, PREFIX_VEX_3A7F): New.
258 (VEX_LEN_3A6A_P_2,VEX_LEN_3A6B_P_2, VEX_LEN_3A6E_P_2): New.
259 (VEX_LEN_3A6F_P_2,VEX_LEN_3A7A_P_2, VEX_LEN_3A7B_P_2): New.
260 (VEX_LEN_3A7E_P_2,VEX_LEN_3A7F_P_2): New.
261 (get_vex_imm8): New. handle FMA4.
262 (OP_EX_VexReg): Ditto.
263
264 2009-06-30 Nick Clifton <nickc@redhat.com>
265
266 PR 10288
267 * arm-dis.c (coprocessor): Print the LDC and STC versions of the
268 LFM and SFM instructions as comments,.
269 Improve consistency of formatting for instructions displayed as
270 comments and decimal values displayed with their hexadecimal
271 equivalents.
272 Formatting tidy ups.
273
274 2009-06-29 Nick Clifton <nickc@redhat.com>
275
276 PR 10288
277 * arm-dis.c (enum opcode_sentinels): New: Used to mark the
278 boundary between variaant and generic coprocessor instuctions.
279 (coprocessor): Use it.
280 Fix architecture version of MCRR and MRRC instructions.
281 (arm_opcdes): Fix patterns for STRB and STRH instructions.
282 (print_insn_coprocessor): Check architecture and extension masks.
283 Print a hexadecimal version of any decimal constant that is
284 outside of the range of -16 to +32.
285 (print_arm_address): Add a return value of the offset used in the
286 adress, if it is worth printing a hexadecimal version of it.
287 (print_insn_neon): Print a hexadecimal version of any decimal
288 constant that is outside of the range of -16 to +32.
289 (print_insn_arm): Likewise.
290 (print_insn_thumb16): Likewise.
291 (print_insn_thumb32): Likewise.
292
293 PR 10297
294 * arm-dis.c (UNDEFINED_INSTRUCTION): New macro for a description
295 of an undefined instruction.
296 (arm_opcodes): Use it.
297 (thumb_opcod): Use it.
298 (thumb32_opc): Use it.
299
300 2009-06-23 DJ Delorie <dj@redhat.com>
301
302 * mep-desc.c: Regenerate.
303 * mep-desc.h: Regenerate.
304 * mep-dis.c: Regenerate.
305 * mep-ibld.c: Regenerate.
306 * mep-opc.c: Regenerate.
307
308 * mep-asm.c: Regenerate.
309 * mep-opc.c: Regenerate.
310 * mep-opc.h: Regenerate.
311
312 2009-06-22 Nick Clifton <nickc@redhat.com>
313
314 * po/fi.po: Updated Finish translation.
315
316 2009-06-22 Alan Modra <amodra@bigpond.net.au>
317
318 * m32c-asm.c: Regenerate.
319
320 2009-06-22 Alan Modra <amodra@bigpond.net.au>
321
322 * score-dis.c (print_insn_score48, print_insn_score32): Move default
323 case label to proper lexical block.
324 * score7-dis.c (print_insn_score32): Likewise.
325
326 2009-06-19 Martin Schwidefsky <sschwidefsky@de.ibm.com>
327
328 * s390-opc.c (INSTR_RR_0R_OPT, INSTR_RX_0RRD_OPT, MASK_RR_0R_OPT,
329 MASK_RX_0RRD_OPT): New instruction formats with optional arguments.
330 * s390-opc.txt (nopr, nop): Use new instruction format.
331
332 2009-06-18 Nick Clifton <nickc@redhat.com>
333
334 PR 10288
335 * arm-dis.c (print_insn_coprocessor): Check that a user specified
336 ARM architecture supports the matched instruction.
337 (print_insn_arm): Likewise.
338 (select_arm_features): New function. Fills in the fields of an
339 arm_feature_set structure based on a given arm machine number.
340 (print_insn): Initialise an arm_feature_set structure.
341
342 2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
343
344 * vax-dis.c (is_function_entry): Return success for synthetic
345 symbols too.
346 (is_plt_tail): New function.
347 (print_insn_vax): Decode PLT entry offset longword.
348
349 2009-06-15 Nick Clifton <nickc@redhat.com>
350
351 PR 10186
352 * arm-dis.c (thumb32_opcodes): Fix binary value of SEV.W
353 instruction.
354
355 PR 10173
356 * cr16-dis.c (print_arg): Avoid printing the 0x prefix twice.
357
358 2009-06-15 Nick Clifton <nickc@redhat.com>
359
360 PR 10263
361 * arm-dis.c (print_insn): Ignore is_data if the user has requested
362 the disassembly of data as well as instructions.
363
364 2009-06-11 Doug Evans <dje@sebabeach.org>
365
366 * cgen.sh: Handle multiple simultaneous runs for parallel makes.
367
368 2009-06-11 Anthony Green <green@moxielogic.com>
369
370 * moxie-opc.c (moxie_form1_opc_info): Remove branch instructions.
371 (moxie_form3_opc_info): Add branch instructions.
372 * moxie-dis.c (print_insn_moxie): Disassemble MOXIE_F3_PCREL
373 encoded instructions.
374
375 2009-06-06 Anthony Green <green@moxielogic.com>
376
377 * moxie-opc.c: Recode some MOXIE_F1_4 opcodes as MOXIE_F1_M.
378 * moxie-dis.c (print_insn_moxie): Handle MOXIE_F1_M case.
379
380 2009-06-04 Alan Modra <amodra@bigpond.net.au>
381
382 * dep-in.sed: Don't use \n in replacement part of s command.
383 * Makefile.am (DEP1): LC_ALL for uniq.
384 * Makefile.in: Regenerate.
385
386 2009-06-02 Nick Clifton <nickc@redhat.com>
387
388 * po/nl.po: Updated Dutch translation.
389
390 2009-06-02 Tristan Gingold <gingold@adacore.com>
391
392 * ia64-gen.c (parse_resource_users, print_dependency_table,
393 add_dis_table_ent, finish_distable, insert_bit_table_ent,
394 add_dis_entry, compact_distree, gen_dis_table, completer_entries_eq,
395 get_prefix_len, compute_completer_bits, insert_opcode_dependencies,
396 insert_completer_entry, print_completer_entry, print_completer_table,
397 opcodes_eq, add_opcode_entry, shrink): Use ISO C syntax for functions.
398
399 2009-05-28 DJ Delorie <dj@redhat.com>
400
401 * mep-asm.c: Regenerate.
402 * mep-desc.c: Regenerate.
403
404 2009-05-26 DJ Delorie <dj@redhat.com>
405
406 * mep-asm.c: Regenerate.
407 * mep-desc.c: Regenerate.
408 * mep-desc.h: Regenerate.
409 * mep-dis.c: Regenerate.
410 * mep-ibld.c: Regenerate.
411 * mep-opc.c: Regenerate.
412 * mep-opc.h: Regenerate.
413
414 2009-05-26 Nick Clifton <nickc@redhat.com>
415
416 * po/id.po: Updated Indonesian translation.
417 * po/opcodes.pot: Updated template file.
418
419 2009-05-26 Alan Modra <amodra@bigpond.net.au>
420
421 * dep-in.sed: Don't modify .o to .lo here. Output one filename
422 per line with all lines having continuation backslash. Prefix
423 first line with "A", following lines with "B".
424 * Makefile.am (DEP): Don't use dep.sed here.
425 (DEP1): Run $MKDEP on single files, modify .o to .lo here. Use
426 dep.sed here on dependencies, sort and uniq.
427 * Makefile.in: Regenerate.
428
429 2009-05-25 Tristan Gingold <gingold@adacore.com>
430
431 * makefile.vms (OPT): New variable.
432 (CFLAGS): Update compilation flags.
433
434 2009-05-22 DJ Delorie <dj@redhat.com>
435
436 * mep-asm.c: Regenerate.
437 * mep-desc.c: Regenerate.
438 * mep-desc.h: Regenerate.
439 * mep-dis.c: Regenerate.
440 * mep-ibld.c: Regenerate.
441 * mep-opc.c: Regenerate.
442 * mep-opc.h: Regenerate.
443
444 2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
445
446 * i386-opc.h (Cpusse5): Delete.
447 (i386_cpu_flags): Delete.
448 * i386-gen.c: Remove CpuSSE5, Drex, Drexv and Drexc.
449 * i386-opc.tbl: Remove SSE5 instructions.
450 * i386-tbl.h: Regenerate.
451 * i386-init.h: Regenerate.
452 * i386-dis.c (OP_E_memeory, OP_E_extended): Remove drex handling.
453 (print_drex_arg): Delete.
454 (OP_DREX4): Delete.
455 (OP_DREX3): Delete.
456 (OP_DREX_ICMP): Delete.
457 (OP_DREX_FCMP): Delete.
458 (DREX_*): Delete.
459 (THREE_BYTE_0F24, THREE_BYTE_0F25, THREE_BYTE_0f7B): Delete.
460
461 2009-05-22 Alan Modra <amodra@bigpond.net.au>
462
463 * Makefile.am: Run "make dep-am".
464 * Makefile.in: Regenerate.
465 * po/POTFILES.in: Regenerate.
466
467 2009-05-19 DJ Delorie <dj@redhat.com>
468
469 * mep-asm.c: Regenerate.
470 * mep-opc.c: Regenerate.
471
472 2009-04-30 DJ Delorie <dj@redhat.com>
473
474 * mep-asm.c: Regenerate.
475 * mep-desc.c: Regenerate.
476 * mep-desc.h: Regenerate.
477 * mep-dis.c: Regenerate.
478 * mep-ibld.c: Regenerate.
479 * mep-opc.c: Regenerate.
480 * mep-opc.h: Regenerate.
481
482 2009-04-17 DJ Delorie <dj@redhat.com
483
484 * mep-desc.c: Regenerate.
485 * mep-ibld.c: Regenerate.
486 * mep-opc.c: Regenerate.
487 * mep-opc.h: Regenerate.
488
489 2009-04-15 Anthony Green <green@moxielogic.com>
490
491 * moxie-opc.c, moxie-dis.c: Created.
492 * Makefile.am: Build the moxie source files.
493 * configure.in: Add moxie support.
494 * Makefile.in, configure: Rebuilt.
495 * disassemble.c (disassembler): Add moxie support.
496 (ARCH_moxie): Define.
497
498 2009-04-15 Jan Beulich <jbeulich@novell.com>
499
500 * i386-opc.tbl (protb, protw, protd, protq): Set opcode
501 extension to None.
502 (pshab, pshaw, pshad, pshaq): Likewise.
503 * i386-tbl.h: Re-generate.
504
505 2009-04-08 DJ Delorie <dj@redhat.com
506
507 * mep-asm.c: Regenerate.
508 * mep-desc.c: Regenerate.
509 * mep-desc.h: Regenerate.
510 * mep-dis.c: Regenerate.
511 * mep-ibld.c: Regenerate.
512 * mep-opc.c: Regenerate.
513 * mep-opc.h: Regenerate.
514
515 2009-04-07 Peter Bergner <bergner@vnet.ibm.com>
516
517 * ppc-opc.c (powerpc_opcodes) <"tlbilxlpid", "tlbilxpid", "tlbilxva",
518 "tlbilx">: Use secondary opcode "18" as per the ISA 2.06 documentation.
519 Reorder entries so the extended mnemonics are listed before tlbilx.
520
521 2009-04-02 Peter Bergner <bergner@vnet.ibm.com>
522
523 * ppc-dis.c (powerpc_init_dialect): Do not choose a default dialect
524 due to -many/-Many.
525 (print_insn_powerpc): Make sure we only deprecate instructions using
526 the original dialect and not a modified dialect due to -Many handling.
527 Move the handling of the condition register and default operands to
528 the end of the if/else if/else chain.
529 * ppc-opc.c (powerpc_opcodes): Reorder the opcode table so that
530 instructions from newer processors are listed before older ones.
531 <"icblce", "sync", "eieio", "tlbld">: Deprecate for processors
532 that have instructions with conflicting opcodes.
533
534 2009-04-01 Peter Bergner <bergner@vnet.ibm.com>
535
536 * ppc-opc.c (powerpc_opcodes) <"dcbzl">: Merge the POWER4 and
537 E500MC entries.
538
539 2009-04-01 Christophe Lyon <christophe.lyon@st.com>
540
541 * arm-dis.c (print_insn): Print BE8 opcodes in little endianness.
542
543 2009-03-30 Joseph Myers <joseph@codesourcery.com>
544
545 * arm-dis.c (print_insn): Also check section matches in backwards
546 search for mapping symbol.
547
548 2009-03-26 H.J. Lu <hongjiu.lu@intel.com>
549
550 * i386-dis.c (get_valid_dis386): Abort on unhandled table.
551
552 2009-03-18 Alan Modra <amodra@bigpond.net.au>
553
554 * cgen-opc.c: Include alloca-conf.h rather than alloca.h.
555 * Makefile.am: Run "make dep-am".
556 * Makefile.in: Regenerate.
557 * openrisc-opc.c: Regenerate.
558
559 2009-03-10 Nick Clifton <nickc@redhat.com>
560
561 * po/id.po: Updated Indonesian translation.
562
563 2009-03-10 Alan Modra <amodra@bigpond.net.au>
564
565 * ppc-dis.c: Include "opintl.h".
566 (struct ppc_mopt, ppc_opts): New.
567 (ppc_parse_cpu): New function.
568 (powerpc_init_dialect): Use it.
569 (print_ppc_disassembler_options): Dump options from ppc_opts.
570 Internationalize message.
571
572 2009-03-06 Nick Clifton <nickc@redhat.com>
573
574 * po/es.po: Updated Spanish translation.
575
576 2009-03-04 Alan Modra <amodra@bigpond.net.au>
577
578 PR 6768
579 * configure.in: Test for ld --as-needed support. Link shared
580 libopcodes against libm.
581 * configure: Regenerate.
582
583 2009-03-03 Peter Bergner <bergner@vnet.ibm.com>
584
585 * ppc-opc.c (powerpc_opcodes): Reorder the opcode table so that
586 instructions from newer processors are listed before older ones.
587
588 2009-03-03 Alan Modra <amodra@bigpond.net.au>
589
590 * Makefile.am: Run "make dep-am".
591 (HFILES): Move lm32-desc.h and lm32-opc.h from..
592 (CFILES): ..here.
593 * Makefile.in: Regenerate.
594
595 2009-03-02 Qinwei <qinwei@sunnorth.com.cn>
596
597 * score7-dis.c: New file.
598 * Makefile.am: Add dependencies for score7-dis.c.
599 * Makefile.in: Regenerate.
600 * configure.in: Add score7-dis to score files.
601 * configure: Regenerate.
602 * score-dis.c: Add support for score7 architecture.
603 * score-opc.h: Likewise.
604
605 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
606
607 * configure: Regenerate.
608
609 2009-02-27 H.J. Lu <hongjiu.lu@intel.com>
610
611 * i386-dis.c (OP_EX): Call OP_E_memory instead of OP_E.
612
613 2009-02-26 Peter Bergner <bergner@vnet.ibm.com>
614
615 * ppc-dis.c (powerpc_init_dialect): Extend -Mpower7 to disassemble
616 the power7 and the isel instructions.
617 * ppc-opc.c (insert_xc6, extract_xc6): New static functions.
618 (insert_dm, extract_dm): Likewise.
619 (XB6): Update comment to include XX2 form.
620 (WC, XC6, SHW, DMEX, UIM, XX2, XX3RC, XX4, XX2_MASK, XX2UIM_MASK,
621 XX2BF_MASK, XX3BF_MASK, XX3SHW_MASK, XX4_MASK, XWC_MASK, POWER7): New.
622 (RemoveXX3DM): Delete.
623 (powerpc_opcodes): <"lfdp", "lfdpx", "mcrxr", "mftb", "mffgpr",
624 "mftgpr">: Deprecate for POWER7.
625 <"fres", "fres.", "frsqrtes", "frsqrtes.", "fre", "fre.", "frsqrte",
626 "frsqrte.">: Deprecate the three operand form and enable the two
627 operand form for POWER7 and later.
628 <"wait">: Extend to accept optional parameter. Enable for POWER7.
629 <"waitsrv", "waitimpl">: Add extended opcodes.
630 <"ldbrx", "stdbrx">: Enable for POWER7.
631 <"cdtbcd", "cbcdtd", "addg6s">: Add POWER6 opcodes.
632 <"bpermd", "dcbtstt", "dcbtt", "dcffix.", "dcffix", "divde.", "divde",
633 "divdeo.", "divdeo", "divdeu.", "divdeu", "divdeuo.", "divdeuo",
634 "divwe.", "divwe", "divweo.", "divweo", "divweu.", "divweu", "divweuo.",
635 "divweuo", "fcfids.", "fcfids", "fcfidu.", "fcfidu", "fcfidus.",
636 "fcfidus", "fctidu.", "fctidu", "fctiduz.", "fctiduz", "fctiwu.",
637 "fctiwu", "fctiwuz.", "fctiwuz", "ftdiv", "ftsqrt", "lbarx", "lfiwzx",
638 "lharx", "popcntd", "popcntw", "stbcx.", "sthcx.">: Add POWER7 opcodes.
639 <"lxsdux", "lxsdx", "lxvdsx", "lxvw4ux", "lxvw4x", "stxsdux", "stxsdx",
640 "stxvw4ux", "stxvw4x", "xsabsdp", "xsadddp", "xscmpodp", "xscmpudp",
641 "xscpsgndp", "xscvdpsp", "xscvdpsxds", "xscvdpsxws", "xscvdpuxds",
642 "xscvdpuxws", "xscvspdp", "xscvsxddp", "xscvuxddp", "xsdivdp",
643 "xsmaddadp", "xsmaddmdp", "xsmaxdp", "xsmindp", "xsmsubadp",
644 "xsmsubmdp", "xsmuldp", "xsnabsdp", "xsnegdp", "xsnmaddadp",
645 "xsnmaddmdp", "xsnmsubadp", "xsnmsubmdp", "xsrdpi", "xsrdpic",
646 "xsrdpim", "xsrdpip", "xsrdpiz", "xsredp", "xsrsqrtedp", "xssqrtdp",
647 "xssubdp", "xstdivdp", "xstsqrtdp", "xvabsdp", "xvabssp", "xvadddp",
648 "xvaddsp", "xvcmpeqdp.", "xvcmpeqdp", "xvcmpeqsp.", "xvcmpeqsp",
649 "xvcmpgedp.", "xvcmpgedp", "xvcmpgesp.", "xvcmpgesp", "xvcmpgtdp.",
650 "xvcmpgtdp", "xvcmpgtsp.", "xvcmpgtsp", "xvcpsgnsp", "xvcvdpsp",
651 "xvcvdpsxds", "xvcvdpsxws", "xvcvdpuxds", "xvcvdpuxws", "xvcvspdp",
652 "xvcvspsxds", "xvcvspsxws", "xvcvspuxds", "xvcvspuxws", "xvcvsxddp",
653 "xvcvsxdsp", "xvcvsxwdp", "xvcvsxwsp", "xvcvuxddp", "xvcvuxdsp",
654 "xvcvuxwdp", "xvcvuxwsp", "xvdivdp", "xvdivsp", "xvmaddadp",
655 "xvmaddasp", "xvmaddmdp", "xvmaddmsp", "xvmaxdp", "xvmaxsp",
656 "xvmindp", "xvminsp", "xvmovsp", "xvmsubadp", "xvmsubasp", "xvmsubmdp",
657 "xvmsubmsp", "xvmuldp", "xvmulsp", "xvnabsdp", "xvnabssp", "xvnegdp",
658 "xvnegsp", "xvnmaddadp", "xvnmaddasp", "xvnmaddmdp", "xvnmaddmsp",
659 "xvnmsubadp", "xvnmsubasp", "xvnmsubmdp", "xvnmsubmsp", "xvrdpi",
660 "xvrdpic", "xvrdpim", "xvrdpip", "xvrdpiz", "xvredp", "xvresp",
661 "xvrspi", "xvrspic", "xvrspim", "xvrspip", "xvrspiz", "xvrsqrtedp",
662 "xvrsqrtesp", "xvsqrtdp", "xvsqrtsp", "xvsubdp", "xvsubsp", "xvtdivdp",
663 "xvtdivsp", "xvtsqrtdp", "xvtsqrtsp", "xxland", "xxlandc", "xxlnor",
664 "xxlor", "xxlxor", "xxmrghw", "xxmrglw", "xxsel", "xxsldwi", "xxspltd",
665 "xxspltw", "xxswapd">: Add VSX opcodes.
666
667 2009-02-23 H.J. Lu <hongjiu.lu@intel.com>
668
669 * i386-gen.c (operand_type_init): Remove OPERAND_TYPE_VEX_IMM4.
670 (operand_types): Remove Vex_Imm4.
671
672 * i386-opc.h (Vex_Imm4): Removed.
673 (OTMax): Updated.
674 (i386_operand_type): Remove vex_imm4.
675
676 * i386-opc.tbl: Remove Vex_Imm4 comments.
677 * i386-init.h: Regenerated.
678 * i386-tbl.h: Likewise.
679
680 2009-02-23 Richard Earnshaw <rearnsha@arm.com>
681
682 * arm-dis.c (neon_opcodes): Correct bit-mask and patterns for
683 vq{r}shr{u}n.s64 insnstructions.
684
685 2009-02-19 Peter Bergner <bergner@vnet.ibm.com>
686
687 * ppc-opc.c (powerpc_opcodes) <"lfdepx", "stfdepx">: Fix the first
688 operand to be a float point register (FRT/FRS).
689
690 2009-02-18 Adam Nemet <anemet@caviumnetworks.com>
691
692 * mips-opc.c (mips_builtin_opcodes): Move the Octeon-specific
693 dmfc2 and dmtc2 before the architecture-level variants.
694
695 2009-02-18 Pierre Muller <muller@ics.u-strasbg.fr>
696
697 * fr30-opc.c: Regenerate.
698 * frv-opc.c: Regenerate.
699 * ip2k-opc.c: Regenerate.
700 * iq2000-opc.c: Regenerate.
701 * lm32-opc.c: Regenerate.
702 * m32c-opc.c: Regenerate.
703 * m32r-opc.c: Regenerate.
704 * mep-opc.c: Regenerate.
705 * mt-opc.c: Regenerate.
706 * xc16x-opc.c: Regenerate.
707 * xstormy16-opc.c: Regenerate.
708 * tic54x-dis.c (print_instruction): Avoid compiler warning on
709 sprintf call.
710
711 2009-02-12 Nathan Sidwell <nathan@codesourcery.com>
712
713 * m68k-opc.c (m68k_opcodes): Add stldsr instruction.
714
715 2009-02-05 Peter Bergner <bergner@vnet.ibm.com>
716
717 * ppc-opc.c: Update copyright year.
718 (powerpc_opcodes) <"dcbt", "dcbtst">: Deprecate the Embedded operand
719 ordering for POWER4 and later and use the correct Server ordering.
720
721 2009-02-04 H.J. Lu <hongjiu.lu@intel.com>
722
723 AVX Programming Reference (January, 2009)
724 * i386-dis.c (PREFIX_VEX_3A44): New.
725 (VEX_LEN_3A44_P_2): Likewise.
726 (PREFIX_VEX_3A48): Updated.
727 (VEX_LEN_3A4C_P_2): Likewise.
728 (prefix_table): Add PREFIX_VEX_3A44.
729 (vex_table): Likewise.
730 (vex_len_table): Add VEX_LEN_3A44_P_2.
731
732 * i386-opc.tbl: Add PCLMUL + AVX instructions.
733 * i386-tbl.h: Regenerated.
734
735 2009-02-03 Sandip Matte <sandip@rmicorp.com>
736
737 * mips-dis.c (mips_cp0_names_xlr, mips_cp0sel_names_xlr): Define.
738 (mips_arch_choices): Add XLR entry.
739 * mips-opc.c (XLR): Define.
740 (mips_builtin_opcodes): Add XLR instructions.
741
742 2009-02-03 Carlos O'Donell <carlos@codesourcery.com>
743
744 * Makefile.am: Add install-pdf target.
745 * po/Make-in: Add install-pdf target.
746 * Makefile.in: Regenerate.
747
748 2009-02-02 DJ Delorie <dj@redhat.com>
749
750 * mep-asm.c: Regenerate.
751 * mep-desc.c: Regenerate.
752 * mep-desc.h: Regenerate.
753 * mep-dis.c: Regenerate.
754 * mep-ibld.c: Regenerate.
755 * mep-opc.c: Regenerate.
756 * mep-opc.h: Regenerate.
757
758 2009-01-29 Mark Mitchell <mark@codesourcery.com>
759
760 * arm-dis.c (thumb32_opcodes): Correct decoding for qadd, qdadd,
761 qsub, and qdsub.
762
763 2009-01-28 Chao-ying Fu <fu@mips.com>
764
765 * mips-opc.c (suxc1): Add the flag of FP_D.
766
767 2009-01-20 Alan Modra <amodra@bigpond.net.au>
768
769 * fr30-asm.c, fr30-dis.c, fr30-ibld.c, frv-asm.c, frv-dis.c,
770 * frv-ibld.c, ip2k-asm.c, ip2k-dis.c, ip2k-ibld.c,
771 * iq2000-asm.c, iq2000-dis.c, iq2000-ibld.c, m32c-asm.c,
772 * m32c-dis.c, m32c-ibld.c, m32r-asm.c, m32r-dis.c,
773 * m32r-ibld.c, mep-asm.c, mep-dis.c, mep-ibld.c, mt-asm.c,
774 * mt-dis.c, mt-ibld.c, openrisc-asm.c, openrisc-dis.c,
775 * openrisc-ibld.c, xc16x-asm.c, xc16x-dis.c, xc16x-ibld.c,
776 * xstormy16-asm.c, xstormy16-dis.c, xstormy16-ibld.c: Regenerate.
777
778 2009-01-16 Alan Modra <amodra@bigpond.net.au>
779
780 * configure.in (commonbfdlib): Delete.
781 (SHARED_LIBADD): Add pic libiberty if such is available.
782 * configure: Regenerate.
783 * po/POTFILES.in: Regenerate.
784
785 2009-01-14 Peter Bergner <bergner@vnet.ibm.com>
786
787 * ppc-dis.c (print_insn_powerpc): Skip insn if it is deprecated.
788 * ppc-opc.c (powerpc_opcodes) <mtfsf, mtfsf.>: Deprecate the two
789 operand form and enable the four operand form for POWER6 and later.
790 <mtfsfi, mtfsfi.>: Deprecate the two operand form and enable the
791 three operand form for POWER6 and later.
792
793 2009-01-14 Mike Frysinger <vapier@gentoo.org>
794
795 * bfin-dis.c (OUTS): Use "%s" as format string.
796
797 2009-01-13 H.J. Lu <hongjiu.lu@intel.com>
798
799 * i386-gen.c (cpu_flag_init): Remove a white space.
800 (operand_type_init): Likewise.
801
802 2009-01-12 H.J. Lu <hongjiu.lu@intel.com>
803
804 * i386-opc.tbl: Add NoAVX to movnti, lfence and mfence.
805 * i386-tbl.h: Regenerated.
806
807 2009-01-12 H.J. Lu <hongjiu.lu@intel.com>
808
809 * i386-dis.c (dis386): Use EbS on addB, orB, adcB, sbbB, andB,
810 subB, xorB and cmpB. Use EvS on addS, orS, adcS, sbbS, andS,
811 subS, xorS and cmpS.
812
813 2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
814
815 * i386-gen.c (cpu_flag_init): Replace CpuP4 and CpuK6 with
816 CpuClflush and CpuSYSCALL, respectively. Remove CpuK8. Add
817 CPU_COREI7_FLAGS, CPU_CLFLUSH_FLAGS and CPU_SYSCALL_FLAGS.
818 (cpu_flags): Remove CpuP4, CpuK6 and CpuK8. Add CpuClflush
819 and CpuSYSCALL.
820 (lineno): Removed.
821 (set_bitfield): Take an argument, lineno. Don't report lineno
822 on error if it is -1.
823 (process_i386_cpu_flag): Take an argument, lineno.
824 (process_i386_opcode_modifier): Likewise.
825 (process_i386_operand_type): Likewise.
826 (output_i386_opcode): Likewise.
827 (opcode_hash_entry): Add lineno.
828 (process_i386_opcodes): Updated.
829 (process_i386_registers): Likewise.
830 (process_i386_initializers): Likewise.
831
832 * i386-opc.h (CpuP4): Removed.
833 (CpuK6): Likewise.
834 (CpuK8): Likewise.
835 (CpuClflush): New.
836 (CpuSYSCALL): Likewise.
837 (CpuMMX): Updated.
838 (i386_cpu_flags): Remove cpup4, cpuk6 and cpuk8. Add
839 cpuclflush and cpusyscall.
840
841 * i386-opc.tbl: Update movnti, clflush, lfence, mfence, pause,
842 syscall and sysret.
843 * i386-init.h: Regenerated.
844 * i386-tbl.h: Likewise.
845
846 2009-01-09 H.J. Lu <hongjiu.lu@intel.com>
847
848 * i386-gen.c (cpu_flag_init): Add CpuRdtscp to CPU_K8_FLAGS
849 and CPU_AMDFAM10_FLAGS. Add CPU_RDTSCP_FLAGS.
850 (cpu_flags): Add CpuRdtscp.
851 (set_bitfield): Remove CpuSledgehammer check.
852
853 * i386-opc.h (CpuRdtscp): New.
854 (CpuLM): Updated.
855 (i386_cpu_flags): Add cpurdtscp.
856
857 * i386-opc.tbl: Replace CpuSledgehammer with CpuRdtscp.
858 * i386-init.h: Regenerated.
859 * i386-tbl.h: Likewise.
860
861 2009-01-09 Peter Bergner <bergner@vnet.ibm.com>
862
863 * ppc-opc.c (PPCNONE): Define.
864 (NOPOWER4): Delete.
865 (powerpc_opcodes): Initialize the new "deprecated" field.
866
867 2009-01-06 H.J. Lu <hongjiu.lu@intel.com>
868
869 AVX Programming Reference (December, 2008)
870 * i386-dis.c (VEX_LEN_2B_M_0): Removed.
871 (VEX_LEN_E7_P_2_M_0): Likewise.
872 (VEX_LEN_2C_P_1): Updated.
873 (VEX_LEN_E8_P_2): Likewise.
874 (vex_len_table): Remove VEX_LEN_2B_M_0 and VEX_LEN_E7_P_2_M_0.
875 (mod_table): Likewise.
876
877 * i386-opc.tbl: Add 256bit vmovntdq, vmovntpd and vmovntps.
878 * i386-tbl.h: Regenerated.
879
880 2009-01-05 H.J. Lu <hongjiu.lu@intel.com>
881
882 * i386-gen.c (process_copyright): Update for 2009.
883
884 * i386-init.h: Regenerated.
885 * i386-tbl.h: Likewise.
886
887 2009-01-05 H.J. Lu <hongjiu.lu@intel.com>
888
889 AVX Programming Reference (December, 2008)
890 * i386-dis.c (OP_VEX_FMA): Removed.
891 (OP_EX_VexW): Likewise.
892 (OP_EX_VexImmW): Likewise.
893 (OP_XMM_VexW): Likewise.
894 (VEXI4_Fixup): Likewise.
895 (VPERMIL2_Fixup): Likewise.
896 (VexI4): Likewise.
897 (VexFMA): Likewise.
898 (Vex128FMA): Likewise.
899 (EXVexW): Likewise.
900 (EXdVexW): Likewise.
901 (EXqVexW): Likewise.
902 (EXVexImmW): Likewise.
903 (XMVexW): Likewise.
904 (VPERMIL2): Likewise.
905 (PREFIX_VEX_3A48...PREFIX_VEX_3A4A): Likewise.
906 (PREFIX_VEX_3A5C...PREFIX_VEX_3A5F): Likewise.
907 (PREFIX_VEX_3A68...PREFIX_VEX_3A6F): Likewise.
908 (PREFIX_VEX_3A78...PREFIX_VEX_3A7F): Likewise.
909 (VEX_LEN_3A6A_P_2...VEX_LEN_3A6F_P_2): Likewise.
910 (VEX_LEN_3A7A_P_2...VEX_LEN_3A7F_P_2): Likewise.
911 (get_vex_imm8): Likewise.
912 (OP_EX_VexReg): Likewise.
913 vpermil2_op): Likewise.
914 (EXVexWdq): New.
915 (vex_w_dq_mode): Likewise.
916 (PREFIX_VEX_3896...PREFIX_VEX_389F): Likewise.
917 (PREFIX_VEX_38A6...PREFIX_VEX_38AF): Likewise.
918 (PREFIX_VEX_38B6...PREFIX_VEX_38BF): Likewise.
919 (es_reg): Updated.
920 (PREFIX_VEX_38DB): Likewise.
921 (PREFIX_VEX_3A4A): Likewise.
922 (PREFIX_VEX_3A60): Likewise.
923 (PREFIX_VEX_3ADF): Likewise.
924 (VEX_LEN_3ADF_P_2): Likewise.
925 (prefix_table): Remove PREFIX_VEX_3A48...PREFIX_VEX_3A4A,
926 PREFIX_VEX_3A5C...PREFIX_VEX_3A5F,
927 PREFIX_VEX_3A68...PREFIX_VEX_3A6F and
928 PREFIX_VEX_3A78...PREFIX_VEX_3A7F. Add
929 PREFIX_VEX_3896...PREFIX_VEX_389F,
930 PREFIX_VEX_38A6...PREFIX_VEX_38AF and
931 PREFIX_VEX_38B6...PREFIX_VEX_38BF.
932 (vex_table): Likewise.
933 (vex_len_table): Remove VEX_LEN_3A6A_P_2...VEX_LEN_3A6F_P_2
934 and VEX_LEN_3A7A_P_2...VEX_LEN_3A7F_P_2.
935 (putop): Support "%XW".
936 (intel_operand_size): Handle vex_w_dq_mode.
937
938 * i386-opc.h (VexNDS): Add a comment for VEX NDS and VEX DDS.
939
940 * i386-opc.tbl: Remove vpermil2pd/vpermil2ps and old FMA
941 instructions. Add new FMA instructions.
942 * i386-tbl.h: Regenerated.
943
944 2009-01-02 Matthias Klose <doko@ubuntu.com>
945
946 * or32-opc.c (or32_print_register, or32_print_immediate,
947 disassemble_insn): Don't rely on undefined sprintf behaviour.
948
949 For older changes see ChangeLog-2008
950 \f
951 Local Variables:
952 mode: change-log
953 left-margin: 8
954 fill-column: 74
955 version-control: never
956 End:
This page took 0.077042 seconds and 4 git commands to generate.