f8f95963bac3063df169fd456ba06a7fa809e599
[deliverable/binutils-gdb.git] / gas / ChangeLog
1 2012-07-30 Nick Clifton <nickc@redhat.com>
2
3 * po/gas.pot: Updated template.
4 * po/es.po: Updated Spanish translation.
5 * po/fi.po: Updated Finnish translation.
6 * po/fr.po: Updated French translation.
7
8 2012-07-27 Mike Frysinger <vapier@gentoo.org>
9
10 * configure.in (BFD_VERSION): Run bfd/configure --version and
11 parse the output of that.
12 * configure: Regenerate.
13
14 2012-07-27 Tristan Gingold <gingold@adacore.com>
15
16 * NEWS: Add marker for 2.23.
17
18 2012-07-26 Segher Boessenkool <segher@kernel.crashing.org>
19
20 * listing.c (struct list_message): New.
21 (struct list_info_struct): Delete "message". Add "messages"
22 and "last_message".
23 (listing_message): Adjust.
24 (listing_newline): Adjust.
25 (print_lines): Adjust.
26
27 2012-07-24 Jan Beulich <jbeulich@suse.com>
28
29 * config/tc-i386-intel.c (i386_intel_simplify_register): Handle
30 xmm/ymm index register being specified first as well as esp/rsp
31 base register being specified last in a memory operand.
32
33 2012-07-24 Jan Beulich <jbeulich@suse.com>
34
35 * config/tc-i386-intel.c (i386_intel_simplify_register):
36 Replace literal 4 by corresponding ESP_REG_NUM.
37
38 2012-07-24 Sandra Loosemore <sandra@codesourcery.com>
39 Jie Zhang <jzhang918@gmail.com>
40
41 * config/tc-arm.c (md_apply_fix): Use encoding A2 of ADR
42 if offset is negative.
43
44 2012-07-16 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
45
46 * config/tc-i386.c: Add ADX, RDSEED and PRFCHW asm directives.
47 * doc/c-i386.texi: Document the new directives.
48
49 2012-07-02 Nick Clifton <nickc@redhat.com>
50
51 * write.c (fixup_segment): Only perform the subtraction of an
52 fx_subsy symbol if MD_APPLY_SYM_VALUE allows it and the symbol is
53 properly defined.
54 * config/tc-msp430.h (MD_APPLY_SYM_VALUE): Define.
55
56 2012-06-30 Alan Modra <amodra@gmail.com>
57
58 PR gas/14315
59 * config/obj-elf.c (obj_elf_weak): Don't set local.
60
61 2012-06-30 Johan Olmutz Nielsen <jnielsen@ddci.com>
62
63 * frags.h (frag_offset_fixed_p): Update prototype.
64 * frags.c (frag_offset_fixed_p): Change type of "offset" to offsetT.
65 * expr.c (expr, resolve_expression): Likewise for frag_off var.
66
67 2012-06-29 Nick Clifton <nickc@redhat.com>
68
69 PR gas/14263
70 * config/tc-arm.c (parse_operands): Initialise val.
71
72 2012-06-28 Nick Clifton <nickc@redhat.com>
73
74 PR gas/14260
75 * config/tc-arm.c (encode_arm_addr_mode_common): Generate an error
76 message if literal pool addressing is used.
77
78 2012-06-28 Nick Clifton <nickc@redhat.com>
79
80 * dwarf2dbg.c (DWARF2_USE_FIXED_ADVANCE_PC): Enable when using
81 linker relaxation.
82 (dwarf2_gen_line_info): Generate real, local, labels for line
83 numbers.
84 (dwarf2dbg_convert_frag): Do not finalize the computation of the
85 frag's symbol value when linker relaxation is enabled.
86 (ADDR_DELTA_LIMIT): Define.
87 (size_fixed_inc_line_addr): Use ADDR_DELTA_LIMIT.
88 (emit_fixed_inc_line_addr): Likewise.
89 * write.c (fixup_segment): If the subtraction of two symbols
90 cannot be resolved but is valid, then prevent bogus range warnings
91 by pre-biasing add_number.
92 * config/tc-h8300.h (DWARF2_USE_FIXED_ADVANCE_PC): Define to 0.
93
94 2012-06-22 Roland McGrath <mcgrathr@google.com>
95
96 * NEWS: Mention 'rep ret' too.
97
98 * config/tc-i386.c (parse_insn): Don't complain about REP prefix
99 when the template has opcode_modifier.repprefixok set.
100 * NEWS: Mention the change.
101
102 2012-06-18 Iain Sandoe <iain@codesourcery.com>
103
104 * configure.in: Check DECLS for free, getenv, malloc, realloc,
105 * configure: Regenerate.
106 * config.in: Likewise.
107
108 2012-06-13 H.J. Lu <hongjiu.lu@intel.com>
109
110 * config/tc-i386.c (x86_address_bytes): New.
111 * config/tc-i386.h (TC_ADDRESS_BYTES): Likewise.
112 (x86_address_bytes): Likewise.
113
114 2012-06-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
115
116 PR gas/12698
117 * config/tc-arm.c (do_t_mrs): Do not require an m-profile
118 architecure when assembling for all archiectures.
119 (do_t_msr): Likewise.
120
121 2012-06-11 Georg-Johann Lay <avr@gjlay.de>
122
123 PR 13503
124 * config/tc-avr.c (exp_mod): Fix typo introduced in 1.82
125 from 2012-05-16.
126
127 2012-06-09 H.J. Lu <hongjiu.lu@intel.com>
128
129 * input-scrub.c (input_scrub_include_sb): Use sb_build to
130 allocate sufficient space for from_sb. Use sb_terminate to
131 terminate string.
132 * read.c (read_a_source_file): Use sb_build to allocate
133 sufficient space and replace sb_add_string with sb_add_buffer.
134 (s_macro): Likewise.
135 (input_scrub_insert_line): Likewise.
136 (s_irp): Use sb_build to allocate sufficient space.
137 (do_repeat): Use sb_build to allocate sufficient space
138 for many.
139 * sb.c (sb_build): Remove static.
140 * sb.h (sb_build): New prototype.
141
142 2012-06-09 Alan Modra <amodra@gmail.com>
143
144 * sb.c: Include limits.h.
145 (dsize): Delete.
146 (MALLOC_OVERHEAD, INIT_ALLOC): Define.
147 (sb_new): Use INIT_ALLOC.
148 (sb_check): Modify allocation strategy using MALLOC_OVERHEAD.
149 (sb_terminate): Don't use sb_add_char.
150
151 2012-06-07 Alan Modra <amodra@gmail.com>
152
153 PR gas/14201
154 * sb.h (sb_max_power_two): Delete.
155 (struct sb): Delete "item" and "pot". Make "len" a size_t. Add "max".
156 (sb_element): Delete.
157 (sb_add_char, sb_add_buffer, sb_skip_comma, sb_skip_write): Update
158 prototypes.
159 * sb.c (string_count, free_list): Delete.
160 (sb_build, sb_kill, sb_check): Rewrite.
161 (scrub_from_sb, sb_add_char, sb_add_string, sb_add_buffer,
162 sb_skip_white, sb_skip_comma): Replace assorted int params,
163 vars and return types with size_t.
164 * input-scrub.c: Likewise.
165 * macro.c: Likewise.
166 * macro.h: Likewise.
167 * as.c: Likewise.
168 * as.h: Likewise.
169 * input-file.h: Likewise.
170 * input-file.c: Likewise.
171 * read.c: Likewise.
172 * app.c: ..or ptrdiff_t.
173 * input-file.c (input_file_get): Use ferror.
174 (input_file_give_next_buffer): Use input_file_get.
175
176 2012-05-29 Roland McGrath <mcgrathr@google.com>
177
178 * read.c [HANDLE_BUNDLE] (bundle_lock_depth): New variable.
179 (read_a_source_file) [HANDLE_BUNDLE]: Reset it.
180 [HANDLE_BUNDLE] (s_bundle_lock, s_bundle_unlock): Allow nested
181 pairs.
182
183 2012-05-28 Nick Clifton <nickc@redhat.com>
184
185 * read.c (read_symbol_name): New function. Reads a symbol names.
186 Allows escape codes in names.
187 (s_comm_internal): Use read_symbol_name.
188 (s_globl, s_lsym, s_set, s_weakref): Likewise.
189 * doc/as.texinfo: Document support for multibyte characters in
190 symbol names.
191
192 2012-05-21 Mike Frysinger <vapier@gentoo.org>
193
194 * config/tc-mips.c (mips_after_parse_args): Assert that arch_info
195 is non-NULL.
196
197 2012-05-19 Alan Modra <amodra@gmail.com>
198
199 * config/obj-elf.c (obj_elf_section): Cater for TC_KEEP_OPERAND_SPACES
200 targets when checking for "comdat".
201
202 2012-05-19 Alan Modra <amodra@gmail.com>
203
204 * config/tc-dlx.c (s_proc): Don't use asprintf.
205
206 2012-05-18 Alan Modra <amodra@gmail.com>
207
208 * config/tc-dlx.c (s_proc): Avoid warning about ignoring asprintf
209 return value.
210
211 2012-05-18 James Lemke <jwlemke@codesourcery.com>
212 Alan Modra <amodra@gmail.com>
213
214 * config/tc-ppc.c: Don't capitalise error and warning messages.
215 (md_parse_option): Add checks for -a32 -mvle.
216
217 2012-05-18 Alan Modra <amodra@gmail.com>
218
219 * config/obj-evax.c: Include as.h first.
220
221 2012-05-18 Andreas Schwab <schwab@linux-m68k.org>
222
223 * aclocal.m4: Regenerate.
224 * configure: Regenerate.
225 * Makefile.in: Regenerate.
226
227 2012-05-17 Daniel Richard G. <skunk@iskunk.org>
228 Nick Clifton <nickc@redhat.com>
229
230 PR 14072
231 * configure.in: Add check that sysdep.h has been included before
232 any system header files.
233 * configure: Regenerate.
234 * config.in: Regenerate.
235 * aclocal.m4: Regenerate.
236 * Makefile.am: Use wrappers around C files generated by flex.
237 * Makefile.in: Regenerate.
238 * doc/Makefile.in: Regenerate.
239 * itbl-lex-wrapper.c: New file.
240 * config/bfin-lex-wrapper.c: New file.
241 * cgen.c: Include as.h before setjmp.h.
242 * config/tc-dlx.c: Include as.h before any other header.
243 * config/tc-h8300.c: Likewise.
244 * config/tc-lm32.c: Likewise.
245 * config/tc-mep.c: Likewise.
246 * config/tc-microblaze.c: Likewise.
247 * config/tc-mmix.c: Likewise.
248 * config/tc-msp430.c: Likewise.
249 * config/tc-or32.c: Likewise.
250 * config/tc-tic4x.c: Likewise.
251 * config/tc-tic54x.c: Likewise.
252 * config/tc-xtensa.c: Likewise.
253
254 2012-05-16 Sergio Durigan Junior <sergiodj@redhat.com>
255
256 * config/tc-alpha.c (maybe_set_gp): Pass proper `bfd'
257 as the first argument for `bfd_get_section_vma'.
258
259 2012-05-16 Alberto Garcia <agarcia@igalia.com>
260
261 PR gas/14082
262 * app.c (do_scrub_chars): Prevent possible out of bounds access to
263 lex[] array.
264
265 2012-05-16 Georg-Johann Lay <avr@gjlay.de>
266
267 PR target/13503
268 * config/tc-avr.c (avr_cons_fix_new): Rename R_AVR_8_HHI8 to
269 R_AVR_8_HLO8.
270 (exp_mod_data) Ditto. And replace "hhi8" with "hlo8".
271 (md_apply_fix): Rename BFD_RELOC_AVR_8_HHI to BFD_RELOC_AVR_8_HLO.
272
273 2012-05-16 Nathan Sidwell <nathan@codesourcery.com>
274 Kwok Cheung Yeung <kcy@codesourcery.com>
275
276 * config/tc-m68k.c (m68k_cpus): Add 51ag, 51je, 51jf, 51jg, 51mm,
277 51qm variants.
278
279 2012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
280
281 * config/tc-m68hc11.c: Add S12X and XGATE co-processor support.
282 Add option to offset S12 addresses into XGATE memory space.
283 Tweak target flags to match other tools. (i.e. -m m68hc11).
284 * doc/as.texinfo: Mention new options.
285 * doc/c-m68hc11.texi: Document new options.
286 * NEWS: Mention new support.
287
288 2012-05-14 DJ Delorie <dj@redhat.com>
289
290 * config/rx-parse.y (rx_range): declare.
291 (O1,O2,O3,O4): Add calls to rx_range.
292 (UO1,UO2,UO3): Likewise.
293 (IMM2,IMMB): Likewise.
294 (rx_range): New.
295
296 * config/tc-rx.c (rx_fetchalign): Declare.
297 (md_pseudo_table): Add .fetchalign.
298 (RX_NBASE_FETCHALIGN): New.
299 (fetchalign_bytes): New.
300 (rx_fetchalign): New.
301 (rx_frag_init): If a "magic" value is found, also init the
302 machine-specific data.
303 (md_assemble): Note following opcode size if called for.
304 (rx_next_opcode): New.
305 (rx_relax_frag): Support .fetchalign.
306 (md_convert_frag): Likewise.
307 * doc/c-rx.texi (RX-Directives): Add .fetchalign.
308
309 2012-05-14 James Lemke <jwlemke@codesourcery.com>
310
311 * config/tc-ppc.c (insn_validate): New func of existing code to call..
312 (ppc_setup_opcodes): ..from 2 places here.
313 Revise for second (VLE) opcode table.
314 Add #ifdef'd code to print opcode tables.
315
316 2012-05-14 James Lemke <jwlemke@codesourcery.com>
317
318 * config/tc-ppc.c (ppc_setup_opcodes): Allow out-of-order
319 for the VLE conditional branches.
320
321 2012-05-14 Catherine Moore <clm@codesourcery.com>
322 Maciej W. Rozycki <macro@codesourcery.com>
323 Rhonda Wittels <rhonda@codesourcery.com>
324
325 * config/tc-ppc.c (PPC_VLE_SPLIT16A): New macro.
326 (PPC_VLE_SPLIT16D): New macro.
327 (PPC_VLE_LO16A): New macro.
328 (PPC_VLE_LO16D): New macro.
329 (PPC_VLE_HI16A): New macro.
330 (PPC_VLE_HI16D): New macro.
331 (PPC_VLE_HA16A): New macro.
332 (PPC_VLE_HA16D): New macro.
333 (PPC_APUINFO_VLE): New definition.
334 (md_chars_to_number): New function.
335 (md_parse_option): Check for combinations of little
336 endian and -mvle.
337 (md_show_usage): Document -mvle.
338 (ppc_arch): Recognize VLE.
339 (ppc_mach): Recognize bfd_mach_ppc_vle.
340 (ppc_setup_opcodes): Print the opcode table if
341 * config/tc-ppc.h (ppc_frag_check): Declare.
342 * doc/c-ppc.texi: Document -mvle.
343 * NEWS: Mention PowerPC VLE port.
344
345 2012-05-14 Catherine Moore <clm@codesourcery.com>
346
347 * config/tc-ppc.h (ppc_dw2_line_min_insn_length): Declare.
348 (DWARF2_LINE_MIN_INSN_LENGTH): Redefine.
349 * config/tc-ppc.c (ppc_dw2_line_min_insn_length): New.
350 * dwarf2dbg.c (scale_addr_delta): Handle values of 1
351 for DWARF2_LINE_MIN_INSN_LENGTH.
352
353 2012-05-12 H.J. Lu <hongjiu.lu@intel.com>
354
355 * config/tc-i386.c (tc_gen_reloc): Remove x32 addend overflow
356 for BFD_RELOC_64.
357
358 2012-05-11 Daniel Richard G. <skunk@iskunk.org>
359
360 PR binutils/14028
361 * configure.in: Invoke ACX_HEADER_STRING.
362 * configure: Regenerate.
363 * config.in: Regenerate.
364 * as.h: If STRINGS_WITH_STRING is defined then include both
365 string.h and strings.h.
366
367 2012-05-11 Georg-Johann Lay <avr@gjlay.de
368
369 PR target/13503
370 * config/tc-avr.c (exp_mod_pm): Remove variable.
371 (exp_mod_data_t): New typedef.
372 (pexp_mod_data, exp_mod_data): New variables.
373 (avr_parse_cons_expression): Scan through exp_mod_data[] to find
374 data expression modifiers "pm", "gs", "lo8", hi8", "hhi8", "hh8"
375 and set pexp_mod_data accordingly to be used in avr_cons_fix_new.
376 (avr_cons_fix_new): Handle new data expression modifiers shipped
377 in pexp_mod_data.
378 (md_apply_fix): Handle BFD_RELOC_AVR_8_LO, BFD_RELOC_AVR_8_HI,
379 BFD_RELOC_AVR_8_HHI.
380
381 2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
382
383 * config/tc-i386.c (tc_gen_reloc): Use bfd_signed_vma in x32
384 addend overflow check.
385
386 2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
387
388 * config/tc-i386.c (tc_gen_reloc): Display signed hex number in
389 x32 addend overflow check.
390
391 2012-05-09 H.J. Lu <hongjiu.lu@intel.com>
392
393 * config/tc-i386.c (tc_gen_reloc): Use fits_in_signed_long.
394
395 2012-05-09 H.J. Lu <hongjiu.lu@intel.com>
396
397 * config/tc-i386.c (tc_gen_reloc): Check x32 addend overflow
398 for BFD_RELOC_64.
399
400 2012-05-08 Alan Modra <amodra@gmail.com>
401
402 * Makefile.am (check_DEJAGNU): Export LC_ALL=C in place of other
403 LC and LANG environment vars.
404 * Makefile.in: Regenerate.
405
406 2012-05-07 Alan Modra <amodra@gmail.com>
407
408 * Makefile.am (check-DEJAGNU): Clear LC_COLLATE, LC_ALL and LANG.
409 * Makefile.in: Regenerate.
410
411 2012-05-06 Arnold Metselaar <arnold_m@operamail.com>
412
413 * config/tc-z80.h(md_register_arithmetic): Define as 0.
414 * config/tc-z80.c(md_begin): Store register names in symbol table,
415 preventing usage as ordinary symbol.
416 * config/tc-z80.c(contains_register): New function.
417 * config/tc-z80.c(parse_exp2): Removed.
418 * config/tc-z80.c(parse_exp_not_indexed): New function.
419 * config/tc-z80.c(parse_exp): Add code to recogize indexed
420 addressing after parsing.
421 * config/tc-z80.c(emit_byte, emit_word): Use contains_register.
422 * config/tc-z80.c(emit_jp): Use parse_exp_not_indexed, simplify
423 condition for jump to register.
424 * config/tc-z80.c(emit_call, emit_jr, emit_ex, emit_rst): Use
425 parse_exp_not_indexed.
426
427 2012-05-05 Alan Modra <amodra@gmail.com>
428
429 * ecoff.c: Replace all uses of bfd_abs_section, bfd_com_section,
430 bfd_und_section and bfd_ind_section with their _ptr variants, or
431 use corresponding bfd_is_* macros.
432 * symbols.c: Likewise.
433 * config/obj-aout.c: Likewise.
434 * config/obj-coff-seh.h: Likewise.
435 * config/tc-hppa.c: Likewise.
436 * config/tc-hppa.h: Likewise.
437 * config/tc-ia64.c: Likewise.
438 * config/tc-m32r.c: Likewise.
439 * config/tc-microblaze.c: Likewise.
440 * config/tc-mips.c: Likewise.
441 * config/tc-score.c: Likewise.
442 * config/tc-score7.c: Likewise.
443 * config/tc-tic6x.c: Likewise.
444
445 2012-05-04 H.J. Lu <hongjiu.lu@intel.com>
446
447 * configure.tgt: Support x86_64-*-linux-gnux32.
448
449 2012-05-04 H.J. Lu <hongjiu.lu@intel.com>
450
451 * config/tc-i386.c (match_template): Add `instruction' to
452 unsupported error message.
453
454 2012-05-04 H.J. Lu <hongjiu.lu@intel.com>
455
456 * config/tc-i386.c (output_insn): Reformat.
457
458 2012-05-04 H.J. Lu <hongjiu.lu@intel.com>
459
460 * config/tc-i386.c (output_insn): Remove the extra VEX check.
461
462 2012-05-04 H.J. Lu <hongjiu.lu@intel.com>
463
464 * config/tc-i386.c (match_template): Improve unsupported error
465 message.
466
467 2012-05-03 Sean Keys <skeys@ipdatasys.com>
468
469 * configure, Makefile.in: Regenerate.
470 * Makefile.am (CPU_TYPES, TARGET_CPU_CFILES, TARGET_CPU_HFILES):
471 * configure.tgt: Added cpu type.
472 Added files for XGATE assembler.
473 * config/tc-xgate.c: Assembler for XGATE.
474 * config/tc-xgate.h: Header definition for assembler
475 Added files for XGATE testsuite.
476 * doc/Makefile.am (CPU_DOCS): Added XGATE file.
477 * doc/c-xgate.texi: Document XGATE and XGATE port.
478 * doc/as.texinfo: Ditto.
479 * doc/all.texi: Ditto
480 * NEWS: Mention the new support.
481
482 2012-04-30 DJ Delorie <dj@redhat.com>
483
484 * config/rx-parse.y (rx_intop): Add parameter for operation size.
485 Check for large positive constants really being small negative
486 ones.
487 (BRA, BSR): Update calls to rx_intop.
488 (immediate): Likewise.
489
490 2012-04-26 Mark Wielaard <mjw@redhat.com>
491
492 * dwarf2dbg.c (DWARF2_ARANGES_VERSION): New define to 2.
493 (DWARF2_LINE_VERSION): Likewise.
494 (out_debug_line): Use DWARF2_LINE_VERSION not DWARF2_VERSION.
495 (out_debug_aranges): Use DWARF2_ARANGES_VERSION not DWARF2_VERSION.
496 (out_debug_abbrev): Use DW_FORM_data for DW_AT_high_pc when
497 DWARF2_VERSION >= 4.
498 (out_debug_info): Use difference between start and end as data
499 value for DW_AT_high_pc when DWARF2_VERSION >= 4.
500 * config/tc-ia64.h (DWARF2_LINE_VERSION): Override it.
501
502 2012-04-27 David S. Miller <davem@davemloft.net>
503
504 * doc/c-sparc.text: Document %l34 and %h34.
505
506 * config/tc-sparc.c (v9a_asr_table): Add 'cfr'.
507
508 * config/tc-sparc.c (sparc_arch_table): Add HWCAP_PAUSE to sparc4,
509 v8pluse, v8plusv, v9e, and v9v.
510 (v9a_asr_table): Add 'pause'.
511
512 * config/tc-sparc.c (sparc_arch_table): Add HWCAP_CBCOND to
513 sparc4, v8pluse, v8plusv, v9e, and v9v.
514 (sparc_ip): Handle R_SPARC_5 of immediate constants inline in
515 order to accomodate cbcond which otherwise would require two
516 relocations to be handled in a single instruction..
517
518 * config/tc-sparc.c (sparc_ip): Likewise. Accept instruction
519 names containing "_".
520 (sparc_arch_table): Add sparc4, v8pluse, and v9e. Add crypto
521 hwcap masks to v8plusv and v9v.
522
523 * config/tc-sparc.c (sparc_arch_table): Rework to use HWCAP_*
524 masks.
525 (sparc_md_end): No longer need to translate hwcap_seen values into
526 ELF hwcap bits, they now match exactly.
527 (get_hwcap_name): Use HWCAP_* and handle new values.
528 (sparc_ip): Fetch hwcaps from insn->hwcaps instead of insn->flags.
529
530 2012-04-20 Tristan Gingold <gingold@adacore.com>
531
532 * config/tc-ia64.c (obj_elf_vms_common): New function.
533 (md_pseudo_table): Add .vms_common pseudo.
534 * config/obj-elf.h (obj_elf_section_name): Add a prototype.
535 * config/obj-elf.c (obj_elf_section_name): Make it public.
536
537 2012-04-17 Richard Sandiford <r.sandiford@uk.ibm.com>
538
539 * config/tc-avr.c (md_apply_fix): Fix handling of BFD_RELOC32.
540
541 2012-04-12 David S. Miller <davem@davemloft.net>
542
543 * config/tc-sparc.c (sparc_ip): Handle '=', "%h34", "%l34", and
544 BFD_RELOC_SPARC_H34.
545 (md_apply_fix): Handle BFD_RELOC_SPARC_WDISP10 and BFD_RELOC_SPARC_H34.
546 (tc_gen_reloc): Likewise.
547
548 2012-04-12 Roland McGrath <mcgrathr@google.com>
549
550 * configure.tgt (arm-*-nacl*): Match it.
551 * config/te-nacl.h (FPU_DEFAULT, EABI_DEFAULT): Define.
552 (LOCAL_LABELS_DOLLAR): Define.
553 * config/tc-arm.c (elf32_arm_target_format) [TE_NACL]:
554 Use nacl format variants.
555
556 2012-04-12 Jie Zhang <jie@codesourcery.com>
557 Meador Inge <meadori@codesourcery.com>
558
559 * config/tc-arm.c (only_one_reg_in_list): New function.
560 (encode_ldmstm): Ditto.
561 (do_ldmstm): Use a different encoding when pushing or poping
562 a single register.
563 (A_COND_MASK): New macro.
564 (A_PUSH_POP_OP_MASK): Ditto.
565 (A1_OPCODE_PUSH): Ditto.
566 (A2_OPCODE_PUSH): Ditto.
567 (A2_OPCODE_POP): Ditto.
568
569 2012-04-06 Maciej W. Rozycki <macro@linux-mips.org>
570
571 * doc/c-mips.texi (MIPS Opts): Correct -no-mfix-24k to
572 -mno-fix-24k.
573
574 2012-04-06 Roland McGrath <mcgrathr@google.com>
575
576 * configure.in (AC_CHECK_HEADERS): Add locale.h.
577 * config.in: Regenerate.
578 * configure: Regenerate.
579
580 2012-04-05 Nick Clifton <nickc@redhat.com>
581
582 * configure.in (AC_CHECK_FUNCS): Add setlocale.
583 (AM_LC_MESSAGES): Add.
584 * aclocal.m4: Regenerate.
585 * config.in: Regenerate.
586 * configure: Regenerate.
587
588 2012-04-03 DJ Delorie <dj@redhat.com>
589
590 * config/rx-parse.y: Make the .L optional for ADC and SBB.
591
592 2012-04-02 DJ Delorie <dj@redhat.com>
593
594 * config/rx-parse.y: IMM->IMM_, take an extra parameter for the
595 transfer size.
596 (IMM): New, call IMM_ with the default 32.
597 (IMMW,IMMB): Likewise, for 16 and 8.
598 (NIMM, MBIMM): Add size parameter.
599 (immediate): Likewise. Allow 32768..65535 for 16-bit transfers.
600 (MOV.W): Use IMMW instead of IMM.
601
602 * config/rx-parse.y (ADC,SBB): ADC and SBB only allow .L.
603 (op_dp20_rm_l): New.
604 (op_dp20_rim_l): New.
605
606 * config/rx-parse.y (op_dp20_rms): Rename to op_dp20_rr, don't allow mem.
607 (ABS, NEG, NOT): These only take REG or REG,REG (rr, not rms).
608
609 2012-03-29 Terry Guo <terry.guo@arm.com>
610
611 * config/tc-arm.c (arm_cpus): Add cortex-m0plus.
612 * doc/c-arm.texi (ARM Options): Document -mcpu=cortex-m0plus.
613
614 2012-03-23 Maxim Kuvyrkov <maxim@codesourcery.com>
615
616 * config/tc-mips.c (mips_cpu_info_table): Add entry for Broadcom XLP.
617 * doc/c-mips.texi: Mention XLP.
618
619 2012-03-21 Thomas Schwinge <thomas@codesourcery.com>
620
621 [SH] Support the .uaquad and .8byte directives also for non-sh64
622 configurations.
623
624 * config/tc-sh.c (sh_cons_fix_new, md_apply_fix) [!HAVE_SH64]: Handle
625 BFD_RELOC_64.
626 * doc/c-sh64.texi (SH64 Machine Directives): Move .uaquad
627 description...
628 * doc/c-sh.texi (SH Machine Directives): ... here.
629
630 2012-03-20 Nick Clifton <nickc@redhat.com>
631
632 * config/tc-arm.c (do_vmrs): Accept priviledged mode VFP system
633 registers.
634 (do_vmsr): Likewise.
635 (arm_opcode_insns): Do not default to using the FPSCR register in
636 the VMRS and VMSR registers.
637
638 2012-03-16 Roland McGrath <mcgrathr@google.com>
639
640 * config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT32, ELF_TARGET_FORMAT64):
641 Define for this case.
642 * configure.tgt (i386-*-nacl*): If ${cpu} is x86_64*, default to x32.
643
644 2012-03-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
645
646 * config/tc-arm.c (aeabi_set_public_attributes): Correct
647 handling of Tag_DIV_use.
648
649 2012-03-15 Thomas Schwinge <thomas@codesourcery.com>
650
651 * doc/as.texinfo (Bundle directives): Fix typo.
652
653 2012-03-14 Ryan Mansfield <rmansfield@qnx.com>
654
655 * doc/as.texinfo (Bundle directives): Replace @defn with @dfn.
656
657 2012-03-13 Roland McGrath <mcgrathr@google.com>
658
659 * config/tc-arm.c (arm_frag_max_var): New function.
660 * config/tc-arm.h: Declare it.
661 (md_frag_max_var): New macro.
662
663 * config/tc-i386.c (i386_frag_max_var): New function.
664 * config/tc-i386.h: Declare it.
665 (md_frag_max_var): New macro.
666
667 * doc/as.texinfo (Bundle directives): New node.
668 (Pseudo Ops): Add it to the menu.
669 * NEWS: Mention new feature.
670 * read.c [md_frag_max_var] (HANDLE_BUNDLE): New macro.
671 [HANDLE_BUNDLE] (bundle_align_p2): New variable.
672 [HANDLE_BUNDLE] (bundle_lock_frchain, bundle_lock_frag): New variables.
673 [HANDLE_BUNDLE] (start_bundle, pending_bundle_size, finish_bundle):
674 New functions.
675 (assemble_one): New function if [HANDLE_BUNDLE], #define directly
676 to md_assembly if not.
677 (read_a_source_file): Call assemble_one in place of md_assemble.
678 (read_a_source_file) [HANDLE_BUNDLE]: Check for unterminated
679 .bundle_lock at end of processing.
680 [HANDLE_BUNDLE] (s_bundle_align_mode, s_bundle_lock, s_bundle_unlock):
681 New functions.
682 [HANDLE_BUNDLE] (potable): Add their entries.
683 * read.h: Declare new functions.
684
685 2012-03-10 Edmar Wienskoski <edmar@freescale.com>
686
687 * config/tc-ppc.c (md_show_usage): Document -me5500 and -me6500.
688 (ppc_handle_align): Add termination nop opcode for e500mc family.
689 * doc/as.texinfo: Document options -me5500 and -me6500.
690 * doc/c-ppc.texi: Likewise.
691
692 2012-03-07 Nick Clifton <nickc@redhat.com>
693
694 * config/tc-mn10300.c (other_registers): Add SSP and USP.
695 (md_assemble): Add support for TLS relocs.
696 (mn10300_parse_name): Likewise.
697
698 2012-02-27 Alan Modra <amodra@gmail.com>
699
700 * config/tc-crx.c (check_range): Correct uint32_t misconceptions.
701
702 2012-02-27 Alan Modra <amodra@gmail.com>
703
704 * config/tc-tic4x.c (tic4x_do_align): Remove ATTRIBUTE_UNUSED on
705 params. Properly generate NOP pattern. Comment reason for
706 subseg_text_p failure.
707
708 2012-02-27 Alan Modra <amodra@gmail.com>
709
710 * config/tc-h8300.c (constant_fits_width_p): Trim constant to 32 bits
711 and sign extend before range tests.
712 (constant_fits_size_p): Similarly.
713 (get_specific): Trim X_add_number to 32 bits.
714 (fix_operand_size): Likewise, and use unsigned test for signed
715 ranges.
716
717 2012-02-27 Alan Modra <amodra@gmail.com>
718
719 * config/tc-crx.c: Include bfd_stdint.h.
720 (getconstant): Remove irrelevant comment. Don't fail due to
721 sign-extension of int mask.
722 (check_range): Rewrite using unsigned arithmetic throughout.
723
724 2012-02-25 Walter Lee <walt@tilera.com>
725
726 * tc-tilepro.c (emit_tilepro_instruction): Check if symbol is
727 non-local before checking sy_value.
728 * tc-tilegx.c (emit_tilegx_instruction): Ditto.
729
730 2012-02-25 Walter Lee <walt@tilera.com>
731
732 * tc-tilepro.c (O_tls_le): Define operator.
733 (O_tls_le_lo16): Ditto.
734 (O_tls_le_hi16): Ditto.
735 (O_tls_le_ha16): Ditto.
736 (O_tls_gd_call): Ditto.
737 (O_tls_gd_add): Ditto.
738 (O_tls_ie_load): Ditto.
739 (md_begin): Delete old operators; handle new operators.
740 (emit_tilepro_instruction): Ditto.
741 (md_apply_fix): Ditto.
742 * tc-tilegx.c (O_hw1_got): Delete operator.
743 (O_hw2_got): Ditto.
744 (O_hw3_got): Ditto.
745 (O_hw2_last_got): Ditto.
746 (O_hw1_tls_gd): Ditto.
747 (O_hw2_tls_gd): Ditto.
748 (O_hw3_tls_gd): Ditto.
749 (O_hw2_last_tls_gd): Ditto.
750 (O_hw1_tls_ie): Ditto.
751 (O_hw2_tls_ie): Ditto.
752 (O_hw3_tls_ie): Ditto.
753 (O_hw2_last_tls_ie): Ditto.
754 (O_hw0_tls_le): Define operator.
755 (O_hw0_last_tls_le): Ditto.
756 (O_hw1_last_tls_le): Ditto.
757 (O_tls_gd_call): Ditto.
758 (O_tls_gd_add): Ditto.
759 (O_tls_ie_load): Ditto.
760 (O_tls_add): Ditto.
761 (md_begin): Delete old operators; handle new operators.
762 (emit_tilegx_instruction): Ditto.
763 (md_apply_fix): Ditto.
764 * doc/c-tilegx.texi: Delete old operators; document new operators.
765 * doc/c-tilepro.texi: Ditto.
766
767 2012-02-25 Walter Lee <walt@tilera.com>
768
769 * tc-tilepro.c (apply_special_operator): delete cases for
770 got and tls operators.
771 (md_apply_fix): Ditto.
772 * tc-tilegx.c (md_begin): Set architecture and machine.
773 (tilegx_target_format): Handle big endian.
774 (OPTION_EB): Define.
775 (OPTION_EL): Define.
776 (md_longopts): Add entries for "EB" and "EL".
777 (md_parse_option): Handle OPTION_EB and OPTION_EL.
778 (md_show_usage): Add -EB and -EL.
779 (md_number_to_chars): New.
780 (apply_special_operator): delete cases for got and tls
781 operators.
782 (md_apply_fix): Ditto.
783 * tc-tilegx.h (TARGET_BYTES_BIG_ENDIAN): Guard definition with
784 ifndef.
785 (md_number_to_chars): Delete.
786 * configure.tgt (tilegx*be): Handle.
787 * doc/as.texinfo [TILE-Gx]: Document -EB and -EL.
788 * doc/c-tilegx.texi: Ditto.
789
790 2012-02-21 H.J. Lu <hongjiu.lu@intel.com>
791
792 * config/tc-i386.c (check_hle): Use HLEPrefixNone, HLEPrefixLock,
793 HLEPrefixAny and HLEPrefixRelease.
794
795 2012-02-21 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
796
797 * gas/config/tc-arm.h (DOUBLESLASH_LINE_COMMENTS): Define.
798
799 2012-02-21 Iain Sandoe <idsandoe@googlemail.com>
800
801 * write.c (write_object_file): Add md_pre_output_hook.
802 * config/obj-macho.c (obj_mach_o_check_before_writing): New.
803 (obj_mach_o_pre_output_hook): New.
804 * config/obj-macho.h (md_pre_output_hook): Define.
805 (obj_mach_o_pre_output_hook): Declare.
806
807 2012-02-21 Tristan Gingold <gingold@adacore.com>
808
809 * config/tc-i386.h (OBJ_MACH_O): New section.
810 (TC_FORCE_RELOCATION): Use obj_mach_o_force_reloc.
811 (TC_FORCE_RELOCATION_SUB_SAME): New
812 (TC_FORCE_RELOCATION_SUB_LOCAL): New.
813 (TC_VALIDATE_FIX_SUB): New.
814 * frags.h (struct frag): OBJ_FRAG_TYPE, new field.
815 * symbols.c (colon): obj_frob_colon: New hook.
816 * write.c (write_object_file): md_pre_relax_hook, new
817 hook.
818 * config/obj-macho.c (obj_mach_o_frob_colon): New.
819 (obj_mach_o_frob_label): Record sub-section labels.
820 (obj_mach_o_frob_symbol): Rename from obj_macho_frob_symbol.
821 (obj_mach_o_set_subsections): New.
822 (obj_mach_o_pre_relax_hook): New.
823 (obj_mach_o_in_different_subsection): New.
824 (obj_mach_o_force_reloc_sub_same): New.
825 (obj_mach_o_force_reloc_sub_local): New.
826 (obj_mach_o_force_reloc): New.
827 * config/obj-macho.h (OBJ_SYMFIELD_TYPE): New.
828 (obj_frob_colon): New Define.
829 (obj_mach_o_frob_label): Renamed.
830 (obj_mach_o_frob_symbol): Renamed.
831 (OBJ_FRAG_TYPE): New.
832 (obj_mach_o_in_different_subsection, obj_mach_o_force_reloc,
833 obj_mach_o_force_reloc_sub_same,
834 obj_mach_o_force_reloc_sub_local): New declarations.
835
836 2012-02-20 Iain Sandoe <idsandoe@googlemail.com>
837
838 * config/obj-macho.c (obj_mach_o_is_frame_section): New.
839 (obj_mach_o_allow_local_subtract): New.
840 * config/obj-macho.h (md_allow_local_subtract): Define.
841 (obj_mach_o_allow_local_subtract): Declare.
842
843 2012-02-20 Iain Sandoe <idsandoe@googlemail.com>
844
845 * config/obj-macho.c (obj_mach_o_make_or_get_sect): In the absence of
846 canonical information, try to determine CODE and DEBUG section flags
847 from the mach-o section data.
848
849 2012-02-20 Nick Clifton <nickc@redhat.com>
850
851 * cgen.c (gas_cgen_parse_operand): Do not set BSF_RELC flag on
852 local symbols.
853
854 2012-02-12 Iain Sandoe <idsandoe@googlemail.com>
855
856 * config/obj-macho.c (obj_mach_o_indirect_symbol): Force promotion of
857 any local symbol used as an indirect.
858
859 2012-02-10 Iain Sandoe <idsandoe@googlemail.com>
860
861 * config/obj-macho.c (obj_mach_o_make_or_get_sect): Always fill in
862 stub size when provided. (obj_mach_o_section): Flag that stub-size
863 has been provided.
864
865 2012-02-08 H.J. Lu <hongjiu.lu@intel.com>
866
867 * config/tc-i386.c (HLE_PREFIX): New.
868 (check_hle): Likewise.
869 (_i386_insn): Add have_hle.
870 (cpu_arch): Add .hle and .rtm.
871 (md_assemble): Call check_hle if i.have_hle isn't zero.
872 (parse_insn): Set i.have_hle to 1 for HLE prefix.
873 (output_jump): Support up to 2 byte opcode.
874
875 * doc/c-i386.texi: Document hle/.hle and rtm/.rtm.
876
877 2012-02-02 Tristan Gingold <gingold@adacore.com>
878
879 * config/obj-macho.c (obj_mach_o_zerofill): Silent
880 uninitialized variable warning.
881
882 2012-02-02 Nick Clifton <nickc@redhat.com>
883
884 PR gas/13224
885 * config/obj-elf.c (obj_elf_parse_section_letters): Rename 'clone'
886 to 'is_clone' to avoid shadowing a gloabl.
887 (obj_elf_section): Likewise.
888
889 2012-01-31 Paul Brook <paul@codesourcery.com>
890
891 * doc/c-tic6x.c: Fix typo.
892
893 2012-01-26 Alexey Makhalov <makhaloff@gmail.com>
894
895 PR gas/13624
896 * app.c (app_push): Set 'add_newlines' to zero after saving.
897
898 2012-01-24 DJ Delorie <dj@redhat.com>
899
900 * config/rl78-parse.y (NOT1): Add.
901
902 2012-01-23 Roland McGrath <mcgrathr@google.com>
903
904 * configure.tgt (i386-*-nacl*): Match it.
905 * config/te-nacl.h: New file.
906 * config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT): Define for this case.
907 * config/tc-i386.c [TE_NACL] (i386_comment_chars, PREFIX_SEPARATOR):
908 Use TE_GNU et al case for TE_NACL too.
909
910 2012-01-20 H.J. Lu <hongjiu.lu@intel.com>
911
912 * config/tc-i386.c (_i386_insn): Replace disp32_encoding with
913 disp_encoding.
914 (md_assemble): Updated.
915 (output_branch): Likewise.
916 (parse_insn): Support .d8 suffix.
917 (build_modrm_byte): Fake zero displacement for .d8 and .d32
918 suffixes.
919
920 * doc/c-i386.texi: Document .d8 suffix.
921
922 2012-01-17 Andrew Burgess <aburgess@broadcom.com>
923
924 * write.c (fix_new_internal): Don't mark used parameter as unused.
925
926 2012-01-17 Alan Modra <amodra@gmail.com>
927
928 * as.c (parse_args): Update copyright message year.
929
930 2012-01-13 H.J. Lu <hongjiu.lu@intel.com>
931
932 * config/tc-i386.c (cpu_arch): Add ".vmfunc".
933
934 * doc/c-i386.texi: Document vmfunc.
935
936 2012-01-13 Tristan Gingold <gingold@adacore.com>
937
938 * config/obj-macho.c (obj_mach_o_reorder_section_relocs): New.
939 * config/obj-macho.h (SET_SECTION_RELOCS): Define.
940 (obj_mach_o_reorder_section_relocs): Declare.
941
942 2012-01-13 Iain Sandoe <idsandoe@googlemail.com>
943
944 * config/obj-macho.c (obj_mach_o_set_indirect_symbols): Handle
945 absolute indirect symbols.
946
947 2012-01-13 Iain Sandoe <idsandoe@googlemail.com>
948
949 * config/obj-macho.c (obj_mach_o_set_vma_data): New type.
950 (obj_mach_o_set_section_vma): New.
951 (obj_mach_o_post_relax_hook): New.
952 * config/obj-macho.h (md_post_relax_hook): Define.
953 (obj_mach_o_post_relax_hook): Declare.
954
955 2012-01-12 Iain Sandoe <idsandoe@googlemail.com>
956
957 * config/obj-macho.c (obj_mach_o_set_symbol_qualifier): Switch off
958 lazy when the symbol is private_extern.
959 (obj_mach_o_indirect_sym): New type.
960 (obj_mach_o_indirect_symbol): New.
961 (mach_o_pseudo_table): Use obj_mach_o_indirect_symbol.
962 (obj_macho_frob_label): Adjust to avoid adding bsyms for locals.
963 (obj_macho_frob_label): Likewise. Adjust external and comm
964 symbol tests.
965 (obj_mach_o_set_indirect_symbols): New.
966 (obj_mach_o_frob_file_after_relocs): New.
967 *config/obj-macho.h (obj_frob_file_after_relocs): Define.
968 (obj_mach_o_frob_file_after_relocs): Declare.
969
970 2012-01-12 Tristan Gingold <gingold@adacore.com>
971
972 PR gas/13591
973 * config/obj-coff.h (sy_obj): Rename macro to avoid a name conflict.
974
975 2012-01-10 Tristan Gingold <gingold@adacore.com>
976
977 * struc-symbol.h (struct symbol_flags): New struct, created from...
978 (struct symbol): ... this one. Add sy_flags field, remove flag fields.
979 (struct local_symbol): Replace lsy_marker field by lsy_flags.
980 Adjust comment.
981 (local_symbol_resolved_p): Adjust.
982 (local_symbol_mark_resolved): Likewise.
983 * symbols.c (LOCAL_SYMBOL_CHECK): Adjust.
984 (local_symbol_make, local_symbol_convert, colon)
985 (symbol_clone_if_forward_ref, verify_symbol_chain)
986 (resolve_symbol_value, snapshot_symbol, S_GET_VALUE)
987 (S_IS_WEAKREFR, S_IS_WEAKREFD, S_IS_VOLATILE, S_IS_FORWARD_REF)
988 (S_SET_WEAKREFR, S_CLEAR_WEAKREFR, S_SET_WEAKREFD)
989 (S_CLEAR_WEAKREFD, S_SET_VOLATILE, S_CLEAR_VOLATILE)
990 (S_SET_FORWARD_REF, symbol_same_p, symbol_mark_used)
991 (symbol_clear_used, symbol_used_p, symbol_mark_used_in_reloc)
992 (symbol_clear_used_in_reloc, symbol_used_in_reloc_p)
993 (symbol_mark_mri_common, symbol_clear_mri_common)
994 (symbol_mri_common_p, symbol_mark_written, symbol_clear_written)
995 (symbol_written_p, symbol_mark_resolved, symbol_resolved_p)
996 (symbol_equated_reloc_p, dot_symbol_init)
997 (print_symbol_value_1): Adjust.
998
999 2012-01-09 Iain Sandoe <idsandoe@googlemail.com>
1000
1001 * config/obj-macho.c (obj_mach_o_weak): Remove.
1002 (obj_mach_o_common_parse): Set symbol qualifiers.
1003 (LAZY, REFE): New macros.
1004 (obj_mach_o_symbol_type): New enum.
1005 (obj_mach_o_set_symbol_qualifier): New.
1006 (obj_mach_o_sym_qual): New.
1007 (mach_o_pseudo_table): Add symbol qualifiers, set indirect_symbol to
1008 a dummy function.
1009 (obj_mach_o_type_for_symbol): New.
1010 (obj_macho_frob_label): New.
1011 (obj_macho_frob_symbol): New.
1012 * config/obj-macho.h (S_SET_ALIGN): Amend temorary var name.
1013 (obj_frob_label, obj_macho_frob_label): Declare.
1014 (obj_frob_symbol, obj_macho_frob_symbol): Declare.
1015
1016 2012-01-08 Richard Sandiford <rdsandiford@googlemail.com>
1017
1018 * config/tc-mips.c (s_tls_rel_directive): Call mips_clear_insn_labels.
1019
1020 2012-01-08 Andrew Pinski <andrew.pinski@caviumnetworks.com>
1021 Richard Sandiford <rdsandiford@googlemail.com>
1022
1023 * config/tc-mips.c (mips_move_labels): Take the list of labels and
1024 textness as parameters.
1025 (mips_move_text_labels): New function.
1026 (append_insn): Use it instead of mips_move_labels.
1027 (mips_emit_delays, start_noreorder): Likewise.
1028 (mips_align): Take the labels rather than just one label.
1029 Move all labels to after the .align.
1030 (s_align): Change the last argument to mips_align.
1031 (s_cons): Likewise.
1032 (s_float_cons): Likewise.
1033 (s_gpword): Likewise.
1034 (s_gpdword): Likewise.
1035
1036 2012-01-06 Tristan Gingold <gingold@adacore.com>
1037
1038 * config/tc-i386.c: Update copyright year.
1039 (lex_got): Also defined for Mach-O.
1040 Add a guard for non-ELF configuration.
1041 (md_longopts): Also handle -64 for Mach-O.
1042 (md_parse_option): Likewise.
1043 (i386_target_format): Adjust for x86_64-darwin.
1044
1045 2012-01-04 Iain Sandoe <idsandoe@googlemail.com>
1046
1047 * config/obj-macho.c (obj_mach_o_segT_from_bfd_name): Tidy definition.
1048 (obj_mach_o_get_section_names): New (split from obj_mach_o_section).
1049 (obj_mach_o_make_or_get_sect): Likewise.
1050 (obj_mach_o_section): Split out the functionality shared with zerofill.
1051 (obj_mach_o_zerofill): New.
1052 (obj_mach_o_common_parse): Ensure whitespace is skipped.
1053 (mach_o_pseudo_table): Add .zerofill.
1054
1055 2012-01-03 Iain Sandoe <idsandoe@googlemail.com>
1056
1057 * config/obj-macho.c (obj_macho_process_stab): New.
1058 * config/obj-macho.h (OBJ_PROCESS_STAB): Define.
1059 (obj_macho_process_stab): Declare.
1060
1061 For older changes see ChangeLog-2011
1062 \f
1063 Local Variables:
1064 mode: change-log
1065 left-margin: 8
1066 fill-column: 74
1067 version-control: never
1068 End:
This page took 0.050021 seconds and 4 git commands to generate.