* config/tc-mips.c (mips_ip): Remove lastregno's
[binutils.git] / gas / ChangeLog
blobd6d973e8eee2dab3e49b7b5dd6f33606ea4b77fa
1 2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
3         * config/tc-mips.c (mips_ip): Remove lastregno's
4         preinitialization.
6 2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
8         * config/tc-mips.c (mips_ip) <'('>: Don't let '4', '5' or '-'
9         as a base register specifier.
11 2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
13         * config/tc-mips.c (macro) <M_S_DOB>: Fix the placement of code.
15 2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
17         * config/tc-mips.c (mips_ip) <'u'>: Report the value of the LUI
18         argument complained about; reword the message.
20 2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
22         * config/tc-mips.c (macro)
23         <M_BGTUL_I, M_BGTU_I, M_BLEUL_I, M_BLEU_I>: Fix the constant
24         used to compare against for the always-false/true case.
26 2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
28         * config/tc-mips.c (macro): Remove a trailing 0 from NOP
29         requests.
31 2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
33         * config/tc-mips.c (macro): Use EXTRACT_OPERAND to get register
34         numbers.
36 2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
38         * config/tc-mips.c (macro): Replace 0 with ZERO in macro_build
39         and move_register calls referring to $0.
41 2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
43         * config/tc-mips.c (macro, mips_ip): Correct message
44         capitalization.
46 2010-12-09  Arnold Metselaar  <arnold.metselaar@planet.nl>
48         * config/tc-z80.c (md_apply_fix): Rename var to fix shadow warning.
50 2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
52         * config/tc-mips.c (macro_build, macro, mips_ip, md_apply_fix):
53         Fix formatting.
55 2010-12-09  Mike Frysinger  <vapier@gentoo.org>
57         * .gitignore: New file.
59 2010-12-05  Arnold Metselaar  <arnold.metselaar@planet.nl>
61         PR gas/12269
62         * config/tc-z80.c (emit_mx, emit_ldxhl): Do not use
63         symbol_get_value_expression on a symbol that may not yet have
64         a value.
65         * testsuite/gas/z80/atend.s: New file, test case for bug 12269,
66         provided by Chris Smith.
67         * testsuite/gas/z80/atend.d: New file, expected results for atend.s.
68         * testsuite/gas/z80/z80.exp: Run new test case.
70 2010-12-04  Maciej W. Rozycki  <macro@codesourcery.com>
72         PR gas/12282
73         * expr.c (expr_build_dot): Make a clone of the symbol to return if
74         needed.
76 2010-12-02  Richard Sandiford  <richard.sandiford@linaro.org>
78         * symbols.c (S_FORCE_RELOC): Return true for indirect functions
79         even if !strict.
80         * expr.c (operand): Don't convert absolute symbols to constants
81         if S_FORCE_RELOC is true.
82         (expr): Only reduce subtractions between different symbols if
83         S_FORCE_RELOC is false for both of them.
84         * write.c (fixup_segment): Don't remove symbols if S_FORCE_RELOC
85         is true for them, regardless of their segment.
87 2010-12-01  Maciej W. Rozycki  <macro@codesourcery.com>
89         * symbols.h (dot_symbol): New declaration.
90         (dot_symbol_init): New prototype.
91         * symbols.c (dot_symbol): New variable.
92         (symbol_clone): Assert it's not dot_symbol being cloned.
93         (dot_symbol_init): New function.
94         (symbol_clone_if_forward_ref): Create a new temporary symbol
95         when trying to clone dot_symbol.
96         * expr.c (current_location): Refer to dot_symbol instead of
97         making a new temporary symbol.
98         * read.c (read_a_source_file): Update dot_symbol as we go.
99         * as.c (main): Call dot_symbol_init.
101 2010-12-01  Maciej W. Rozycki  <macro@codesourcery.com>
103         * symbols.c (symbol_clone_if_forward_ref): Don't limit cloning
104         to expr_section symbols; clone all equated symbols.  Clear
105         sy_resolving of the cloned copy.
106         * expr.c (operand): Only clone equated symbols on a final
107         (i.e. non-equated) reference.
109 2010-12-01  Richard Sandiford  <rdsandiford@googlemail.com>
111         * config/tc-mips.c (md_convert_frag): Remove a call to
112         S_GET_VALUE and use the result of resolve_symbol_value as the
113         value of the symbol processed in MIPS16 relaxation.
115 2010-11-30  Joel Sherrill  <joel.sherrill@oarcorp.com>
117         * configure.tgt: Add sparc64-rtems.
119 2010-11-25  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
121         * config/tc-s390.c (current_cpu): Initialize with latest CPU.
122         (init_default_arch): Default to z/Architecture mode if CPU provides it.
123         Remove the check setting the CPU default.
125 2010-11-25  Alan Modra  <amodra@gmail.com>
127         * po/es.po: Update.
129 2010-11-25  Alan Modra  <amodra@gmail.com>
131         PR gas/12264
132         * compress-debug.c: Include config.h first.
134 2010-11-24  Mike Frysinger  <vapier@gentoo.org>
136         * doc/as.texinfo: Refer to and include c-bfin.texi for Blackfin
137         options.
138         * doc/c-bfin.texi: Add markup for use in manpage generation.
140 2010-11-23  Sterling Augustine  <sterling@tensilica.com>
142         * doc/as.texinfo: Refer to and include c-xtensa.texi for Xtensa
143         options.  Move Xtensa options to proper alphabetical location.
145         * doc/c-xtensa.texi: Add markup for use in manpage generation.
147 2010-11-23  Mingming Sun  <mingm.sun@gmail.com>
149         * config/tc-mips.c (mips_cpu_info_table): Move loongson3a after sb1.
151 2010-11-23  H.J. Lu  <hongjiu.lu@intel.com>
153         * doc/as.texinfo: Refer to and include c-i386.texi for i386
154         options.
156         * doc/c-i386.texi: Add markup for use in manpage generation.
158 2010-11-22  Joseph Myers  <joseph@codesourcery.com>
160         * doc/as.texinfo: Refer to or include c-alpha.texi for Alpha
161         options.  Refer to or include c-tic6x.texi for C6X options instead
162         of duplicating documentation here.
163         * doc/c-alpha.texi, doc/c-tic6x.texi: Add markup for use in
164         manpage generation.
166 2010-11-19  Alan Modra  <amodra@gmail.com>
168         PR 2606
169         * configure.in: Disable emulations for PE targets.
170         * configure: Regenerate.
172 2010-11-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
174         PR gas/12181
175         * config/obj-elf.c (elf_adjust_symtab) [TE_SOLARIS]: Make sy
176         weak hidden.
178 2010-11-17  Nick Clifton  <nickc@redhat.com>
180         * input-file.c (input_file_open): Check for empty input files.
181         (input_file_get): Check for end of file before reading any more
182         data.
183         (input_file_give_next_buffer): Likewise.
185 2010-11-15  H.J. Lu  <hongjiu.lu@intel.com>
187         * config/obj-elf.c (elf_process_stab): Mark parameters as
188         ATTRIBUTE_UNUSED.
190 2010-11-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
192         * config/obj-elf.c (elf_generate_asm_lineno): New function.
193         (elf_process_stab): New function.
194         (elf_format_ops): Always use them as generate_asm_lineno,
195         process_stab members.
197 2010-11-15  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
199         PR gas/12198
200         * config/tc-arm.c (arm_arch_v6m_only): New variable.
201         (aeabi_set_public_attributes): Ensure we only set the Operating System
202         Extension when we are on an M-profile core.
204 2010-11-13  Richard Sandiford  <rdsandiford@googlemail.com>
206         * config/tc-mips.c (macro_build): Remove gas_assert from 'o' case.
207         Use a restricted gas_assert for 'i' and 'j'.
209 2010-11-11  Mingming Sun  <mingm.sun@gmail.com>
211         * config/tc-mips.c (mips_cpu_info_table): Add loongson3a in MIPS 64.
212         * doc/c-mips.texi (MIPS cpu): Add loongson3a.
214 2010-11-10  Richard Sandiford  <richard.sandiford@linaro.org>
216         * config/tc-arm.c (do_t_branch): Treat (PLT) branches as wide.
218 2010-11-05  Nick Clifton  <nickc@redhat.com>
220         * config/tc-cr16.c (getprocreg_image): Fix typo MAX_PREG ->
221         MAX_REG.
222         (getprocregp_image): Likewise.
224 2010-11-05  Tristan Gingold  <gingold@adacore.com>
226         * po/gas.pot: Regenerate
227         * po/POTFILES.in: Regenerate
229 2010-11-05  Tristan Gingold  <gingold@adacore.com>
231         * NEWS: Add marker for 2.21.
233 2010-11-05  Dave Korn  <dave.korn.cygwin@gmail.com>
235         PR gas/12166
236         * config/obj-coff.c (weak_altname2name): Don't infer from the presence
237         of a period that the symbol has been already uniquify-d.
238         (weak_uniquify): Don't worry that the symbol might have been already
239         uniquify-d.
241 2010-11-04  Alan Modra  <amodra@gmail.com>
243         * config/tc-ppc.c (nop_limit): New var.
244         (OPTION_NOPS): Define.
245         (md_longopts): Add --nops.
246         (md_parse_option): Handle it.
247         (md_show_usage): Publish.
248         (ppc_handle_align): Pad with a branch followed by nops if more
249         than nop_limit nops.
251 2010-11-03  H.J. Lu  <hongjiu.lu@intel.com>
253         PR gas/12186
254         * config/tc-i386-intel.c (i386_intel_fold): Properly fold
255         _GLOBAL_OFFSET_TABLE_.
257 2010-11-02  Joseph Myers  <joseph@codesourcery.com>
259         * config/tc-tic6x.c (OPTION_MPID, OPTION_MPIC, OPTION_MNO_PIC):
260         New enum values.
261         (md_longopts): Add options mpid, mpic and mno-pic.
262         (tic6x_pid_type, tic6x_pid, tic6x_pic, tic6x_pid_type_table,
263         tic6x_pid_types, tic6x_use_pid): New.
264         (md_parse_option): Handle new options.
265         (md_show_usage): Output help text for new options.
266         (tic6x_set_attributes): Set PID and PIC attributes.
267         * doc/as.texinfo: Document -mpid=, -mpic and -mno-pic.
268         * doc/c-tic6x.texi (TIC6X Options): Likewise.
270 2010-11-01  Maciej W. Rozycki  <macro@linux-mips.org>
272         * config/tc-mips.c (macro)[M_LD_OB, M_SD_OB]: Use the offset
273         reloc supplied.
274         (mips_ip)['o']: Initialise offset_reloc.
276 2010-10-29  Joseph Myers  <joseph@codesourcery.com>
278         * doc/c-tic6x.texi (TIC6X Directives): Mention
279         Tag_ABI_compatibility.
281 2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>
283         * write.c (compress_debug): Optimize section flags check.
285 2010-10-29  Bernd Schmidt  <bernds@codesourcery.com>
286             Joseph Myers  <joseph@codesourcery.com>
288         * config/tc-tic6x.c (OPTION_MDSBT, OPTION_MNO_DSBT): New enum
289         values.
290         (md_longopts): Add mdsbt and mno-dsbt.
291         (tic6x_dsbt): New static variable.
292         (md_parse_option): Handle OPTION_MDSBT and OPTION_MNO_DSBT.
293         (md_show_usage): Output help text for -mdsbt and -mno-dsbt.
294         (TAG): Add comma at the end.
295         (tic6x_set_attributes): Set Tag_ABI_DSBT.
296         * doc/as.texinfo: Document -mdsbt and -mno-dsbt.
297         * doc/c-tic6x.texi (TIC6X Options): Likewise.
298         (TIC6X Directives): Mention Tag_ABI_DSBT.
300 2010-10-28  Matthias Klose  <doko@ubuntu.com>
302         * doc/as.texinfo: Add directory section for info document.
304 2010-10-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
306         * config/tc-s390.c (md_begin): Only add to hash table if cpu and
307         mode mask fit.
309 2010-10-28  Alan Modra  <amodra@gmail.com>
311         * config/tc-d30v.c (d30v_cons_align): Don't align .eh_frame.
313 2010-10-26  Alan Modra  <amodra@gmail.com>
315         * config/obj-coff.c (coff_format_ops): Fix typo.
317 2010-10-25  Richard Sandiford  <rdsandiford@googlemail.com>
319         * config/tc-mips.c (macro2): Delete.
321 2010-10-25  Nathan Sidwell  <nathan@codesourcery.com>
323         * config/tc-tic6x.c: Add attribution.
325 2010-10-25  Mark Mitchell  <mark@codesourcery.com>
327         * obj.h (struct format_ops): Add adjust_symtab.
328         * config/obj-multi.h (obj_adjust_symtab): Define.
329         * config/obj-aout.c (aout_format_ops): Init new field.
330         * config/obj-coff.c (coff_format_ops): Likewise.
331         * config/obj-ecoff.c (ecoff_format_ops): Likewise.
332         * config/obj-elf.c (elf_format_ops): Likewise.
334 2010-10-25  Alan Modra  <amodra@gmail.com>
336         PR gas/12049
337         * write.c (relax_frag): Don't allow forward branches to temporarily
338         becomde backward branches.
340 2010-10-23  Mark Mitchell  <mark@codesourcery.com>
342         * config/obj-elf.c (elf_adjust_symtab): New.  Move group section
343         processing here from elf_frob_file.  Ensure that group signature
344         symbols have the name of the group.
345         (elf_frob_file): Move group section processing to
346         elf_adjust_symtab.
347         * config/obj-elf.h (elf_adjust_symtab): Declare.
348         (obj_adjust_symtab): Define.
349         * config/tc-arm.c (arm_adjust_symtab): Call elf_adjust_symtab.
351 2010-10-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
353         * config/tc-sparc.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define as
354         elf32-sparc-sol2.
355         (ELF64_TARGET_FORMAT): Define as elf64-sparc-sol2.
357 2010-10-21  Joseph Myers  <joseph@codesourcery.com>
359         * config/tc-tic6x.c (tic6x_arch_attribute, tic6x_arches,
360         md_assemble, tic6x_set_attributes): Update for attribute renaming.
361         * doc/c-tic6x.texi: Update for attribute renaming.
363 2010-10-19  Alan Modra  <amodra@gmail.com>
365         * write.c (relax_segment): Correct address on frag added to stop
366         leb128/align frags bouncing.
368 2010-10-19  Alan Modra  <amodra@gmail.com>
370         PR gas/12049
371         * frags.h (struct frag): Add "region" field.
372         * write.c (relax_frag): Don't add "stretch" to forward reference
373         target if there is an intervening org or align.
374         (relax_segment): Set region.
376 2010-10-18  Maciej W. Rozycki  <macro@linux-mips.org>
378         * config/tc-mips.c (macro)[ldd_std]: Fix the relaxation variant
379         for absolute addressing.
381 2010-10-18  Maciej W. Rozycki  <macro@linux-mips.org>
383         * config/tc-mips.c (macro)[M_LD_OB, M_SD_OB]: Handle 64-bit ABIs.
385 2010-10-18  Maciej W. Rozycki  <macro@linux-mips.org>
387         * config/tc-mips.c (mips_pseudo_table): Add "sbss".
388         (s_change_sec): Handle it.
390 2010-10-15  Mike Frysinger  <vapier@gentoo.org>
392         * config/bfin-parse.y (BYTEOP2M): Call BYTEOP2M().
394 2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>
396         * config/tc-i386.c (match_template): Check checkregsize
397         instead of w for register size check.
399 2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>
401         * config/tc-i386.c (_i386_insn): Add disp32_encoding.
402         (md_assemble): Don't call optimize_disp if disp32_encoding is
403         set.
404         (parse_insn): Support .d32 to force 32bit displacement.
405         (output_branch): Use BIG if disp32_encoding is set.
407         * doc/c-i386.texi: Document .d32 encoding suffix.
409 2010-10-11  Steve Kilbane  <steve.kilbane@analog.com>
411         * config/bfin-lex.l (FLAGS): New state.
412         (X, Z, S, M, T): Require FLAGS state.
413         ("(", ")"): Start/stop FLAGS state.
415 2010-10-11  David Gibson  <david.gibson@analog.com>
417         * config/bfin-aux.h (bfin_loop_attempt_create_label): New prototype.
418         * config/bfin-parse.y (LOOP_BEGIN, LOOP_END): Handle numeric labels.
419         * config/tc-bfin.c (bfin_loop_attempt_create_label): New funtion.
421 2010-10-11  David Gibson  <david.gibson@analog.com>
423         * config/tc-bfin.c (bfin_gen_loop): Check symbol before removing.
425 2010-10-08  Pierre Muller  <muller@ics.u-strasbg.fr>
427         Fix build with -DDEBUG=7
428         * config/obj-coff.c (s_get_name, symbol_dump): Add prototypes.
430 2010-10-07  Bernd Schmidt  <bernds@codesourcery.com>
432         * config/tc-tic6x.c (tic6x_try_encode): Correct encoding of fstg field
433         in SPKERNEL instructions.
435 2010-10-06  Nathan Sidwell  <nathan@codesourcery.com>
437         * config/tc-arm.c (encode_branch): Remove superfluous braces.
438         (do_t_branch): Move reloc setting to end of routine.
440 2010-10-04  David Daney  <ddaney@caviumnetworks.com>
442         * config/tc-mips.c (mips_fix_cn63xxp1): New variable.
443         (mips_ip):  Add errata work around when mips_fix_cn63xxp1 set.
444         (OPTION_FIX_CN63XXP1, OPTION_NO_FIX_CN63XXP1): New enum options
445         enumerations.
446         (md_longopts): Add options for -mfix-cn63xxp1 and -mno-fix-cn63xxp1.
447         (md_parse_option): Handle OPTION_FIX_CN63XXP1 and
448         OPTION_NO_FIX_CN63XXP1.
449         (md_show_usage): Add documentation for -mfix-cn63xxp1.
450         * doc/c-mips.texi (-mfix-cn63xxp1, -mno-fix-cn63xxp1): Document
451         the new options.
453 2010-09-29  Bernd Schmidt  <bernds@codesourcery.com>
455         * gas/tic6x/insns-bad-1.s: Remove test for readonly tscl.
456         * gas/tic6x/insns-bad-1.l: Likewise.
457         * gas/tic6x/insns-c674x.d: Add test for writeable tscl.
458         * gas/tic6x/insns-c674x.s: Likewise.
460 2010-09-29  Alan Modra  <amodra@gmail.com>
462         * expr.c (expr): Correct returned segment value.
464 2010-09-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
466         * configure: Regenerate.
468 2010-09-27  Bernd Schmidt  <bernds@codesourcery.com>
470         * config/tc-tic6x.c (tic6x_fix_adjustable): New function.
471         * config/tc-tic6x.h (tic6x_fix_adjustable): Declare.
472         (tc_fix_adjustable): New macro.
474 2010-09-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
476         * config/tc-s390.c: (md_parse_option): New option -march=z196.
477         * doc/c-s390.texi: Document new option.
479 2010-09-27  Tejas Belagod  <tejas.belagod@arm.com>
481         * config/tc-arm.c (do_neon_ldr_str): Deprecate ARM-mode PC-relative
482         VSTR, issue an error in THUMB mode.
484 2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
486         * config/tc-arm.c (arm_ext_virt): New variable.
487         (arm_reg_type): Add REG_TYPE_RNB for banked registers.
488         (reg_entry): Allow registers to be larger than a byte.
489         (reg_alias): Fix type warning.
490         (parse_operands): Parse banked registers when appropriate.
491         (do_mrs): Add support for Virtualization Extensions.
492         (do_hvc): New function.
493         (do_t_mrs): Add support for Virtualization Extensions.
494         (do_t_msr): Likewise.
495         (do_t_hvc): New function.
496         (SPLRBANK): New define.
497         (reg_names): Add banked registers.
498         (insns): Add support for Virtualization Extensions.
499         (md_apply_fixup): Likewise.
500         (arm_cpus): -mcpu=cortex-a15 implies the Virtualization Extensions.
501         (arm_extensions): Add 'virt' extension.
502         (aeabi_set_public_attributes): Add support for Virtualization
503         Extensions.
504         * doc/c-arm.texi: Document 'virt' extension.
506 2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
508         * config/tc-arm.c (arm_ext_adiv): New variable.
509         (do_div): New function.
510         (insns): Accept UDIV and SDIV in ARM state.
511         (arm_cpus): The cortex-a15 option has all current v7-A extensions.
512         (arm_extensions): Add 'idiv' extension.
513         (aeabi_set_public_attributes): Update Tag_DIV_use values for the
514         Integer Divide extension.
515         * doc/c-arm.texi: Document the idiv extension.
517 2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
519         * config/tc-arm.c (arm_ext_v6m): New variable.
520         (arm_ext_m): Add support for OS extension.
521         (arm_ext_os): New variable.
522         (do_t_swi): In v6-M ensure we have the OS extension.
523         (arm_cpus): The cortex-m1 and cortex-m0 options have the OS
524         extension by default.
525         (arm_archs): Add armv6s-m.
526         (arm_extensions): Add 'os' extension.
527         (cpu_arch_ver): Add support for v6S-M.
528         * doc/c-arm.texi: Document the OS Extension, and v6-m and v6s-m
529         architecture options.
531 2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
533         * config/tc-arm.c (arm_ext_v6z): Remove.
534         (arm_ext_sec): New variable.
535         (do_t_smc): In Thumb state SMC requires v7-A.
536         (insns): Make SMC depend on Security Extensions.
537         (arm_cpus): All -mcpu=cortex-a* options have the Security Extensions.
538         (arm_extensions): Add 'sec' extension.
539         (cpu_arch_ver): Reorder.
540         (aeabi_set_public_attributes): Emit Tag_Virtualization_use as
541         appropriate.
542         * doc/c-arm.texi: Document Security Extensions.
544 2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
546         * config/tc-arm.c (arm_ext_mp): Add.
547         (do_pld): Update comment.
548         (insns): Add support for pldw.
549         (arm_cpus): Update cortex-a5, cortex-a9, and cortex-a15 to support
550         MP extension.
551         (arm_extensions): Add 'mp' extension.
552         (aeabi_set_public_attributes): Emit correct build attribute when
553         MP extension is enabled.
554         * doc/c-arm.texi: Update for MP extensions.
556 2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
558         * config/tc-arm.c (md_pseduo_table): Add .arch_extension directive.
559         (arm_option_extension_value_table): Add.
560         (arm_extensions): Change type.
561         (arm_option_cpu_table): Rename...
562         (arm_option_fpu_table): ...to this.
563         (arm_fpus): Change type.
564         (arm_parse_extension): Enforce alphabetical order.  Allow
565         extensions to be removed.
566         (arm_parse_arch): Allow extensions to be specified with -march.
567         (s_arm_arch_extension): Add.
568         (s_arm_fpu): Update for type changes.
569         * doc/c-arm.texi: Document changes to infrastructure.
571 2010-09-23  Alan Modra  <amodra@gmail.com>
573         * config/tc-mn10300.c (tc_gen_reloc): Replace absolute symbols
574         with the absolute section symbol.
576 2010-09-22  Mike Frysinger  <vapier@gentoo.org>
578         * config/bfin-parse.y: Fix typo in BYTEOP16P comment.
580 2010-09-22  Robin Getz  <robin.getz@analog.com>
582         * config/bfin-parse.y (is_store): New function.
583         (gen_multi_instr_1): Check parallel slots for store insns.
585 2010-09-22  Robin Getz  <robin.getz@analog.com>
587         * config/bfin-defs.h (IS_EMUDAT): New define.
588         * config/bfin-parse.y: Accept EMUDAT for any register move.
590 2010-09-22  Robin Getz  <robin.getz@analog.com>
592         * config/bfin-parse.y: Improve error messages.
594 2010-09-22  Robin Getz  <robin.getz@analog.com>
596         * config/bfin-parse.y (DBG): Fix regno encoding.
597         (DBGCMPLX): Likewise.
599 2010-09-22  Robin Getz  <robin.getz@analog.com>
601         * config/bfin-lex.l: Accept multibyte chars in symbol names.
603 2010-09-22  Robin Getz  <robin.getz@analog.com>
605         * config/bfin-defs.h (statusflags): Add AC0_COPY, V_COPY, and RND_MOD.
606         * config/bfin-lex.l: Tokenize AC0_COPY, V_COPY, and RND_MOD.
608 2010-09-22  Mike Frysinger  <vapier@gentoo.org>
610         * config/bfin-aux.h (bfin_gen_pseudochr): New prototype.
611         * config/tc-bfin.c (bfin_gen_pseudochr): New function.
612         * config/bfin-parse.y: Call bfin_gen_pseudochr for OUTC tokens.
614 2010-09-22  Mike Frysinger  <vapier@gentoo.org>
616         * config/bfin-lex.l (abort): Accept case-insensitive abort insn.
617         * config/bfin-parse.y (ABORT): Handle the ABORT token.
619 2010-09-22  Mike Frysinger  <vapier@gentoo.org>
621         * config/tc-bfin.c (bfin_cpus[]): Add 0.2 for bf512/bf514/bf516/bf518.
623 2010-09-22  Mike Frysinger  <vapier@gentoo.org>
625         * doc/c-bfin.texi (-mcpu): Add bf592.
626         * config/tc-bfin.c (bfin_cpu_type): Add BFIN_CPU_BF592.
627         (bfin_cpus[]): Add 0.0/0.1 for bf592.
629 2010-09-22  Mike Frysinger  <vapier@gentoo.org>
631         * config/tc-bfin.c (comment_chars): Add #.
633 2010-09-20  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
635         * config/tc-arm.c (arm_cpus): Correct canonical names for Cortex CPUs.
637 2010-09-20  Richard Henderson  <rth@redhat.com>
639         * config/tc-alpha.c (tc_gen_reloc): Remove hack around
640         bfd_perform_reloc for OBJ_ELF.
642 2010-09-17  Tejas Belagod  <tejas.belagod@arm.com>
644         * config/tc-arm.c (do_t_ldmstm): Add logic to handle single-register
645         list for ldm/stm.
647 2010-09-17  Tejas Belagod  <tejas.belagod@arm.com>
649         * config/tc-arm.c (parse_psr): Add condition for matching "APSR" on
650         non-M-arch cpus.
651         (psrs): Add entry for PSR flags, g, nzcvq, nzcvqg.
653 2010-09-17  Tejas Belagod  <tejas.belagod@arm.com>
655         * config/tc-arm.c (insns): Change MRC entry to accept APSR_RR instead
656         of just RR.
658 2010-09-17  Andrew Burgess  <aburgess@broadcom.com>
660         PR gas/12011
661         * config/obj-elf.c (obj_elf_parse_section_letters): Correct test
662         for error return from md_elf_section_letter.
663         * config/tc-alpha.c (alpha_elf_section_letter): Correct error message.
664         * config/tc-i386.c (x86_64_section_letter): Likewise.
665         * config/tc-ia64.c (ia64_elf_section_letter): Likewise.
666         * config/tc-mep.c (mep_elf_section_letter): Likewise.
668 2010-09-15  Kai Tietz  <kai.tietz@onevision.com>
670         * config/obj-coff-seh.c (seh_validate_seg): New funtion.
671         (obj_coff_seh_endproc): Add check for segment.
672         (obj_coff_seh_endprologue): Likewise.
673         (obj_coff_seh_pushreg): Likewise.
674         (obj_coff_seh_pushframe): Likewise.
675         (obj_coff_seh_save): Likewise.
676         (obj_coff_seh_setframe): Likewise.
678         * config/obj-coff-seh.h (seh_context): New member code_seg.
679         * config/obj-coff-seh.c: Implementing xdata/pdata section cloning
680         for link-once code-segment.
682 2010-09-14  Jie Zhang  <jie@codesourcery.com>
684         * doc/c-arm.texi: Document -mcpu=cortex-m4.
686 2010-09-09  H.J. Lu  <hongjiu.lu@intel.com>
688         * config/tc-i386.c (build_vex_prefix): Check VEXW1 for 2-byte
689         VEX prefix.
691 2010-09-09  Joseph Myers  <joseph@codesourcery.com>
693         * doc/c-tic6x.texi (.c6xabi_attribute): Document directive.
695 2010-09-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
697         * config/tc-arm.c (arm_cpus): Add cortex-a15 entry.
698         * doc/c-arm.texi: Document -mcpu=cortex-a15.
700 2010-09-09  Gunther Nikl  <gnikl@users.sourceforge.net>
702         * gas/config/tc-m68k.c (tc_gen_reloc): Handle references to defined
703         weak symbols first if generating an a.out object.
705 2010-09-09 Tejas Belagod  <tejas.belagod@arm.com>
707         * config/tc-arm.c (md_apply_fix): Check if widened add, sub are
708         flag-setting and handle accordingly.
710 2010-09-09  Nick Clifton  <nickc@redhat.com>
712         PR gas/11972
713         * config/tc-arm.c (parse_big_immediate): Allow for bignums being
714         extended to the size of a .octa.
716 2010-09-08  Julian Brown  <julian@codesourcery.com>
718         * config/tc-arm.c (create_neon_reg_alias): Deal with case
719         sensitivity.
721 2010-09-08  Nick Clifton  <nickc@redhat.com>
723         PR gas/11973
724         * config/tc-mn10300.c (md_convert_frag): Zero out top two bytes of
725         long call instruction's displacement.
727 2010-09-03  H.J. Lu  <hongjiu.lu@intel.com>
729         PR gas/11974
730         * config/tc-i386.c (i386_finalize_immediate): Check flag_code
731         instead of use_rela_relocations for 64bit.
733 2010-09-02  Richard Henderson  <rth@redhat.com>
735         * dw2gencfi.c (TC_DWARF2_EMIT_OFFSET): Provide default.
736         (output_fde): Use it.  Make sure to fully init exp before using it.
738 2010-08-31  Kai Tietz  <kai.tietz@onevision.com>
740         * config/obj-coff-seh.c (obj_coff_seh_save): Correct comparison.
741         (obj_coff_seh_stackalloc): Likewise.
743 2010-08-31  Alan Modra  <amodra@gmail.com>
745         * config/obj-elf.c (obj_elf_init_stab_section): Fix assertion.
747 2010-08-30  Richard Henderson   <rth@redhat.com>
749         * config/obj-coff-seh.c: Rewrite the entire file.
750         (symtab, symptr, reltab, relcount, relsize): Remove.
751         (seh_ctx_root, seh_ctx): Remove.
752         (xdata_seg, xdata_subseg, pdata_seg): New.
753         (switch_xdata, switch_pdata): New.
754         (verify_context, verify_context_and_target, skip_whitespace_and_comma):
755         New parsing functions.  Rewrite all parsing functions to use them.
756         (obj_coff_seh_32): Fix != arm thinko.
757         (obj_coff_seh_handler): For x64, don't accept handler pointer here,
758         only flags.
759         (obj_coff_seh_handlerdata): New.
760         (do_seh_endproc): Split out of ...
761         (obj_coff_seh_endproc): ... here.
762         (obj_coff_seh_proc): Use it, if needed.
763         (seh_x64_make_prologue_element): Use XRESIZEVEC, symbol_temp_new_now.
764         (seh_x64_read_reg): Remove mm_regs alternative.  Tidy integer reg
765         alternatives.  Don't slurp commas.
766         (seh_read_offset): Remove.
767         (obj_coff_seh_pushframe): Split out from obj_coff_seh_push.
768         (obj_coff_seh_scope): Remove.
769         (obj_coff_seh_save): Decide UWOP_SAVE_* vs _FAR immediately.
770         (obj_coff_seh_stackalloc): Decide _SMALL vs _LARGE immediately.
771         (out_one, out_two, out_four): New.
772         (seh_x64_write_prologue_data, seh_x64_size_prologue_data,
773         seh_x64_write_function_xdata, write_function_xdata): Rewrite
774         from seh_x64_write_xdata, seh_needed_unwind_info, seh_store_elm_data,
775         seh_getelm_data_size, seh_getsize_of_unwind_entry,
776         seh_make_unwind_entry, seh_getsize_unwind_data, and
777         seh_create_unwind_data.
778         (seh_arm_write_function_pdata): Rewrite from seh_arm_create_pdata.
779         (write_function_pdata): Rewrite from make_function_entry_pdata.
780         (seh_write_text_eh_data, make_function_entry_pdata,
781         seh_arm_create_pdata, seh_arm_write_pdata, seh_reloc, save_relocs,
782         seh_symbol_init, seh_symbol, quick_section, seh_emit_rva,
783         seh_emit_long, seh_make_globl, seh_make_section2, seh_make_section,
784         seh_make_xlbl_name, make_seh_text_label, seh_fill_pcsyms,
785         seh_needed_unwind_info, seh_store_elm_data, seh_getelm_data_size,
786         seh_getsize_of_unwind_entry, seh_make_unwind_entry,
787         seh_getsize_unwind_data, seh_create_unwind_data,
788         seh_make_function_entry_xdata, seh_x64_makescope_elem): Remove.
789         * config/obj-coff-seh.h (SEH_CMDS): Remove seh_savemm, seh_scope.
790         Add seh_handlerdata.  Adjust function/what arguments for
791         seh_savereg, seh_pushframe, seh_stackalloc.
792         (struct seh_prologue_element): Adjust members to closer match
793         the elements of the UNWIND_CODE structure.
794         (struct seh_scope_elem): Remove.
795         (struct seh_context): Replace char* members with symbolS or
796         expressionS as appropriate.  Sort members by ARM/x64 applicability.
797         Remove obsolete stuff wrt direct symbol and reloc manipulation.
799 2010-08-25  Alan Modra  <amodra@gmail.com>
801         * NEWS: Mention ampersand in macro change.
803 2010-08-25  Gunther Nikl  <gnikl@users.sourceforge.net>
805         * configure.tgt (m68k-*-aout): Change to bfd_gas=yes.
807 2010-08-25  Alan Modra  <amodra@gmail.com>
809         * config/tc-d10v.c (do_assemble): Correctly detect overflow of
810         "name" buffer.
811         * config/tc-m68hc11.c (md_assemble): Likewise.
812         * config/tc-microblaze.c (md_assemble): Likewise.  Correct cast
813         of is_end_of_line index.
815 2010-08-25  Jie Zhang  <jie@codesourcery.com>
817         * config/tc-arm.c (encode_arm_addr_mode_2): Fix comment.
819 2010-08-25  Jie Zhang  <jie@codesourcery.com>
821         * config/tc-arm.c (encode_arm_addr_mode_2): Fix
822         BAD_PC_ADDRESSING condition.
824 2010-08-20  Maciej W. Rozycki  <macro@codesourcery.com>
826         * doc/c-arm.texi (ARM Options): Document -mfpu=fp4-sp-d16.
828 2010-08-19  H.J. Lu  <hongjiu.lu@intel.com>
830         * config/tc-i386.c (VEX_check_operands): Fix a typo in comments.
832 2010-08-18  H.J. Lu  <hongjiu.lu@intel.com>
834         * config/tc-i386.c (build_modrm_byte): Check i.imm_operands
835         instead of VEXXDS.
837 2010-08-18  Alan Modra  <amodra@gmail.com>
839         * macro.c (sub_actual): Add back ampersand suffix when no
840         substitution.
841         (macro_expand_body): Correct comment.
843 2010-08-17  Roland McGrath  <roland@redhat.com>
845         * config/obj-elf.c (obj_elf_parse_section_letters): Take new
846         boolean result parameter CLONE; set it if '?' flag letter seen.
847         (obj_elf_section): Update caller.  Handle that flag by copying
848         the LINKONCE and GROUP_NAME state from NOW_SEG.
849         * doc/as.texinfo (Section): Document the ? flag.
851 2010-08-09  Cary Coutant  <ccoutant@google.com>
853         * as.c (show_usage): Don't list --compress-debug-sections if zlib not
854         installed.
855         (main): Warn if --compress-debug-sections requested and zlib not
856         installed.
857         * doc/as.texinfo: Add --compress-debug-sections,
858         --nocompress-debug-sections.
860 2010-08-06  H.J. Lu  <hongjiu.lu@intel.com>
862         * config/tc-i386.c (set_cpu_arch): Re-indent.
863         (md_parse_option): Likewise.
865 2010-08-06  Quentin Neill <quentin.neill@amd.com>
867         * config/tc-i386.c (arch_entry): Add negated bit to
868           disambiguate flag names starting with "no".
869           (cpu_arch): Add negated bit definitions.  Add
870           ".nop" CPU extension.
871           (i386_align_code): Use new .cpunop bit to decide
872           when to generate alignment using nops.
873           (set_cpu_arch): Use negated bit instead to decide
874           when to use cpu_flags or vs. cpu_flags_and_not.
875           (md_parse_option): Likewise.
877 2010-08-04  H.J. Lu  <hongjiu.lu@intel.com>
879         * config/tc-i386.c (match_template): Move the first i.error
880         out of the loop.
882 2010-08-04  Alan Modra  <amodra@gmail.com>
884         * configure.tgt (m32c): Set endian=little.
885         * config/tc-m32c.h (TARGET_BYTES_BIG_ENDIAN): Define as 0.
886         * config/tc-m32c.c (md_number_to_chars): Revert last change.
888 2010-08-03  Tristan Gingold  <gingold@adacore.com>
890         * makefile.vms (OBJS): Add Add compress-debug.c.
892 2010-08-03  Alan Modra  <amodra@gmail.com>
894         * config/tc-d10v.h (TARGET_BYTES_BIG_ENDIAN): Define as 1.
895         * config/tc-m32c.c (md_number_to_chars): Call bigendian
896         form of number_to_chars, not littleendian.
898 2010-08-02  Alan Modra  <amodra@gmail.com>
900         * config/tc-d30v.c (d30v_cons_align): Don't align constants
901         in debug sections.
903 2010-08-02  Alan Modra  <amodra@gmail.com>
905         PR gas/11867
906         * expr.c (operand <'-' and '~'>): Widen bignums.
907         (operand <'!'>): Correct bignum result and convert to O_constant.
908         * read.c (emit_expr): Don't assert on .byte bignum.  Don't display
909         bignum truncated warning for sign extended bignums.
911 2010-08-02  Alan Modra  <amodra@gmail.com>
913         * config/tc-v850.c (md_assemble): Always pass format string to
914         as_warn.
915         (md_apply_fix): Similarly for as_warn_where.
917 2010-07-29  H.J. Lu  <hongjiu.lu@intel.com>
919         * config/tc-i386-intel.c: Reformat.
921 2010-07-29  Alan Modra  <amodra@gmail.com>
923         * config/tc-ppc.c (ppc_fix_adjustable): Add got reloc types used
924         in large toc code.
926 2010-07-28  Alan Modra  <amodra@gmail.com>
928         PR gas/11841
929         * symbols.c (symbol_clone): Correct typo in previous patch.
931 2010-07-28  Alan Modra  <amodra@gmail.com>
933         PR gas/11841
934         * symbols.c (symbol_clone): Clear BSF_SECTION_SYM flag.
936 2010-07-28  Alan Modra  <amodra@gmail.com>
938         * config/tc-ppc.c (md_assemble): Don't attempt to print NUL in
939         syntax error message.
941 2010-07-27  Maciej W. Rozycki  <macro@codesourcery.com>
943         * config/tc-mips.c (mips16_macro_build): Pass "args" by
944         reference rather than value.
945         (macro_build): Update accordingly.
947 2010-07-27  Maciej W. Rozycki  <macro@codesourcery.com>
949         * config/tc-mips.c (mips_ip): Use symbol_temp_new_now to create
950         a fake label.
952 2010-07-24  Maciej W. Rozycki  <macro@codesourcery.com>
954         * config/tc-mips.c (macro)[M_JAL_1, M_JAL_2]: Handle the JALR
955         delay slot in the noreorder mode with the o32 ABI.
957 2010-07-23  Naveen.H.S  <naveen.S@kpitcummins.com>
958             Ina Pandit  <ina.pandit@kpitcummins.com>
960         * config/tc-v850.c: Update processor_mask.
961         (reg_name): Update the structure to use processors field.
962         (md_relax_table): Define SUBYPTE_COND_9_22, SUBYPTE_SA_9_22,
963         SUBYPTE_UNCOND_9_22, SUBYPTE_COND_9_22_32, SUBYPTE_SA_9_22_32,
964         SUBYPTE_UNCOND_9_22_32, SUBYPTE_COND_9_17_22,
965         SUBYPTE_SA_9_17_22, SUBYPTE_COND_9_17_22_32 and
966         SUBYPTE_SA_9_17_22_32.
967         (set_machine): Add support for V850E2 and V850E2V3.
968         (md_pseudo_table): Likewise.
969         (pre_defined_registers): Update pre defined registers suitable
970         for each family of registers.
971         (system_registers): Likewise.
972         (cc_names): Update the condition code.
973         (float_cc_names): Update the condition code for float.
974         (reg_name_search): Update based on current modifications.
975         (register_name): Likewise.
976         (system_register_name): Update to support new system registers
977         and supported families.
978         (cc_name): Update to support new condition codes.
979         (float_cc_name): New function to support float condition codes.
980         (parse_register_list): Update to support newly added registers.
981         (md_show_usage): Define support for V850E2 and V850E2V3 targets.
982         Also support added for disp-size-default-22, disp-size-default-32,
983         mextension, mno-bcond17 and mno-stld23.
984         (md_parse_option): Implement the support for above options defined
985         in md_show-usage.
986         (md_convert_frag): Implement support for subtypes defined in
987         md_relax_table to support branch operations.
988         (md_begin): Add support for V850E2 and V850E2V3.
989         (handle_hi016, handle_hi16): new relocation handling functions
990         (handle_lo16, handle_ctoff, handle_sdaoff, handle_zdaoff,
991         handle_tdaoff): Updated relocation handling functions for newly
992         added relocations.
993         (v850_reloc_prefix): Update the relocation handling functions.
994         (v850_insert_operand): Updated the functions with error message
995         parameter and modified the function to use it.
996         (md_assemble): Update according to the latest modifications.
997         (md_apply_fix): Updated the functions with error message parameter
998         and modified the function to use it.
999         (v850_force_relocation): Update with newly added relocations.
1000         * configure.tgt: Match all v850 targets.
1001         * doc/c-v850.texi: Document the newly added targets.
1002         * NEWS: Likewise.
1004 2010-07-23  Alan Modra  <amodra@gmail.com>
1006         PR gas/11834
1007         * macro.c (macro_expand): Recover gracefully from named args that
1008         don't match params.
1010 2010-07-22  Thomas Schwinge  <thomas@codesourcery.com>
1012         Switch MIPS to 32-bit DWARF format.
1013         * config/tc-mips.h (DWARF2_FORMAT): Only define for [TE_IRIX].
1014         * config/tc-mips.c (mips_dwarf2_format): Likewise.
1016 2010-07-20  Alan Modra  <amodra@gmail.com>
1018         * config/tc-ppc.c (ppc_setup_opcodes): Add all macros for -many.
1020 2010-07-16  Alan Modra  <amodra@gmail.com>
1022         * config/tc-rx.c (md_estimate_size_before_relax): Fix format
1023         specifier warnings for 32-bit host when --enable-64-bit-bfd.
1024         (rx_relax_frag, md_convert_frag): Likewise.
1026 2010-07-15  Cary Coutant  <ccoutant@google.com>
1028         * gas/NEWS: Add note about --compress-debug-sections.
1029         * gas/as.c (show_usage): Add --compress-debug-sections and
1030         --nocompress-debug-sections.
1032 2010-07-15  Rhonda Wittels  <rhonda@codesourcery.com>
1034         * config/obj-elf.c (get_sym_from_input_line_and_check): New
1035         function to catch missing pseudo-op arguments.
1036         (obj_elf_local): Call new function.
1037         (obj_elf_weak): Likewise.
1038         (obj_elf_visibility): Likewise.
1039         (obj_elf_vtable_entry): Likewise.
1040         (obj_elf_type): Likewise.
1042 2010-07-15  Kai Tietz  <kai.tietz@onevision.com>
1044         * config/obj-coff-seh.c
1045         (seh_getelm_data_size): New.
1046         (seh_read_offset): Handle negative values.
1047         (obj_coff_seh_push): Handle offset for save-register store.
1048         (obj_coff_seh_setframe): Add unwind-information for frame.
1049         (seh_store_elm_data): New.
1050         (seh_getelm_data_size): Return additionally unaligned element count.
1051         (seh_make_unwind_entry): Correct tweak about element count.
1053 2010-07-12  H.J. Lu  <hongjiu.lu@intel.com>
1055         PR gas/11806
1056         * config/tc-i386-intel.c (i386_intel_simplify): Restore fall
1057         through patch for O_multiply.
1059 2010-07-11  Kai Tietz  <kai.tietz@onevision.com>
1061         PR ld/11612
1062         * config/obj-coff.c (obj_common_parse): Quote symbol-name.
1064 2010-07-08 Tejas Belagod <tejas.belagod@arm.com>
1066         * tc-arm.c (OP_oBARRIER): Remove.
1067         (OP_oBARRIER_I15): Add.
1068         (po_barrier_or_imm): Add macro.
1069         (parse_operands): Improve OP_oBARRIER_I15 operand parsing.
1070         (do_barrier): Check correct immediate range.
1071         (do_t_barrier): Likewise.
1072         (barrier_opt_names): Add entries for more symbolic operands.
1073         (insns): Replace OP_oBARRIER with OP_oBARRIER_I15 for barriers.
1075 2010-07-08  Daniel Gutson  <dgutson@codesourcery.com>
1077         * config/tc-arm.c (tc_gen_reloc): Add BFD_RELOC_ARM_T32_OFFSET_IMM
1078         error message.
1080 2010-07-06  Maciej W. Rozycki  <macro@codesourcery.com>
1082         * config/tc-mips.c (mips_frob_file): Use symbol_same_p to match
1083         symbols.
1085 2010-07-06  Maciej W. Rozycki  <macro@codesourcery.com>
1087         * config/tc-mips.c (nops_for_insn_or_target): Replace
1088         MIPS16_INSN_BRANCH with MIPS16_INSN_UNCOND_BRANCH and
1089         MIPS16_INSN_COND_BRANCH.
1091 2010-07-05  Jim Wilson  <wilson@codesourcery.com>
1093         PR gas/10531
1094         PR gas/11789
1095         * dwarf2dbg.c (dwarf2_finish): Don't generate .debug_line section
1096         if it isn't empty.
1098 2010-07-05  Alan Modra  <amodra@gmail.com>
1100         * config/tc-moxie.c (md_apply_fix): Delete set but otherwise
1101         unused var.
1103 2010-07-04  H.J. Lu  <hongjiu.lu@intel.com>
1105         * Makefile.am (CONFIG_OBJS): Removed.
1106         (GENERIC_OBJS): Likewise.
1107         (OBJS): Likewise.
1108         * Makefile.in: Regenerated.
1110 2010-07-03  Jan Beulich  <jbeulich@novell.com>
1112         PR gas/11732
1113         * config/tc-i386.c (i386_finalize_displacement): Don't call
1114         section_symbol() with expr_section.
1116 2010-07-03  Cary Coutant  <ccoutant@google.com>
1118         * Makefile.am: Add compress-debug.c and compress-debug.h.
1119         * Makefile.in: Regenerate.
1120         * config.in: Add HAVE_ZLIB_H.
1121         * configure.in: Check for zlib.h.
1122         * configure: Regenerate.
1124         * as.c (parse_args): Add --compress-debug-sections and
1125         --nocompress-debug-sections.
1126         * as.h (flag_compress_debug): New variable.
1127         * compress-debug.c: New file.
1128         * compress-debug.h: New file.
1129         * write.c: Include compress-debug.h.
1130         (compress_frag): New function.
1131         (compress_debug): New function.
1132         (write_object_file): Compress debug sections if requested.
1134 2010-07-03  Andreas Schwab  <schwab@linux-m68k.org>
1136         * config/tc-ppc.c (ppc_set_cpu): Cast PPC_OPCODE_xxx to ppc_cpu_t
1137         before inverting.
1139 2010-07-03  Alan Modra  <amodra@gmail.com>
1141         * config/tc-ppc.c (ppc_set_cpu): Remove old opcode flags.
1142         (ppc_setup_opcodes): Likewise.  Simplify opcode selection.
1144 2010-07-02  DJ Delorie  <dj@redhat.com>
1146         * config/tc-rx.h (md_do_align): New.
1147         (MAX_MEM_FOR_RS_ALIGN_CODE): New.
1148         * config/tc-rx.c (nops): New.
1149         (rx_handle_align): Use various sized nops to align code.
1151         * config/tc-rx.c (rx_bytesT): Add grown/shrank counters for
1152         relaxation.
1153         (rx_relax_frag): Prevent infinite loops of grow/shrink/grow/etc.
1155 2010-07-01  H.J. Lu  <hongjiu.lu@intel.com>
1157         AVX Programming Reference (June, 2010)
1158         * config/tc-i386.c (cpu_arch): Add .xsaveopt, .fsgsbase, .rdrnd
1159         and .f16c.
1161         * doc/c-i386.texi: Document xsaveopt, fsgsbase, rdrnd and f16c.
1163 2010-07-01  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1165         * config/tc-arm.c (do_t_mov_cmp): Fix reporting of unpredictable and
1166         deprecated mov register instructions.
1168 2010-07-01  Alan Modra  <amodra@gmail.com>
1170         * config/tc-ppc.c (toc_reloc_types): New variable.
1171         (md_assemble): Set it.
1172         (ppc_frob_file_before_adjust): Don't warn about toc section size
1173         if we have large toc relocs and no small toc relocs.
1175 2010-06-29  Alan Modra  <amodra@gmail.com>
1177         * config/tc-maxq.h: Delete file.
1178         * config/tc-maxq.c: Delete file.
1179         * Makefile.am: Remove references to maxq.
1180         * configure.tgt: Likewise.
1181         * config/obj-coff.h: Likewise.
1182         * Makefile.in: Regenerate.
1183         * configure: Regenerate.
1184         * po/POTFILES.in: Regenerate.
1186 2010-06-28  Alan Modra  <amodra@gmail.com>
1188         * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define.
1189         * config/tc-crx.c (gettrap): Constify arg.
1190         (handle_LoadStor, get_cinv_parameters): Likewise.
1191         (getreg_image): Fix enum warning
1192         (md_assemble): Restore input line char.
1193         * config/tc-hppa.c (tc_gen_reloc): Fix enum warning.
1194         * config/tc-i960.c (mem_fmt): Rename var to fix shadow warning.
1195         * config/tc-sh.c (sh_fdpic): Only define when OBJ_ELF.
1196         (build_Mytes): Fix build failure for non-elf targets.
1197         * config/tc-tic4x.c (tic4x_eval): Restore terminator char.
1198         * config/tc-xtensa.c (xtensa_end_directive): Fix switch enum warning.
1200         * cgen.c (gas_cgen_md_apply_fix): Avoid set but unused warning.
1201         * ecoff.c (add_ecoff_symbol): Likewise.
1202         * itbl-ops.c (append_insns_as_macros): Likewise.
1203         * listing.c (debugging_pseudo): Likewise.
1204         * read.c (s_mri_common, stringer): Likewise.
1205         * config/obj-coff.c (coff_frob_section): Likewise.
1206         * config/tc-alpha.c (emit_ldgp, s_alpha_proc): Likewise.
1207         * config/tc-arm.c (my_get_expression): Likewise.
1208         * config/tc-hppa.c (process_exit, pa_type_args): Likewise.
1209         * config/tc-m32c.c (md_assemble): Likewise.
1210         * config/tc-microblaze.c (md_convert_frag): Likewise.
1211         * config/tc-mips.c (s_change_section): Likewise.
1212         * config/tc-mt.c (mt_fix_adjustable): Likewise.
1213         * config/tc-xtensa.c (xtensa_literal_pseudo): Likewise.
1215         * config/obj-aout.c (obj_aout_frob_symbol): Delete set but otherwise
1216         unused vars.
1217         * config/tc-alpha.c (load_expression): Likewise.
1218         (s_alpha_rdata, s_alpha_section, s_alpha_prologue): Likewise.
1219         * config/tc-arm.c (parse_neon_el_struct_list): Likewise.
1220         * config/tc-avr.c (extract_word): Likewise.
1221         * config/tc-cris.c (cris_get_expression): Likewise.
1222         * config/tc-d30v.c (build_insn, find_format): Likewise.
1223         * config/tc-dlx.c (machine_ip): Likewise.
1224         * config/tc-hppa.c (pa_get_absolute_expression): Likewise.
1225         * config/tc-i370.c (md_assemble): Likewise.
1226         * config/tc-i960.c (brtab_emit): Likewise.
1227         * config/tc-iq2000.c (s_iq2000_ent): Likewise.
1228         * config/tc-m32c.c (md_convert_frag): Likewise.
1229         * config/tc-m68hc11.c (fixup24, build_jump_insn): Likewise.
1230         (md_estimate_size_before_relax, md_apply_fix): Likewise.
1231         * config/tc-m68k.c (md_show_usage): Likewise.
1232         * config/tc-microblaze.c (microblaze_s_lcomm): Likewise.
1233         * config/tc-mips.c (s_mips_end): Likewise.
1234         * config/tc-mmix.c (mmix_byte, mmix_cons): Likewise.
1235         * config/tc-mn10300.c (md_assemble): Likewise.
1236         * config/tc-msp430.c (extract_word): Likewise.
1237         * config/tc-mt.c (md_assemble): Likewise.
1238         * config/tc-or32.c (machine_ip): Likewise.
1239         * config/tc-pj.c (md_apply_fix): Likewise.
1240         * config/tc-s390.c (md_gather_operands): Likewise.
1241         * config/tc-sh.c (sh_cons_align): Likewise.
1242         * config/tc-sparc.c (sparc_cons_align): Likewise.
1243         * config/tc-tic4x.c (tic4x_sect): Likewise.
1244         * config/tc-tic54x.c (tic54x_stringer): Likewise.
1245         * config/tc-vax.c (vip_op): Likewise.
1246         * config/tc-xstormy16.c (xstormy16_cons_fix_new): Likewise.
1247         * config/tc-xtensa.c (md_assemble): Likewise.
1248         (xtensa_fix_short_loop_frags, convert_frag_immed): Likewise.
1249         (xtensa_move_literals): Likewise.
1251 2010-06-28  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1253         * config/tc-arm.c (parse_neon_alignment): New function.
1254         (parse_address_main): Fix Neon load/store alignment parsing.
1256 2010-06-22  Jan Beulich  <jbeulich@novell.com>
1258         * config/tc-i386-intel.c (i386_intel_parse_name): Handle pseudo
1259         symbols named "$".
1260         (i386_intel_operand): Remove bogus handling of pseudo symbols
1261         named "$".
1262         * expr.c (current_location): Remove 'static' and local
1263         declaration.
1264         * expr.h (current_location): Declare.
1266 2010-06-21  Sterling Augustine  <sterling@tensilica.com>
1268         PR gas/11728
1269         * as.c: Globalize keep_it.
1270         (main): Remove keep_it. Move conditional from here...
1271         (close_output_file): ...to here.
1273 2010-06-21  Andreas Schwab  <schwab@redhat.com>
1275         * doc/as.texinfo (Overview): Use @itemx for grouped @table
1276         items.
1277         * doc/c-alpha.texi (Alpha Options): Likewise.
1278         * doc/c-arm.texi (ARM Directives): Likewise.
1279         * doc/c-bfin.texi (Blackfin Options): Likewise.
1280         * doc/c-d10v.texi (D10V-Opts): Likewise.
1281         * doc/c-i386.texi (i386-Options): Likewise.
1282         * doc/c-ia64.texi (IA-64 Options): Likewise.
1283         * doc/c-m68k.texi (M68K-Opts): Likewise.
1284         * doc/c-tic54x.texi (TIC54X-Directives): Likewise.
1285         * doc/internals.texi (Symbols): Likewise.
1287 2010-06-21  Alan Modra  <amodra@gmail.com>
1289         PR gas/11733
1290         * config/tc-sh.c (find_cooked_opcode): Correct array bounds check.
1292 2010-06-18  Joseph Myers  <joseph@codesourcery.com>
1294         * config/tc-tic6x.h (tic6x_segment_info_type): Add field
1295         func_units_used.
1296         * config/tc-tic6x.c (tic6x_cons_align: Clear func_units_used.
1297         (md_assemble): Clear func_units_used for new execute packet.
1298         Check for duplicate functional units and update func_units_used
1299         for instructions using a functional unit.
1301 2010-06-15  Joseph Myers  <joseph@codesourcery.com>
1303         * config/tc-tic6x.c: Include elf/tic6x.h.
1304         (tic6x_arch_attribute, tic6x_seen_insns): New.
1305         (tic6x_arch_table, tic6x_arches): Add attribute values.
1306         (tic6x_use_arch): Handle attribute settings.
1307         (tic6x_attributes_set_explicitly, s_tic6x_c6xabi_attribute,
1308         tic6x_attribute_table, tic6x_attributes,
1309         tic6x_convert_symbolic_attribute): New.
1310         (md_pseudo_table): Add c6xabi_attribute.
1311         (md_assemble): Set tic6x_seen_insns and tic6x_arch_attribute.
1312         (tic6x_set_attribute_int, tic6x_set_attributes): New.
1313         (tic6x_end): Call tic6x_set_attributes.
1314         * config/tc-tic6x.h (CONVERT_SYMBOLIC_ATTRIBUTE): Define.
1315         (tic6x_convert_symbolic_attribute): Declare.
1317 2010-06-14  Alan Modra  <amodra@gmail.com>
1319         * config/tc-ppc.c (md_assemble): Emit APUinfo section for
1320         PPC_OPCODE_E500.
1322 2010-06-11  Jan Beulich  <jbeulich@novell.com>
1324         * config/tc-i386.c (md_parse_option): Ignore impossible processor
1325         types.
1326         (show_arch): New parameter 'check'.
1327         (md_show_usage): Adjust calls to show_arch().
1329 2010-06-10  H.J. Lu  <hongjiu.lu@intel.com>
1331         * config/tc-i386.c (update_code_flag): New.
1332         (set_code_flag): Use it.
1333         (i386_target_format): Replace set_code_flag with update_code_flag.
1335 2010-06-10  Tristan Gingold  <gingold@adacore.com>
1337         * config/obj-som.h: Includes som/reloc.h
1339 2010-06-10  Jan Beulich  <jbeulich@novell.com>
1341         * config/tc-i386.c (cpu_arch): Add comment.
1342         (i386_target_format): Set cpu_arch_isa_flags and cpu_arch_tune_flags
1343         from the generic entries of cpu_arch[].
1345 2010-06-08  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1347         * config/tc-arm.c (operand_parse_code): Add OP_RRnpctw enum
1348         value.
1349         (parse_operands): Add support for OP_RRnpctw.
1350         (insns): Update floating-point load/store multiples so the
1351         first register is of type OP_RRnpctw.
1353 2010-06-08  Quentin Neill  <quentin.neill@amd.com>
1355         * config/tc-i386.c (pi): Rename local loop counter
1356         variable i that shadows global static i386_insn i
1357         when DEBUG386 is defined.
1358         (pte) Ditto.
1360 2010-06-08  Nick Clifton  <nickc@redhat.com>
1362         * doc/as.texinfo: Replace abbreviated 20th century year numbers
1363         with full versions.
1365 2010-06-02  Quentin Neill  <quentin.neill@amd.com>
1367         * config/tc-i386.c (OPTION_MAVXSCALAR): Fix define.
1369 2010-06-02  Tristan Gingold  <gingold@adacore.com>
1371         * as.h: Remove conditionnal definition of HAVE_STDARG_H,
1372         USE_STDARG, va_alist, va_dcl, va_list, va_start, va_end.
1373         Remove conditionnal inclusion of stdarg.h and varargs.h.
1374         Assume ISO C.
1375         * config.in: Regenerate.
1376         * configure: Regenerate.
1377         * configure.in: Remove stdarg.h and varargs.h from
1378         AC_CHECK_HEADERS list.
1379         * messages.c (as_tsktsk): Remove non ISO C version.
1380         (as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto.
1382 2010-05-31  Tristan Gingold  <gingold@adacore.com>
1384         * config/tc-alpha.c: Add comments for evax.
1385         * config/obj-evax.c: Ditto.
1387 2010-05-28  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1389         * config/tc-arm.c (do_t_mov_cmp): In unified syntax encode movs as
1390         lsls and not adds.
1392 2010-05-27  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1394         * config/tc-arm.c (encode_thumb2_ldmstm): Make warning about
1395         writeback when base register is in register list an error, and
1396         correct check.
1397         (do_t_ldmstm): Change warnings.
1399 2010-05-26  Catherine Moore  <clm@codesourcery.com>
1401         * config/tc-mips.c (is_opcode_valid): Remove expansionp.
1402         (macro_build): Change invocation of is_opcode_valid.
1403         (mips_ip): Likewise.
1405 2010-05-25  Nick Clifton  <nickc@redhat.com>
1407         * Makefile.am (MOSTLYCLEANFILES): Fix typo.
1408         * Makefile.in: Regenerate.
1410 2010-05-25  Daniel Jacobowitz  <dan@codesourcery.com>
1411             Joseph Myers  <joseph@codesourcery.com>
1412             Andrew Stubbs  <ams@codesourcery.com>
1414         * config/tc-sh.c (sh_fdpic): New.
1415         (sh_check_fixup): Handle relocations on movi20.
1416         (parse_exp): Do not reject PIC operators here.
1417         (build_Mytes): Check for unhandled PIC operators here.  Use
1418         sh_check_fixup for movi20.
1419         (enum options): Add OPTION_FDPIC.
1420         (md_longopts, md_parse_option, md_show_usage): Add --fdpic.
1421         (sh_fix_adjustable, md_apply_fix): Handle FDPIC and movi20 relocations.
1422         (sh_elf_final_processing): Handle --fdpic.
1423         (sh_uclinux_target_format): New.
1424         (sh_parse_name): Handle FDPIC relocation operators.
1425         * config/tc-sh.h (TARGET_FORMAT): Define specially for TE_UCLINUX.
1426         (sh_uclinux_target_format): Declare for TE_UCLINUX.
1427         * configure.tgt (sh-*-uclinux* | sh[12]-*-uclinux*): Set
1428         em=uclinux.
1429         * doc/c-sh.texi (SH Options): Document --fdpic.
1431 2010-05-25  Jay Krell  <jay.krell@cornell.edu>
1433         PR ld/11621
1434         * Makefile.am: Replace all occurences of .o with .@OBJEXT@
1435         * Makefile.in: Regenerate.
1437 2010-05-25  Alan Modra  <amodra@gmail.com>
1439         * config/tc-ppc.c (ppc_section_flags): Add ATTRIBUTE_UNUSED to "attr".
1441 2010-05-19  Nick Clifton  <nickc@redhat.com>
1443         * config/tc-h8300.c (h8300_elf_section): Add .zdebug to the list
1444         of known section prefixes.
1446 2010-05-18  H.J. Lu  <hongjiu.lu@intel.com>
1448         PR gas/11600
1449         * obj-elf.c (obj_elf_change_section): Handle SHF_EXCLUDE.
1450         (obj_elf_parse_section_letters): Likewise.
1451         (obj_elf_section_word): Likewise.
1453         * config/tc-ppc.c (ppc_section_letter): Removed.
1454         (ppc_section_word): Likewise.
1455         * config/tc-ppc.h (ppc_section_letter): Likewise.
1456         (ppc_section_word): Likewise.
1457         (md_elf_section_letter): Likewise.
1458         (md_elf_section_word): Likewise.
1460         * doc/as.texinfo: Document `e' and `#exclude'.
1462 2010-05-13  Nathan Sidwell  <nathan@codesourcery.com>
1464         * config/tc-arm.c (md_assemble): Clarify current mode in error
1465         messages about unsupported instructions.
1466         (UT): Delete #define.
1467         (insns): Adjust cbnz, cbz appropriately.
1469 2010-05-11  Andrew Stubbs  <ams@codesourcery.com>
1471         * config/tc-arm.c (aeabi_set_public_attributes): Set Tag_DIV_use.
1473 2010-05-11  Jie Zhang  <jie@codesourcery.com>
1475         * config/tc-arm.c (aeabi_set_public_attributes): Set
1476         Tag_ABI_HardFP_use to 1 if a single precision FPU is selected.
1478 2010-05-07  Tristan Gingold  <gingold@adacore.com>
1480         * Makefile.in: Regenerate with automake 1.11.1.
1481         * aclocal.m4: Ditto.
1482         * doc/Makefile.in: Ditto.
1484 2010-05-05  Nick Clifton  <nickc@redhat.com>
1486         * po/es.po: Updated Spanish translation.
1488 2010-05-05  Julian Brown  <julian@codesourcery.com>
1490         * read.c (cons_worker): Detect and reject unexpected string argument.
1492 2010-05-04  Nick Clifton  <nickc@redhat.com>
1494         * write.c (fixup_segment): Revert previous delta.
1495         * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Also force the
1496         generation of relocations for fixups against weak symbols.
1498 2010-04-29  Nathan Sidwell  <nathan@codesourcery.com>
1500         * write.c (fixup_segment): Do not assume we know the section a
1501         defined weak symbol is in.
1502         * config/tc-arm.c (relax_adr, relax_branch, md_apply_fix): Treat
1503         weak symbols as not known to be in the same section, even if they
1504         are defined.
1506 2010-04-27  Joseph Myers  <joseph@codesourcery.com>
1508         * config/tc-tic6x.h (tic6x_label_list): New.
1509         (tic6x_segment_info_type): Keep a list of labels and a current
1510         frag instead of a boolean for whether labels seen and a count of
1511         instructions.
1512         (tic6x_frag_info, TC_FRAG_TYPE, TC_FRAG_INIT, tic6x_frag_init,
1513         md_do_align, tic6x_do_align, md_end, tic6x_end): New.
1514         * config/tc-tic6x.c (tic6x_frob_label): Put label on list.
1515         (tic6x_cleanup): Correct comment.
1516         (tic6x_free_label_list): New.
1517         (tic6x_cons_align): Free label list and update for
1518         tic6x_segment_info_type changes.
1519         (tic6x_do_align): New.
1520         (md_assemble): Handle list of labels and saved frag for execute
1521         packet.  Create machine-dependent frag for new execute packet and
1522         adjust labels accordingly.
1523         (tic6x_adjust_section, tic6x_frag_init, tic6x_end): New.
1524         (md_convert_frag, md_estimate_size_before_relax): Update comments.
1526 2010-04-24  H.J. Lu  <hongjiu.lu@intel.com>
1528         PR gas/11535
1529         * config/tc-i386-intel.c (intel_state): Add is_indirect.
1530         (i386_intel_operand): Initialize intel_state.is_indirect.  Check
1531         intel_state.is_indirect for "call|jmp [symbol]".
1533 2010-04-22  Nick Clifton  <nickc@redhat.com>
1535         * po/gas.pot: Updated by the Translation project.
1537 2010-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1539         * config/tc-i386.c (i386_is_register): Removed.
1540         (x86_cons): Don't use i386_is_register.
1541         (parse_register): Likewise.
1542         * config/tc-i386-intel.c (i386_intel_simplify): Likewise.
1543         (i386_intel_operand): Likewise.
1545 2010-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1547         * config/tc-i386.c (tc_x86_parse_to_dw2regnum): Don't use
1548         i386_is_register.
1550 2010-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1552         * config/tc-i386.c (i386_is_register): Remove is_intel_syntax.
1553         (x86_cons): Updated.
1554         (parse_register): Likewise.
1555         (tc_x86_parse_to_dw2regnum): Likewise.
1556         * config/tc-i386-intel.c (i386_intel_simplify): Likewise.
1557         (i386_intel_operand): Likewise.
1559 2010-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1561         PR gas/11509
1562         * config/tc-i386-intel.c (i386_intel_simplify_register): New.
1563         (i386_intel_simplify): Use i386_is_register and
1564         i386_intel_simplify_register. Set X_md for O_register and
1565         check X_md for O_constant.
1566         (i386_intel_operand): Use i386_is_register.
1568         * config/tc-i386.c (i386_is_register): New.
1569         (x86_cons): Initialize the X_md field.  Use i386_is_register.
1570         (parse_register): Use i386_is_register.
1571         (tc_x86_parse_to_dw2regnum): Likewise.
1573 2010-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1575         * expr.c (expr): Initialize the X_md field.
1577 2010-04-20  Joseph Myers  <joseph@codesourcery.com>
1579         * config/tc-tic6x.c (OPTION_MGENERATE_REL): New.
1580         (md_longopts): Add -mgenerate-rel.
1581         (tic6x_generate_rela): New.
1582         (md_parse_option): Handle -mgenerate-rel.
1583         (md_show_usage): Add comment that -mgenerate-rel is undocumented.
1584         (tic6x_init_after_args): New.
1585         (md_apply_fix): Correct shift calculations for SB-relative
1586         relocations.
1587         (md_pcrel_from): Change to tic6x_pcrel_from_section.  Do not
1588         adjust addresses for relocations referencing symbols in other
1589         sections.
1590         (tc_gen_reloc): Adjust addend calculations for REL relocations.
1591         * config/tc-tic6x.h (MD_PCREL_FROM_SECTION,
1592         tic6x_pcrel_from_section, tc_init_after_args,
1593         tic6x_init_after_args): New.
1595 2010-04-20  Nick Clifton  <nickc@redhat.com>
1597         PR gas/11507
1598         * macro.c (macro_expand_body): Do not treat LOCAL as a keyword in
1599         altmacro mode if found inside a quoted string.
1601 2010-04-20  Mike Frysinger  <vapier@gentoo.org>
1603         * config/bfin-lex.l (parse_int): Change index() to strchr().
1605 2010-04-16  Nick Clifton  <nickc@redhat.com>
1607         PR gas/11395
1608         * config/tc-hppa.c (pa_ip): Do not allow 64-bit add condition
1609         matcher to accept and unconditional 32-bit add instruction.
1610         (pa_build_unwind_subspace): Cope with error conditions not
1611         allowing the start symbol to be set.
1613 2010-04-15  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1615         * config/tc-arm.c (arm_convert_symbolic_attribute): Add support for
1616         new tag names in v2.08 of ARM ABI.
1617         * doc/c-arm.texi: Document new tag names in ABI.
1619 2010-04-14  Tristan Gingold  <gingold@adacore.com>
1621         * config/tc-alpha.c: Includes vms/egps.h on EVAX.
1622         (s_alpha_comm): Used new EGPS macros from egps.h
1623         (RGPS__V_NO_SHIFT, EGPS__V_MASK): New local macros.
1624         (s_alpha_section_word): Add comments.  Use new EGPS macros.
1625         Adjust for modified bfd_vms_set_section_flags function.
1627 2010-04-10  Alan Modra  <amodra@gmail.com>
1629         PR gas/11486
1630         * config/tc-ppc.c (ppc_elf_cons): Clear frag contents.
1632 2010-04-09  Nick Clifton  <nickc@redhat.com>
1634         * as.c (create_obj_attrs_section): Remove unused variable addr.
1635         * listing.c (listing_listing): Remove unused variable message.
1636         * read.c: Remove unnecessary register type qualifiers.
1637         (s_mri): Only define/use old_flag variable if MRI_MODE_CHANGE is
1638         defined.
1640 2010-04-07  Eric B. Weddington  <eric.weddington@atmel.com>
1642         * config/tc-avr.c (mcu_types): Add support for atmega16a, atmega168a,
1643         atmega164a, atmega165a, atmega169a, atmega169pa, atmega16hva2,
1644         atmega324a, atmega324pa, atmega325a, atmega3250a, atmega328,
1645         atmega329a, atmega329pa, atmega3290a, atmega48a, atmega644a,
1646         atmega645a, atmega645p, atmega6450a, atmega6450p, atmega649a,
1647         atmega649p, atmega6490a, atmega6490p, atmega64hve, atmega88a,
1648         atmega88pa, attiny461a, attiny84a, m3000.
1649         Remove support for atmega8m1, atmega8c1, atmega16c1, atmega4hvd,
1650         atmega8hvd, attiny327, m3000f, m3000s, m3001b.
1651         * doc/c-avr.texi: Same.
1653 2010-04-07  Jie Zhang  <jie@codesourcery.com>
1655         * config/tc-arm.c (make_mapping_symbol): Handle the case
1656         that multiple mapping symbols have the same value 0.
1658 2010-04-07  Alan Modra  <amodra@gmail.com>
1660         * configure: Regenerate.
1662 2010-04-06  Nick Clifton  <nickc@redhat.com>
1664         * po/ru.po: New Russian translation.
1665         * configure.in (ALL_LINGUAS): Add ru.
1666         * configure: Regenerate.
1668 2010-03-30  H.J. Lu  <hongjiu.lu@intel.com>
1670         PR gas/11456
1671         * input-scrub.c (input_scrub_next_buffer): Use memmove instead
1672         of memcpy to copy overlap memory.
1674 2010-03-25  Joseph Myers  <joseph@codesourcery.com>
1676         * Makefile.am (TARGET_CPU_CFILES): Add config/tc-tic6x.c.
1677         (TARGET_CPU_HFILES): Add config/tc-tic6x.h.
1678         * Makefile.in: Regenerate.
1679         * NEWS: Add news entry for TI C6X support.
1680         * app.c (do_scrub_chars): Handle "||^" for TI C6X.  Handle
1681         TC_PREDICATE_START_CHAR and TC_PREDICATE_END_CHAR.  Keep spaces in
1682         operands if TC_KEEP_OPERAND_SPACES.
1683         * configure.tgt (tic6x-*-*): New.
1684         * config/tc-ia64.h (TC_PREDICATE_START_CHAR,
1685         TC_PREDICATE_END_CHAR): Define.
1686         * config/tc-tic6x.c, config/tc-tic6x.h: New.
1687         * doc/Makefile.am (CPU_DOCS): Add c-tic6x.texi.
1688         * doc/Makefile.in: Regenerate.
1689         * doc/all.texi (TIC6X): Define.
1690         * doc/as.texinfo: Add TI C6X documentation.  Include c-tic6x.texi.
1691         * doc/c-tic6x.texi: New.
1693 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1695         * config/tc-i386.c (lex_got): Use STRING_COMMA_LEN on gotrel.
1697 2010-03-21  H.J. Lu  <hongjiu.lu@intel.com>
1699         * config/tc-i386.c (i386_error): Replace oprand_size_mismatch
1700         with operand_size_mismatch.
1701         (operand_size_match): Updated.
1702         (match_template): Likewise.
1704 2010-03-21  H.J. Lu  <hongjiu.lu@intel.com>
1706         * config/tc-i386.c (i386_error): New.
1707         (_i386_insn): Replace err_msg with error.
1708         (operand_size_match): Set error instead of err_msg on failure.
1709         (operand_type_match): Likewise.
1710         (operand_type_register_match): Likewise.
1711         (VEX_check_operands): Likewise.
1712         (match_template): Likewise.  Use error instead of err_msg with
1713         as_bad.
1715 2010-03-19  Jie Zhang  <jie@codesourcery.com>
1717         * config/tc-arm.c (make_mapping_symbol): Hanle the case
1718         that two mapping symbols have the same value.
1720 2010-03-18  Daniel Jacobowitz  <dan@codesourcery.com>
1722         * doc/c-arm.texi (.setfp): Correct example.
1724 2010-03-18  Wei Guozhi  <carrot@google.com>
1726         PR gas/11323
1727         * config/tc-arm.c (reloc_names): New relocation names.
1728         (md_apply_fix): New case for BFD_RELOC_ARM_GOT_PREL.
1729         (tc_gen_reloc): New case for BFD_RELOC_ARM_GOT_PREL.
1730         * doc/c-arm.texi (ARM-Relocations): Document the new relocation.
1732 2010-03-15  Thomas Schwinge  <thomas@codesourcery.com>
1734         * dw2gencfi.c (output_cie): Consider emitting the S augmentation in all
1735         cases, and not only for .eh_frame.
1737         * dw2gencfi.c (output_cie): Make it more explicit which code paths
1738         belong to .eh_frame only.
1740 2010-03-13  Segher Boessenkool  <segher@kernel.crashing.org>
1742         * config/tc-v850.c (v850_insert_operand): Handle out-of-range
1743         assembler constants on 64-bit hosts.
1745 2010-03-10  Mike Frysinger  <michael.frysinger@analog.com>
1747         * bfin-defs.h, bfin-lex.l, bfin-parse.y, tc-bfin.c, tc-bfin.h:
1748         Strip trailing whitespace.
1750 2010-03-10  Mike Frysinger  <michael.frysinger@analog.com>
1752         * doc/c-bfin.texi (-mcpu): Add bf504 and bf506.
1753         * config/tc-bfin.c (bfin_cpu_type): Add BFIN_CPU_BF504 and
1754         BFIN_CPU_BF506.
1755         (bfin_cpus[]): Add 0.0 for bf504 and bf506.
1757 2010-03-10  Jie Zhang  <jie@codesourcery.com>
1759         * doc/as.texinfo: Add Blackfin options.
1760         * doc/c-bfin.texi: Document -mfdpic, -mno-fdpic and -mnopic.
1761         * config/tc-bfin.c (md_show_usage): Show usage for all
1762         Blackfin specific options.
1764 2010-03-09  Alan Modra  <amodra@gmail.com>
1766         PR gas/11356
1767         * listing.c (listing_newline): Correct backslash quote logic.
1769 2010-03-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1771         * config/tc-i386.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define.
1772         (ELF_TARGET_FORMAT64): Define.
1774 2010-03-05  Paul Brook  <paul@codesourcery.com>
1776         * config/tc-arm.c (arm_cpu_option_table): Add cortex-m4.
1778 2010-03-02  Andrew Stubbs  <ams@codesourcery.com>
1780         * config/tc-sh.c (get_specific): Move overflow checking code to avoid
1781         reading uninitialized data.
1783 2010-03-01  Tristan Gingold  <gingold@adacore.com>
1785         * config/tc-score7.c (s7_frag_check): Add ATTRIBUTE_UNUSED.
1787 2010-02-26  Doug Evans  <dje@sebabeach.org>
1789         * configure.tgt: Fix mep cpu case.
1791 2010-02-26  Jie Zhang  <jie@codesourcery.com>
1793         * config/tc-arm.c (do_t_strexd): Remove
1794         operand[1] != operand[2] contraint.
1796 2010-02-26  Jie Zhang  <jie@codesourcery.com>
1798         * config/tc-arm.c (neon_select_shape): No need to match
1799         the remaining operands in the shape when one operand does
1800         not match.
1802 2010-02-26  Jie Zhang  <jie@codesourcery.com>
1804         * config/tc-arm.c (do_neon_ld_st_interleave): Reject bad
1805         alignment.
1807 2010-02-25  Doug Evans  <dje@sebabeach.org>
1809         * cgen.c: Whitespace fixes.
1810         (weak_operand_overflow_check): Formatting fix.
1812 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
1814         * config/tc-i386.c (match_template): Update error messages.
1816 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
1818         * config/tc-i386.c (_i386_insn): Add err_msg.
1819         (operand_size_match): Set err_msg on failure.
1820         (operand_type_match): Likewise.
1821         (operand_type_register_match): Likewise.
1822         (VEX_check_operands): Likewise.
1823         (match_template): Likewise.  Use i.err_msg with as_bad.
1825 2010-02-25  Wu Zhangjin <wuzhangjin@gmail.com>
1827         * config/tc-mips.c (mips_fix_loongson2f, mips_fix_loongson2f_nop,
1828         mips_fix_loongson2f_jump): New variables.
1829         (md_longopts): Add New options -mfix-loongson2f-nop/jump,
1830         -mno-fix-loongson2f-nop/jump.
1831         (md_parse_option): Initialize variables via above options.
1832         (options): New enums for the above options.
1833         (md_begin): Initialize nop_insn from LOONGSON2F_NOP_INSN.
1834         (fix_loongson2f, fix_loongson2f_nop, fix_loongson2f_jump):
1835         New functions.
1836         (append_insn): call fix_loongson2f().
1837         (mips_handle_align): Replace the implicit nops.
1838         * config/tc-mips.h (MAX_MEM_FOR_RS_ALIGN_CODE): Modified
1839         for the new mips_handle_align().
1840         * doc/c-mips.texi: Document the new options.
1842 2010-02-23  Daniel Gutson  <dgutson@codesourcery.com>
1844         * config/tc-arm.c (do_rd_rm_rn): Added warning
1845         for obsolete insns.
1847 2010-02-23  Andrew Zabolotny  <anpaza@mail.ru>
1849         PR binutils/11297
1850         * config/tc-avr.c (md_apply_fix): Handle BFD_RELOC_8.
1851         (avr_cons_fix_new): Handle fixups of a single byte.
1853 2010-02-22  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1855         PR 9861
1856         * config/tc-arm.c (CPU_DEFAULT): Do not define based upon build
1857         compiler's predefines.
1859 2010-02-19  Alan Modra  <amodra@gmail.com>
1861         * configure.tgt: Whiltespace.  Sort moxie entry.
1863 2010-02-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1865         * config/tc-arm.c (arm_convert_symbolic_attribute): Add Tag_DIV_use.
1866         * doc/c-arm.texi: Likewise.
1868 2010-02-12  Daniel Gutson <dgutson@codesourcery.com>
1870         * config/tc-arm.c (asm_opcode): operands type
1871         change.
1872         (BAD_PC_ADDRESSING): New macro message.
1873         (BAD_PC_WRITEBACK): Likewise.
1874         (MIX_ARM_THUMB_OPERANDS): New macro.
1875         (operand_parse_code): Added enum values.
1876         (parse_operands): Added thumb/arm distinction,
1877         plus new enum values handling.
1878         (encode_arm_addr_mode_2): Validations enhanced.
1879         (encode_arm_addr_mode_3): Likewise.
1880         (do_rm_rd_rn): Likewise.
1881         (encode_thumb32_addr_mode): Likewise.
1882         (do_t_ldrex): Likewise.
1883         (do_t_ldst): Likewise.
1884         (do_t_strex): Likewise.
1885         (md_assemble): Call parse_operands with
1886         a new parameter.
1887         (OPS_1): New macro.
1888         (OPS_2): Likewise.
1889         (OPS_3): Likewise.
1890         (OPS_4): Likewise.
1891         (OPS_5): Likewise.
1892         (OPS_6): Likewise.
1893         (insns): Updated insns operands.
1895 2010-02-12  Tristan Gingold  <gingold@adacore.com>
1896             Douglas B Rupp  <rupp@gnat.com>
1898         * config/tc-ia64.c (enum reloc_func): Add FUNC_SLOTCOUNT_RELOC.
1899         (DUMMY_RELOC_IA64_SLOTCOUNT): Added.
1900         (pseudo_func): Add an entry for slotcount.
1901         (md_begin): Initialize slotcount pseudo symbol.
1902         (ia64_parse_name): Handle @slotcount parameter.
1903         (ia64_gen_real_reloc_type): Handle slotcount.
1904         (md_apply_fix): Ditto.
1905         * doc/c-ia64.texi (IA-64-Relocs): Document @slotcount.
1907 2010-02-11  Sterling Augustine  <sterling@jaw.hq.tensilica.com>
1909         * config/tc-xtensa.c (istack_init): Don't call memset.
1911 2010-02-11  Sterling Augustine  <sterling@tensilica.com>
1913         * config/tc-xtensa.c (cache_literal_section): Handle prefixes as
1914         well as suffixes.
1916 2010-02-11  Sterling Augustine  <sterling@tensilica.com>
1918         * config/tc-xtensa.c (xtensa_find_unaligned_loops): Rewrite.
1920 2010-02-11  H.J. Lu  <hongjiu.lu@intel.com>
1922         * config/tc-i386.c (build_modrm_byte): Reformat.
1924 2010-02-11  H.J. Lu  <hongjiu.lu@intel.com>
1926         * config/tc-i386.c: Update copyright.
1928 2010-02-10  Quentin Neill  <quentin.neill@amd.com>
1929             Sebastian Pop  <sebastian.pop@amd.com>
1931         * config/tc-i386.c (vec_imm4) New operand type.
1932         (fits_in_imm4): New.
1933         (VEX_check_operands): New.
1934         (check_reverse): Call VEX_check_operands.
1935         (build_modrm_byte): Reintroduce code for 5
1936         operand insns.  Fix whitespace.
1938 2010-02-10  Richard Sandiford  <r.sandiford@uk.ibm.com>
1940         * config/tc-ppc.c (md_show_usage): Add -mpwr4, -mpwr5, -mpwr5x,
1941         -mpwr6 and -mpwr7.
1943 2010-02-09  Sterling Augustine  <sterling@tensilica.com>
1945         * config/tc-xtensa.c (RELAXED_LOOP_INSN_BYTES): New.
1946         (next_frag_pre_opcode_bytes): Use RELAXED_LOOP_INSN_BYTES.
1947         (xtensa_mark_zcl_first_insns): Rewrite to handle corner case.
1949 2010-02-08  Christophe Lyon  <christophe.lyon@st.com>
1951         * config/tc-arm.c (md_pcrel_from_section): Keep base to zero for
1952         non-local branches (BFD_RELOC_THUMB_PCREL_BRANCH23,
1953         BFD_RELOC_THUMB_PCREL_BLX, BFD_RELOC_ARM_PCREL_BLX,
1954         BFD_RELOC_ARM_PCREL_CALL)
1956 2010-02-08  Sterling Augustine  <sterling@tensilica.com>
1958         * config/tc-xtensa.c (frag_format_size): Generalize logic to
1959         handle more instruction sizes and fetch widths.
1960         (branch_align_power): Likewise.
1961         (text_align_power): Likewise.
1962         (bytes_to_stretch): Likewise.
1964 2010-02-08  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
1966         * config/tc-ppc.c (md_show_usage): Mention -mtitan.  Don't use tabs.
1967         (ppc_mach): Handle titan.
1968         * doc/c-ppc.texi: Mention -mtitan.
1970 2010-02-05  Sterling Augustine  <sterling@tensilica.com>
1972         * config/tc-xtensa.c (UNREACHABLE_MAX_WIDTH): Delete and
1973         replace with...
1974         (xtensa_fetch_width) ...this.
1976 2010-02-05  Joseph Myers  <joseph@codesourcery.com>
1978         * Makefile.am (CPU_TYPES, OBJ_FORMATS, CPU_OBJ_VALID,
1979         MULTI_CPU_TYPES, MULTI_CPU_OBJ_VALID): Remove.
1980         * Makefile.in: Regenerate.
1982 2010-02-03  Quentin Neill  <quentin.neill@amd.com>
1984         * config/tc-i386.c (cpu_arch): Change amdfam15 to bdver1.
1985         (i386_align_code): Rename  PROCESSOR_AMDFAM15 to PROCESSOR_BDVER1.
1986         * config/tc-i386.h (processor_type): Same.
1987         * doc/c-i386.texi: Change amdfam15 to bdver1.
1989 2010-01-29  Nick Clifton  <nickc@redhat.com>
1991         PR 11136
1992         * config/tc-arm.c (neon_check_type): Handle a neon_shape value of
1993         NS_NULL.
1995 2010-01-27  Dave Korn  <dave.korn.cygwin@gmail.com>
1997         * NEWS: Mention new feature.
1998         * config/obj-coff.c (obj_coff_section): Accept digits and use
1999         to override default section alignment power if specified.
2000         * doc/as.texinfo (.section directive): Update documentation.
2002 2010-01-27  H.J. Lu  <hongjiu.lu@intel.com>
2004         * config/tc-i386.c (avxscalar): New.
2005         (OPTION_MAVXSCALAR): Likewise.
2006         (build_vex_prefix): Select vector_length for scalar instructions
2007         based on avxscalar.
2008         (md_longopts): Add OPTION_MAVXSCALAR.
2009         (md_parse_option): Handle OPTION_MAVXSCALAR.
2010         (md_show_usage): Add -mavxscalar=.
2012         * doc/c-i386.texi: Document -mavxscalar=.
2014 2010-01-24  H.J. Lu  <hongjiu.lu@intel.com>
2016         * config/tc-i386.c (build_vex_prefix): Set i.vex.bytes[0] to
2017         0xc4 individually.
2019 2010-01-23  Richard Sandiford  <r.sandiford@uk.ibm.com>
2021         * write.h (fix_at_start): Declare.
2022         * write.c (fix_new_internal): Add at_beginning parameter.
2023         Use it instead of REVERSE_SORT_RELOCS.  Fix the handling of
2024         seg_fix_tailP for the at_beginning/REVERSE_SORT_RELOCS case.
2025         (fix_new, fix_new_exp): Update accordingly.
2026         (fix_at_start): New function.
2027         * config/tc-ppc.c (md_pseudo_table): Add .ref to the OBJ_XCOFF section.
2028         (ppc_ref): New function, for OBJ_XCOFF.
2029         (md_apply_fix): Handle BFD_RELOC_NONE for OBJ_XCOFF.
2030         * config/te-i386aix.h (REVERSE_SORT_RELOCS): Remove #undef.
2032 2010-01-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2034         * config/te-solaris.h (DWARF2_EH_FRAME_READ_ONLY): Make read-only
2035         on 64-bit Solaris/x86.
2036         Include obj-format.h earlier.
2038 2010-01-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2040         * config/tc-s390.c (s390_elf_final_processing): New function.
2041         * config/tc-s390.h (elf_tc_final_processing): New macro definition.
2042         (s390_elf_final_processing): Added prototype.
2045 2010-01-20  Nick Clifton  <nickc@redhat.com>
2047         PR 11109
2048         * config/tc-arm.c (do_neon_cvt): Rename to do_neon_cvt_1.  Add
2049         code to handle round-to-zero for VCVT conversions.
2050         (do_neon_cvt): New.  Call do_neon_cvt_1.
2051         (do_neon_cvtr): New.  Call do_neon_cvt_1.
2052         (insns): Use do_neon_cvt for VCVT insn and do_neon_cvtr for VCVTR
2053         insn.
2055 2010-01-18  Tristan Gingold  <gingold@adacore.com>
2057         * config/tc-ia64.c (ia64_vms_note): Generate 24 bytes note headers.
2059 2010-01-15  Sebastian Pop  <sebastian.pop@amd.com>
2061         * config/tc-i386.c (md_assemble): Before accessing the IMM field
2062         check that it's not an XOP insn.
2064 2010-01-14  Jie Zhang  <jie.zhang@analog.com>
2066         * config/bfin-aux.h: Remove argument names in function
2067         declarations.
2068         * config/bfin-lex.l (parse_int): Fix shadowed variable name
2069         warning.
2070         * config/bfin-parse.y (value_match): Remove argument names
2071         in declaration.
2072         (notethat): Likewise.
2073         (yyerror): Likewise.
2075 2010-01-13  Daniel Jacobowitz  <dan@codesourcery.com>
2077         * config/tc-arm.c (do_t_nop): Correct check for Thumb-2 NOP.
2079 2010-01-13  Nick Clifton  <nickc@redhat.com>
2081         * config/tc-h8300.c (h8300_elf_section): New function - issue a
2082         warning message if a new section is created without setting any
2083         attributes for it.
2084         (md_pseudo_table): Intercept section creation pseudos.
2085         (md_pcrel_from): Replace abort with an error message.
2086         * config/obj-elf.c (obj_elf_section_name): Export this function.
2087         * config/obj-elf.h (obj_elf_section_name): Prototype.
2089 2010-01-12  Alan Modra  <amodra@gmail.com>
2091         PR 11122
2092         * listing.c (print_source): Add one to line number.
2094 2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2096         * Makefile.in: Regenerate.
2097         * configure: Regenerate.
2098         * doc/Makefile.in: Regenerate.
2100 2010-01-08  H.J. Lu  <hongjiu.lu@intel.com>
2102         * version.c (parse_args): Change to "Copyright 2010".
2104 2010-01-06  Quentin Neill  <quentin.neill@amd.com>
2106         * config/tc-i386.c (cpu_arch): Add amdfam15.
2107         (i386_align_code): Add PROCESSOR_AMDFAM15 cases.
2108         * config/tc-i386.h (processor_type): Add PROCESSOR_AMDFAM15.
2109         * doc/c-i386.texi: Add amdfam15.
2111 2010-01-04  Daniel Gutson  <dgutson@codesourcery.com>
2113         * config/tc-arm.c (do_neon_logic): Accept imm value
2114         in the third operand too.
2115         (operand_parse_code): OP_RNDQ_IMVNb renamed to
2116         OP_RNDQ_Ibig.
2117         (parse_operands): OP_NILO case removed, applied renaming.
2118         (insns): Neon shape changed for some logic instructions.
2120 2010-01-04  Daniel Gutson  <dgutson@codesourcery.com>
2122         * config/tc-arm.c (do_neon_ldx_stx): Added
2123         validation for vector load/store insns.
2125 2010-01-04  Edmar Wienskoski  <edmar@freescale.com>
2127         * config/tc-ppc.c (md_show_usage): Document -me500mc64.
2129 2010-01-03  Daniel Gutson  <dgutson@codesourcery.com>
2131         * config/tc-arm.c (struct arm_it): New flag 'is_neon'.
2132         (NEON_ENC_*): Macros renamed to _NEON_ENC_*.
2133         (NEON_ENCODE): New macro.
2134         (check_neon_suffixes): New macro.
2135         (do_vfp_cond_or_thumb): Set the 'is_neon' flag.
2136         (do_vfp_nsyn_opcode): Likewise.
2137         (do_vfp_nsyn_nmul): Use the new 'NEON_ENCODE' macro.
2138         (do_vfp_nsyn_cmp): Likewise.
2139         (do_neon_shl_imm): Likewise.
2140         (do_neon_qshl_imm): Likewise.
2141         (neon_dyadic_misc): Likewise.
2142         (do_neon_mac_maybe_scalar): Likewise.
2143         (do_neon_qdmulh): Likewise.
2144         (do_neon_qmovn): Likewise.
2145         (do_neon_qmovun): Likewise.
2146         (do_neon_movn): Likewise.
2147         (neon_mac_reg_scalar_long): Likewise.
2148         (do_neon_vmull): Likewise.
2149         (do_neon_trn): Likewise.
2150         (do_neon_ldx_stx): Likewise.
2151         (neon_dp_fixup): Changed signature and set the flag.
2152         (neon_three_same): Call the above with new signature.
2153         (neon_two_same): Likewise.
2154         (neon_imm_shift): Likewise.
2155         (neon_mul_mac): Likewise.
2156         (do_neon_abs_neg): Likewise.
2157         (neon_mixed_length): Likewise.
2158         (do_neon_ext): Likewise.
2159         (do_neon_mov): Likewise.
2160         (do_neon_tbl_tbx): Likewise.
2161         (do_neon_logic): Likewise, and use the new 'NEON_ENCODE' macro.
2162         (neon_compare): Likewise.
2163         (do_neon_shll): Likewise.
2164         (do_neon_cvt): Likewise.
2165         (do_neon_mvn): Likewise.
2166         (do_neon_dup): Likewise.
2167         (md_assemble): Call check_neon_suffixes ().
2169 For older changes see ChangeLog-2009
2171 Local Variables:
2172 mode: change-log
2173 left-margin: 8
2174 fill-column: 74
2175 version-control: never
2176 End: