3 * po/tr.po: New translation imported.
7 * ecoff.c: (get_tag): Replace strcpy with xstrdup.
8 (ecoff_directive_def): Likewise.
9 (ecoff_directive_tag): Likewise.
10 * listing.c (file_info): Likewise.
11 * hash.c (what): Likewise.
15 * Makefile.am (check-DEJAGNU): Set LC_ALL=C and export it.
16 * Makefile.in: Regenerated.
20 * config/tc-sh.c (get_specific): Revert 2002-05-01 change.
21 (assemble_ppi): Generate warning if the same register is used
22 twice as destination in the same padd / pmuls instruction.
26 From Catherine Moore, Michael Meissner, Richard Sandiford, Dave Brolley
27 * po/POTFILES.in: Add tc-frv.c, tc-frv.h.
28 * configure.in: Support frv-*-*.
29 * Makefile.am (CPU_TYPES): Add frv.
30 (TARGET_CPU_CFILES): Add tc-frv.c.
31 (TARGET_CPU_HFILES): Add tc-frv.h.
32 (DEPTC_frv_coff): New variable.
33 (DEPTC_frv_elf): New variable.
34 (DEPOBJ_frv_coff): New variable.
35 (DEPOBJ_frv_elf): New variable.
36 (DEP_frv_coff): New variable.
37 (DEP_frv_elf): New variable.
43 * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Conditionally define.
47 * config/tc-sh.c (assemble_ppi): Initialize reg_n.
51 * config/tc-i370.h (tc_comment_chars): Define for i370-elf.
56 * dwarf2dbg.h (dwarf2_directive_file): Return char *.
57 * dwarf2dbg.c (dwarf2_directive_file): Return filename.
58 * config/tc-mips.c (s_mips_file): Call s_app_file_string
59 and new_logical_line for the first .file directive.
60 * read.c (s_app_file_string): New function.
61 (s_app_file): Call it.
62 * read.h (s_app_file_string): Add declaration.
66 * configure.in: Remove MIPS_STABS_ELF.
67 * configure: Regenerated.
68 * config.in: Regenerated.
69 * config/obj-elf.h (ECOFF_DEBUGGING): Define to mips_flag_mdebug
71 * config/tc-mips.c (mips_pseudo_table): Remove #ifdef around
73 (pdr_seg): Declare unconditionally.
74 (md_begin): Always generate .pdr unless ECOFF_DEBUGGING or not ELF.
75 (s_mips_end): Likewise. Generate stabs function markers.
76 (s_mips_ent): Generate stabs function markers.
77 (s_mips_frame): Always generate .pdr unless ECOFF_DEBUGGING or not
79 (s_mips_mask): Likewise.
80 (mips_flag_mdebug): New.
81 (md_longopts): Add "mdebug" and "no-mdebug".
82 (md_parse_options): Add OPTION_MDEBUG and OPTION_NO_MDEBUG.
83 (mips_after_parse_args): Set mips_flag_mdebug.
84 * doc/as.texinfo: Add "-mdebug" and "-no-mdebug" for MIPS.
88 * config/tc-mips.c (md_apply_fix3): Don't subtract the symbol's
89 value twice for RELA relocations.
93 * symbols.c (resolve_symbol_value): Initialise final_val.
95 * subsegs.c (subsegs_print_statistics): Cast frchp to void *.
99 * config/tc-ppc.c (ppc_subseg_align): Delete.
100 (ppc_change_csect): Default csect align is 2.
101 * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Delete
105 * config/tc-avr.c (mcu_types): Update.
109 * configure.in (vax-*-netbsdelf*, vax-*-netbsdaout*)
110 (vax-*-netbsd*): New targets.
111 * configure: Regenerate.
112 * config/aout_gnu.h (enum machine_type): Add M_VAX4K_NETBSD.
113 * config/tc-vax.c: Add support for ELF and PIC.
114 (flag_want_pic): New flag.
115 (float_cons): Fix prototype.
116 (md_apply_fix3): Adjust for BFD_ASSEMBLER.
117 (md_assemble): Introduce a new is_absolute local, and use it
118 rather than repeating the test. Make fatal errors actually
119 fatal by using as_fatal as appropriate. Adjust for BFD_ASSEMBLER.
120 Add support for ELF. Add support for PIC.
121 (md_convert_frag): Adjust for BFD_ASSEMBLER.
122 (tc_aout_fix_to_chars): Only include if OBJ_AOUT and not
124 (vax_reg_parse): Make the % register prefix mandatory for ELF,
125 optional for a.out, and not allowed for VMS. Adjust all callers.
126 (md_create_short_jump): Add ATTRIBUTE_UNUSED to unused arguments.
127 (md_create_long_jump): Likewise.
128 (md_undefined_symbol): Likewise.
129 (md_section_align): Likewise.
130 (md_shortopts): Allow -k and -K for ELF.
131 (md_parse_option): Set flag_want_pic if -k or -K.
132 (tc_headers_hook): New function if OBJ_AOUT and not BFD_ASSEMBLER.
133 (tc_gen_reloc): New function if BFD_ASSEMBLER.
134 * config/tc-vax.h (tc_headers_hook): Remove.
135 (TARGET_FORMAT): Set according to object format and target
137 (BFD_ARCH, TARGET_ARCH): Define.
138 (NO_RELOC): Adjust for BFD_ASSEMBLER.
139 (TC_RELOC_RTSYM_LOC_FIXUP, TC_FIX_ADJUSTABLE)
140 (tc_fix_adjustable): Define if BFD_ASSEMBLER.
141 * config/vax-inst.h (VAX_JSB, VAX_CALLS, VAX_CALLG): Define.
145 * Makefile.am: Run "make dep-am".
146 * Makefile.in: Regenerate.
148 * as.c: Replace CONST with const.
150 * config/obj-coff.c: Likewise.
151 * config/tc-a29k.c: Likewise.
152 * config/tc-arm.c: Likewise.
153 * config/tc-dlx.c: Likewise.
154 * config/tc-h8300.c: Likewise.
155 * config/tc-h8500.c: Likewise.
156 * config/tc-i370.c: Likewise.
157 * config/tc-i860.c: Likewise.
158 * config/tc-i960.c: Likewise.
159 * config/tc-m68hc11.c: Likewise.
160 * config/tc-m68k.c: Likewise.
161 * config/tc-m88k.c: Likewise.
162 * config/tc-mcore.c: Likewise.
163 * config/tc-mips.c: Likewise.
164 * config/tc-ns32k.c: Likewise.
165 * config/tc-pdp11.c: Likewise.
166 * config/tc-pj.c: Likewise.
167 * config/tc-s390.c: Likewise.
168 * config/tc-sh.c: Likewise.
169 * config/tc-sparc.c: Likewise.
170 * config/tc-tahoe.c: Likewise.
171 * config/tc-tic80.c: Likewise.
172 * config/tc-v850.c: Likewise.
173 * config/tc-vax.c: Likewise.
174 * config/tc-w65.c: Likewise.
175 * config/tc-z8k.c: Likewise.
179 Based on patch from Matt Green:
180 * config/obj-elf.h (ECOFF_DEBUGGING): Make configurable.
181 * config/tc-mips.c (s_mips_file): Renamed from s_file.
182 (s_mips_loc): New function.
183 (mips_nonecoff_pseudo_table): Call them.
184 (append_insn): Call dwarf2_emit_insn.
188 * config/tc-mips.c (mips_opts): Fix comment, all ASE fields are set
190 (file_ase_mips16): New veriable.
191 (mips_eabi64): Remove.
192 (CPU_HAS_MIPS16): New define.
193 (CPU_HAS_MDMX): Fix data type.
194 (md_begin): Code cleanup. Use file_ase_mips16.
195 (mips_elf_final_processing): Handle mips16 header flag.
196 Handle EABI flag without intermediate variable.
200 * doc/as.texinfo: Update MIPS documentation.
204 * config/tc-mips.c: Add define for $zero register.
205 (md_begin): Add $zero as alias name for $0.
206 (insn_uses_reg): Use ZERO define.
207 (mips_ip): Add $zero as alias name for $0.
208 (mips16_ip): Likewise.
209 (s_cplocal): Demand empty rest of input line.
210 (tc_get_register): Likewise. Add support for $kt0, kt1 register
211 names. Use ZERO define. Fix input_line_pointer progress.
215 * symbols.c: Replace CONST by const throughout.
216 (symbol_find_exact): Split out from..
217 (symbol_find_base): ..here.
218 * symbols.h: Replace CONST by const throughout.
219 (symbol_find_exact): Declare.
220 * config/obj-elf.c: #include "struc-symbol.h".
221 (elf_frob_file): If group name matches an exported symbol, use that
222 symbol for the signature and ".group" as the section name.
226 * config/tc-sh.c (parse_at): @(symbol,pc) is A_DISP_PC again,
228 * testsuite/gas/sh/pcrel.s: Also test @(symbol,pc).
229 * testsuite/gas/sh/pcrel.d: Update.
230 * testsuite/gas/sh/pcrel.l: New file.
234 * tc-mips.c (mips_after_parse_args): Always set mips_opts.ase_mips3d
235 and mips_opts.ase_mdmx if they are uninitialized.
239 * gas/config/tc-hppa.c (pa_ip): Replace "L$0\001" with FAKE_LABEL_NAME.
240 (hppa_force_relocation): Check if a stub just before the start symbol
241 of the last call_info is reachable before forcing relocation. Fix
246 * config/tc-mips.c (mips_after_parse_args): New function.
247 (md_begin): Move processing of defaults to mips_after_parse_args.
248 config/tc-mips.h (md_after_parse_args): Define.
252 * configure.in (sh5*): Set cpu_type to sh64 and endian to big.
253 (sh5le*, sh64le*): Set cpu_type to sh64 and endian to little.
254 (sh5*-*-netbsd*, sh64*-*-netbsd*): New targets.
255 * configure: Regenerate.
256 * config/tc-sh64.c (sh64_target_format): Add support for NetBSD
261 * config/tc-sh64.h (MD_PCREL_FROM_SECTION): Undef before redefining.
265 * config/obj-elf.c (obj_elf_change_section): Set and check elf
266 linkonce flag. Print all warnings.
267 (obj_elf_section): Parse ",comdat" for groups.
268 (elf_frob_file): Set SEC_LINK_ONCE on COMDAT groups. Check
269 consistency of comdat flag.
273 * config/tc-alpha.c (alpha_adjust_symtab_relocs): Fix thinko
274 with LITERALs without sequence numbers.
278 * config/tc-alpha.c: Move LITUSE constants to "elf/alpha.h".
279 Rename them LITUSE_ALPHA_*.
283 * config/tc-h8300.c (get_operand): Allow stm.l and ldm.l insns to
284 accept parentheses enclosed register lists.
288 * Makefile.am: Run "make dep-am".
289 * Makefile.in: Regenerate.
290 * po/POTFILES.in: Regenerate.
294 * configure.in: Add i386-*-nto-qnx*.
295 * configure: Regenerate.
299 * config/tc-mips.c (mips_ip): Use unsigned long values for
304 * config/tc-mips.c (s_cpsetup): Fix initialization of
305 mips_cpreturn_register and mips_cpreturn_offset.
309 * config/tc-mips.c (s_cpsetup): Fix comment.
313 * config/tc-mips.c (md_begin): Add $ra as alias name for $31.
315 (mips16_ip): Likewise.
316 (tc_get_register): Likewise.
321 * config/tc-mips.c (mips_set_options): New "ase_mdmx" member.
322 (mips_opts): Initialize "ase_mdmx" member.
323 (file_ase_mdmx): New variable.
324 (CPU_HAS_MDMX): New macro.
325 (md_begin): Initialize mips_opts.ase_mdmx and file_ase_mdmx
326 based on command line options and configuration defaults.
327 (macro_build): Note in comment that use of MDMX in macros is
328 not currently allowed.
329 (validate_mips_insn): Add support for the "O", "Q", "X", "Y", and
330 "Z" MDMX operand types.
331 (mips_ip): Accept MDMX instructions if mips_opts.ase_mdmx is set,
332 and add support for the "O", "Q", "X", "Y", and "Z" MDMX operand
334 (OPTION_MDMX, OPTION_NO_MDMX, md_longopts, md_parse_option):
335 Add support for "-mdmx" and "-no-mdmx" options.
336 (OPTION_ELF_BASE): Move to accomodate new options.
337 (s_mipsset): Support ".set mdmx" and ".set nomdmx".
338 (mips_elf_final_processing): Set MDMX ASE ELF header flag if
339 file_ase_mdmx was set.
340 * doc/as.texinfo: Document -mdmx and -no-mdmx options.
341 * doc/c-mips.texi: Likewise, and document ".set mdmx" and ".set
346 * config/tc-mips.c (OPTION_NO_M7000_HILO_FIX): Rename to
347 OPTION_MNO_7000_HILO_FIX. Add alternate "mno-fix7000"
348 command line switch conforming to gcc conventions.
349 * doc/c-mips.texi: Document -mno-fix7000 instead of no-mfix-7000.
353 * config/tc-mips.c (macro_build_jalr): New Function.
354 (md_begin): NewABI uses big GOTs.
355 (macro_build): Recognize BFD_RELOC_MIPS_GOT_DISP,
356 BFD_RELOC_MIPS_GOT_PAGE, BFD_RELOC_MIPS_GOT_OFST as valid.
357 (load_address): Add some NewABI PIC support.
359 (md_apply_fix): Special handling for BFD_RELOC_MIPS_JALR.
360 (tc_gen_reloc): Don't encode NewABI vtables in REL relocations.
364 * config/tc-mips.c (load_address): Use mips_gp_register instead
365 of hardcoded value. Remove dbl parameter, use HAVE_32BIT_ADDRESSES
367 (macro): Use mips_gp_register instead of hardcoded value.
371 * expr.h (operatorT): Add O_md17..O_md32.
372 * config/tc-alpha.c (O_lituse_tlsgd, O_lituse_tlsldm, O_tlsgd,
373 O_tlsldm, O_gotdtprel, O_dtprelhi, O_dtprello, O_dtprel, O_gottprel,
374 O_tprelhi, O_tprello, O_tprel): New.
375 (USER_RELOC_P, alpha_reloc_op_tag, debug_exp): Include them.
376 (DUMMY_RELOC_LITUSE_TLSGD, DUMMY_RELOC_LITUSE_TLSLDM): New.
377 (LITUSE_TLSGD, LITUSE_TLSLDM): New.
378 (struct alpha_reloc_tag): Add master, saw_tlsgd, saw_tlsld,
379 saw_lu_tlsgd, saw_lu_tlsldm. Make multi_section_p a bit field.
380 (md_apply_fix3): Handle TLS relocations.
381 (alpha_force_relocation, alpha_fix_adjustable): Likewise.
382 (alpha_adjust_symtab_relocs): Sort LITERAL relocs after the
383 associated TLS reloc. Check lituse_tls relocs match up.
384 (emit_insn): Handle TLS relocations.
387 * doc/c-alpha.texi: Add docs for tls relocations.
391 * config/tc-mips.c (mips_gprel_offset): New variable.
396 * gas/config/tc-d10v.c (check_resource_conflict): Only check
397 write-write conflicts.
398 (md_assemble): Reformat introductory comment.
399 (parallel_ok): Prevent packing only if the first
400 instruction cannot be packed.
405 * config/tc-d10v.c (build_insn): Check for immediates.
409 * config/tc-mips.c: Replace GP in comments by $gp.
410 (mips_big_got): Initialize.
411 (mips_trap): Initialize.
412 (load_address): Use mips_gp_register instead of hardcoded value.
413 Remove dbl parameter, use HAVE_32BIT_ADDRESSES instead.
414 (macro): Use mips_gp_register instead of hardcoded value.
415 (macro2): Change load_address calls.
416 (md_pcrel_from): Comment formatting.
417 (s_cpload): Use mips_gp_register instead of hardcoded value.
418 (s_cprestore): Likewise. Comment formatting.
419 (s_gpword): Fix data type.
420 (s_cpadd): Use mips_gp_register instead of hardcoded value.
421 (nopic_need_relax): Replace GP in comments by $gp.
422 (mips_elf_final_processing): Better comment.
426 * configure.in: Add DLX configuraton
427 * Makefile.am: Add DLX configuraton
428 * configure: Regenerate.
429 * Makefile.in: Regenerate.
430 * config/tc-dlx.c: New file.
431 * config/tc-dlx.h: New files.
432 * NEWS: Mention new support.
436 * config/obj-coff.c (write_object_file): Add missing semicolon.
440 * config/tc-mips.c (mips_emit_delays): Replace magic constant for RA
441 by the define. Remove superfluous check of mips_opts.mips16.
442 (append_insn): Likewise. Canonicalize variable increments.
443 (macro_build): Canonicalize variable increments.
444 (macro_build_lui): Likewise.
445 (load_register): Likewise.
446 (load_address): Move pointer initialization.
447 (macro): Move pointer to a more local scope. Canonicalize variable
448 increments. Better comments. Replace magic constant for RA by the
450 (macro2): Replace magic constant for RA by the define. Canonicalize
452 (mips_ip): Canonicalize variable increments.
453 (mips16_ip): Replace magic constant for RA by the define.
454 (my_getSmallParser): Canonicalize variable increments/decrements.
455 (my_getPercentOp): Likewise.
456 (my_getSmallExpression): Likewise.
458 (s_mipsset): Likewise.
459 (s_cpsetup): Likewise.
460 (s_insn): Remove superfluous check of mips_opts.mips16.
461 (s_mips_stab): Likewise.
462 (mips_handle_align): Canonicalize variable increments.
463 (s_mips_ent): Likewise.
464 (s_mips_end): Add comment.
468 * configure.in: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
469 * configure: Regenerate.
473 * Makefile.am (OBJS): Depend on ansidecl.h and fopen-same.h.
474 * Makefile.in: Regenerate.
475 * dep-in.sed: Reorder to match OBJS in Makefile.am.
476 * configure.in (ALL_OBJ_DEPS): Add symcat.h when need_bfd.
477 * configure: Regenerate.
478 * as.h: Use #include "" instead of <> for local header files.
479 * flonum-konst.c: Likewise.
480 * flonum-mult.c: Likewise.
482 * listing.c: Likewise.
483 * config/tc-ia64.h: Likewise.
484 * config/tc-v850.h: Likewise.
488 * configure.in: Add a target for i386-netbsdpe.
489 * configure: Regenerate.
493 * config/obj-elf.c (elf_common): Renamed from obj_elf_common.
494 (obj_elf_common): Call elf_common.
495 (obj_elf_tls_common): New function.
496 (elf_pseudo_tab): Support .tls_common.
497 (special_sections): Add .tdata and .tbss.
498 (obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
500 (obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
501 (obj_elf_parse_section_letters): Include T in error message.
502 * config/tc-ppc.c (ppc_section_letter): Likewise.
503 * config/tc-alpha.c (alpha_elf_section_letter): Likewise.
504 (tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
506 * config/tc-sparc.c (md_apply_fix3): Likewise.
507 * config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
508 Define them if not BFD_ASSEMBLER.
509 (lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
511 (md_apply_fix3): Add TLS relocs.
512 * config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
513 FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
514 FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
515 (pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
516 (ia64_elf_section_letter): Include T in error message.
517 (md_begin): Support TLS operators.
518 (md_operand): Likewise.
519 (ia64_gen_real_reloc_type): Support TLS relocs.
520 * testsuite/gas/i386/tlspic.s: New file.
521 * testsuite/gas/i386/tlsd.s: New file.
522 * testsuite/gas/i386/tlsnopic.s: New file.
523 * testsuite/gas/i386/tlsd.d: New file.
524 * testsuite/gas/i386/tlsnopic.d: New file.
525 * testsuite/gas/i386/tlspic.d: New file.
526 * testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
527 * testsuite/gas/ia64/tls.s: New file.
528 * testsuite/gas/ia64/tls.d: New file.
529 * testsuite/gas/ia64/ia64.exp: Add tls test.
530 * write.c (adjust_reloc_syms): Don't change symbols in
531 SEC_THREAD_LOCAL sections to STT_SECTION + addend.
535 * config/tc-arm.c (md_apply_fix3): For the Thumb BLX reloc
536 round the relocation up rather than down.
540 * config/obj-coff.c (obj_coff_section): Silently ignore an 'a'
542 * doc/as.texinfo: Document that the COFF version of .section
543 ignores the 'a' flag.
547 * config/tc-alpha.c (assemble_tokens): Protect use of
548 ALPHA_RELOC_TABLE with #ifdef RELOC_OP_P.
550 * write.c (size_seg): Check adjustment to last frag.
551 (SUB_SEGMENT_ALIGN): If HANDLE_ALIGN defined, pad out last frag to
553 * config/obj-coff.c (SUB_SEGMENT_ALIGN): Likewise.
554 * config/obj-ieee.c (SUB_SEGMENT_ALIGN): Likewise.
555 (write_object_file): Invoke md_do_align if available, and use
556 frag_align_code on text sections.
557 * config/obj-vms.h (SUB_SEGMENT_ALIGN): Now two args.
558 * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Likewise.
559 * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Likewise.
560 * config/tc-sh.h (SUB_SEGMENT_ALIGN): Likewise.
561 * config/tc-i386.h (SUB_SEGMENT_ALIGN): Likewise. Define for
566 * dwarf2dbg.c (dwarf2_directive_loc): Call listing_source_file
571 * config/tc-arm.c (arm_s_section): Enable for COFF builds as well
576 * dwarf2dbg.c (dwarf2_emit_insn): Emit only one line symbol
577 for one .loc for compiler.
581 * config/tc-mips.c (macro): Relax warning, it's toot strict for
586 * config/tc-mips.c (macro2): Add 64 bit drol, dror macros.
587 Optimize the rotate by zero case.
591 * configure.in: Remove accidental enabling of bfd_gas=yes for
593 * configure: Regenerate.
597 * app.c: Fix formatting.
601 * input-file.c: Likewise.
602 * listing.c: Likewise.
605 * symbols.c: Likewise.
609 * config/obj-generic.c: Delete file.
610 * config/obj-generic.h: Likewise.
614 * config/tc-avr.c (mcu_types): Update for new devices.
618 * config/tc-mips.c (macro): Warn about wrong la/dla use.
622 * config/tc_mips.c (s_cpsetup): Fix completely bogus code which had
623 worked sometimes by accident. Fix copy&paste comment.
627 * config/tc-mips.c (md_begin): Fix .reginfo and .MIPS.option section
628 alignment for NewABI. Let n32 use .reginfo. Remove useless casts.
629 (mips_elf_final_processing): Let n32 use .reginfo.
633 * config/tc-mips.c (append_insn): Fix too small range of variable.
637 * config/tc-arm.c (arm_cleanup): Remove redundant call to
642 * config/tc-arm.c (md_assemble): Remove redundant call to
645 * dwarf2dbg.c (dwarf2_emit_insn): Do not reset
648 * stabs.c (s_stab_generic): Fix grammatical error in warning
653 * write.c (subsegs_finish): Don't specially align last subseg.
657 * stabs.c (s_stab_generic): Warn about a description field that is
660 * config/obj-coff.c: Fix compile time warnings when compiling
661 without BFD_ASSEMBLER defined.
664 * config/tc-sh.c (md_pcrel_from): Define for use with sh-hms
666 (md_pcrel_from_section): Use md_pcrel_from().
670 * dwarf2dbg.c (dwarf2_emit_insn): Use the 'current' struct filled
671 by dwarf2_directive_loc, instead of calling dwarf2_where.
675 * config/obj-coff.h: Fix formatting.
676 * config/tc-mcore.c: Likewise.
677 * config/tc-mn10300.c: Likewise.
678 * config/tc-openrisc.c: Likewise.
679 * config/tc-or32.c: Likewise.
680 * config/tc-pdp11.c: Likewise.
681 * config/tc-ppc.c: Likewise.
682 * config/tc-ppc.h: Likewise.
683 * config/tc-sh64.c: Likewise.
684 * config/tc-sh.c: Likewise.
685 * config/tc-tic54x.c: Likewise.
686 * config/tc-xstormy16.c: Likewise.
687 * config/tc-xstormy16.h: Likewise.
691 * config/obj-coff.c: Fix formatting.
692 * config/obj-elf.c: Likewise.
693 * config/tc-alpha.c: Likewise.
694 * config/tc-arm.c: Likewise.
695 * config/tc-d10v.c: Likewise.
696 * config/tc-d30v.c: Likewise.
697 * config/tc-h8300.c: Likewise.
698 * config/tc-hppa.c: Likewise.
702 * config/tc-i386.c (md_estimate_size_before_relax) Don't lose
703 reloc when no_cond_jump_promotion.
707 * config/tc-i960.c (md_estimate_size_before_relax): Return size of
708 current variable part of frag.
712 * config/tc-mmix.c: Fix formatting.
713 * config/tc-mmix.h: Likewise.
717 * configure: Regenerate.
721 * config/tc-m68k.c: Fix formatting.
725 * Makefile.am: Honour DESTDIR.
726 * Makefile.in: Regenerate.
730 * config/tc-ia64.c: Fix formatting.
731 * config/tc-ia64.h: Likewise.
735 * config/tc-mips.c: Fix formatting.
736 * config/tc-s390.c: Likewise.
737 * config/tc-s390.h: Likewise.
741 * config/tc-s390.c (md_gather_operands): Emit dwarf2 line-number
742 information for instructions.
746 * as.h: Fix formatting.
749 * dwarf2dbg.c: Likewise.
755 * symbols.c: Likewise.
759 * app.c (mri_pseudo): Only declare for TC_M68K.
761 * config/tc-ppc.c (mapping): Map sectoff to BFD_RELOC_16_BASEREL.
762 (ppc_elf_validate_fix): Replace BFD_RELOC_32_BASEREL with
763 BFD_RELOC_16_BASEREL.
764 (md_assemble): Likewise.
765 (md_apply_fix3): Likewise.
769 * config/tc-arm.c (thumb_add_sub): Do not convert a subtract of
770 zero into an add of zero - it is not the same.
774 * tc-sh.c (get_specific): Generate warning if the same
775 destination register is used in parallel instructions.
779 * config/tc-i386.c (extra_symbol_chars): Add '[' to the list.
783 * write.c (cvt_frag_to_fill): Set fr_offset to zero on .org
784 backwards to prevent cascading errors.
788 * configure.in: Add support for powerpc-*-windiss.
789 * configure: Regenerated.
793 * config/tc-s390.c (md_parse_option): Formatting.
795 * config/tc-i386.c: Formatting fixes, add missing space in error
800 * config/tc-z8k.c (build_bytes): Add support for new cases:
801 CLASS_IGNORE and ARG_NIM4.
802 (md_assemble): Prevent destruction of input_line_pointer if
803 get_operands returns failure.
807 * config/tc-mips.c (macro_build): Do _not_ allow MIPS-3D
808 instructions to be generated by macros.
812 * config/tc-i386.c (output_jump, output_disp)
813 (md_estimate_size_before_relax): Don't set fx_pcrel_adjust any
815 (md_apply_fix3): Remember addend value for rela relocations.
816 (tc_gen_reloc): Correctly compute pc-relative relocation addend.
820 * config/tc-mips.c (macro_build): Add close-parenthesis missing
821 from previous change.
825 * config/tc-mips.c (macro_build): Add warning if macro instructions
826 are expanded into a branch delay slot.
830 * dwarf2dbg.c (dwarf2_gen_line_info): Do emit duplicate line
831 numbers, gdb relies on them to detect the start of the prologue.
835 * config/tc-s390.c (tc_s390_fix_adjustable): Prevent adjustments to
836 symbols in merge sections.
840 * as.c (main): Don't reference _bfd_chunksize.
844 * config/tc-d10v.c (d10v_fix_adjustable): Prevent adjustments to
845 symbols in merge sections.
849 * doc/invoke.texi (TC_LARGEST_EXPONENT_IS_NORMAL): Document.
850 * config/atof-ieee.c (TC_LARGEST_EXPONENT_IS_NORMAL): Add an
851 argument for the precision.
852 (gen_to_words): Update accordingly.
856 * as.c (parse_args <OPTION_VERSION>): Use VERSION is
857 BFD_VERSION_STRING unavailable.
858 * config/tc-i386.c (INLINE): Define (for non-BFD assembler).
862 * config/tc-sh.h (TC_FIX_ADJUSTABLE): Disable adjusting if
863 symbol_used_in_reloc_p is true.
865 * config/tc-sh.c (md_apply_fix3): Don't zero relocations on big
870 * dep-in.sed: Cope with absolute paths.
871 * Makefile.am (dep.sed): Subst TOPDIR.
873 * Makefile.in: Regenerate.
877 * config/tc-mips.c (mips16_macro_build): Cast type mismatch.
878 (mips_ip): Remove unused variable.
879 (md_apply_fix3): Cast signed/unsignes mismatches. Replace
880 unsigned char with bfd_byte.
881 (s_file): Remove unused variable.
882 (s_mips_ent): Likewise.
886 * config/tc-d10v.c (d10v_insert_operand): Fix warning in as_bad_where.
888 (find_opcode): Fix warning in as_warn.
889 * config/tc-d10v.h: Update Copyright.
895 * config/tc-d10v.c (check_resource_conflict): New function to
896 check for resource conflicts.
899 * config/tc-d10v.c (build_insn): Check for unresolved imm4 or
901 * config/tc-d10v.c (find_opcode): Emit a warning if one of the
902 reserved control registers is used.
903 * config/tc-d10v.c (build_insn): Check for unresolved imm4 or
907 * tc-d10v.c (parallel_ok): Prevent packing only if the first
908 instruction cannot be packed.
911 * gas/config/tc-d10v.c (check_resource_conflict): Only check
912 write-write conflicts.
913 (md_assemble): Reformat introductory comment.
914 * opcodes/d10v-opc.c (d10v_opcodes): `btsti' does not modify its
919 * symbols.c (resolve_symbol_value <O_uminus, O_bit_not,
920 O_logical_not>): Derive final_seg from add_symbol.
921 <O_multiply..O_logical_or>: More final_seg twiddles.
925 * config/tc-ia64.c (ia64_cons_fix_new): Handle 8 byte iplt reloc
930 * config/tc-i386.c (output_jump): Set fx_pcrel_adjust to size of
931 field for pc-relative fixups.
932 (output_disp): Likewise.
933 (md_estimate_size_before_relax): Likewise.
934 (tc_gen_reloc): Subtract fx_pcrel_adjust instead of fx_size for
935 pc-relative fixups in 64bit mode.
939 * config/te-aix5.h: Typo fix.
943 * Makefile.am: Run "make dep-am".
944 * Makefile.in: Regenerate.
945 * doc/Makefile.in: Regenerate.
949 * config/tc-arm.c (vfp_dp_reg_required_here): Fix typo
950 (vfp_sp_reg_pos -> vfp_dp_reg_pos).
954 * config/tc-mips.c (md_estimate_size_before_relax): Do not modify
955 the EXTENDED bit here; report the estimate according to the
960 * configure.in: Add AIX 5 support.
961 * config/tc-ppc.c (ppc_target_format): Add AIX 5 64 bit target.
962 * config/te-aix5.h: New file. AIX 5 support.
963 * configure: Regenerate.
967 * po/fr.po: Updated version.
971 * doc/c-mips.texi (Machine Dependencies): Add new node.
975 * config/tc-mips.c (mips_set_options): New "ase_mips3d" member.
976 (mips_opts): Initialize "ase_mips3d" member.
977 (file_ase_mips3d): New variable.
978 (CPU_HAS_MIPS3D): New macro.
979 (md_begin): Initialize mips_opts.ase_mips3d and file_ase_mips3d
980 based on command line options and configuration defaults.
981 (macro_build, mips_ip): Accept MIPS-3D instructions if
982 mips_opts.ase_mips3d is set.
983 (OPTION_MIPS3D, OPTION_NO_MIPS3D, md_longopts, md_parse_option):
984 Add support for "-mips3d" and "-no-mips3d" options.
985 (OPTION_ELF_BASE): Move to accomodate new options.
986 (s_mipsset): Support ".set mips3d" and ".set nomips3d".
987 (mips_elf_final_processing): Add a comment indicating that a
988 MIPS-3D ASE ELF header flag should be set, when one exists.
989 * doc/as.texinfo: Document -mips3d and -no-mips3d options.
990 * doc/c-mips.texi: Likewise, and document ".set mips3d" and ".set
991 nomips3d" directives.
995 * config/tc-mmix.c (md_estimate_size_before_relax): Don't consider
996 a weak symbol in same section to be within reach.
1000 * po/fr.po: Updated version.
1004 * config/tc-ia64.c (fixup_unw_records): Clear region when seeing a
1005 body record so that an error is given for misplaced .save
1010 * config/tc-i386.h (REX_OPCODE): Define.
1011 (REX_MODE64, REX_EXTX, REX_EXTY, REX_EXTZ): Define.
1012 (rex_byte): typedef to int.
1013 * config/tc-i386.c: Group prototypes and vars together.
1014 Formatting fixes. Remove occurrences of "register" keyword.
1017 (mode_from_disp_size): Add INLINE keyword to prototype.
1018 (fits_in_signed_byte): Likewise.
1019 (fits_in_unsigned_byte): Likewise.
1020 (fits_in_unsigned_word): Likewise.
1021 (fits_in_signed_word): Likewise.
1022 (fits_in_unsigned_long): Likewise.
1023 (fits_in_signed_long): Likewise.
1024 (type_names): Constify.
1025 (intel_float_operand): Constify param.
1026 (add_prefix): Use REX_OPCODE.
1027 (md_assemble): Likewise. Modify for changed rex_byte.
1028 (parse_insn): Split out of md_assemble.
1029 (parse_operands): Likewise.
1030 (swap_operands): Likewise.
1031 (optimize_imm): Likewise.
1032 (optimize_disp): Likewise.
1033 (match_template): Likewise.
1034 (check_string): Likewise.
1035 (process_suffix): Likewise.
1036 (check_byte_reg): Likewise.
1037 (check_long_reg): Likewise.
1038 (check_qword_reg): Likewise.
1039 (check_word_reg): Likewise.
1040 (finalize_imm): Likewise.
1041 (process_operands): Likewise.
1042 (build_modrm_byte): Likewise.
1043 (output_insn): Likewise.
1044 (output_branch): Likewise.
1045 (output_jump): Likewise.
1046 (output_interseg_jump): Likewise.
1047 (output_disp): Likewise.
1048 (output_imm): Likewise.
1052 * doc/as.texinfo: Wrap @menu in @ifnottex, not @ifinfo.
1056 * config/tc-i386.c (tc_gen_reloc): Don't attempt to handle 8 byte
1057 relocs except when BFD64.
1059 * write.c (number_to_chars_bigendian): Don't abort when N is
1060 larger than sizeof (VAL).
1061 (number_to_chars_littleendian): Likewise.
1065 * config/tc-hppa.c (md_apply_fix3): Add cast.
1066 (hppa_fix_adjustable): Adjust list of selectors using e_lrsel and
1071 * tc-pdp11.c: Use VAX float format support for PDP-11 target.
1072 (parse_ac5): New function for parsing float regs in float operand.
1073 (parse_expression): Remove attempt to make literals be octal.
1074 (parse_op_no_deferred): Support float literals.
1075 (parse_op): Reject attempts to refer to float regs.
1076 (parse_fop): New function, like parse_op but for float operand.
1077 (md_assemble): Add cases to parse float operands. Also fix
1078 IMM3, IMM6, IMM8 cases to pick up the operand from the right spot.
1082 * config/obj-elf.c (special_section): Add .init_array,
1083 .fini_array and .preinit_array.
1085 * config/tc-ia64.h (ELF_TC_SPECIAL_SECTIONS): Remove
1086 .init_array and .fini_array.
1090 * config/obj-elf.c (elf_copy_symbol_attributes): Don't copy
1092 (obj_frob_symbol): Copy visibility.
1096 * config/tc-alpha.c (s_alpha_text): Use obj_elf_text for OBJ_ELF, not
1098 (s_alpha_data): Use obj_elf_data for OBJ_ELF, not s_data.
1102 * po/es.po: Updated.
1106 * config/tc-mips.c (mips_need_elf_addend_fixup): For embedded-PIC
1107 only, undo the changes made on 2001-06-08, with the
1108 effect being that common or extern symbols are
1109 adjusted for embedded-PIC, but weak symbols are not.
1110 (md_estimate_size_before_relax: Likewise, with the effect
1111 that extern symbols are treated the same as weak symbols
1112 only if not embedded-PIC.
1113 (mips_fix_adjustable) Likewise, with the effect that
1114 weak or extern symbols are not adjusted for embedded-PIC.
1115 (md_apply_fix3): Tweak so that the case where value is zero
1116 is handled more correctly for embedded-PIC code.
1120 * doc/as.texinfo (Overview): Add missing @ifset IA64
1122 * configure.in (LINGUAS): Add es.po.
1123 * configure: Regenerate.
1124 * po/es.po: New file.
1128 * config/tc-mips.c (set_at): Fix handling of 64bit register loads.
1129 (macro): Likewise. Fix la/dla address expansions for EMBEDDED_PIC
1130 and NO_PIC cases. Code cleanup.
1131 (macro2): Fix handling of 64bit register loads.
1135 * doc/as.texinfo: Add entry for IA64.
1136 * doc/c-ia64.texi: New file.
1140 * config/tc-hppa.c: Update copyright date.
1142 * doc/c-ppc.texi (PowerPC-Opts): Add -mpower4, -maltivec and -m7400
1143 Remove references to chip manufacturers.
1144 * config/tc-ppc.c (md_parse_option): Handle -mpower4 option.
1146 (md_show_usage): Remove references to chip manufacturers. Mention
1148 (md_begin): Test power4 opcode flag bits.
1152 * config/tc-ia64.c (dot_restore): Issue error message of epilogue
1153 count exceeds prologue count.
1154 (md_show_usage): Describe -mconstant-gp and -mauto-pic.
1155 (unwind.label_prologue_count): New member.
1159 (get_saved_prologue_count): New function.
1160 (save_prologue_count): New function.
1161 (free_saved_prologue_count): New function.
1162 (dot_label_state): Record state label by calling save_prologue_count().
1163 (dot_copy_state): Restore prologue count by calling
1164 get_saved_prologue_count().
1165 (generate_unwind_image): Free up list of saved prologue
1166 counts by calling free_saved_prologue_counts().
1170 * config/tc-tic54x.c: Add missing prototypes and remove ANSI style
1171 function declarations.
1175 * NEWS: Note that GASP is now deprecated.
1176 * Makefile.am: Do not build gasp-new by default.
1177 * Makefile.in: Regenerate.
1178 * doc/Makefile.am: Do not install gasp.info.
1179 * doc/Makefile.in: Regenerate.
1180 * gas/gasp.texi: Note that gasp is now deprecated.
1184 * NEWS: Mark 2.12 branch.
1188 * config/tc-xstormy16.h (DWARF2_LINE_MIN_INSN_LENGTH): Define.
1192 * config/tc-mips.c (md_parse_option): Complain about invalid -mabi
1197 * config/tc-s390.c (md_parse_option): Add switches -m31 and -m64.
1198 Make bit size independent of architecture switch.
1199 (md_begin): Add warning for -m64 with -Aesa.
1200 (s390_md_end): Use renamed architecture defines.
1204 * config/obj-coff.h: Check !target_big_endian, not shl, for coff-sh.
1208 * doc/as.texinfo (Machine Dependencies): Fix typo: MMIX used
1213 * config/tc-mips.c (md_estimate_size_before_relax): Really
1214 make sure we treat weak like extern only for ELF. (Fixes
1215 patch from 2001-07-25.)
1219 * doc/as.texinfo: Add duplicate directory entry so that "info gas"
1224 * NEWS: Mention support for MMIX.
1228 * config/tc-mips.c (mips_need_elf_addend_fixup): Restructure into
1229 a sequence of indpendent 'if' statements for easier debugging
1230 and future modification.
1234 * config/tc-m68k.c (md_show_usage): No longer display a
1235 hard-coded "68020" for the default CPU, instead display the
1236 canonical name of the true, configured default CPU.
1237 (m68k_elf_final_processing): Mark objects for sub-68020
1238 CPUs with the new EF_M68000 flag.
1242 * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
1243 pc-relative relocations to merge sections in 64-bit mode.
1247 * NEWS: Document floating point number handling in gasp.
1248 * gasp.c: Include <assert.h> and "xregex.h".
1249 (is_flonum): New function.
1250 (chew_flownum): Likewise.
1251 (change_base): Consume flonums from the input, where possible.
1252 * doc/gasp.texi (Constants): Document floating point numbers.
1256 * config/tc-hppa.c (hppa_fix_adjustable): Don't adjust final types
1257 that implicitly use LR and RR selectors.
1261 * config/tc-mn10300.c (other_registers): Added `epsw'. Mark `pc'
1262 and `epsw' as available on AM33 and above only.
1263 (other_register_name): Add logic to handle machine type encoded in
1268 * config/tc-ppc.c (md_apply_fix3): Check for insert fop invalid for
1273 * config/tc-sparc.c (U0x80000000, U0xffffffff): New constants.
1278 * i386.c (md_assemble): Support 32bit address prefix.
1279 (i386_displacement): Likewise.
1280 (i386_index_check): Accept 32bit addressing in 64bit mode.
1284 * config/tc-sh.c (dot): Removed unused function.
1288 * Makefile.am: "make dep-am".
1289 * Makefile.in: Regenerate.
1290 * aclocal.m4: Regenerate.
1291 * config.in: Regenerate.
1292 * configure: Regenerate.
1293 * doc/Makefile.in: Regenerate.
1297 * doc/c-alpha.texi: New file.
1298 * doc/Makefile.am (CPU_DOCS): Add it.
1299 * doc/all.texi, doc/as.texinfo: Add hooks for Alpha.
1303 * config/tc-alpha.c (O_samegp): New.
1304 (USER_RELOC_P): Include it.
1305 (alpha_reloc_op_tag, debug_exp, find_macro_match): Add it.
1306 (md_apply_fix3): Handle BFD_RELOC_ALPHA_BRSGP.
1307 (alpha_force_relocation, alpha_fix_adjustable): Likewise.
1308 (alpha_validate_fix): New.
1309 * config/tc-alpha.h (TC_VALIDATE_FIX): New.
1313 * doc/c-cris.texi: New.
1314 * doc/all.texi: @set CRIS.
1315 * doc/as.texinfo: Ditto. Add CRIS gas manpage option overview.
1316 Include c-cris.texi.
1317 * doc/Makefile.am (CPU_DOCS): Add c-cris.texi
1318 * doc/Makefile.in: Regenerate.
1322 * config/tc-mips.c (IS_SEXT_32BIT_NUM): New macro to
1323 determine if a number is a sign-extended 32-bit number.
1324 (load_register): Use IS_SEXT_32BIT_NUM.
1325 (macro): Check if load/store macro handling is using a
1326 constant 32-bit address on 64-bit address systems, and if
1327 so optimize the generation of that address.
1331 * config/tc-alpha.c (alpha_force_relocation): Don't assert that
1332 we've eliminated all foreign relocation types yet.
1333 (alpha_fix_adjustable): Likewise.
1337 Contribute sh64-elf.
1340 * doc/c-sh64.texi: Fix citation of SH64 architecture manual.
1342 * config/tc-sh.c (md_relax_table): Added default sizes for
1343 non-PC-relative UNDEF_MOVI, and relaxation sequences for
1344 MOVI_16, MOVI_32 and MOVI_48.
1345 * config/tc-sh64.c (shmedia_md_apply_fix3): Fix warning.
1346 (shmedia_md_convert_frag): Handle non-PC-relative UNDEF_MOVI
1348 (shmedia_md_estimate_size_before_relax): Remove redundant
1349 blocks. Set fragP->fr_var even if relaxation type unchanged.
1350 Retain UNDEF_MOVI until expression decays to number.
1352 * config/tc-sh64.c (shmedia_init_reloc): Handle new SHmedia PIC
1353 relocation types. Take fixP->fx_addnumber into account too.
1354 (shmedia_md_apply_fix): Likewise.
1355 (shmedia_md_convert_frag): Likewise.
1356 (shmedia_build_Mytes): Likewise.
1357 (sh64_consume_datalabel): Complain about nested datalabel.
1358 Support PIC relocs. Call sh_parse_name.
1359 * config/tc-sh64.h (TC_RELOC_RTSYM_LOC_FIXUP): Extend definition
1360 in tc-sh.h to SHmedia reloc types.
1361 * config/tc-sh.c (SH64PCRELPLT, MOVI_PLT, MOVI_GOTOFF,
1362 MOVI_GOTPC): New relaxation constants.
1363 (md_relax_table): Introduce relaxation directives for PIC-related
1365 (sh_PIC_related_p): Handle datalabel.
1366 (sh_check_fixup): Choose SH5 PIC relocations.
1367 (sh_cons_fix_new): Added BDF_RELOC_64.
1368 (md_apply_fix3, sh_parse_name): Handle GOTPLT.
1370 * config/tc-sh64.c (sh64_max_mem_for_rs_align_code): If the
1371 current ISA is SHmedia, get 7 bytes.
1373 * config/tc-sh.c (md_apply_fix3): Treat shmedia_md_apply_fix3 as a
1375 * config/tc-sh64.c (shmedia_apply_fix): Rename to
1376 shmedia_apply_fix3 and make void.
1378 * config/tc-sh64.c (s_sh64_abi): Remove unused arguments passed to
1381 * config/tc-sh64.h (md_parse_name): Take &c as argument.
1383 * doc/Makefile.am (CPU_DOCS): Added c-sh64.texi
1384 * doc/Makefile.in(CPU_DOCS): Ditto.
1385 * doc/c-sh64.texi: New file.
1386 * doc/as.texinfo: Add SH64 support.
1388 * config/tc-sh64.c (shmedia_get_operands): Rename A_RESV_Fx to
1389 A_REUSE_PREV so that its purpose is more obvious.
1390 (shmedia_build_Mytes): Ditto.
1392 * config/tc-sh64.c (sh64_vtable_entry): New, strip datalabels
1394 (sh64_vtable_inherit): Ditto.
1395 (strip_datalabels): New, strip "datalabel" from given line.
1396 * config/tc-sh.c (md_pseudo_table): Add sh64-specific vtable
1399 * config/tc-sh64.c (shmedia_md_assemble): Move dwarf2_emit_insn
1401 (shmedia_build_Mytes): ... to here.
1403 * config/tc-sh.c: Remove sh64-specific uaquad now that there
1406 * config/tc-sh64.h (DWARF2_LINE_MIN_INSN_LENGTH): Override.
1407 * config/tc-sh64.c (shmedia_md_assemble): Offset recorded insn
1408 address by one in call to dwarf2_emit_insn.
1410 Implement ".abi" pseudo and correct .cranges descriptors. Correct
1411 alignment handling broken by imported changes.
1412 * config/tc-sh64.h (HANDLE_ALIGN): Override definition in tc-sh.h.
1413 (sh64_handle_align): Declare.
1414 (MAX_MEM_FOR_RS_ALIGN_CODE): Override definition in tc-sh.h.
1415 (sh64_max_mem_for_rs_align_code): Declare.
1416 (enum sh64_isa_values): Moved here from tc-sh64.c.
1417 (md_do_align): Define.
1418 (sh64_do_align): Declare.
1419 (struct sh64_tc_frag_data): New.
1420 (TC_FRAG_TYPE): Change to struct sh64_tc_frag_data. Users
1422 (TC_FRAG_INIT): Change to set new datatype.
1423 (struct sh64_segment_info_type): Rename member
1424 last_flushed_location to last_contents_mark. All users changed.
1425 (md_elf_section_change_hook, TC_CONS_FIX_NEW): Do not define.
1426 (shmedia_elf_new_section, sh64_tc_cons_fix_new): Do not prototype.
1427 * config/tc-sh.c (md_pseudo_table): Add ".abi".
1428 (sh_elf_cons) [HAVE_SH64]: Call sh64_update_contents_mark instead
1429 of unsetting seen_insn.
1430 (md_assemble) [HAVE_SH64] <before new SHcompact sequence>: Also
1431 call sh64_update_contents_mark.
1432 (sh_handle_align): Remove HAVE_SH64-conditioned code.
1433 * config/tc-sh64.c (sh64_isa_mode): Correct type from boolean to
1434 enum sh64_isa_values.
1435 (sh64_set_contents_type): Drop segT parameter. All callers changed.
1436 (emitting_crange): Boolean guard moved to file scope from function
1437 scope in sh64_set_contents_type.
1439 (sh64_update_contents_mark): New; most split out from
1440 sh64_flush_pending_output.
1441 (shmedia_md_end): Call sh64_update_contents_mark. Set
1442 sh64_isa_mode to sh64_isa_sh5_guard unless sh64_isa_unspecified.
1443 (sh64_do_align): New function.
1444 (sh64_max_mem_for_rs_align_code): New function.
1445 (sh64_handle_align): Rename from shmedia_do_align. Make
1446 non-static. Add head comment. Emit zero bytes for n bytes modulo
1447 four. Change return-type to void.
1448 (shmedia_elf_new_section): Remove.
1449 (shmedia_md_assemble): Call sh64_update_contents_mark.
1450 (s_sh64_mode): Ditto. Do not call md_flush_pending_output. Make
1451 new frag. Call sh64_update_contents_mark after making the new
1453 (sh64_flush_pending_output): Just call sh64_update_contents_mark
1454 and sh_flush_pending_output.
1455 (sh64_flag_output): Also call md_flush_pending_output, but add
1456 condition on not emitting_crange.
1457 (sh64_tc_cons_fix_new): Remove.
1459 * config/tc-sh64.c (shmedia_do_align): Fix to work with new
1460 alignment handling scheme imported from sourceware.
1462 * config/tc-sh64.h (TARGET_FORMAT): Define.
1463 (sh64_target_format): Prototype.
1464 * config/tc-sh64.c (sh64_target_mach): New function.
1466 * config/tc-sh64.c (shmedia_md_end): When equating a symbol, use
1467 zero_address_frag instead of copying the frag of the symbol.
1468 (shmedia_frob_file_before_adjust): Ditto.
1469 (shmedia_md_apply_fix) <case BFD_RELOC_SH_IMM_MEDLOW16>: Cast mask
1470 to valueT to remove signedness.
1471 (shmedia_md_convert_frag): Add parameter final. Rename parameter
1472 headers to output_bfd. Do not evaluate symbols if final is false;
1474 (shmedia_md_estimate_size_before_relax) <case C (MOVI_IMM_32,
1475 UNDEF_MOVI) et al>: If symbol cannot be modified to be PC-relative
1476 to the current frag, call shmedia_md_convert_frag to emit fixups
1477 and make frag_wane neutralize the frag. Update comments.
1478 * config/tc-sh.c (md_convert_frag): Change caller of
1479 shmedia_md_convert_frag.
1481 * config/tc-sh64.h: Tweak comments and correct formatting.
1482 * config/tc-sh64.c: Ditto.
1483 (shmedia_md_convert_frag) <PT/PTA/PTB 32, 48 and 64 bit
1484 expansion, MOVI pcrel expansion>: Fix thinko calculating offset
1485 for the no-relocation case.
1486 (shmedia_check_limits): Fix range check being off-by-one for PTA.
1487 * config/tc-sh.c: Ditto. Add proper comments to #ifdef/#ifndef
1489 (SH64PCREL16_F): Increment for proper max-PTA handling. Update
1491 (SH64PCREL16_M, MOVI_16_M): Correct range thinko.
1492 (SH64PCREL48_M, MOVI_48_M): Similar; don't count in length of
1494 (SH64PCREL32_M, MOVI_32_M): Ditto; handle overflowing expression.
1497 * config/tc-sh64.c (shmedia_md_apply_fix) <second switch, case
1498 BFD_RELOC_SH_PT_16>: Set lowest bit in field to be relocated to 1.
1499 (shmedia_md_convert_frag) <case C (SH64PCREL16_32, SH64PCREL16) et
1500 al>: Set lowest bit of field to relocate to 1 and rest to empty,
1501 if reloc is emitted.
1503 New options plus bugfixes.
1504 * config/tc-sh.c (md_longopts): New options "-no-expand" and
1506 (md_parse_option): Handle new options.
1507 (md_show_usage): Add blurb for new options.
1508 * config/tc-sh64.c (SHMEDIA_BFD_RELOC_PT): New macro.
1509 (sh64_expand, sh64_pt32): New variables.
1510 (shmedia_init_reloc): Handle BFD_RELOC_SH_PT_16.
1511 (shmedia_md_apply_fix): Hold original fixP->fx_r_type in
1512 orig_fx_r_type. Change SHMEDIA_BFD_RELOC_PT into
1513 BFD_RELOC_SH_PT_16. Handle BFD_RELOC_SH_PT_16 as pc-relative.
1514 <resolved previously-pc-relative relocs>: Handle
1515 SHMEDIA_BFD_RELOC_PT and BFD_RELOC_SH_PT_16.
1516 (shmedia_md_convert_frag) <case C (SH64PCREL16PT_64, SH64PCREL16),
1517 case C (SH64PCREL16PT_32, SH64PCREL16)>: Modify to PTB if operand
1518 points to SHcompact code.
1519 <case C (SH64PCREL16_32, SH64PCREL16), case C (SH64PCREL16_64,
1520 SH64PCREL16)>: Check that ISA of what operand points at and
1521 PTA/PTB matches, or emit error.
1522 (shmedia_check_limits): Handle BFD_RELOC_SH_PT_16 and
1523 SHMEDIA_BFD_RELOC_PT.
1524 (shmedia_immediate_op): If pcrel, emit fixup also for constant
1526 (shmedia_build_Mytes) <case A_IMMS16>: Also check sh64_expand in
1527 condition for MOVI expansion.
1528 <case A_PCIMMS16BY4>: Handle expansion to 32 bits only, if
1529 sh64_pt32. Emit only a BFD_RELOC_SH_PT_16 fixup if not
1531 <case A_PCIMMS16BY4_PT>: Likewise, but emit a SHMEDIA_BFD_RELOC_PT
1533 (sh64_target_format): Error-check setting of sh64_pt32 and
1534 sh64_expand. Fix typo in check for sh64_shcompact_const_crange.
1535 (shmedia_md_pcrel_from_section): Handle BFD_RELOC_SH_PT_16 and
1536 SHMEDIA_BFD_RELOC_PT as coming from SHmedia code.
1538 * config/tc-sh64.c: Improve comments.
1539 (shmedia_md_convert_frag): Remove inactive is_pt_variant code. Do
1540 not say the linker will check correctness of PTA/PTB expansion.
1541 (shmedia_md_end): Make non-static.
1542 * config/tc-sh64.h (md_end): Define to shmedia_md_end. Add
1544 * config/tc-sh.c (sh_finalize): Remove.
1545 * config/tc-sh.h (md_end): Do not define.
1546 Remove prototype for sh_finalize.
1548 * config/tc-sh64.c (shmedia_frob_section_type): Use a struct
1549 sh64_section_data container when storing section type in tdata
1550 field in elf_section_data.
1551 * config/tc-sh.c (sh_elf_final_processing): Change from EF_SH64 to
1553 * Makefile.am: Update dependencies.
1554 * Makefile.in: Regenerate.
1556 * config/tc-sh64.c (shmedia_md_assemble): Don't protect
1557 dwarf2_emit_insn call with test on debug_type.
1559 * config/tc-sh64.c (sh64_set_contents_type): Make contents-type
1560 CRT_SH5_ISA32 sticky for 64-bit.
1562 Generate .crange sections when switching ISA mode or emitting
1563 constants in same section as code.
1564 * config/tc-sh64.c: Reformat structure definitions.
1565 (sh64_end_of_assembly, sh64_mix, sh64_shcompact_const_crange): New
1567 (sh64_set_contents_type): Rename from sh64_init_section. Rewrite
1568 to emit a .cranges descriptor when contents type changes. Only
1569 emit error if changing contents type and -no-mix is in effect.
1570 (sh64_emit_crange, sh64_flush_last_crange, sh64_flag_output,
1571 sh64_flush_pending_output, sh64_tc_cons_fix_new): New functions.
1572 (shmedia_md_end): Set sh64_end_of_assembly. Pass
1573 sh64_flush_last_crange over sections.
1574 When checking main symbol of datalabel symbol, check for
1575 STO_SH5_ISA32, not ISA type of section in definition.
1576 (shmedia_frob_file_before_adjust): Check main symbol for
1577 STO_SH5_ISA32; don't check ISA type of section in definition.
1578 (shmedia_frob_section_type): Adjust for .cranges; set section flag
1579 to SHF_SH5_ISA32_MIXED or SHF_SH5_ISA32 according to whether
1580 .cranges entries have been output.
1581 (shmedia_elf_new_section): Just call md_flush_pending_output.
1582 (shmedia_md_assemble): Do not emit a BFD_RELOC_SH_SHMEDIA_CODE
1583 fix. Do not set tc_segment_info_data.in_code for section. Call
1584 sh64_set_contents_type for SHmedia code.
1585 (s_sh64_mode): Do not call sh64_init_section or set seen_insn to
1586 false. Call md_flush_pending_output.
1587 (sh64_target_format): Check that -no-mix and
1588 -shcompact-const-crange are used in sane combination with other
1590 (shmedia_md_pcrel_from_section): Check type of fix for how to
1592 (sh64_consume_datalabel): Check symbol for having STO_SH5_ISA32,
1593 not ISA type of section in definition.
1594 * config/tc-sh64.h (struct sh64_segment_info_type): Rewrite to
1595 hold contents-type state.
1596 (md_flush_pending_output): Redefine to sh64_flush_pending_output.
1597 (sh64_flush_pending_output): Declare.
1598 (TC_CONS_FIX_NEW): Define to sh64_tc_cons_fix_new.
1599 (sh64_tc_cons_fix_new): Declare.
1600 * config/tc-sh.c (sh_elf_cons) [HAVE_SH64]: Unset seen_insn and
1601 call sh64_flag_output.
1602 (md_assemble) [HAVE_SH64]: Do not emit BFD_RELOC_SH_CODE. Just
1603 call sh64_set_contents_type to mark SHcompact code and set
1605 (md_longopts): New options "-no-mix" and
1606 "-shcompact-const-crange".
1607 (md_parse_option): Handle new options.
1608 (md_show_usage): Add blurb for new options.
1609 (md_number_to_chars) [HAVE_SH64]: Call sh64_flag_output.
1611 * config/tc-sh64.c: Delete investigated and obsolete fixme:s.
1612 (sh64_last_insn_frag): New.
1613 (shmedia_md_convert_frag): Use tc_frag_data field of incoming frag
1614 to get frag for insn opcode for generating fixups; do not assume it
1616 (shmedia_build_Mytes): Set sh64_last_insn_frag after growing frag
1618 * config/tc-sh64.h (ELF_TC_SPECIAL_SECTIONS): Define for .cranges
1620 (TC_FRAG_TYPE): Define as fragS *.
1621 (TC_FRAG_INIT): Define to set tc_frag_data to sh64_last_insn_frag.
1622 (sh64_last_insn_frag): Declare.
1623 (sh64_consume_datalabel): Fix typo; check for seginfo != NULL,
1624 not == NULL before dereferencing.
1626 Get rid of BFD section flag and EF_SH64_ABI64.
1627 * config/tc-sh64.c (shmedia_frob_section_type): Use
1628 elf_section_data (sec)->tdata, not a specific BFD section flag, to
1629 communicate the section as containing SHmedia code. Describe why.
1630 * config/tc-sh.c (sh_elf_final_processing): Tweak comment. Set
1631 EF_SH64 regardless of ABI.
1632 * config/tc-sh64.c (shmedia_md_apply_fix): Decapitalize "invalid"
1633 in error message. Handle resolved expressions for
1634 BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
1635 BFD_RELOC_SH_IMMS10BY4 and BFD_RELOC_64.
1636 (shmedia_check_limits): Handle BFD_RELOC_64.
1637 (sh64_adjust_symtab): Do not decrement the GAS symbol value for
1638 a STO_SH5_ISA32 symbol, only the BFD value.
1640 * config/tc-sh64.c: Call dwarf2_emit_insn, not the defunct
1641 dwarf2_generate_asm_lineno.
1643 Handle PC-relative MOVI expansions with assembler relaxation.
1644 Generate PC-relative relocs from 16-bit PC-relative expressions.
1645 * config/tc-sh64.c (SHMEDIA_MD_PCREL_FROM_FIX): Break out from...
1646 (shmedia_md_pcrel_from_section): ...here.
1647 (shmedia_md_apply_fix): Handle fixups for 16-bit operands that has
1648 turned completely resolved. Adjust relocation type for 16-bit
1649 immediate operands that has turned PC-relative. Adjust back for
1650 MD_PCREL_FROM_SECTION being applied twice.
1651 (shmedia_md_convert_frag): Always emit reloc for expression with
1652 global or weak symbol. Handle relaxation result for PC-relative
1654 (shmedia_md_estimate_size_before_relax): An expression with a weak
1655 or global symbol can not be relaxed. Break out tests for
1656 relaxable symbol into variable sym_relaxable.
1657 <cases C (MOVI_IMM_64, UNDEF_MOVI) and C (MOVI_IMM_32,
1658 UNDEF_MOVI)>: Break out any PC-relative expression and change
1660 (shmedia_build_Mytes): CSE &operands->operands[j] into variable
1662 <case A_IMMS16>: Fix typo for initial minor relaxation type of
1663 MOVI expansion. If X_op_symbol of the immediate expression is
1664 set, make an expression symbol for the argument to frag_var.
1665 * config/tc-sh.c (MOVI_IMM_32_PCREL, MOVI_IMM_64_PCREL): New
1667 (END): Adjust for new relaxations.
1668 (md_relax_table): Add entries for new relaxations.
1670 * config/tc-sh64.c (shmedia_parse_reg): Initialize variable len.
1672 * config/tc-sh64.c (shmedia_md_convert_frag): Correct all MOVI and
1673 SHORI operand offsets in PT/PTA/PTB expansions.
1675 Implement DataLabel semantics.
1676 * config/tc-sh.c (sh_frob_file) [HAVE_SH64]: Call
1677 shmedia_frob_file_before_adjust.
1678 * config/tc-sh64.c [! OBJ_ELF]: Emit #error.
1679 (DATALABEL_SUFFIX): Define.
1680 (shmedia_md_end) <before adjusting STO_SH5_ISA32 symbols>: Walk
1681 symbol list to update "datalabel" symbols to their main symbol
1683 (shmedia_frob_file_before_adjust): New.
1684 (sh64_adjust_symtab): For remaining datalabel symbols, set to
1685 undefined and set STT_DATALABEL.
1686 (sh64_frob_label): Initialize TC symbol field.
1687 (sh64_consume_datalabel): Actually implement semantics. New
1688 parameter operandf, call it instead of expression.
1689 (sh64_exclude_symbol): New.
1690 * config/tc-sh64.h (md_parse_name): Pass on the function operand
1691 to sh64_consume_datalabel.
1692 (tc_symbol_new_hook): Define to tc_frob_symbol.
1693 (TC_SYMFIELD_TYPE): Define to symbolS *.
1694 (tc_frob_symbol): Define to call sh64_exclude_symbol.
1696 * config/tc-sh64.c (shmedia_init_reloc): Tweak comment for default
1698 (shmedia_md_assemble): Call dwarf2_generate_asm_lineno if
1699 generating dwarf2 debug information.
1701 * config/tc-sh64.c (sh64_target_format): Use elf64-sh64l and
1702 elf64-sh64 for the 64-bit ABI.
1703 * config/tc-sh.c (md_show_usage): Tweak usage output for -abi=*
1706 * config/tc-sh.c: Remove conditionalizing on HAVE_SH64 for
1709 * config/tc-sh64.c: Tweak comments, formatting and error messages.
1710 (enum sh64_abi_values): New type.
1711 (enum sh64_isa_values): New type.
1712 (sh64_isa_mode): Replace shmedia_mode. All referers changed.
1713 (seen_shcompact_mode, seen_shmedia_mode): Delete.
1714 (sh64_abi): Replace shmedia_64.
1715 (shmedia_md_convert_frag) <C (MOVI_IMM_64, MOVI_64),
1716 C (MOVI_IMM_32, MOVI_32)>: Correct register number handling.
1717 (s_sh64_mode): Check validity for this target.
1718 (sh64_target_format): Initialize defaults for ISA and ABI.
1719 Fallback to old object format if no SH64 ISA or ABI has been
1721 * config/tc-sh.c (md_parse_option): Check combinations for errors.
1722 (sh_elf_final_processing): Change to have EF_SH64_ABI64 for 64-bit
1723 ABI and EF_SH64 for 32-bit ABI, if SH64 options are specified.
1724 * config/tc-sh64.h: Fix typo in comment.
1726 * config/tc-sh64.c (shmedia_md_estimate_size_before_relax)
1727 <PT fixups for absolute values>: Size will be longest, not
1729 (shmedia_md_convert_frag): Disable PTB-warning machinery. Correct
1730 all MOVI and SHORI operand offsets in PT/PTA/PTB expansions.
1731 * config/tc-sh.c (parse_reg) [HAVE_SH64]: Add local variables l0
1732 and l1 to hold lowercase of two first characters. Change all
1733 remaining TO_LOWER to tolower.
1734 * config/tc-sh64.c (TO_LOWER): Delete.
1735 (shmedia_find_cooked_opcode): Use tolower, not TO_LOWER.
1736 (md_parse_name): Define.
1737 (sh64_consume_datalabel): Declare.
1738 (DOLLAR_DOT): Define.
1739 * config/tc-sh64.c (shmedia_parse_exp): New.
1740 (sh64_consume_datalabel): New; just ignoring datalabel semantics.
1741 (shmedia_parse_reg): Remove const from src
1743 (shmedia_get_operands): Ditto for args parameter and ptr variable.
1744 (shmedia_md_assemble): Ditto for op_end variable.
1745 (shmedia_get_operand): Ditto for ptr parameter and src variable.
1746 Use shmedia_parse_exp, not parse_exp.
1747 * config/tc-sh64.c (shmedia_parse_reg): Add shmedia_arg_type
1748 parameter. All callers changed.
1749 (shmedia_get_operand): Add shmedia_arg_type parameter. All
1751 (shmedia_parse_reg): Put first two character in local variables.
1752 Use tolower, not TO_LOWER. If no register is found and argtype
1753 indicates a control register, scan shmedia_creg_table
1756 * Makefile.am (CPU_TYPES): Add sh64.
1757 (TARGET_CPU_CFILES): Add config/tc-sh64.c.
1758 (TARGET_CPU_HFILES): Add config/tc-sh64.h.
1759 Regenerate dependencies.
1760 * Makefile.in: Regenerate.
1761 * configure.in: Add support for sh64-*-elf*.
1762 * configure: Regenerate.
1763 * config/tc-sh64.h: New.
1764 * config/tc-sh64.c: New.
1765 * config/tc-sh.c (md_pseudo_table) [HAVE_SH64]: New pseudos
1766 .mode, .isa and .uaquad.
1767 [HAVE_SH64] (SH64PCREL16_32, SH64PCREL16_64, SH64PCREL16PT_32,
1768 SH64PCREL16PT_64, MOVI_IMM_32, MOVI_IMM_64): Define.
1769 [HAVE_SH64] (END): Define as 10.
1770 [HAVE_SH64] (UNDEF_SH64PCREL, SH64PCREL16, SH64PCREL32,
1771 SH64PCREL48, SH64PCREL64, UNDEF_MOVI, MOVI_16, MOVI_32, MOVI_48,
1773 [HAVE_SH64] (SH64PCREL16_F, SH64PCREL16_M, SH64PCREL16_LENGTH,
1774 SH64PCREL32_F, SH64PCREL32_M, SH64PCREL32_LENGTH, SH64PCREL48_F,
1775 SH64PCREL48_M, SH64PCREL48_LENGTH, SH64PCREL64_LENGTH,
1776 MOVI_16_LENGTH, MOVI_32_LENGTH, MOVI_48_LENGTH, MOVI_64_LENGTH):
1778 (md_relax_table) [HAVE_SH64]: Provide relaxations for SHmedia.
1779 (md_begin) [HAVE_SH64]: Call shmedia_md_begin.
1780 (parse_reg) [HAVE_SH64]: Parse register names case-insensitive.
1781 (md_assemble) [HAVE_SH64]: Call shmedia_md_assemble if assembling
1782 SHmedia instructions. Handle state-change after switching to
1784 (md_longopts) [HAVE_SH64]: New options --isa=* and --abi=*.
1785 (md_parse_option) [HAVE_SH64]: Parse new options.
1786 (md_show_usage) [HAVE_SH64]: Show usage of new options.
1787 (md_convert_frag) [HAVE_SH64] <default>: Call
1788 shmedia_md_convert_frag instead of abort.
1789 (sh_force_relocation) [HAVE_SH64]: Also force relocation for
1790 BFD_RELOC_SH_SHMEDIA_CODE.
1791 (sh_elf_final_processing) [HAVE_SH64]: Set flags identifying
1792 SHcompact or SHmedia code.
1793 (md_apply_fix) [HAVE_SH64] <default>: Return result from calling
1794 shmedia_md_apply_fix instead of abort.
1795 (md_estimate_size_before_relax) [HAVE_SH64] <default>: Return
1796 result from calling shmedia_md_estimate_size_before_relax instead
1798 (sh_do_align) [HAVE_SH64]: If shmedia_mode, let shmedia_do_align
1800 (tc_gen_reloc) [HAVE_SH64]: For unrecognized relocs, call
1801 shmedia_init_reloc and do nothing more if it returns non-zero.
1802 (sh_finalize) [HAVE_SH64]: Call shmedia_md_end.
1803 * po/POTFILES.in: Regenerate.
1804 * po/gas.pot: Regenerate.
1808 * config/tc-sh.c (parse_at): Install the correct version of
1811 * config/tc-sh.c (md_apply_fix3) <BFD_RELOC_32_PLT_PCREL>: Don't
1812 assume fixP->fx_subsy is non-NULL.
1816 * config/tc-sh.c (parse_at): Set arg type of @(expr,pc) to
1817 A_DISP_PC_ABS, and adjust it by -4.
1818 (get_specific): Accept A_DISP_PC_ABS where A_DISP_PC is
1820 (build_Mytes): Mark PCRELIMM fix-ups as pc-relative only if
1821 the operand type is not A_DISP_PC_ABS.
1825 * config/tc-mmix.c (tc_gen_reloc): Don't try and take the value of
1826 common and weak symbols. Handle common and weak symbols as
1827 undefined symbols with regards to GREG handling and merging.
1828 (mmix_frob_file): Ditto.
1832 * configure.in (hppa-*-netbsd*): New target.
1833 * configure: Regenerate.
1834 * config/tc-hppa.h: Also define WARN_COMMENTS if TE_NetBSD.
1838 * config/tc-v850.c: Add missing prototypes amd use old-style
1839 function definitions.
1840 (AREA_ZDA, AREA_SDA, AREA_TDA): Delete.
1841 (sdata_section tdata_section, zdata_section, sbss_section,
1842 tbss_section, zbss_section, rosdata_section, rozdata_section,
1843 scommon_section, tcommon_section, zcommon_section,
1844 call_table_data_section, call_table_text_section): Delete.
1845 (v850_sdata, v850_tdata, v850_zdata, v850_sbss, v850_tbss,
1846 v850_zbss, v850_bss, v850_rosdata, v850_rozdata,
1847 v850_call_table_data, v850_call_table_text): Delete.
1848 (struct v850_seg_entry): New.
1849 (v850_seg_table): New.
1850 (SDATA_SECTION TDATA_SECTION, ZDATA_SECTION, SBSS_SECTION,
1851 TBSS_SECTION, ZBSS_SECTION, BSS_SECTION, ROSDATA_SECTION,
1852 ROZDATA_SECTION, SCOMMON_SECTION, TCOMMON_SECTION, ZCOMMON_SECTION,
1853 CALL_TABLE_DATA_SECTION, CALL_TABLE_TEXT_SECTION): Define.
1856 (v850_comm): Use do_v850_seg and v850_seg_table. Simplify
1857 recording of alignment.
1858 (md_pseudo_table): Use v850_seg.
1859 (md_begin): Don't init .call_table_data and .call_table_text here.
1860 Set v850_seg_table bss entry.
1864 Support on-demand global register allocation by passing on
1865 base-plus-offset relocs to the linker.
1866 * config/tc-mmix.c: Tweak and fix typos in comments.
1867 (allocate_undefined_gregs_in_linker): New variable.
1868 (OPTION_LINKER_ALLOCATED_GREGS): New option macro.
1869 (md_longopts): Add --linker-allocated-gregs.
1870 (md_parse_option) <case 'x'>: Imply --linker-allocated-gregs.
1871 <case OPTION_LINKER_ALLOCATED_GREGS>: New.
1872 (md_show_usage): Update text for -x. Add text for
1873 --linker-allocated-gregs.
1874 (tc_gen_reloc): Derive default value for addend from val and
1875 baddsy. Use addsec and bfd_is_abs_section in more places. Don't
1876 emit error for BFD_RELOC_MMIX_BASE_PLUS_OFFSET without suitable
1877 GREG if allocate_undefined_gregs_in_linker.
1878 * doc/as.texinfo (Overview) <Target MMIX options>: Add
1879 --linker-allocated-gregs.
1880 * doc/c-mmix.texi (MMIX-Opts): Add blurb about
1881 --linker-allocated-gregs. Mention that it's implied by -x.
1882 (MMIX-Pseudos) <GREG>: Mention when and how a GREG can be omitted.
1883 (MMIX-mmixal): Clarify dated comparison and location of MMIXware.
1885 * config/tc-mmix.h (md_parse_name): Use ISUPPER, not isupper.
1889 * Makefile.am: Run "make dep-am"
1890 * Makefile.in: Regenerate.
1894 * config/tc-or32.c: New file.
1895 * config/tc-or32.h: New file.
1896 * configure.in: Add support for or32 targets.
1897 * configure: Regenerate.
1898 * config/obj-coff.c: Add support for or32 targets.
1899 * config/obj-coff.h: Add support for or32 targets.
1900 * Makefile.am: Add support for or32 targets.
1901 * Makefile.in: Regenerate.
1902 * NEWS: Mention support for OpenRISC.
1903 * doc/Makefile.in: Regenerate.
1904 * po/POTFILES.in: Regenerate.
1905 * po/gas.pot: Regenerate.
1909 * config/tc-sh.c (parse_reg): Fix end-of-word check for is, ix, iy
1914 * config/tc-mips.c (tc_gen_reloc): Arrange for
1915 BFD_RELOC_PCREL_HI16_S relocations to be output relative to
1916 their LO16 parts, even for ELF.
1920 * config/tc-i386.c: Protect definitions of true and false
1925 * config/obj-elf.c (elf_frob_file_before_adjust): Remove symbols
1926 made because of .weak, if they are neither defined nor used in any
1931 * configure: Regenerated.
1935 * doc/Makefile.am (install): Depend on install-info.
1936 * doc/Makefile.in: Regenerate.
1940 * po/fr.po: Updated version
1944 * config/tc-h8300.c (check_operand): Don't print a warning
1945 when a valid 24-bit address is given to a 16-bit address
1950 * config/tc-sh.c (sh_elf_suffix): Removed.
1951 (sh_PIC_related_p, sh_check_fixup, sh_cons_fix_new,
1952 sh_end_of_match, sh_parse_name): New functions.
1953 (sh_elf_cons): Simplify.
1954 (parse_exp): Reject misplaced PIC operands.
1955 (md_undefined_symbol): Simplify.
1956 (sh_fix_adjustable): Let @GOTOFF be adjusted.
1957 (md_apply_fix3): Write @PLT and @GOTOFF addends in place.
1958 (tc_gen_reloc): Move fixp subsy absolute value into addnumber.
1959 Complain if subsy remains at the end.
1960 * config/tc-sh.h (sh_parse_name, sh_cons_fix_new): Declare.
1961 (md_parse_name, TC_CONS_FIX_NEW, O_PIC_reloc): Define.
1965 * config/tc-mn10300.c (xr_registers): Move `pc'...
1966 (other_registers): ... here.
1970 * Makefile.am: Run "make dep-am".
1971 * Makefile.in: Regenerate.
1972 * gas/po/POTFILES.in: Regenerate.
1976 * config/obj-coff.c (obj_coff_init_stab_section): Make the
1977 stabstr_name allocation permanent, as it will be referenced from
1982 * configure.in (ia64-*-netbsd*): New target.
1983 * configure: Regenerate.
1987 * doc/as.texinfo (Overview) <Target ARM options>: Add missing {}
1989 <Detailed description, ARM options>: Ditto.
1990 * doc/c-arm.texi (ARM Options): Ditto.
1994 * tc-arm.c (do_xsc_mia, do_xsc_mar, do_xsc_mra): Renamed from
1995 do_mia, do_mar and do_mra respectively.
1996 (do_mav_*): Renamed from do_c_*.
1997 (mav_reg_required_here, mav_parse_offset): Renamed from
1998 cirrus_reg_required_here and cirrus_parse_offset respectively.
1999 (MAV_MODE?): Renamed from CIRRUS_MODE?.
2004 * tc-arm.c (ARM_EXT_V5J, ARM_ARCH_V5TEJ): Define.
2005 (insns): Add pattern for bxj instruction.
2006 (do_bxj): New function.
2007 (arm_cpus): Add arm926ej.
2008 (arm_archs): Add armv5tej.
2012 * doc/c-arm.texi: Add new fpe options to list of supported flags.
2016 * tc-arm.c (arm_fpus): Add fpe2 and fpe3.
2020 * NEWS: Mention new ARM command-line options and VFP support.
2022 * config/tc-arm.c (ARM_CEXT_XSCALE): Replaces ARM_EXT_XSCALE. All
2024 (ARM_CEXT_MAVERICK): Similarly.
2025 (ARM_ANY): Now means any core instruction.
2026 (CPU_DEFAULT): Default to ARM_ANY.
2027 (uses_apcs_26, atcps, support_interwork, uses_apcs_float)
2028 (pic_code): Declare for all object types. Make type int.
2029 (legacy_cpu, legacy_fpu, mcpu_cpu_opt, mcpu_fpu_opt, march_cpu_opt)
2030 (march_fpu_opt, mfpu_opt): Declare.
2031 (md_longopts): Tidy up conditional definitions.
2032 (arm_opts, arm_cpus, arm_archs, arm_fpus, arm_extensions)
2033 (arm_long_opts): New tables.
2034 (arm_parse_cpu, arm_parse_arch, arm_parse_fpu): New functions.
2035 (arm_parse_extension): New function.
2036 (md_parse_option): Rewrite using new table-driven system.
2037 (md_show_usage): Use new table-driven system.
2038 (md_begin): Calculate cpu_variant from command line option data.
2039 * doc/as.texinfo (ARM ISA options): Docuement new ARM-specific
2040 command-line options.
2041 * doc/c-arm.texi: Likewise.
2045 * as.c (parse_args): Update year.
2049 * config/tc-tic54x.c (encode_address): Add a more informative
2050 warning about incorrect syntax.
2054 * po/gas.pot: Regenerate.
2058 * macro.c (get_any_string): Add no-c-format comment to prevent
2059 confusion when translating string.
2060 * gasp.c (get_any_string): Add no-c-format comment to prevent
2061 confusion when translating string.
2065 * config/tc-mips.c (percent_op): Ensure longer percent_op's are
2066 matched before the shorter ones.
2067 (my_getSmallParser): Fix handling of nested parentheses in
2068 percent_op's. Code cleanup.
2069 (my_getPercentOp): New function, code from my_getSmallParser.
2070 (my_getSmallExpression): Fix handling of closing parentheses.
2071 Code cleanup. Better comments.
2075 po/tr.po: New file: Turkish translation.
2076 configure.in (LINGUAS): Add "tr".
2077 configure: Regenerate.
2081 Support for VFP instructions
2082 * tc-arm.c (CP_WB_OK, CP_NO_WB): New defines.
2083 (cp_address_required_here): New argument wb_ok. When false, do not
2084 accept write-back forms of addressing. Change all callers.
2085 (FPU_VFP_EXT_NONE, FPU_VFP_EXT_V1xD, FPU_VFP_VFP_V1)
2086 (FPU_VFP_EXT_V2): Define.
2087 (FPU_ARCH_VFP, FPU_ARCH_VFP_V1xD, FPU_ARCH_VFP_V1, FPU_ARCH_VFP_V2):
2088 Define in terms of above.
2089 (vfp_dp_reg_pos, vfp_sp_reg_pos, vfp_ldstm_type): New enums.
2090 (vfp_reg): New struct.
2091 (vfp_regs): New array of registers.
2092 (insns): Add VFP instructions.
2093 (sn_table): New array of VFP single-precision register names.
2094 (dn_table): New array of VFP double-precision register names.
2095 (all_reg_maps): Add the new register tables.
2096 (arm_reg_type): Add new values for above. Increase RET_TYPE_MAX.
2097 (vfp_sp_reg_required_here, vfp_dp_reg_required_here, do_vfp_sp_monadic)
2098 (do_vfp_dp_monadic, do_vfp_sp_dyadic, do_vfp_dp_dyadic)
2099 (do_vfp_reg_from_sp, do_vfp_sp_reg2, do_vfp_sp_from_reg)
2100 (do_vfp_reg_from_dp, do_vfp_reg2_from_dp, do_vfp_dp_from_reg)
2101 (do_vfp_dp_from_reg2, vfp_psr_parse, vfp_psr_required_here)
2102 (do_vfp_reg_from_ctrl, do_vfp_ctrl_from_reg, do_vfp_sp_ldst)
2103 (do_vfp_dp_ldst, vfp_sp_reg_list, vfp_dp_reg_list, vfp_sp_ldstm)
2104 (vfp_dp_ldstm, do_vfp_sp_ldstmia, do_vfp_sp_ldstmdb, do_vfp_ldstmia)
2105 (do_vfp_dp_ldstmdb, do_vfp_xp_ldstmia, do_vfp_xp_ldstmdb)
2106 (do_vfp_sp_compare_z, do_vfp_dp_compare_z, do_vfp_dp_sp_cvt)
2107 (do_vfp_sp_dp_cvt): New functions.
2108 (md_begin): Set soft-float flag for appropriate VFP work.
2109 (md_atof): Handle VFP-format doubles.
2110 (md_parse_option): Handle VFP command-line options.
2111 (md_show_usage): Display VFP command-line options.
2115 * tc-arm.c (md_parse_option): Tidy up setting of cpu_variant for
2116 various command line options.
2120 * config/tc-xstormy16.c: (xstormy16_fix_adjustable): Do not fix
2122 (xstormy16_md_apply_fix3): Do not return a value.
2126 * tc-arm.c (md_longopts): On targets that aren't bi-endian, support
2127 the -EL/-EB option that matches the target's endianness.
2128 (md_parse_option): Likewise.
2132 * tc-arm.c (md_longopts): Fix misplaced #endif -- the -oabi option
2133 is not dependent on ARM_BI_ENDIAN.
2137 * tc-arm.c (all error messages): Normalize capitalization of messages.
2139 * tc-arm.h (md_operand): Delete define.
2140 * tc-arm.c (in_my_get_expression): New static variable.
2141 (my_get_expression): Set and clear it.
2142 (md_operand): New function. If called from my_get_expression
2143 put the error in inst.error.
2144 (output_inst): Now takes argument of instruction being assembled.
2145 Print it out with any error message.
2146 (do_ldst, do_ldstv4, thumb_load_store): Fault attempt to use a store
2148 (end_of_line): Don't update inst.error if it is already set.
2152 * tc-arm.c ((do_ldst): Fix handling an immediate expression pseudo
2153 op that can be translated into a mvn instruction.
2157 * gas/config/tc-ia64.h (MD_FLAGS_DEFAULT): New Macro for
2158 setting default md.flags.
2159 (SHT_INIT_ARRAY): New elf special section used by HP-UX.
2160 (SHT_FINI_ARRAY): New elf special section used by HP-UX.
2161 * gas/config/tc-ia64.c (setup_unwind_header): Add support
2162 for 32 bit unwind info blocks.
2163 (generate_unwind_image): Add support for different types
2164 of unwind images (32 bits and/or big-endian).
2165 (ia64_init): Use MD_FLAGS_DEFAULT to set md.flags.
2166 (ia64_target_format): Add support for hpux target formats.
2167 (ia64_gen_real_reloc_type): Add support for FUNC_IPLT_RELOC.
2168 (ia64_elf_section_type): Add support for SHT_INIT_ARRAY and
2169 SHT_FINI_ARRAY elf section types.
2173 * tc-arm.c (struct reg_entry): Move before prototypes.
2174 (int_register, cp_register, fp_register): Delete.
2175 (reg_table): Delete. Replaced with ...
2176 (rn_table, cp_table, cn_table, fn_table, mav_mvf_table)
2177 (mav_mvd_table, mav_mvfx_table, mav_mvdx_table, mav_mvax_table)
2178 (mav_dspsc_table): ... one table per register set.
2179 (arm_reg_hsh): Delete.
2180 (struct reg_map): New structure.
2181 (all_reg_maps): New array.
2182 (enum arm_reg_type): New enums.
2183 (build_reg_hsh): New function.
2184 (insert_reg_alias): Use hash table passed by caller. Adjust all
2186 (create_register_alias): New function, split out from ...
2187 (md_assemble): ... here.
2188 (md_begin): Build new register hash tables.
2189 (arm_reg_parse): New argument for the hash table to search. Adjust all
2191 (arm_reg_parse_any): New function.
2192 (co_proc_number): Look up the processor number in the processor hash
2194 (cirrus_regtype): Delete.
2195 (cirrus_register, cirrus_mvf_register, cirrus_mvd_register)
2196 (cirrus_mvfx_register, cirrus_mvdx_register, cirrus_mvax_register)
2197 (ARM_EXT_MAVERICKsc_register): Delete.
2198 (do_c_binops_1, do_c_binops_2, do_c_binops_3): Delete.
2199 (do_c_binops_1[a-o], do_c_binops_2[a-c], do_c_binops_3[a-d]): New
2201 (do_c_triple_4, do_c_triple_5): Delete.
2202 (do_c_triple_4[ab], do_c_triple_5[a-h]): New functions.
2203 (do_c_quad_6): Delete.
2204 (do_c_quad_6[ab]): New functions.
2205 (do_c_binops, do_c_triple, do_c_quad, do_c_shift, do_c_ldst): Rework
2206 arguments to use new register parsing methods.
2207 (cirrus_reg_required_here): Likewise.
2208 (insns): Reclassify cirrus maverick worker functions.
2209 (cirrus_valid_reg): Delete.
2213 * configure.in (sh*le): Set cpu_type=sh and endian=little.
2214 (sh*-*-netbsdelf*): New target.
2215 * configure: Regenerate.
2216 * tc-sh.h: Update copyright years.
2217 (TARGET_FORMAT): Add version for TE_NetBSD.
2221 * read.c (emit_expr): Do not allow 'size' or 'nbytes' to go
2226 * config/tc-m68k.h (md_prepare_relax_scan): Rewrite.
2227 * config/tc-m68k.c (md_relax_table): Add md_prepare_relax_scan comment.
2231 * tc-mips.c (mips_cprestore_valid): New flag.
2232 (mips_frame_reg_valid): New flag.
2233 (macro) [M_JAL_2]: Check both flags.
2234 [M_JAL_A]: Likewise.
2235 (s_cprestore): Set mips_cprestore_valid.
2236 (tc_get_register): If setting mips_frame_reg, set
2237 mips_frame_reg_valid and clear mips_cprestore_valid.
2238 (s_mips_ent): Clear both flags.
2239 (s_mips_end): Clear both flags.
2243 * write.c (write_object_file): Make use of bfd_section_list_remove.
2244 * config/obj-ecoff.c (ecoff_frob_file): Likewise.
2245 * config/tc-mmix.c (mmix_frob_file): Likewise.
2249 * configure.in (i386-*-netbsdelf*): Collapse target into...
2250 (i386-*-netbsd*): ...this. Add support for x86-64.
2251 * configure: Regenerated.
2255 * config/tc-ppc.c (md_parse_option): BookE is not Motorola specific.
2259 * config/tc-m68k.c (md_estimate_size_before_relax): Test for a
2262 For older changes see ChangeLog-0001
2268 version-control: never