3 * configure.in: Make sure we only add m68k-parse.o to
4 ${extra_objects} once, no matter how many m68k targets have been
10 * configure.in (i386-*-cygwin32, ppc-*-cygwin32): New.
15 * config/tc-m68k.c (md_pseudo_table): Add "extend" and "ldouble".
16 * doc/c-m68k.texi: Document .extend and .ldouble.
18 * configure.in (m68*-apple-aux*): New target.
19 * config/te-aux.h: New file.
20 * config/obj-coff.c (compare_external_relocs): New static function
22 (do_relocs_for): Sort relocs if TE_AUX.
23 (fixup_segment): If TE_AUX, store common symbol value in segment.
24 * config/tc-m68k.h (TARGET_FORMAT): Define if TE_AUX.
28 * config/obj-coff.h (S_IS_LOCAL): Check for \001 as well as \002.
30 * config/tc-mips.c (s_mips_globl): Set BSF_OBJECT if it is not
32 (s_cpload): Set BSF_OBJECT for _gp_disp symbol.
33 * read.c (s_lcomm): If S_SET_SIZE is defined, set the size of the
35 * ecoff.c (add_procedure): Set the BSF_FUNCTION flag.
36 (ecoff_build_symbols): If S_SET_SIZE is defined, set the size of
37 an undefined symbol and the size of a function symbol.
38 * config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT
39 for all common symbols.
43 * config/tc-i960.c (parse_memop): In MRI mode, don't use implicit
46 * expr.c (operand): Accept 0x hex constants in MRI mode if not on
51 * config/obj-elf.c (obj_elf_type): Set BSF_OBJECT flag for a type
54 * ecoff.c (localsym_t): Add addend field.
55 (add_ecoff_symbol): Add addend argument. Change all callers.
56 (coff_sym_value): Make static.
57 (coff_sym_addend): New static variable.
58 (ecoff_directive_def): Initialize coff_sym_addend.
59 (ecoff_directive_val): Accept symbol + constant.
60 (ecoff_directive_endef): Pass coff_sym_addend to add_ecoff_symbol.
61 (ecoff_build_symbols): Include the addend in the symbol value.
65 * config/tc-ppc.c (md_assemble): Ignore overflow on
66 BFD_RELOC_16_GOTOFF and BFD_RELOC_PPC_TOC16.
70 * config/tc-ppc.c (md_apply_fix3): SDA21 relocations are now 4
71 bytes in size, so offset appropriately in big endian mode when
72 writing the bottom 2 bytes.
76 * config/tc-sparc.c (default_compatible): New static local.
77 (md_begin): Initialize it. Rewrite warn_on_bump handling.
78 (sparc_ip): If no architecture or -bump specified, don't mark as
79 mismatched those in default_compatible.
84 * configure.in (i386-*-sco*elf*): Use fmt elf, targ sco5.
86 * config/sco5.mt: New file; set TDEFINES to -DSCO_ELF.
87 * config/tc-i386.c (sco_id): New function, if SCO_ELF.
88 * config/tc-i386.h (tc_init_after_args): Define if SCO_ELF.
89 (sco_id): Declare if SCO_ELF.
93 * config/tc-sparc.c (initial_architecture,can_bump_v9_p): Deleted.
94 ({max,warn_after}_architecture): New static locals.
95 (md_begin): Replace NUMOPCODES with sparc_num_opcodes.
96 If both architecture and -bump requested, set max_architecture to max.
97 (sparc_md_end): Simplify.
98 (sparc_ip): Replace references to can_bump_v9_p with max_architecture.
99 Rewrite code to bump architecture and check for conflicts.
100 (md_longopts): Recognize -xarch={v8plus,v8plusa} for compatibility
101 with Solaris assembler.
102 (md_parse_option): Likewise. Call sparc_opcode_lookup_arch.
103 (md_show_usage): Update.
107 * Makefile.in (RUNTEST): Fix reference to $${srcdir}.
111 * config/tc-sparc.h (TARGET_FORMAT): Use #ifdef SPARC_ARCH64 instead of
112 #ifdef sparcv9 when choosing value.
115 (sparc_md_end): Declare.
116 * config/tc-sparc.c (SPARC_V9): Renamed from sparcv9.
117 (initial_architecture): New static local.
118 (can_bump_v9_p): Likewise.
119 (NO_V9): Delete all occurrences.
120 (sparc_md_end): New function.
121 (sparc_ip): New local v9_arg_p. Rework fp reg number test.
122 Don't bump architecture to v9 unless can_bump_v9_p set.
123 (md_parse_option): -A<arch> passed, set can_bump_v9_p accordingly.
124 * configure.in (sparc64 target cpu): Don't set obj_format here.
125 (SPARC_V9): Renamed from sparcv9.
126 (sparc64-*-elf*): Define SPARC_ARCH64.
127 * configure: Regenerated.
128 * acconfig.h (SPARC_V9): Renamed from sparcv9.
130 * conf.in: Regenerated.
131 * config/vmsconf.h: Update.
135 * config/tc-mips.c (load_register): Optimise "dli" loads.
136 (md_show_usage): add "-mcpu=vr4100" to help text.
140 * symbols.c (resolve_symbol_value): If a symbol is equated to an
141 undefined symbol, preserve the X_op of O_symbol.
142 (S_GET_VALUE): Fix check to permit this case.
143 * write.c (write_relocs): If a reloc is against an undefined
144 symbol equated to another symbol, change the reloc to be against
146 * config/obj-coff.c (do_relocs_for): Likewise.
148 * config/tc-ppc.c (ppc_csect): An unnamed csect is storage class
153 * config/obj-elf.c (elf/ppc.h): Include elf/ppc.h if target
156 * config/tc-ppc.c (md_apply_fix3): Add more embedded relocations.
158 * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Add sections
159 mentioned in the eabi.
163 * config/tc-ppc.c (ppc_reldata): Changed alignement on reldata_section
164 * config/tc-ppc.c (ppc_pdata): Changed the alignment on pdata_section
168 * config/tc-ppc.c (mapping): Add more relocation suffixes.
172 * config/tc-ppc.c (ppc_elf_validate_fix): Allow .gcc_except_table
173 as a section it is ok to have unadorned -mrelocatable pointers in.
177 * config/tc-ppc.c (ppc_section*): Wrap these functions inside
182 * config/obj-elf.c (obj_elf_section): Add hooks so machine
183 dependent section attributes can be handled.
185 * config/tc-ppc.h: (md_elf_section_{letter,type,word,flags}): New
186 macros to add support for exclude section flag and ordered section
189 * config/tc-ppc.c (ppc_elf_section_{letter,type,word,flags}): New
190 functions to add support for exclude section flag and ordered
195 * subsegs.c (section_symbol): Don't try to look up the section
196 symbol in the hash table. It should be possible to have a symbol
197 with the same name as a section, but no connection to it.
199 * read.c (cons_worker): Only call mri_comment_end from flag_mri.
202 * expr.c (operand): Skip whitespace after a close parenthesis.
207 * config/tc-sh.c (md_apply_fix): Call as_bad_where instead of
208 as_warn_where for relocation overflow.
209 (parse_reg): Accept register name only if next character is
214 * ecoff.c (ecoff_stab): Simplify. Correctly handle sym + offset
215 addresses for static variables.
219 * config/tc-ppc.c (mapping): Make @got give a real GOT relocation,
220 and xgot give the old toc16 relocation.
221 (md_apply_fix3): Support all GOT relocations.
225 * config/tc-mips.c (load_address): Correctly handle a constant in
230 * config/tc-sh.c (parse_reg): Recognize SH3 registers.
231 (get_specific): Handle A_SSR, A_SPC and A_REG_B.
232 (build_Mbytes): Handle REG_B.
236 * ecoff.c (ecoff_build_aux): Use new bfd_big_endian macro.
240 * mpw-make.sed: If linking, edit ALL_CFLAGS to CFLAGS.
244 * config/obj-coff.c (write_object_file): Set the s_align field to
245 the number of bytes, rather than to the power of 2.
249 * Makefile.in (DISTCLEAN_HERE): New variable.
251 (maintainer-clean): Depend upon clean-here rather than clean,
252 distclean, and clean-info. Run make maintainer-clean in doc.
253 Remove files listed in DISTCLEAN_HERE.
254 * doc/Makefile.in (maintainer-clean realclean): Split out from
255 distclean. Depend upon clean-info and distclean.
259 * mac-as.r: Fix copyright and version strings.
260 (cfrg): Use PROG_NAME instead of literal name.
265 * read.c (read_a_source_file): If tc_unrecognized_line is defined,
267 * config/tc-a29k.h (tc_unrecognized_line): Define.
268 * config/tc-a29k.c (a29k_unrecognized_line): New function.
269 (md_operand): Handle a29k style local dollar labels.
273 * config/obj-multi.h: If OBJ_MAYBE_ELF, define OBJ_SYMFIELD_TYPE.
277 * read.c (s_fill): If md_flush_pending_output is defined, call
282 * config/obj-coff.c (size_section, fill_section, fixup_mdeps):
283 Treat rs_align_code like rs_align.
287 * config/tc-arm.c (cp_address_required_here): Set pre_inc when
288 converting an absolute address into a PC-relative one.
292 * mpw-config.in: Don't always use te-generic.h for emulation.
293 (powerpc-apple-macos): Use emulation te-macos.h.
295 (mips-gm-magic): New configuration.
297 * mpw-make.sed (install, install-only): Edit in Mac-specific
302 * configure.in: Improve message about unsupported ELF targets.
303 * configure: Rebuild.
305 * config/tc-m88k.c (m88k_do_align): Correct check for whether fill
306 pattern is zero. From Manfred Hollstein.
310 * config/tc-ppc.c (ppc_pe_section): To get the alignment right for
311 the various idata sections, we check the name on the .section pseudo.
315 * config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not
316 add section's paddr to add_number; compatibility to native as and
321 * configure.in: Treat m68k-sysv4 like m68k-elf, not m68k-sysv3.
323 * hash.c (struct hash_entry): Moved here...
324 * hash.h (struct hash_entry): ...from here.
326 * config/obj-elf.c (elf_frob_symbol): Don't free and clear sy_obj
327 if it's already known to be null.
331 * config/tc-ppc.c (md_apply_fix3): Don't adjust the value for 32
332 bit relocs converted to PC relative relocs. This turned out to
333 add the offset from the beginning of .text twice.
337 * stabs.c (s_stab_generic): In 's' case, free string from
340 * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Remove unused field
342 * config/obj-multi.h (ELF_TARGET_SYMBOL_FIELDS) [OBJ_MAYBE_ELF]:
345 * subsegs.h (segment_info_type): Make bitfields unsigned.
347 * expr.h (struct expressionS): Make X_op and X_unsigned bitfields,
348 and move them together. On most systems this will reduce the
349 structure size by one word.
350 (operatorT): Define O_max.
351 * expr.c (expr_begin): Verify that X_op is wide enough to hold
354 * read.c (pop_insert): Print error returned by hash table
357 * as.c (dump_statistics): Split out from main; dump some hash
358 table stats and target-specific stats.
359 (start_time): No longer automatic to main.
360 (main): Set file-level start_time and call dump_statistics at
361 exit. Exit by calling xexit.
362 (show_usage): Make --statistics description less specific.
363 * subsegs.c (subsegs_print_statistics): New function.
364 * write.c (write_print_statistics): New function.
365 (n_fixups): New static variable.
366 (fix_new_internal): Increment it.
367 * read.c (read_print_statistics): New function.
368 * read.h (read_print_statistics): Declare.
369 * symbol.c (symbol_print_statistics): New function.
370 * symbol.h (symbol_print_statistics): Declare.
371 * hash.c (hash_print_statistics): New function.
372 * hash.h (hash_print_statistics): Declare.
373 * config/tc-i386.c (i386_print_statistics): New function.
374 * config/tc-i386.h (i386_print_statistics): Declare.
375 (tc_print_statistics): New macro.
376 * messages.c (as_fatal, as_assert, as_abort): Use xexit, not
379 * hash.c (DELETED): Rewrite to use a valid but unique address.
380 (START_POWER): Reduce to 10.
381 (enum stat_enum): New enumerator, replacing STAT_* index macros.
382 Add new values for counting strcmp calls.
383 (GROW_FACTOR): New macro.
384 (hash_grow): Use GROW_FACTOR. Rewrite for quick returns instead
386 (FULL_VALUE): New macro. Use 1/4 of table size instead of 1/2.
387 (hash_new): Use FULL_VALUE.
388 (struct hash_control): Definition moved here.
389 (hash_code): Don't mask to low bits.
390 (hash_ask): Mask returned hash code here. Check hash value before
391 calling strcmp; count strcmp calls.
392 * hash.h (struct hash_control): Declare, don't define, here.
393 (HASH_STATLENGTH): Deleted.
394 (struct hash_entry): Add field for hash code.
395 (hash_say, hash_apply): Don't declare.
397 * hash.c (destroy): Return void.
399 (main): Fix declarations.
400 (hash_apply): Return void. Argument `function' returns void. Put
401 inside "#ifdef TEST".
402 (hash_say): Define only if TEST is defined.
403 * hash.h (hash_apply, hash_say): Declarations deleted.
407 * configure: Rebuild with autoconf 2.7.
411 * aclocal.m4 (AC_PROG_CC): Remove local definition.
412 * configure: Rebuild with autoconf 2.6.
416 * config/tc-ppc.c (ppc_debug_name_section_size): Remove.
417 (ppc_stabx): Don't increment ppc_debug_name_section_size.
419 (ppc_frob_file): Remove.
420 * config/tc-ppc.h (tc_frob_file): Don't define.
421 (ppc_frob_file): Don't declare.
425 * Makefile.in (TARG_CPU_DEP_alpha): Mention alpha-opcode.h.
426 * config/alpha-opcode.h: Include one-operand variants of jmp and
429 * config/te-delt88.h: Renamed from te-delta88.h, to avoid conflict
430 with te-delta.h in 8.3 file systems.
431 * configure.in: Adjusted.
435 * config/tc-mips.c (s_err): Remove; just use the one in read.c.
437 * config/m68k-parse.y (yylex): In MRI mode, '@' can start an octal
439 * expr.c (operand): Handle MRI suffixes after unadorned 0.
443 Version 2.6 released.
444 * Makefile.in (VERSION): Updated to 2.6.
446 * config/obj-coff.c (write_object_file): Change use of md_do_align
447 to pass a pointer rather than a fill value, to match other uses.
451 * config/tc-ns32k.h (TC_FIX_TYPE): Add missing semicolon.
453 * as.c (main): Move md_end call to just after call to
454 perform_an_assembly_pass. Delete cpu-specific code here.
455 * config/tc-i960.h (md_end): New macro, calls brtab_emit.
457 * config/tc-rce.c (md_end): Deleted.
458 * config/tc-rce.h (md_end): New macro, calls dump_literals.
460 * config/tc-arm.c (md_end): Unused function deleted.
461 * config/tc-ns32k.c (md_end): Ditto.
463 * config/tc-i386.c (i386_align_code): New function, moved here
464 from HANDLE_ALIGN macro.
465 * config/tc-i386.h (HANDLE_ALIGN): Call it.
469 * config/tc-i386.h (md_do_align): cast fill and 0x90 to char
474 * config/tc-i386.h (md_do_align): Make ".align n,0x90" generate
475 multi-byte nops to avoid changing gcc. The necessary gcc change
476 might break old assemblers.
480 * config/tc-i386.h (md_do_align, HANDLE_ALIGN): Add macros to
481 generate optimal multi-byte nop instructions for ".align n"
482 ".align n,0x90", and aligns requiring more than 15 bytes of
483 padding still generate multiple 0x90's as before.
487 * config/tc-m68k.c (s_mri_until): Call pop_mri_control.
491 * configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations.
493 * mpw-make.sed: Reorder commands to make sed happier.
494 * config/te-macos.h: New file.
495 * config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac.
499 * config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for
500 conditional branches.
501 (md_apply_fix): Likewise.
505 * config/tc-a29k.c (md_apply_fix): Warn if an attempt is made to
506 generate a reloc which the linker will not handle correctly. Fix
507 overflow checking--R_IREL is 18 bits, not 17.
511 * config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from
512 from a PC relative reloc if TC_A29K.
514 * config/tc-a29k.c (line_separator_chars): Restore '@'. Existing
515 code depends upon it.
517 * config/tc-a29k.c (md_operand): Handle $float, $double, and
518 $extend. Based on code from Eric Freudenthal
520 * config/tc-a29k.h (LEX_DOLLAR): Define.
521 * read.c (LEX_DOLLAR): Define if not defined.
522 (lex_type): Use LEX_DOLLAR.
526 * configure.in (a29k-nyu-sym1): New target, just like other a29k
531 * config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return.
535 * config/tc-ppc.c (md_apply_fix3): Added BFD_RELOC_RVA. Currently
536 used only by "dlltool.c".
540 * config/tc-alpha.c: Undefine inline if not __GNUC__.
541 (md_pseudo_table): Don't define "extern".
545 * config/tc-ppc.c (ppc_biei): Force symbol into text_section.
547 * config/tc-ppc.c (md_show_usage): Put backslash at end of line.
551 * macro.c (macro_expand_body): Don't warn about == with a
552 nonexistent parameter, in case it is in a comment field.
554 * as.c (main): On TC_A29K, call macro_init with macro_alternate
556 * macro.c (get_any_string): Don't keep quotes if macro_strip_at is
557 set, even if macro_alternate is set.
558 (get_apost_token): If macro_strip_at, only skip kind if it is '@'.
559 (sub_actual): If macro_strip_at, and kind is '@', don't look up
560 the token unless it ended in '@'.
561 * config/tc-a29k.c (line_separator_chars): Remove '@'.
562 * doc/c-a29k.texi: Document macro usage on A29K.
566 * config/tc-m68k.c (m68k_ip): Handle new 'W' place, meaning a
568 (install_operand): Likewise.
570 * config/obj-elf.c (ecoff_debug_pseudo_table): Add "extern".
574 * configure.in (m88k-motorola-sysv*): New target.
575 * configure: Rebuild.
576 * config/te-delta88.h: New file.
577 * config/obj-coff.c (write_object_file): Use md_do_align if it is
579 * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define.
580 (md_do_align): Define.
581 * config/tc-m88k.c: Include "subsegs.h".
582 (m88k_do_align): New function.
584 * config/te-delta.h (STRIP_UNDERSCORE): Don't define.
585 (COFF_NOLOAD_PROBLEM): Define.
586 (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): Define.
590 * config/tc-i386.c (md_assemble): For a jump instruction with
591 non-constant target, require 7 available bytes in the current
596 * config/obj-elf.h: Include bfd/elf-bfd.h rather than
601 * configure.in (alpha-*-linux*): Use ecoff.
602 * configure: Rebuild.
603 * ecoff.c (ecoff_directive_extern): New function.
604 (ecoff_directive_weakext): New function.
605 (ecoff_build_symbols): Handle weak symbols.
606 (ecoff_setup_ext): Likewise.
607 (ecoff_frob_symbol): Warn about weak common symbols.
608 * ecoff.h (ecoff_directive_extern): Declare.
609 (ecoff_directive_weakext): Declare.
610 * symbols.c (S_IS_WEAK): New function.
611 * symbols.h (S_IS_WEAK): Declare.
612 * config/obj-ecoff.c (obj_pseudo_table): Add "extern" and
614 * config/tc-mips.c (mips_pseudo_table): Remove "extern".
619 * config/tc-ppc.c (ppc_lglobl): Do the right thing.
621 * config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS.
622 (ppc_eb): Likewise. Set the storage class to C_BLOCK, not C_FCN.
623 (ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT.
624 * config/obj-coff.c (coff_frob_symbol): Don't call
625 SA_SET_SYM_ENDNDX with the current symbol; call it with the next
626 one. If OBJ_XCOFF, try to figure out whether the symbol is going
629 * config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec".
630 (ppc_stab_symbol): New static variable.
631 (ppc_change_csect): Check that ppc_toc_csect is not NULL.
632 (ppc_stabx): Set ppc_stab_symbol around call to symbol_make. Set
633 sy_tc.real_name to the stab string.
634 (ppc_bc, ppc_ec): New static functions.
635 (ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't
637 (ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a
639 (ppc_frob_symbol): Set BSF_NOT_AT_END for symbols with csect aux
642 * input-scrub.c (input_scrub_push): Reset sb_index.
646 * listing.c (listing_newline): Don't create a frag in the absolute
651 * config/tc-ppc.c (md_pseudo_table): Add "data" and "text".
652 (ppc_csect): Move most of the code to ppc_change_csect, and call
654 (ppc_change_csect): New static function, taken from ppc_csect.
655 (ppc_section): New static function.
656 (ppc_saw_abs): New static varable.
657 (ppc_frob_symbol): Create aux entry for absolute symbols. Warn if
658 a symbol has no csect.
659 (ppc_adjust_symtab): New function.
660 * config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF.
661 (ppc_adjust_symtab): Declare if OBJ_XCOFF.
663 * write.c (write_object_file): If tc_adjust_symtab is defined,
664 call it just before the call to obj_adjust_symtab.
666 * symbols.c (symbol_find_or_make): Change name to be const.
667 * symbols.h (symbol_find_or_make): Update declaration.
671 * doc/as.texinfo (Align): Mention SH.
672 * doc/c-m68k.texi (M68K-Directives, .even): Describe behavior, not
674 * doc/c-z8k.texi (Z8000 Directives, global): Fix minor typo.
675 (Z8000 Directives, even): Don't give numeric align value, instead
680 * tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a pre-increment
685 * Makefile.in (diststuff): Also make info.
686 (maintainer-clean realclean): Also make clean-info.
690 * config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode.
691 (pa_subspace): For ".nsubspa", always create a new subspace
692 with the given attributes, even if one already exists with the
697 * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Rename from
698 TC_FORCE_RELOCATION, taking an additional section argument. If
699 the section of the target symbol is not the same as the current
700 section, always force the relocation to be used.
701 (MD_PCREL_FROM_SECTION): New macro to call md_pcrel_from_section.
703 * config/tc-ppc.c (md_pcrel_from_section): Rename from the
704 md_pcrel_from function, taking an additional section argument.
705 Invoke TC_FORCE_RELOCATION_SECTION instead of TC_FORCE_RELOCATION.
707 * write.c (TC_FORCE_RELOCATION_SECTION): Define in terms of the
708 older TC_FORCE_RELOCATION if not defined.
709 (MD_PCREL_FROM_SECTION): If not defined, invoke md_pcrel_from.
710 (fixup_segment): Use MD_PCREL_FROM_SECTION instead of
711 md_pcrel_from, and TC_FORCE_RELOCATION_SECTION instead of
716 * input-scrub.c (as_where): Set name to null pointer if we don't
718 * messages.c (identify): Only print filename if non-null.
719 (as_show_where): Ditto, for line number too.
720 (as_warn_internal, as_bad_internal): Ditto.
722 * input-file.c (input_file_open): If the input file can't be
723 opened, consider it an error.
727 * config/tc-mips.c: Added mips_4100 control, and support for
728 accepting the 4100 as a MIPS architecture variant (md_begin,
729 macro_build, mips_ip, md_parse_option). Adding suitable
730 command-line OPTIONs, and updating the help text (md_show_usage).
734 * subsegs.c (subseg_begin): Only set absolute_frchain.fix_* when
735 BFD_ASSEMBLER is defined.
737 * Use one active frag and one obstack per frag chain:
738 * frags.c (frags): Variable deleted.
739 (frag_alloc): New function.
740 (frag_grow, frag_more, frag_variant, frag_now_fix,
741 frag_append_1_char): Refer to frchain_now->frch_obstack instead of
743 (frag_new): Ditto. Verify that frch_last and frag_now match on
744 entry and exit, and that old frag_now has non-zero type. Replace
745 "know" uses with "assert". Use frag_alloc instead of mucking with
747 * frags.h (frags): Declaration deleted.
748 * subsegs.h (struct frchain): Add new field frch_frag_now.
749 * subsegs.c (frchains, dummy_frag, absolute_frchain): New static
751 (subsegs_begin): Initialize frchains obstack. Under gcc, don't
752 give it any stricter alignment than frchainS structures need. Do
753 not initialize frags obstack. Set frag_now to point to
754 dummy_obstack. Initialize absolute_frchain.
755 (subseg_set_rest): Save and restore frag_now in frch_frag_now
756 field of frchainS. Don't create new frags on section switch, and
757 use frag_alloc when creating a new frag chain. For absolute
758 section, set frchain_now to absolute_frchain. Verify that
759 frch_last and frag_now match on entry and exit. Initialize
760 per-chain obstack, and under gcc, set required alignment to that
761 needed by fragS structure.
763 * write.c (chain_frchains_together_1): Verify fr_type is nonzero.
765 * stabs.c (get_stab_string_offset): Only copy input string if a
766 fresh copy is needed, not if the section already exists.
767 (s_stab_generic): Cache stab section name to bypass lookups, since
768 usually it will match. Could be made faster still by changing the
769 memory allocation rules.
770 (s_xstab): Cache section name to bypass repeated string
773 * frags.c (frag_new): Deleted register declarations.
775 * listing.c (frag_now): Don't declare.
777 * as.c (chunksize): New variable.
778 (debug_memory): New variable.
779 (main): If debug_memory is set, reduce chunksize and
781 * as.h (chunksize): Declare it.
782 * read.c (read_begin): Use it.
784 * config/tc-alpha.c (md_shortopts): Include 'g'.
785 (md_parse_option): Ignore it.
787 * Makefile.in (distclean): Remove Makefile and config.status from
789 (clean-here): Don't delete testsuite. Instead, delete only the
790 files within it that would be generated by running tests.
792 * config/tc-hppa.c (hppa_elf_mark_end_of_function): Call
793 frag_now_fix instead of accessing obstack info directly.
794 * config/tc-arm.c (s_ltorg): Ditto.
795 (md_assemble): Ditto.
797 * config/tc-i386.c (md_assemble): Call frag_grow instead of
802 * stabs.c (aout_process_stab): Insert debug symbol into symbol
803 chain after parsing value expression, if any, to avoid separating
804 continued .stabs lines.
808 * config/tc-mips.c (mips_elf_pseudo_table): Remove.
809 (mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table.
813 * config/tc-ppc.c (md_begin): Use new flags PPC_OPCODE_COMMON for
814 -mcom support and PPC_OPCODE_ANY for -many.
815 (md_parse_option): Ditto.
817 (md_begin): For duplicate instructions, print all duplicates
822 * config/tc-ppc.c (md_parse_option): Support for -mcom to turn on
823 common mode operation.
824 (md_show_usage): Add -mcom to usage message.
828 * expr.c (op_rank): Add O_symbol_rva.
829 * expr.h (operatorT): Add O_symbol_rva.
830 * read.c (cons_worker): Set O_symbol_rva when necessary.
831 * write.c (fix_new_exp): Understand O_symbol_rva.
835 * config/tc-mips.c: Correct s_cons arguments. From Michael
840 * config/tc-ppc.c (ppc_macro): Make count unsigned.
841 (ppc_biei): Set segment to now_seg and value to coff_n_line_nos.
842 (ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting
844 * config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and
845 make non-static. Change all users.
846 * config/obj-coff.h (coff_n_line_nos): Declare.
852 * configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message.
854 * config/obj-elf.c (obj_elf_common): Convert specified byte
855 alignment to power of two. Set size of local bss symbol.
857 * config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name.
861 * sb.c, macro.c: Decide whether to include <string.h> or
862 <strings.h> just as as.h does.
866 * Makefile.in (site.exp): Fix setting of $srcdir.
868 * config/tc-arm.c (md_atof): Fix little-endian output.
869 * config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for
874 * doc/as.texinfo: Split out the NS32k family documentation,
875 despite its being commented out for now.
876 * doc/c-ns32k.texi: New file.
878 * sb.c, macro.c: Include string.h.
880 * Makefile.in (comparison): Only check *.o; we don't care if
881 timestamps inserted by the native linker differ.
883 * config/tc-alpha.c (alpha_align): Only fill with a no-op pattern
884 if alignment stricter than 4 bytes is requested; in that case,
885 align to a 4-byte boundary first.
889 * config/obj-vms.c (VMS_RSYM_Parse): eliminate "might be used
890 uninitialized" warning for `Max_Source_Offset'.
894 * config/tc-ppc.c (parse_toc_entry): New function to parse [toc]
895 qualifiers and detect errors if present.
896 (md_assemble): Add call to parse_toc_entry. Also added some support
897 for the [tocv] qualifier.
898 (ppc_pe_tocd): New function to support data in the toc section.
902 * config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for
907 * config/tc-m68k.c (isword): Accept all values from -65536 to
908 +65535, so ~VAL will not be rejected.
910 * cond.c (s_endif): Call demand_empty_rest_of_line. In MRI mode,
911 skip characters after the pseudo-op.
913 * read.c (get_line_sb): Don't look past buffer_limit.
914 (s_include): In MRI mode, skip characters after the file name.
918 * config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit
919 periods in register names.
921 For older changes see ChangeLog.1.