bfd/ChangeLog:
[deliverable/binutils-gdb.git] / gas / ChangeLog
1 2010-07-03 Cary Coutant <ccoutant@google.com>
2
3 * Makefile.am: Add compress-debug.c and compress-debug.h.
4 * Makefile.in: Regenerate.
5 * config.in: Add HAVE_ZLIB_H.
6 * configure.in: Check for zlib.h.
7 * configure: Regenerate.
8
9 * as.c (parse_args): Add --compress-debug-sections and
10 --nocompress-debug-sections.
11 * as.h (flag_compress_debug): New variable.
12 * compress-debug.c: New file.
13 * compress-debug.h: New file.
14 * write.c: Include compress-debug.h.
15 (compress_frag): New function.
16 (compress_debug): New function.
17 (write_object_file): Compress debug sections if requested.
18
19 2010-07-03 Andreas Schwab <schwab@linux-m68k.org>
20
21 * config/tc-ppc.c (ppc_set_cpu): Cast PPC_OPCODE_xxx to ppc_cpu_t
22 before inverting.
23
24 2010-07-03 Alan Modra <amodra@gmail.com>
25
26 * config/tc-ppc.c (ppc_set_cpu): Remove old opcode flags.
27 (ppc_setup_opcodes): Likewise. Simplify opcode selection.
28
29 2010-07-02 DJ Delorie <dj@redhat.com>
30
31 * config/tc-rx.h (md_do_align): New.
32 (MAX_MEM_FOR_RS_ALIGN_CODE): New.
33 * config/tc-rx.c (nops): New.
34 (rx_handle_align): Use various sized nops to align code.
35
36 * config/tc-rx.c (rx_bytesT): Add grown/shrank counters for
37 relaxation.
38 (rx_relax_frag): Prevent infinite loops of grow/shrink/grow/etc.
39
40 2010-07-01 H.J. Lu <hongjiu.lu@intel.com>
41
42 AVX Programming Reference (June, 2010)
43 * config/tc-i386.c (cpu_arch): Add .xsaveopt, .fsgsbase, .rdrnd
44 and .f16c.
45
46 * doc/c-i386.texi: Document xsaveopt, fsgsbase, rdrnd and f16c.
47
48 2010-07-01 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
49
50 * config/tc-arm.c (do_t_mov_cmp): Fix reporting of unpredictable and
51 deprecated mov register instructions.
52
53 2010-07-01 Alan Modra <amodra@gmail.com>
54
55 * config/tc-ppc.c (toc_reloc_types): New variable.
56 (md_assemble): Set it.
57 (ppc_frob_file_before_adjust): Don't warn about toc section size
58 if we have large toc relocs and no small toc relocs.
59
60 2010-06-29 Alan Modra <amodra@gmail.com>
61
62 * config/tc-moxie.c (md_apply_fix): Delete set but otherwise
63 unused variable.
64
65 2010-06-29 Alan Modra <amodra@gmail.com>
66
67 * config/tc-maxq.h: Delete file.
68 * config/tc-maxq.c: Delete file.
69 * Makefile.am: Remove references to maxq.
70 * configure.tgt: Likewise.
71 * config/obj-coff.h: Likewise.
72 * Makefile.in: Regenerate.
73 * configure: Regenerate.
74 * po/POTFILES.in: Regenerate.
75
76 2010-06-28 Alan Modra <amodra@gmail.com>
77
78 * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define.
79 * config/tc-crx.c (gettrap): Constify arg.
80 (handle_LoadStor, get_cinv_parameters): Likewise.
81 (getreg_image): Fix enum warning
82 (md_assemble): Restore input line char.
83 * config/tc-hppa.c (tc_gen_reloc): Fix enum warning.
84 * config/tc-i960.c (mem_fmt): Rename var to fix shadow warning.
85 * config/tc-sh.c (sh_fdpic): Only define when OBJ_ELF.
86 (build_Mytes): Fix build failure for non-elf targets.
87 * config/tc-tic4x.c (tic4x_eval): Restore terminator char.
88 * config/tc-xtensa.c (xtensa_end_directive): Fix switch enum warning.
89
90 * cgen.c (gas_cgen_md_apply_fix): Avoid set but unused warning.
91 * ecoff.c (add_ecoff_symbol): Likewise.
92 * itbl-ops.c (append_insns_as_macros): Likewise.
93 * listing.c (debugging_pseudo): Likewise.
94 * read.c (s_mri_common, stringer): Likewise.
95 * config/obj-coff.c (coff_frob_section): Likewise.
96 * config/tc-alpha.c (emit_ldgp, s_alpha_proc): Likewise.
97 * config/tc-arm.c (my_get_expression): Likewise.
98 * config/tc-hppa.c (process_exit, pa_type_args): Likewise.
99 * config/tc-m32c.c (md_assemble): Likewise.
100 * config/tc-microblaze.c (md_convert_frag): Likewise.
101 * config/tc-mips.c (s_change_section): Likewise.
102 * config/tc-mt.c (mt_fix_adjustable): Likewise.
103 * config/tc-xtensa.c (xtensa_literal_pseudo): Likewise.
104
105 * config/obj-aout.c (obj_aout_frob_symbol): Delete set but otherwise
106 unused vars.
107 * config/tc-alpha.c (load_expression): Likewise.
108 (s_alpha_rdata, s_alpha_section, s_alpha_prologue): Likewise.
109 * config/tc-arm.c (parse_neon_el_struct_list): Likewise.
110 * config/tc-avr.c (extract_word): Likewise.
111 * config/tc-cris.c (cris_get_expression): Likewise.
112 * config/tc-d30v.c (build_insn, find_format): Likewise.
113 * config/tc-dlx.c (machine_ip): Likewise.
114 * config/tc-hppa.c (pa_get_absolute_expression): Likewise.
115 * config/tc-i370.c (md_assemble): Likewise.
116 * config/tc-i960.c (brtab_emit): Likewise.
117 * config/tc-iq2000.c (s_iq2000_ent): Likewise.
118 * config/tc-m32c.c (md_convert_frag): Likewise.
119 * config/tc-m68hc11.c (fixup24, build_jump_insn): Likewise.
120 (md_estimate_size_before_relax, md_apply_fix): Likewise.
121 * config/tc-m68k.c (md_show_usage): Likewise.
122 * config/tc-microblaze.c (microblaze_s_lcomm): Likewise.
123 * config/tc-mips.c (s_mips_end): Likewise.
124 * config/tc-mmix.c (mmix_byte, mmix_cons): Likewise.
125 * config/tc-mn10300.c (md_assemble): Likewise.
126 * config/tc-msp430.c (extract_word): Likewise.
127 * config/tc-mt.c (md_assemble): Likewise.
128 * config/tc-or32.c (machine_ip): Likewise.
129 * config/tc-pj.c (md_apply_fix): Likewise.
130 * config/tc-s390.c (md_gather_operands): Likewise.
131 * config/tc-sh.c (sh_cons_align): Likewise.
132 * config/tc-sparc.c (sparc_cons_align): Likewise.
133 * config/tc-tic4x.c (tic4x_sect): Likewise.
134 * config/tc-tic54x.c (tic54x_stringer): Likewise.
135 * config/tc-vax.c (vip_op): Likewise.
136 * config/tc-xstormy16.c (xstormy16_cons_fix_new): Likewise.
137 * config/tc-xtensa.c (md_assemble): Likewise.
138 (xtensa_fix_short_loop_frags, convert_frag_immed): Likewise.
139 (xtensa_move_literals): Likewise.
140
141 2010-06-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
142
143 * config/tc-arm.c (parse_neon_alignment): New function.
144 (parse_address_main): Fix Neon load/store alignment parsing.
145
146 2010-06-22 Jan Beulich <jbeulich@novell.com>
147
148 PR gas/11732
149 * config/tc-i386-intel.c (i386_intel_parse_name): Handle pseudo
150 symbols named "$".
151 (i386_intel_operand): Remove bogus handling of pseudo symbols
152 named "$".
153 * expr.c (current_location): Remove 'static' and local
154 declaration.
155 * expr.h (current_location): Declare.
156
157 2010-06-21 Sterling Augustine <sterling@tensilica.com>
158
159 PR gas/11728
160 * as.c: Globalize keep_it.
161 (main): Remove keep_it. Move conditional from here...
162 (close_output_file): ...to here.
163
164 2010-06-21 Andreas Schwab <schwab@redhat.com>
165
166 * doc/as.texinfo (Overview): Use @itemx for grouped @table
167 items.
168 * doc/c-alpha.texi (Alpha Options): Likewise.
169 * doc/c-arm.texi (ARM Directives): Likewise.
170 * doc/c-bfin.texi (Blackfin Options): Likewise.
171 * doc/c-d10v.texi (D10V-Opts): Likewise.
172 * doc/c-i386.texi (i386-Options): Likewise.
173 * doc/c-ia64.texi (IA-64 Options): Likewise.
174 * doc/c-m68k.texi (M68K-Opts): Likewise.
175 * doc/c-tic54x.texi (TIC54X-Directives): Likewise.
176 * doc/internals.texi (Symbols): Likewise.
177
178 2010-06-21 Alan Modra <amodra@gmail.com>
179
180 PR gas/11733
181 * config/tc-sh.c (find_cooked_opcode): Correct array bounds check.
182
183 2010-06-18 Joseph Myers <joseph@codesourcery.com>
184
185 * config/tc-tic6x.h (tic6x_segment_info_type): Add field
186 func_units_used.
187 * config/tc-tic6x.c (tic6x_cons_align: Clear func_units_used.
188 (md_assemble): Clear func_units_used for new execute packet.
189 Check for duplicate functional units and update func_units_used
190 for instructions using a functional unit.
191
192 2010-06-15 Joseph Myers <joseph@codesourcery.com>
193
194 * config/tc-tic6x.c: Include elf/tic6x.h.
195 (tic6x_arch_attribute, tic6x_seen_insns): New.
196 (tic6x_arch_table, tic6x_arches): Add attribute values.
197 (tic6x_use_arch): Handle attribute settings.
198 (tic6x_attributes_set_explicitly, s_tic6x_c6xabi_attribute,
199 tic6x_attribute_table, tic6x_attributes,
200 tic6x_convert_symbolic_attribute): New.
201 (md_pseudo_table): Add c6xabi_attribute.
202 (md_assemble): Set tic6x_seen_insns and tic6x_arch_attribute.
203 (tic6x_set_attribute_int, tic6x_set_attributes): New.
204 (tic6x_end): Call tic6x_set_attributes.
205 * config/tc-tic6x.h (CONVERT_SYMBOLIC_ATTRIBUTE): Define.
206 (tic6x_convert_symbolic_attribute): Declare.
207
208 2010-06-14 Alan Modra <amodra@gmail.com>
209
210 * config/tc-ppc.c (md_assemble): Emit APUinfo section for
211 PPC_OPCODE_E500.
212
213 2010-06-11 Jan Beulich <jbeulich@novell.com>
214
215 * config/tc-i386.c (md_parse_option): Ignore impossible processor
216 types.
217 (show_arch): New parameter 'check'.
218 (md_show_usage): Adjust calls to show_arch().
219
220 2010-06-10 H.J. Lu <hongjiu.lu@intel.com>
221
222 * config/tc-i386.c (update_code_flag): New.
223 (set_code_flag): Use it.
224 (i386_target_format): Replace set_code_flag with update_code_flag.
225
226 2010-06-10 Tristan Gingold <gingold@adacore.com>
227
228 * config/obj-som.h: Includes som/reloc.h
229
230 2010-06-10 Jan Beulich <jbeulich@novell.com>
231
232 * config/tc-i386.c (cpu_arch): Add comment.
233 (i386_target_format): Set cpu_arch_isa_flags and cpu_arch_tune_flags
234 from the generic entries of cpu_arch[].
235
236 2010-06-08 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
237
238 * config/tc-arm.c (operand_parse_code): Add OP_RRnpctw enum
239 value.
240 (parse_operands): Add support for OP_RRnpctw.
241 (insns): Update floating-point load/store multiples so the
242 first register is of type OP_RRnpctw.
243
244 2010-06-08 Quentin Neill <quentin.neill@amd.com>
245
246 * config/tc-i386.c (pi): Rename local loop counter
247 variable i that shadows global static i386_insn i
248 when DEBUG386 is defined.
249 (pte) Ditto.
250
251 2010-06-08 Nick Clifton <nickc@redhat.com>
252
253 * doc/as.texinfo: Replace abbreviated 20th century year numbers
254 with full versions.
255
256 2010-06-02 Quentin Neill <quentin.neill@amd.com>
257
258 * config/tc-i386.c (OPTION_MAVXSCALAR): Fix define.
259
260 2010-06-02 Tristan Gingold <gingold@adacore.com>
261
262 * as.h: Remove conditionnal definition of HAVE_STDARG_H,
263 USE_STDARG, va_alist, va_dcl, va_list, va_start, va_end.
264 Remove conditionnal inclusion of stdarg.h and varargs.h.
265 Assume ISO C.
266 * config.in: Regenerate.
267 * configure: Regenerate.
268 * configure.in: Remove stdarg.h and varargs.h from
269 AC_CHECK_HEADERS list.
270 * messages.c (as_tsktsk): Remove non ISO C version.
271 (as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto.
272
273 2010-05-31 Tristan Gingold <gingold@adacore.com>
274
275 * config/tc-alpha.c: Add comments for evax.
276 * config/obj-evax.c: Ditto.
277
278 2010-05-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
279
280 * config/tc-arm.c (do_t_mov_cmp): In unified syntax encode movs as
281 lsls and not adds.
282
283 2010-05-27 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
284
285 * config/tc-arm.c (encode_thumb2_ldmstm): Make warning about
286 writeback when base register is in register list an error, and
287 correct check.
288 (do_t_ldmstm): Change warnings.
289
290 2010-05-26 Catherine Moore <clm@codesourcery.com>
291
292 * config/tc-mips.c (is_opcode_valid): Remove expansionp.
293 (macro_build): Change invocation of is_opcode_valid.
294 (mips_ip): Likewise.
295
296 2010-05-25 Nick Clifton <nickc@redhat.com>
297
298 * Makefile.am (MOSTLYCLEANFILES): Fix typo.
299 * Makefile.in: Regenerate.
300
301 2010-05-25 Daniel Jacobowitz <dan@codesourcery.com>
302 Joseph Myers <joseph@codesourcery.com>
303 Andrew Stubbs <ams@codesourcery.com>
304
305 * config/tc-sh.c (sh_fdpic): New.
306 (sh_check_fixup): Handle relocations on movi20.
307 (parse_exp): Do not reject PIC operators here.
308 (build_Mytes): Check for unhandled PIC operators here. Use
309 sh_check_fixup for movi20.
310 (enum options): Add OPTION_FDPIC.
311 (md_longopts, md_parse_option, md_show_usage): Add --fdpic.
312 (sh_fix_adjustable, md_apply_fix): Handle FDPIC and movi20 relocations.
313 (sh_elf_final_processing): Handle --fdpic.
314 (sh_uclinux_target_format): New.
315 (sh_parse_name): Handle FDPIC relocation operators.
316 * config/tc-sh.h (TARGET_FORMAT): Define specially for TE_UCLINUX.
317 (sh_uclinux_target_format): Declare for TE_UCLINUX.
318 * configure.tgt (sh-*-uclinux* | sh[12]-*-uclinux*): Set
319 em=uclinux.
320 * doc/c-sh.texi (SH Options): Document --fdpic.
321
322 2010-05-25 Jay Krell <jay.krell@cornell.edu>
323
324 PR ld/11621
325 * Makefile.am: Replace all occurences of .o with .@OBJEXT@
326 * Makefile.in: Regenerate.
327
328 2010-05-25 Alan Modra <amodra@gmail.com>
329
330 * config/tc-ppc.c (ppc_section_flags): Add ATTRIBUTE_UNUSED to "attr".
331
332 2010-05-19 Nick Clifton <nickc@redhat.com>
333
334 * config/tc-h8300.c (h8300_elf_section): Add .zdebug to the list
335 of known section prefixes.
336
337 2010-05-18 H.J. Lu <hongjiu.lu@intel.com>
338
339 PR gas/11600
340 * obj-elf.c (obj_elf_change_section): Handle SHF_EXCLUDE.
341 (obj_elf_parse_section_letters): Likewise.
342 (obj_elf_section_word): Likewise.
343
344 * config/tc-ppc.c (ppc_section_letter): Removed.
345 (ppc_section_word): Likewise.
346 * config/tc-ppc.h (ppc_section_letter): Likewise.
347 (ppc_section_word): Likewise.
348 (md_elf_section_letter): Likewise.
349 (md_elf_section_word): Likewise.
350
351 * doc/as.texinfo: Document `e' and `#exclude'.
352
353 2010-05-13 Nathan Sidwell <nathan@codesourcery.com>
354
355 * config/tc-arm.c (md_assemble): Clarify current mode in error
356 messages about unsupported instructions.
357 (UT): Delete #define.
358 (insns): Adjust cbnz, cbz appropriately.
359
360 2010-05-11 Andrew Stubbs <ams@codesourcery.com>
361
362 * config/tc-arm.c (aeabi_set_public_attributes): Set Tag_DIV_use.
363
364 2010-05-11 Jie Zhang <jie@codesourcery.com>
365
366 * config/tc-arm.c (aeabi_set_public_attributes): Set
367 Tag_ABI_HardFP_use to 1 if a single precision FPU is selected.
368
369 2010-05-07 Tristan Gingold <gingold@adacore.com>
370
371 * Makefile.in: Regenerate with automake 1.11.1.
372 * aclocal.m4: Ditto.
373 * doc/Makefile.in: Ditto.
374
375 2010-05-05 Nick Clifton <nickc@redhat.com>
376
377 * po/es.po: Updated Spanish translation.
378
379 2010-05-05 Julian Brown <julian@codesourcery.com>
380
381 * read.c (cons_worker): Detect and reject unexpected string argument.
382
383 2010-05-04 Nick Clifton <nickc@redhat.com>
384
385 * write.c (fixup_segment): Revert previous delta.
386 * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Also force the
387 generation of relocations for fixups against weak symbols.
388
389 2010-04-29 Nathan Sidwell <nathan@codesourcery.com>
390
391 * write.c (fixup_segment): Do not assume we know the section a
392 defined weak symbol is in.
393 * config/tc-arm.c (relax_adr, relax_branch, md_apply_fix): Treat
394 weak symbols as not known to be in the same section, even if they
395 are defined.
396
397 2010-04-27 Joseph Myers <joseph@codesourcery.com>
398
399 * config/tc-tic6x.h (tic6x_label_list): New.
400 (tic6x_segment_info_type): Keep a list of labels and a current
401 frag instead of a boolean for whether labels seen and a count of
402 instructions.
403 (tic6x_frag_info, TC_FRAG_TYPE, TC_FRAG_INIT, tic6x_frag_init,
404 md_do_align, tic6x_do_align, md_end, tic6x_end): New.
405 * config/tc-tic6x.c (tic6x_frob_label): Put label on list.
406 (tic6x_cleanup): Correct comment.
407 (tic6x_free_label_list): New.
408 (tic6x_cons_align): Free label list and update for
409 tic6x_segment_info_type changes.
410 (tic6x_do_align): New.
411 (md_assemble): Handle list of labels and saved frag for execute
412 packet. Create machine-dependent frag for new execute packet and
413 adjust labels accordingly.
414 (tic6x_adjust_section, tic6x_frag_init, tic6x_end): New.
415 (md_convert_frag, md_estimate_size_before_relax): Update comments.
416
417 2010-04-24 H.J. Lu <hongjiu.lu@intel.com>
418
419 PR gas/11535
420 * config/tc-i386-intel.c (intel_state): Add is_indirect.
421 (i386_intel_operand): Initialize intel_state.is_indirect. Check
422 intel_state.is_indirect for "call|jmp [symbol]".
423
424 2010-04-22 Nick Clifton <nickc@redhat.com>
425
426 * po/gas.pot: Updated by the Translation project.
427
428 2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
429
430 * config/tc-i386.c (i386_is_register): Removed.
431 (x86_cons): Don't use i386_is_register.
432 (parse_register): Likewise.
433 * config/tc-i386-intel.c (i386_intel_simplify): Likewise.
434 (i386_intel_operand): Likewise.
435
436 2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
437
438 * config/tc-i386.c (tc_x86_parse_to_dw2regnum): Don't use
439 i386_is_register.
440
441 2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
442
443 * config/tc-i386.c (i386_is_register): Remove is_intel_syntax.
444 (x86_cons): Updated.
445 (parse_register): Likewise.
446 (tc_x86_parse_to_dw2regnum): Likewise.
447 * config/tc-i386-intel.c (i386_intel_simplify): Likewise.
448 (i386_intel_operand): Likewise.
449
450 2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
451
452 PR gas/11509
453 * config/tc-i386-intel.c (i386_intel_simplify_register): New.
454 (i386_intel_simplify): Use i386_is_register and
455 i386_intel_simplify_register. Set X_md for O_register and
456 check X_md for O_constant.
457 (i386_intel_operand): Use i386_is_register.
458
459 * config/tc-i386.c (i386_is_register): New.
460 (x86_cons): Initialize the X_md field. Use i386_is_register.
461 (parse_register): Use i386_is_register.
462 (tc_x86_parse_to_dw2regnum): Likewise.
463
464 2010-04-21 H.J. Lu <hongjiu.lu@intel.com>
465
466 * expr.c (expr): Initialize the X_md field.
467
468 2010-04-20 Joseph Myers <joseph@codesourcery.com>
469
470 * config/tc-tic6x.c (OPTION_MGENERATE_REL): New.
471 (md_longopts): Add -mgenerate-rel.
472 (tic6x_generate_rela): New.
473 (md_parse_option): Handle -mgenerate-rel.
474 (md_show_usage): Add comment that -mgenerate-rel is undocumented.
475 (tic6x_init_after_args): New.
476 (md_apply_fix): Correct shift calculations for SB-relative
477 relocations.
478 (md_pcrel_from): Change to tic6x_pcrel_from_section. Do not
479 adjust addresses for relocations referencing symbols in other
480 sections.
481 (tc_gen_reloc): Adjust addend calculations for REL relocations.
482 * config/tc-tic6x.h (MD_PCREL_FROM_SECTION,
483 tic6x_pcrel_from_section, tc_init_after_args,
484 tic6x_init_after_args): New.
485
486 2010-04-20 Nick Clifton <nickc@redhat.com>
487
488 PR gas/11507
489 * macro.c (macro_expand_body): Do not treat LOCAL as a keyword in
490 altmacro mode if found inside a quoted string.
491
492 2010-04-20 Mike Frysinger <vapier@gentoo.org>
493
494 * config/bfin-lex.l (parse_int): Change index() to strchr().
495
496 2010-04-16 Nick Clifton <nickc@redhat.com>
497
498 PR gas/11395
499 * config/tc-hppa.c (pa_ip): Do not allow 64-bit add condition
500 matcher to accept and unconditional 32-bit add instruction.
501 (pa_build_unwind_subspace): Cope with error conditions not
502 allowing the start symbol to be set.
503
504 2010-04-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
505
506 * config/tc-arm.c (arm_convert_symbolic_attribute): Add support for
507 new tag names in v2.08 of ARM ABI.
508 * doc/c-arm.texi: Document new tag names in ABI.
509
510 2010-04-14 Tristan Gingold <gingold@adacore.com>
511
512 * config/tc-alpha.c: Includes vms/egps.h on EVAX.
513 (s_alpha_comm): Used new EGPS macros from egps.h
514 (RGPS__V_NO_SHIFT, EGPS__V_MASK): New local macros.
515 (s_alpha_section_word): Add comments. Use new EGPS macros.
516 Adjust for modified bfd_vms_set_section_flags function.
517
518 2010-04-10 Alan Modra <amodra@gmail.com>
519
520 PR gas/11486
521 * config/tc-ppc.c (ppc_elf_cons): Clear frag contents.
522
523 2010-04-09 Nick Clifton <nickc@redhat.com>
524
525 * as.c (create_obj_attrs_section): Remove unused variable addr.
526 * listing.c (listing_listing): Remove unused variable message.
527 * read.c: Remove unnecessary register type qualifiers.
528 (s_mri): Only define/use old_flag variable if MRI_MODE_CHANGE is
529 defined.
530
531 2010-04-07 Eric B. Weddington <eric.weddington@atmel.com>
532
533 * config/tc-avr.c (mcu_types): Add support for atmega16a, atmega168a,
534 atmega164a, atmega165a, atmega169a, atmega169pa, atmega16hva2,
535 atmega324a, atmega324pa, atmega325a, atmega3250a, atmega328,
536 atmega329a, atmega329pa, atmega3290a, atmega48a, atmega644a,
537 atmega645a, atmega645p, atmega6450a, atmega6450p, atmega649a,
538 atmega649p, atmega6490a, atmega6490p, atmega64hve, atmega88a,
539 atmega88pa, attiny461a, attiny84a, m3000.
540 Remove support for atmega8m1, atmega8c1, atmega16c1, atmega4hvd,
541 atmega8hvd, attiny327, m3000f, m3000s, m3001b.
542 * doc/c-avr.texi: Same.
543
544 2010-04-07 Jie Zhang <jie@codesourcery.com>
545
546 * config/tc-arm.c (make_mapping_symbol): Handle the case
547 that multiple mapping symbols have the same value 0.
548
549 2010-04-07 Alan Modra <amodra@gmail.com>
550
551 * configure: Regenerate.
552
553 2010-04-06 Nick Clifton <nickc@redhat.com>
554
555 * po/ru.po: New Russian translation.
556 * configure.in (ALL_LINGUAS): Add ru.
557 * configure: Regenerate.
558
559 2010-03-30 H.J. Lu <hongjiu.lu@intel.com>
560
561 PR gas/11456
562 * input-scrub.c (input_scrub_next_buffer): Use memmove instead
563 of memcpy to copy overlap memory.
564
565 2010-03-25 Joseph Myers <joseph@codesourcery.com>
566
567 * Makefile.am (TARGET_CPU_CFILES): Add config/tc-tic6x.c.
568 (TARGET_CPU_HFILES): Add config/tc-tic6x.h.
569 * Makefile.in: Regenerate.
570 * NEWS: Add news entry for TI C6X support.
571 * app.c (do_scrub_chars): Handle "||^" for TI C6X. Handle
572 TC_PREDICATE_START_CHAR and TC_PREDICATE_END_CHAR. Keep spaces in
573 operands if TC_KEEP_OPERAND_SPACES.
574 * configure.tgt (tic6x-*-*): New.
575 * config/tc-ia64.h (TC_PREDICATE_START_CHAR,
576 TC_PREDICATE_END_CHAR): Define.
577 * config/tc-tic6x.c, config/tc-tic6x.h: New.
578 * doc/Makefile.am (CPU_DOCS): Add c-tic6x.texi.
579 * doc/Makefile.in: Regenerate.
580 * doc/all.texi (TIC6X): Define.
581 * doc/as.texinfo: Add TI C6X documentation. Include c-tic6x.texi.
582 * doc/c-tic6x.texi: New.
583
584 2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
585
586 * config/tc-i386.c (lex_got): Use STRING_COMMA_LEN on gotrel.
587
588 2010-03-21 H.J. Lu <hongjiu.lu@intel.com>
589
590 * config/tc-i386.c (i386_error): Replace oprand_size_mismatch
591 with operand_size_mismatch.
592 (operand_size_match): Updated.
593 (match_template): Likewise.
594
595 2010-03-21 H.J. Lu <hongjiu.lu@intel.com>
596
597 * config/tc-i386.c (i386_error): New.
598 (_i386_insn): Replace err_msg with error.
599 (operand_size_match): Set error instead of err_msg on failure.
600 (operand_type_match): Likewise.
601 (operand_type_register_match): Likewise.
602 (VEX_check_operands): Likewise.
603 (match_template): Likewise. Use error instead of err_msg with
604 as_bad.
605
606 2010-03-19 Jie Zhang <jie@codesourcery.com>
607
608 * config/tc-arm.c (make_mapping_symbol): Hanle the case
609 that two mapping symbols have the same value.
610
611 2010-03-18 Daniel Jacobowitz <dan@codesourcery.com>
612
613 * doc/c-arm.texi (.setfp): Correct example.
614
615 2010-03-18 Wei Guozhi <carrot@google.com>
616
617 PR gas/11323
618 * config/tc-arm.c (reloc_names): New relocation names.
619 (md_apply_fix): New case for BFD_RELOC_ARM_GOT_PREL.
620 (tc_gen_reloc): New case for BFD_RELOC_ARM_GOT_PREL.
621 * doc/c-arm.texi (ARM-Relocations): Document the new relocation.
622
623 2010-03-15 Thomas Schwinge <thomas@codesourcery.com>
624
625 * dw2gencfi.c (output_cie): Consider emitting the S augmentation in all
626 cases, and not only for .eh_frame.
627
628 * dw2gencfi.c (output_cie): Make it more explicit which code paths
629 belong to .eh_frame only.
630
631 2010-03-13 Segher Boessenkool <segher@kernel.crashing.org>
632
633 * config/tc-v850.c (v850_insert_operand): Handle out-of-range
634 assembler constants on 64-bit hosts.
635
636 2010-03-10 Mike Frysinger <michael.frysinger@analog.com>
637
638 * bfin-defs.h, bfin-lex.l, bfin-parse.y, tc-bfin.c, tc-bfin.h:
639 Strip trailing whitespace.
640
641 2010-03-10 Mike Frysinger <michael.frysinger@analog.com>
642
643 * doc/c-bfin.texi (-mcpu): Add bf504 and bf506.
644 * config/tc-bfin.c (bfin_cpu_type): Add BFIN_CPU_BF504 and
645 BFIN_CPU_BF506.
646 (bfin_cpus[]): Add 0.0 for bf504 and bf506.
647
648 2010-03-10 Jie Zhang <jie@codesourcery.com>
649
650 * doc/as.texinfo: Add Blackfin options.
651 * doc/c-bfin.texi: Document -mfdpic, -mno-fdpic and -mnopic.
652 * config/tc-bfin.c (md_show_usage): Show usage for all
653 Blackfin specific options.
654
655 2010-03-09 Alan Modra <amodra@gmail.com>
656
657 PR gas/11356
658 * listing.c (listing_newline): Correct backslash quote logic.
659
660 2010-03-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
661
662 * config/tc-i386.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define.
663 (ELF_TARGET_FORMAT64): Define.
664
665 2010-03-05 Paul Brook <paul@codesourcery.com>
666
667 * config/tc-arm.c (arm_cpu_option_table): Add cortex-m4.
668
669 2010-03-02 Andrew Stubbs <ams@codesourcery.com>
670
671 * config/tc-sh.c (get_specific): Move overflow checking code to avoid
672 reading uninitialized data.
673
674 2010-03-01 Tristan Gingold <gingold@adacore.com>
675
676 * config/tc-score7.c (s7_frag_check): Add ATTRIBUTE_UNUSED.
677
678 2010-02-26 Doug Evans <dje@sebabeach.org>
679
680 * configure.tgt: Fix mep cpu case.
681
682 2010-02-26 Jie Zhang <jie@codesourcery.com>
683
684 * config/tc-arm.c (do_t_strexd): Remove
685 operand[1] != operand[2] contraint.
686
687 2010-02-26 Jie Zhang <jie@codesourcery.com>
688
689 * config/tc-arm.c (neon_select_shape): No need to match
690 the remaining operands in the shape when one operand does
691 not match.
692
693 2010-02-26 Jie Zhang <jie@codesourcery.com>
694
695 * config/tc-arm.c (do_neon_ld_st_interleave): Reject bad
696 alignment.
697
698 2010-02-25 Doug Evans <dje@sebabeach.org>
699
700 * cgen.c: Whitespace fixes.
701 (weak_operand_overflow_check): Formatting fix.
702
703 2010-02-25 H.J. Lu <hongjiu.lu@intel.com>
704
705 * config/tc-i386.c (match_template): Update error messages.
706
707 2010-02-25 H.J. Lu <hongjiu.lu@intel.com>
708
709 * config/tc-i386.c (_i386_insn): Add err_msg.
710 (operand_size_match): Set err_msg on failure.
711 (operand_type_match): Likewise.
712 (operand_type_register_match): Likewise.
713 (VEX_check_operands): Likewise.
714 (match_template): Likewise. Use i.err_msg with as_bad.
715
716 2010-02-25 Wu Zhangjin <wuzhangjin@gmail.com>
717
718 * config/tc-mips.c (mips_fix_loongson2f, mips_fix_loongson2f_nop,
719 mips_fix_loongson2f_jump): New variables.
720 (md_longopts): Add New options -mfix-loongson2f-nop/jump,
721 -mno-fix-loongson2f-nop/jump.
722 (md_parse_option): Initialize variables via above options.
723 (options): New enums for the above options.
724 (md_begin): Initialize nop_insn from LOONGSON2F_NOP_INSN.
725 (fix_loongson2f, fix_loongson2f_nop, fix_loongson2f_jump):
726 New functions.
727 (append_insn): call fix_loongson2f().
728 (mips_handle_align): Replace the implicit nops.
729 * config/tc-mips.h (MAX_MEM_FOR_RS_ALIGN_CODE): Modified
730 for the new mips_handle_align().
731 * doc/c-mips.texi: Document the new options.
732
733 2010-02-23 Daniel Gutson <dgutson@codesourcery.com>
734
735 * config/tc-arm.c (do_rd_rm_rn): Added warning
736 for obsolete insns.
737
738 2010-02-23 Andrew Zabolotny <anpaza@mail.ru>
739
740 PR binutils/11297
741 * config/tc-avr.c (md_apply_fix): Handle BFD_RELOC_8.
742 (avr_cons_fix_new): Handle fixups of a single byte.
743
744 2010-02-22 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
745
746 PR 9861
747 * config/tc-arm.c (CPU_DEFAULT): Do not define based upon build
748 compiler's predefines.
749
750 2010-02-19 Alan Modra <amodra@gmail.com>
751
752 * configure.tgt: Whiltespace. Sort moxie entry.
753
754 2010-02-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
755
756 * config/tc-arm.c (arm_convert_symbolic_attribute): Add Tag_DIV_use.
757 * doc/c-arm.texi: Likewise.
758
759 2010-02-12 Daniel Gutson <dgutson@codesourcery.com>
760
761 * config/tc-arm.c (asm_opcode): operands type
762 change.
763 (BAD_PC_ADDRESSING): New macro message.
764 (BAD_PC_WRITEBACK): Likewise.
765 (MIX_ARM_THUMB_OPERANDS): New macro.
766 (operand_parse_code): Added enum values.
767 (parse_operands): Added thumb/arm distinction,
768 plus new enum values handling.
769 (encode_arm_addr_mode_2): Validations enhanced.
770 (encode_arm_addr_mode_3): Likewise.
771 (do_rm_rd_rn): Likewise.
772 (encode_thumb32_addr_mode): Likewise.
773 (do_t_ldrex): Likewise.
774 (do_t_ldst): Likewise.
775 (do_t_strex): Likewise.
776 (md_assemble): Call parse_operands with
777 a new parameter.
778 (OPS_1): New macro.
779 (OPS_2): Likewise.
780 (OPS_3): Likewise.
781 (OPS_4): Likewise.
782 (OPS_5): Likewise.
783 (OPS_6): Likewise.
784 (insns): Updated insns operands.
785
786 2010-02-12 Tristan Gingold <gingold@adacore.com>
787 Douglas B Rupp <rupp@gnat.com>
788
789 * config/tc-ia64.c (enum reloc_func): Add FUNC_SLOTCOUNT_RELOC.
790 (DUMMY_RELOC_IA64_SLOTCOUNT): Added.
791 (pseudo_func): Add an entry for slotcount.
792 (md_begin): Initialize slotcount pseudo symbol.
793 (ia64_parse_name): Handle @slotcount parameter.
794 (ia64_gen_real_reloc_type): Handle slotcount.
795 (md_apply_fix): Ditto.
796 * doc/c-ia64.texi (IA-64-Relocs): Document @slotcount.
797
798 2010-02-11 Sterling Augustine <sterling@jaw.hq.tensilica.com>
799
800 * config/tc-xtensa.c (istack_init): Don't call memset.
801
802 2010-02-11 Sterling Augustine <sterling@tensilica.com>
803
804 * config/tc-xtensa.c (cache_literal_section): Handle prefixes as
805 well as suffixes.
806
807 2010-02-11 Sterling Augustine <sterling@tensilica.com>
808
809 * config/tc-xtensa.c (xtensa_find_unaligned_loops): Rewrite.
810
811 2010-02-11 H.J. Lu <hongjiu.lu@intel.com>
812
813 * config/tc-i386.c (build_modrm_byte): Reformat.
814
815 2010-02-11 H.J. Lu <hongjiu.lu@intel.com>
816
817 * config/tc-i386.c: Update copyright.
818
819 2010-02-10 Quentin Neill <quentin.neill@amd.com>
820 Sebastian Pop <sebastian.pop@amd.com>
821
822 * config/tc-i386.c (vec_imm4) New operand type.
823 (fits_in_imm4): New.
824 (VEX_check_operands): New.
825 (check_reverse): Call VEX_check_operands.
826 (build_modrm_byte): Reintroduce code for 5
827 operand insns. Fix whitespace.
828
829 2010-02-10 Richard Sandiford <r.sandiford@uk.ibm.com>
830
831 * config/tc-ppc.c (md_show_usage): Add -mpwr4, -mpwr5, -mpwr5x,
832 -mpwr6 and -mpwr7.
833
834 2010-02-09 Sterling Augustine <sterling@tensilica.com>
835
836 * config/tc-xtensa.c (RELAXED_LOOP_INSN_BYTES): New.
837 (next_frag_pre_opcode_bytes): Use RELAXED_LOOP_INSN_BYTES.
838 (xtensa_mark_zcl_first_insns): Rewrite to handle corner case.
839
840 2010-02-08 Christophe Lyon <christophe.lyon@st.com>
841
842 * config/tc-arm.c (md_pcrel_from_section): Keep base to zero for
843 non-local branches (BFD_RELOC_THUMB_PCREL_BRANCH23,
844 BFD_RELOC_THUMB_PCREL_BLX, BFD_RELOC_ARM_PCREL_BLX,
845 BFD_RELOC_ARM_PCREL_CALL)
846
847 2010-02-08 Sterling Augustine <sterling@tensilica.com>
848
849 * config/tc-xtensa.c (frag_format_size): Generalize logic to
850 handle more instruction sizes and fetch widths.
851 (branch_align_power): Likewise.
852 (text_align_power): Likewise.
853 (bytes_to_stretch): Likewise.
854
855 2010-02-08 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
856
857 * config/tc-ppc.c (md_show_usage): Mention -mtitan. Don't use tabs.
858 (ppc_mach): Handle titan.
859 * doc/c-ppc.texi: Mention -mtitan.
860
861 2010-02-05 Sterling Augustine <sterling@tensilica.com>
862
863 * config/tc-xtensa.c (UNREACHABLE_MAX_WIDTH): Delete and
864 replace with...
865 (xtensa_fetch_width) ...this.
866
867 2010-02-05 Joseph Myers <joseph@codesourcery.com>
868
869 * Makefile.am (CPU_TYPES, OBJ_FORMATS, CPU_OBJ_VALID,
870 MULTI_CPU_TYPES, MULTI_CPU_OBJ_VALID): Remove.
871 * Makefile.in: Regenerate.
872
873 2010-02-03 Quentin Neill <quentin.neill@amd.com>
874
875 * config/tc-i386.c (cpu_arch): Change amdfam15 to bdver1.
876 (i386_align_code): Rename PROCESSOR_AMDFAM15 to PROCESSOR_BDVER1.
877 * config/tc-i386.h (processor_type): Same.
878 * doc/c-i386.texi: Change amdfam15 to bdver1.
879
880 2010-01-29 Nick Clifton <nickc@redhat.com>
881
882 PR 11136
883 * config/tc-arm.c (neon_check_type): Handle a neon_shape value of
884 NS_NULL.
885
886 2010-01-27 Dave Korn <dave.korn.cygwin@gmail.com>
887
888 * NEWS: Mention new feature.
889 * config/obj-coff.c (obj_coff_section): Accept digits and use
890 to override default section alignment power if specified.
891 * doc/as.texinfo (.section directive): Update documentation.
892
893 2010-01-27 H.J. Lu <hongjiu.lu@intel.com>
894
895 * config/tc-i386.c (avxscalar): New.
896 (OPTION_MAVXSCALAR): Likewise.
897 (build_vex_prefix): Select vector_length for scalar instructions
898 based on avxscalar.
899 (md_longopts): Add OPTION_MAVXSCALAR.
900 (md_parse_option): Handle OPTION_MAVXSCALAR.
901 (md_show_usage): Add -mavxscalar=.
902
903 * doc/c-i386.texi: Document -mavxscalar=.
904
905 2010-01-24 H.J. Lu <hongjiu.lu@intel.com>
906
907 * config/tc-i386.c (build_vex_prefix): Set i.vex.bytes[0] to
908 0xc4 individually.
909
910 2010-01-23 Richard Sandiford <r.sandiford@uk.ibm.com>
911
912 * write.h (fix_at_start): Declare.
913 * write.c (fix_new_internal): Add at_beginning parameter.
914 Use it instead of REVERSE_SORT_RELOCS. Fix the handling of
915 seg_fix_tailP for the at_beginning/REVERSE_SORT_RELOCS case.
916 (fix_new, fix_new_exp): Update accordingly.
917 (fix_at_start): New function.
918 * config/tc-ppc.c (md_pseudo_table): Add .ref to the OBJ_XCOFF section.
919 (ppc_ref): New function, for OBJ_XCOFF.
920 (md_apply_fix): Handle BFD_RELOC_NONE for OBJ_XCOFF.
921 * config/te-i386aix.h (REVERSE_SORT_RELOCS): Remove #undef.
922
923 2010-01-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
924
925 * config/te-solaris.h (DWARF2_EH_FRAME_READ_ONLY): Make read-only
926 on 64-bit Solaris/x86.
927 Include obj-format.h earlier.
928
929 2010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
930
931 * config/tc-s390.c (s390_elf_final_processing): New function.
932 * config/tc-s390.h (elf_tc_final_processing): New macro definition.
933 (s390_elf_final_processing): Added prototype.
934
935
936 2010-01-20 Nick Clifton <nickc@redhat.com>
937
938 PR 11109
939 * config/tc-arm.c (do_neon_cvt): Rename to do_neon_cvt_1. Add
940 code to handle round-to-zero for VCVT conversions.
941 (do_neon_cvt): New. Call do_neon_cvt_1.
942 (do_neon_cvtr): New. Call do_neon_cvt_1.
943 (insns): Use do_neon_cvt for VCVT insn and do_neon_cvtr for VCVTR
944 insn.
945
946 2010-01-18 Tristan Gingold <gingold@adacore.com>
947
948 * config/tc-ia64.c (ia64_vms_note): Generate 24 bytes note headers.
949
950 2010-01-15 Sebastian Pop <sebastian.pop@amd.com>
951
952 * config/tc-i386.c (md_assemble): Before accessing the IMM field
953 check that it's not an XOP insn.
954
955 2010-01-14 Jie Zhang <jie.zhang@analog.com>
956
957 * config/bfin-aux.h: Remove argument names in function
958 declarations.
959 * config/bfin-lex.l (parse_int): Fix shadowed variable name
960 warning.
961 * config/bfin-parse.y (value_match): Remove argument names
962 in declaration.
963 (notethat): Likewise.
964 (yyerror): Likewise.
965
966 2010-01-13 Daniel Jacobowitz <dan@codesourcery.com>
967
968 * config/tc-arm.c (do_t_nop): Correct check for Thumb-2 NOP.
969
970 2010-01-13 Nick Clifton <nickc@redhat.com>
971
972 * config/tc-h8300.c (h8300_elf_section): New function - issue a
973 warning message if a new section is created without setting any
974 attributes for it.
975 (md_pseudo_table): Intercept section creation pseudos.
976 (md_pcrel_from): Replace abort with an error message.
977 * config/obj-elf.c (obj_elf_section_name): Export this function.
978 * config/obj-elf.h (obj_elf_section_name): Prototype.
979
980 2010-01-12 Alan Modra <amodra@gmail.com>
981
982 PR 11122
983 * listing.c (print_source): Add one to line number.
984
985 2010-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
986
987 * Makefile.in: Regenerate.
988 * configure: Regenerate.
989 * doc/Makefile.in: Regenerate.
990
991 2010-01-08 H.J. Lu <hongjiu.lu@intel.com>
992
993 * version.c (parse_args): Change to "Copyright 2010".
994
995 2010-01-06 Quentin Neill <quentin.neill@amd.com>
996
997 * config/tc-i386.c (cpu_arch): Add amdfam15.
998 (i386_align_code): Add PROCESSOR_AMDFAM15 cases.
999 * config/tc-i386.h (processor_type): Add PROCESSOR_AMDFAM15.
1000 * doc/c-i386.texi: Add amdfam15.
1001
1002 2010-01-04 Daniel Gutson <dgutson@codesourcery.com>
1003
1004 * config/tc-arm.c (do_neon_logic): Accept imm value
1005 in the third operand too.
1006 (operand_parse_code): OP_RNDQ_IMVNb renamed to
1007 OP_RNDQ_Ibig.
1008 (parse_operands): OP_NILO case removed, applied renaming.
1009 (insns): Neon shape changed for some logic instructions.
1010
1011 2010-01-04 Daniel Gutson <dgutson@codesourcery.com>
1012
1013 * config/tc-arm.c (do_neon_ldx_stx): Added
1014 validation for vector load/store insns.
1015
1016 2010-01-04 Edmar Wienskoski <edmar@freescale.com>
1017
1018 * config/tc-ppc.c (md_show_usage): Document -me500mc64.
1019
1020 2010-01-03 Daniel Gutson <dgutson@codesourcery.com>
1021
1022 * config/tc-arm.c (struct arm_it): New flag 'is_neon'.
1023 (NEON_ENC_*): Macros renamed to _NEON_ENC_*.
1024 (NEON_ENCODE): New macro.
1025 (check_neon_suffixes): New macro.
1026 (do_vfp_cond_or_thumb): Set the 'is_neon' flag.
1027 (do_vfp_nsyn_opcode): Likewise.
1028 (do_vfp_nsyn_nmul): Use the new 'NEON_ENCODE' macro.
1029 (do_vfp_nsyn_cmp): Likewise.
1030 (do_neon_shl_imm): Likewise.
1031 (do_neon_qshl_imm): Likewise.
1032 (neon_dyadic_misc): Likewise.
1033 (do_neon_mac_maybe_scalar): Likewise.
1034 (do_neon_qdmulh): Likewise.
1035 (do_neon_qmovn): Likewise.
1036 (do_neon_qmovun): Likewise.
1037 (do_neon_movn): Likewise.
1038 (neon_mac_reg_scalar_long): Likewise.
1039 (do_neon_vmull): Likewise.
1040 (do_neon_trn): Likewise.
1041 (do_neon_ldx_stx): Likewise.
1042 (neon_dp_fixup): Changed signature and set the flag.
1043 (neon_three_same): Call the above with new signature.
1044 (neon_two_same): Likewise.
1045 (neon_imm_shift): Likewise.
1046 (neon_mul_mac): Likewise.
1047 (do_neon_abs_neg): Likewise.
1048 (neon_mixed_length): Likewise.
1049 (do_neon_ext): Likewise.
1050 (do_neon_mov): Likewise.
1051 (do_neon_tbl_tbx): Likewise.
1052 (do_neon_logic): Likewise, and use the new 'NEON_ENCODE' macro.
1053 (neon_compare): Likewise.
1054 (do_neon_shll): Likewise.
1055 (do_neon_cvt): Likewise.
1056 (do_neon_mvn): Likewise.
1057 (do_neon_dup): Likewise.
1058 (md_assemble): Call check_neon_suffixes ().
1059
1060 For older changes see ChangeLog-2009
1061 \f
1062 Local Variables:
1063 mode: change-log
1064 left-margin: 8
1065 fill-column: 74
1066 version-control: never
1067 End:
This page took 0.052522 seconds and 4 git commands to generate.