3 * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
5 (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
9 * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi
14 * expr.c (operand): Fix unary plus operator (previously was the
15 same as '~' operator!).
19 * write.c (cvt_frag_to_fill): Define even if BFD is defined.
20 (write_object_file): Do define if BFD_ASSEMBLER. Invoke
21 obj_check_file_symbols if defined. Call verify_symbol_chain_2
22 instead of open-coding it. Fix some bugs in patching up symbol
24 (relax_segment): Make some code we "ought to be able to" use for
25 all targets no longer conditionalized on ns32k target; instead, do
26 it always, and if the appropriate conditions fail, abort.
28 * symbols.c (DEBUG): Enabled.
29 (symbol_new): Make sure bfd_make_empty_symbol works.
30 (verify_symbol_chain_2): New funcion; takes one symbol as
31 argument, anywhere in the chain.
32 (dollar_label*): Use default initializers.
34 * as.c (perform_an_assembly_pass): Call md_begin here...
35 (main): ...and not here.
37 * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
38 (tc_frob_symbol): New macro: Get rid of symbols in reg_section.
40 * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
41 (add_fix, add_frag): Now functions instead of macros.
42 (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
43 s_data1, s_data2, s_bss): Use new *_section names, for
44 compatibility with BFD_ASSEMBLER mode; rewrite switch statements
45 to handle non-integral segT.
46 (tc_coff_fix2rtype, tc_aout_fix_to_chars,
47 tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
48 (tc_gen_reloc): New routine for BFD_ASSEMBLER.
49 (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
50 md_apply_fix_2; new md_apply_fix definition varies interface
51 depending on BFD_ASSEMBLER.
52 (md_convert_frag, md_convert_frag_1): Likewise. Use new *_section
55 * config/obj-vms.c: Include config.h.
56 (version_string): Delete declaration.
57 (Write_VMS_MHD_Records): Use GAS_VERSION instead.
58 (vms_resolve_symbol_redef): New function, taken from VMS code in
61 (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
62 VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
63 VMS_Psect_Spec): Fixed to compiler under traditional C.
64 * config/obj-vms.h: Use PARAMS macro.
65 (vms_resolve_symbol_redef): Declare.
66 (RESOLVE_SYMBOL_REDEFINITION): New macro.
67 * symbols.c (colon): Remove some VMS-specific code, look for
68 RESOLVE_SYMBOL_REDEFINITION macro instead.
70 * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
73 * config/tc-i386.c: Reordered some functions so inlining might
74 work. Use PARAMS in function declarations.
76 (md_assemble): Rearrange switch statements to work with
79 * struc-symbol.h [BFD_ASSEMBLER]: Undefine
80 SYMBOLS_NEED_BACKPOINTERS before defining it.
82 * subsegs.c (subseg_new_rest): Now static.
84 * read.c (pseudo_set): Better error message for difference of
85 symbols in different frags.
87 * Makefile.in (check): Pass down some new variables, indicating
88 pathname or program name for cc, nm, objdump.
90 * as.h (OUTPUT_FLAVOR): New macro.
91 * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
93 * configure.in: Initialize bfd_gas properly. Warn that ELF
94 support is incomplete.
98 * read.c (float_cons): Accept null pointer return from md_atof.
99 * config/tc-m68k.c (md_atof): Return null for success.
100 * config/tc-sparc.c (md_atof): Ditto.
104 * doc/as.texinfo: formatting and comment cleanups; show SPARC
105 alternative options in same style as other machines; simplify some
106 conditional use; include GPL as separate file (from texinfo dir)
108 * doc/Makefile.in: (as.info) include directory containing GPL in
111 * doc/h8.texi: new file; conditional settings for GAS manual
116 * doc/as.texinfo: mention SPARC architecture options.
120 * configure.in: Rearranged whitespace in per-host/per-target
121 sections. Added hooks for dropping in HPPA support (not included
122 yet). Separate out overrides of variables based on target format
123 and bfd-gas selection from actual target-specific commands. Add
124 error message for recognized but unsupported format name.
128 * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
129 symbolic header match cline in FDR; the native linker seems to
132 Thu Apr 8 15:51:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
134 * doc/Makefile.in: as.texinfo is in $(srcdir). Use
135 $(srcdir)/as.texinfo explicitly in several places
139 * doc/Makefile.in: update dvi, clean targets for new source
144 * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
145 rather than undefining know.
146 * configure.in: Match ultrix*, not just ultrix.
150 * doc/as.texinfo: converted conditional markup to use new
151 Texinfo facilities, avoiding m4.
153 * doc/as-all.texinfo, all.m4, pretex.m4: deleted.
155 * doc/Makefile.in: recast doc configuration to use a link to an
156 included texinfo file.
158 * doc/all.texi: settings for generic form of documentation.
162 * read.c (cons): Zero out frag when creating reloc.
166 * config/tc-mips.c (gp_reference): Certain magic symbols can never
167 be referenced off the GP register.
169 * app.c (do_scrub_next_char): Handle states 9 and 10 correctly
170 when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
171 LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
173 * config/te-irix.h: New file; irix needs a different LOCAL_LABEL
174 definition from other MIPS targets.
175 * configure.in (mips-*-irix): Use emulation irix.
179 * config/tc-h8500.c: Get relax size of branch instructions right,
180 (get_operand): Parse @sp+ correctly.
184 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
185 COFF section header field.
187 * configure.in: Print error message if host or target is not
190 * configure.in: If with-bfd-assembler, use obj-coff instead of
193 * config/ho-generic.h: Include string.h.
197 * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
198 '$' as local, for any object file format.
200 * config/tc-mips.c (macro): Optimizations to branching code and a
204 * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
205 * configure.in (mips-sgi-irix*): Set gas_host to irix.
209 * subsegs.c (subseg_new): Set output_section of new section.
210 * as.c (perform_an_assemly_pass): Don't set output_section here.
211 * expr.c (expr_part, expr): Turn off section assertions for ECOFF,
212 since it has additional sections.
213 * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
215 * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
216 ecoff_undefined field.
217 * config/obj-ecoff.c (obj_symbol_new_hook): Initialize
218 ecoff_undefined field.
219 (add_file): If using stabs, just output a stabs symbol rather than
221 (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
222 it with get_absolute_expression, rather than skipping it by hand.
223 (obj_ecoff_loc): If using stabs, just output a stabs symbol rather
224 than ECOFF line number information.
225 (obj_ecoff_stab): Accept non-zero values for stabs line number.
226 (ecoff_build_symbols): Set ifilesym correctly. Set storage class
227 to small, undefined and/or readonly sections if appropriate.
228 Don't output symbol names containing \001 characters.
229 (ecoff_frob_file): Make sure at least one fdr is output.
230 * config/tc-mips.h: Define TC_MIPS.
231 * config/tc-mips.c (g_switch_value): New static variable.
232 (md_assemble): Set gp size of output BFD.
233 (gp_reference): New function; returns 1 if expression can be
234 accesssed via gp. Always returns 0 if not using ECOFF.
235 (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
237 (macro): Generate sequences using gp if possible.
238 (md_parse_option): Ignore -EL and -EB. Parse -G.
239 (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
240 (s_change_sec): Handle .rdata and .sdata for ECOFF.
241 (s_extern): Mark symbol as external. Set ecoff_undefined field.
245 * output-file.c (output_file_create): Don't call as_perror for
246 filename rejected by application.
248 * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
251 * doc/as.texinfo: Don't use @value in node names for the moment;
252 references don't appear to work right.
254 * as.h (const, volatile): Put these definitions back, and use
257 * doc/as.texinfo: First pass at using new texinfo features --
258 variables, conditional tests. Far from complete.
262 * read.c: Temporary hack to handle some 64-bit constants. This
263 should be redone later.
264 (target_big_endian): Declare.
265 (big_cons): If it's set, reverse order of bytes being copied.
266 * config/tc-sparc.c (md_begin): Set target_big_endian.
268 * read.c (s_ignore): Delete declaration of is_end_of_line.
270 * config/obj-coffbfd.c (yank_symbols): Build list of file symbol
271 forward pointers properly.
275 * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
276 wasn't being stored into scnhdr.
277 * config/obj-coffbfd.h: Add prototype of s_get_segment.
278 * read.c (TC_START_LABEL): Default definition.
279 (read_a_source_file): Use TC_START_LABEL macro to work out
280 if a label has been seen.
284 * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
285 the bottom (make expands variables in dependencies when the
286 dependencies are read, not when they are used).
288 * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
289 a29k .bss section; the mondfe program doesn't like it.
293 * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
295 (current_architecture): Don't need initializer.
299 * doc/none.m4: Define Z8000.
300 * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir). Remove the
301 texinfo file before recreating it.
302 (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
304 (srcdir): Delete second, bogus definition.
305 (as.info): Look for as-*.texinfo in current directory rather than
309 * doc/configure.in: Create links to all as-*.texinfo files in the
310 source directory, if that's not the current directory.
312 * configure.in (per-host): Accept MIPS host with BSD version
314 (per-target): Classify i486 as i386. Use generic cpu_type instead
315 of target_cpu in selecting format etc.
317 * app.c (do_scrub_next_char): Use .appfile, not .app-file.
318 * read.c (potable): Change .app-file to .appfile.
320 * config/ho-decstatn.h: Renamed from ho-decstation.h.
321 * configure.in: Adjusted.
323 * config/obj-bfd-sunos.*: Unused; deleted.
325 * Makefile.in (version.c, vers-stamp): Deleted.
326 (config.h): Define GAS_VERSION.
327 * as.c (version_string): Deleted declaration.
328 (main): Look for GAS_VERSION instead.
330 * doc/as.texinfo: Updated description of -a* (listing) options,
331 and describe how to pass them through from gcc.
333 * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
334 process relocs if there aren't any relocs to process. Avoids
335 malloc/free bug on SCO too.
337 * as.h: Move local include files below system include files, to
338 avoid some redefinition complaints on some systems.
339 (const, volatile): Don't need these conditionally defined if we
340 use CONST and VOLATILE from ansidecl.h.
341 (seg_name): Use CONST, not const.
345 * config/tc-mips.c: Reindented to GNU standards.
349 * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
350 (fixup_segment): Add a29k special case; the linker is not prepared
351 to see a segment offset here.
353 * app.c (do_scrub_next_char): Added new state, 10, modifying state
354 9 to only keep a space in between identifier characters.
356 Wed Mar 24 02:16:22 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
358 * Makefile.in: add dvi target; as-$(config).texinfo might live in
359 srcdir, might be in objdir.
361 * doc/Makefile.in: dvi depends on as.dvi
363 Mon Mar 22 23:59:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
365 * Makefile.in: add installcheck target
369 * config/tc-mips.c (macro): Use $AT for any floating point load.
373 * config/tc-m68k.c (m68k_ip): For operand type 'M', reject
374 bignums, but don't emit error message.
378 * Makefile.in (targ-cpu.o): Depend on config.h.
382 * app.c (do_scrub_next_char): Added new state, 9, to avoid
383 dropping a space immediately following an identifier.
384 * expr.c, write.c: Rewrote assert expressions to not use multiple
385 lines; I don't think that can be done portably.
386 * config/tc-mips.c (macro): Use $AT if target register is zero in
387 load instruction, which it can be for a floating point load.
391 * write.c (write_contents): Compute the relocs before writing out
392 the section contents.
393 * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
394 symbol table and values right.
395 * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
397 * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
400 * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
401 z8k-opc.h, not z8k.h.
403 * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
406 Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
408 * configure.in: recognize sparc-sun-solaris2* instead of -solaris2
412 * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
413 to be on a single line.
417 * Makefile.in (config.h): Create file, writing out definitions of
418 target cpu, alias, and canonical name.
419 (ALL_CFLAGS): No longer define TARGET_CPU.
421 * Makefile.in (check): Print a message, instead of quitting
424 * as.c (main): Don't catch any signals, for now.
426 * version.c: Deleted.
427 * Makefile.in: Generate it, putting in only the version number
429 (VERSION): New variable.
430 * as.c: Include config.h.
431 (main): Reformatted version string. Include target alias. Don't
432 print if not requested (i.e., unknown -v argument).
434 * as.c (stralloc): Deleted.
435 (main): Call strdup instead.
437 * configure.in: Handle all 68300 series chips.
438 * config/tc-m68k.c: Include config.h.
439 (md_assemble): Assume TARGET_CPU is defined. Accept some 68300
440 series cpus as defaults.
441 (md_parse_option): Accept some m68300 series CPUs as defaults.
445 * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
447 (main, got_sig): Use them.
448 * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
453 * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
456 * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
457 OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
458 (struct loc, struct proc, struct file): Moved to tc-mips.c within
459 #ifndef OBJ_ECOFF block, since ECOFF uses different versions.
460 * config/tc-mips.c: Rearranged for ECOFF support. Added
461 prototypes for all static functions. Moved existing minimal
462 debugging format support info #ifndef OBJ_ECOFF blocks.
463 (macro_build_lui): Eliminated sign_extend argument, because ECOFF
464 does not support a non sign extended high 16 bits reloc. Adjusted
465 all callers accordingly.
466 (tc_get_register): Renamed from get_register, and made non-static.
468 * config/mips-big.mt, config/mips-lit.mt: New files. Define
469 TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
471 * configure.in (mips-*-bsd*): Use gas_target mips-lit.
472 (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
473 obj_format ecoff and gas_target mips-lit or mips-big.
477 * version.c: Bump to version 2.0.1.
481 * write.c (chain_frchains_together): Check that seg_info (section)
483 (write_object_file): Call obj_frob_file after setting the symbols,
488 * Version 2.0 released.
492 * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
496 * read.h: Define stringer here.
497 read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
502 * read.c (s_space): Multiply repeat count by mult, not fill.
506 * read.c: Include ctype.h.
510 Patches from Eric Youngdale:
511 * make-gas.com: Find obstack.obj if it's not in the current
513 * read.c (s_ignore): Don't declare is_end_of_line. It's
514 redundant, and triggers a VMS gcc compiler bug.
516 * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
517 current segment as an argument. (Ignored in all cases but VMS.)
518 All callers and definitions changed.
522 * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
527 * config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
528 so "~0x80" won't be rejected.
530 * config/obj-elf.c: No longer include elf/reloc.h.
531 (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
532 (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
534 (obj_elf_xstab): New routine.
535 (obj_elf_set_size): Call as_warn, not fprintf. Pass desired
536 argument to s_ignore. Put "#if 0" around unused code.
537 (obj_pseudo_table): Use s_ignore instead of do-nothing routines.
538 Call elf_xstabs for .stabs and .xstabs operators.
540 * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
542 * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
545 * configure.in: mips-bsd configuration was missing format spec.
548 * Makefile.in (Makefile): Depends on configure.in.
550 * config/tc-mips.c (append_insn): Don't check for alignment of
551 frag in memory; alignment of instructions in section is a separate
554 * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
557 * listing.h: Always provide function declarations, not macros, so
562 * CONTRIBUTORS: Update Gilmore entry.
566 * frags.c (frag_init): New function.
567 (zero_address_frag, bss_address_frag): Now initialized at run
569 * as.c (main): Call frag_init.
573 * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
574 Don't unget ch2 if we didn't get it.
578 * doc/Makefile.in (TEXIDIR): Updated for new layout.
580 * config/tc-sparc.c (s_common): Add support for ELF version.
581 (tc_gen_reloc) [BFD_ASSEMBLER]: New function.
582 * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
584 (md_convert_frag): New macro.
586 * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
587 symbol, fix the offset so "+2" isn't required.
589 * config/tc-i960.c (line_comment_chars, line_separator_chars):
590 Define as common/bss.
591 (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
592 initializers are sufficient.
594 * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
595 (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
596 (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
597 (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
598 * config/obj-aout.c: Use PARAMS macro for declarations. Remove
599 "IGNORE_DEBUG" conditional, since both branches are identical.
600 Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
601 referencing symbol structure members.
602 (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
604 * as.h (struct frag): Reordered a couple of fields for better
607 * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
609 (write_contents) [BFD_ASSEMBLER]: New function.
610 (write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call
611 fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call
612 obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
613 (fixup_segment): Make sure common-section symbols get treated the
614 same as undefined symbols.
615 (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
616 bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from
618 * write.h (fix_new): Update prototype.
620 * tc.h (md_operand, md_convert_frag, tc_headers_hook,
621 md_section_align, md_undefined_symbol): Don't provide prototypes
622 if these are defined as macros.
623 (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
626 * symbols.c (symbol_new): Argument NAME is now pointer to const.
627 Simplified STRIP_UNDERSCORE code. Remove assumptions about null
628 pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new
630 (colon): Display other/desc fields of redefined symbol only if
631 S_GET_OTHER and S_GET_DESC are defined.
632 (symbol_make): Argument NAME is now pointer to const.
633 (symbol_find, symbol_find_base): Likewise.
634 (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
635 * symbols.h: Fix prototypes for new const arguments. Add
636 prototypes for BFD_ASSEMBLER S_* functions.
638 * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
639 for changing to an existing section.
640 (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
641 called by subseg_new and subseg_set.
642 (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
643 given section name and subseg number.
644 (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
645 new section/subsection.
647 * read.c: Don't include ctype.h.
648 (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
649 for now; should be machine-dependent.
651 * configure.in: Accept *-*-elf and *-*-solaris* as ELF format
652 targets, forcing BFD use.
656 * config/tc-sparc.c: Use PARAMS macro for static function
657 declarations. Use BFD_RELOC_ macros everywhere, with
658 compatibility macros declared for non-BFD mode.
659 (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
660 instead of enum reloc_type.
661 (emit_sparc_reloc): Commented-out function deleted.
662 (md_convert_frag): Deleted.
663 (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
664 (md_apply_fix): Changed calling sequence (conditionally) for BFD
666 * config/tc-sparc.h (md_convert_frag): New macro.
668 * config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
669 not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
670 of referencing fields directly.
672 * write.c (cvt_frag_to_fill): New function; extracted from
674 (write_object_file) [! BFD_ASSEMBLER]: Call it.
675 (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
676 and set its size and flags.
678 * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
679 fields with BFD equivalents. Turn on back-pointers, and add
680 target-specific fields at end.
684 * config/obj-coffbfd.c (fill_section): Don't set vaddr here.
685 (write_object_file): Set it here instead, so that fixup_segment
686 can see the correct value.
690 * write.c (write_object_file): Check for errors and warnings and
691 bail out before processing contents.
692 (chain_frchains_together_1): New function, does most of the work
694 (chain_frchains_together) [BFD_ASSEMBLER]: New function.
695 (remove_subsegs) [! BFD]: Call it.
696 (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
697 structures and routines.
699 * config/obj-elf.*: New files.
701 * config/mips.mt, config/rs6000.mt: Deleted.
703 * config/h8300.mt: Don't specify compiler here.
705 * config/z8k.mt: The z8k code depends on the z8k opcode table,
707 * config/tc-z8k.h: Comment fix.
709 * write.c: Reordered some functions for better inlining.
710 (fixup_segment): Linkrelax code is no longer conditional on
715 * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
716 obj-coffbfd.h}: support for the H8/500
720 * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
721 * write.c (write_object_file): Not here.
722 (fix_new): Initialize fx_addnumber.
724 * listing.c: Don't include target-cpu.h explicitly, since as.h
729 * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
730 *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
731 (struct fix): Reordered fields for compactness and efficiency.
732 Converted some logical fields to 1-bit fields.
734 * config/obj-aout.h: Use PARAMS.
735 [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
736 N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
738 * read.c: Don't include listing.h; as.h includes it. Removed
740 [BFD_ASSEMBLER]: Include subsegs.h.
741 (old_buffer, new_broken_words): Default initialization is
744 * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
745 to 0, define stdoutput.
746 (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
747 Call bfd_set_arch_mach.
748 (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
749 bfd_close_all_done. Call bfd_perror on failure.
750 (output_file_append) [BFD_ASSEMBLER]: Don't define.
752 * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
754 * subsegs.h (segment_info_type): Always define. Omit field scnhdr
755 if not MANY_SEGMENTS. Define new field bfd_section if
757 (seg_info): New macro.
759 * expr.c, input-scrub.c: Use PARAMS macro. Deleted unused
760 variables, and some irrelevant comments.
762 * Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
763 (LIBS): Include $(BFDLIB). Don't bother with $(CLIB).
764 * configure.in: Permit --with-bfd-assembler now, with a warning.
765 Variable need_bfd is now a boolean, as is new variable bfd_gas.
766 Set BFDDEF and BFDLIB in Makefile when appropriate.
768 * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
769 (main): Refer to flag_always_generate_output instead of
772 * as.c (main) [BFD_ASSEMBLER]: Open output bfd.
773 (*_section) [BFD_ASSEMBLER]: Define them.
774 (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
775 set section flags when appropriate.
776 * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
777 section is not absolute, undefined, or an assembler internal one.
778 (absolute_section, undefined_section): Always define.
779 * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
780 switch statements into if-else trees.
781 * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
782 SEG_BSS and SEG_DATA.
784 * as.h (frag_now_fix): New macro.
785 * symbols.c (colon): Use it.
789 * config/tc-mips.c: Added mips support for mips-dec-bsd.
790 * config/tc-mips.h: Added mips support for mips-dec-bsd.
791 * config/ho-mipsbsd.h: Added mips support for mips-dec-bsd.
792 * config/mips-opcode.h: Added mips support for mips-dec-bsd.
793 * configure.in: Added mips support for mips-dec-bsd.
794 * atof-generic.c: Define TRUE and FALSE if not defined.
798 * version.c: Bumped version number to 1.93.05.
802 * config/obj-coff.c (obj_emit_relocations): Don't use #elif.
803 (obj_emit_lineno): Don't need return at end of void function.
804 (obj_symbol_new_hook): Ditto.
806 * config/tc-m68k.c: Removed some unused code.
807 (tc_aout_fix_to_chars): Array nbytes_r_length is now const.
809 * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
814 * config/tc-sparc.c (architecture_requested, warn_on_bump,
815 md_relax_table): Use default zero initialization.
816 (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
817 latter, instead of selecting with preprocessor conditionals.
819 Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
821 * configure.in: recognise all sparclite variants
825 * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
826 accidentally changed to use subseg_change where it should have
831 * expr.c (operand): If character other than comma or newline is a
832 logical end-of-line character, use the newline case.
834 (operand): Set X_add_number field for floating-point numbers.
835 (operand): Treat zero byte as end-of-operand.
837 * configure.in (per-target): Look for with_bfd_assembler option.
838 For now, only accept "no", until the merge is done.
841 * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
842 config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
843 * read.c: Finish conversion to S_* macros in the VMS only
844 parts of the program. Add "const" modifier to hex_value.
845 * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
847 * expr.c: Add "const" modifier to hex_value.
848 * symbols.c: Finish conversion to S_* macros in the VMS only
849 parts of the program. Add "const" modifier to
850 md_[long,short]_jump_size. Remove declaration of const_flag
851 (which will be declared in obj-vms.h).
852 * write.c: Add "const" modifier to md_[long,short]_jump_size.
853 Fix arguments to VMS_write_object_file.
854 * config-gas.com: New file. Script for VMS systems to set up the
855 configuration to build gas for VMS, and create config.status.
856 * make-gas.com: Redone to work with new scheme.
857 * obj-vms.c: Patch to fix bug where we were not correctly parsing the
859 * obj-vms.c: Define macros COPY_LONG and COPY_SHORT which
860 will swap bytes if needed on a big endian system. Use throughout
862 * obj-vms.c (obj_aout_stab): Add code to generate listing file.
863 * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
864 types of malformed stabs. Change parsing algorithm so that we are
865 more certain of having all of the information that we need on hand.
866 * obj-vms.c (final_forward_reference): New function, used to help
867 resolve the data types of as many struct elements as possible
868 when some part of the struct is not fully defined by the compiler.
869 * obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation
871 * obj-vms.c (VMS_write_object_file): Define all vtable psects
872 as symbols as well in the object file. Look for external functions
873 that start with "__vt.", and turn them into variables, since the
874 g++ compiler is incapable of doing this.
875 * tc-vax.c: Add '1' option for backward compatibility with older GCC
877 * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
878 * input-scrub.c (as_where): Fix bug where as would crash if we did not
879 have the name of the source file yet.
880 * config/ho-vms.h: define HO_VMS, not HO_VAX.
884 * read.c (s_data): Always use "data_section", since it'll map to
885 SEG_DATA or SEG_E1 if needed.
886 (s_lcomm): Likewise with bss_section.
887 (s_fill): Use memset, not bzero.
891 * read.c: Deleted some code under "#ifdef DONTDEF" that was for
892 handling GDB symbol table data.
894 * config/obj-aout.h (segment_name): Delete definition.
895 (seg_name): Delete declaration.
896 * config/obj-bout.h (segment_name, seg_name): Ditto.
897 * config/obj-vms.h (segment_name, seg_name): Ditto.
898 * config/obj-coff.h (segment_name): Ditto.
899 * config/obj-coffbfd.h (segment_name): Ditto.
901 * Changes for BFD_ASSEMBLER:
902 * obj.h (obj_crawl_symbol_chain): Declare only if not
904 (obj_header_append, obj_pre_write_hook): Ditto.
905 * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
906 (segT) [BFD_ASSEMBLER]: New typedef for "asection *".
907 (segment_name) If BFD_ASSEMBLER, look up BFD section name;
908 otherwise, use seg_name array.
909 (seg_name): Declare only if not BFD_ASSEMBLER.
910 (section_alignment): Declare only if not BFD_ASSEMBLER.
911 (big_section, reg_section, pass1_section, diff_section,
912 absent_section, text_section, data_section, bss_section): If
913 BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
914 mapping to segT enum values.
915 (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
916 if these are used or defined, if BFD_ASSEMBLER.
917 (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
918 subseg_new split into two functions.
919 (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
921 * as.h (volatile): Don't define if already defined.
922 (had_errors, had_warnings): Provide prototypes for ANSI C even if
924 (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
925 declare with format attribute for -Wformat checking.
929 * app.c, config/tc-*.c: Don't include read.h, since it is already
932 * These are based on patches from Minh Tran-le
934 * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use
935 obj_format coffbfd and gas_target i386coff for target.
936 (i[34]86-*-isc*): New host (uses sysv).
937 * config/i386aix.mt: Removed (no longer used).
938 * config/mh-i386aix (RANLIB): Use true rather than /bin/true.
940 (LDFLAGS): Added, defined as -shlib.
941 * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
942 * config/te-sco386.h (LOCAL_LABEL): Don't define.
943 (DOT_LABEL_PREFIX): Define.
944 * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
945 name rather than L0\001.
946 * read.c (s_lcomm): Make a frag in SEG_BSS rather than using
948 * symbols.c, symbols.h (local_bss_counter): Removed.
949 * write.c (write_object_file): bss no longer uses
950 local_bss_counter. Pass correct data and bss size to
951 VMS_write_object_file.
952 * config/obj-vms.c (VMS_write_object_file): Accept bss size as
953 argument, rather than using local_bss_counter.
954 * config/tc-m88k.c (s_bss): Don't use local_bss_counter.
955 * config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
956 * config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
957 (size_section): Restored sanity check.
958 (do_relocs_for): Base section address on s_paddr rather than
959 computing it. Adjust a29k R_IHIHALF special case to account for
960 section paddr (used to require paddr to be zero). If there are no
961 reclos, set s_relptr to 0. Set relocation size in object_headers.
962 (fill_section): Always set s_vaddr here, removing
963 ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set
964 NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
965 Set STYP_INFO for .comment.
966 (coff_header_append): Use object headers and H_{SET,GET}_* macros.
967 Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
968 (crawl_symbols): Handle 8 character section name correctly. Use
969 H_{SET,GET}_* macros.
970 (do_linenos_for): Set lineno size in object_headers.
971 (write_object_file): Use H_{SET,GET}_* macros. Don't bother to
972 set s_vaddr here. If string_byte_count remains 4, set it back to
973 0, and only write strings out if there are some. Call
974 fill_section before do_relocs_for and do_linenos_for.
975 (obj_coff_section): Handle optional quoted second argument giving
976 section characteristics.
977 (obj_coff_bss): Added to handle .bss.
978 (obj_coff_ident): Added to handle .ident (puts string in .comment
980 (obj_coff_lcomm): Put common symbols in .bss, not .data.
981 (fixup_mdeps): Change to segment. Call frag_wane after
983 (fixup_segment): Explicitly check S_IS_COMMON before making 386
984 adjustment (already happened only for common symbols, but this is
986 * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
987 * config/tc-i386.c (s_bss): Don't use if I386COFF.
988 (md_pseudo_table): Ignore .optim and .noopt.
989 (tc_coff_sizemachdep): New function.
990 * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
992 (LOCAL_LABEL): Removed definition.
993 (DOT_LABEL_PREFIX): Defined.
997 * app.c (app_push): Use memcpy, not bcopy.
998 (do_scrub_next_char): For \", return " not '.
999 (symbol_chars): Now const.
1001 * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
1002 and "0b". If LOCAL_LABELS_DOLLAR, check for "0$".
1004 * config/obj-coff.h: Don't use #elif.
1006 * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
1011 * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
1016 * app.c (do_scrub_begin): allow single quote strings if so
1019 * config/*z8k*: checkpoint
1023 * read.c (read_a_source_file): avoid calling xmalloc (0).
1027 * listing.c: Call xmalloc, not malloc; don't declare malloc.
1029 * Changes to support SCO 3.2v4:
1030 * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
1031 SEG_BSS, fill with NOP_OPCODE.
1032 * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
1033 * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
1034 using ZERO_BASED_SEGMENTS.
1035 (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
1036 never set segment address for SEG_E2 (.bss) and don't write out
1037 SEG_E2 contents. Set .init and .fini sections to STYP_TEXT.
1038 (obj_coff_endef): Don't merge labels or symbols awaiting forward
1039 definitions, and don't merge tags with non-tags. Check for .bf
1040 rather than just checking whether the second character is b and
1041 the third character is f.
1042 (obj_coff_val): gcc can generate values which we don't handle
1043 correctly; discard information for now, since it only affects the
1044 debugging information.
1045 (tag_find_or_name): Don't insert tags in the symbol table.
1046 (yank_symbols): Don't merge labels.
1047 (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
1048 already defined. Fill subsegments with NOP_OPCODE, not 0. Don't
1049 set segment address if ZERO_BASED_SEGMENTS.
1050 (obj_coff_section): Accept and ignore a trailing quoted string, as
1051 used in AT&T i386 syntax.
1052 (fixup_segment): Take segment as argument. On the i386, adjust PC
1053 relative addends by the segment vaddr.
1054 * tc-i386.h: Define SUB_SEGMENT_ALIGN.
1055 * tc-a29k.h: Define ZERO_BASED_SEGMENTS.
1056 * tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
1060 * config/obj-coffbfd.c: Include libcoff.h.
1062 * version.c: Now version 1.93.
1066 * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
1067 power-of-two alignment for .align.
1069 * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
1070 and leave everything else alone.
1074 * Makefile.in (as.new): Don't bother saving as.old.
1076 * write.c: Conditionalize on OBJ_VMS, not VMS.
1077 (magic_number_for_object_file): Don't define if OBJ_VMS.
1079 * config/obj-vms.c: Changes for traditional C.
1083 * config/ho-generic.h (malloc, realloc): Declare.
1085 * Lots of comment/whitespace changes.
1087 * write.h (struct fix): Some fields reordered, narrowed.
1089 * read.c (MASK_CHAR): Define using C types, not magic number.
1091 * as.c, input-file.c: Deleted some unused code.
1093 * app.c, as.h: Doc fix.
1095 * flonum-konst.c, flonum-mult.c: Include ansidecl.h.
1097 * as.h (xmalloc): Argument is long.
1099 * xmalloc.c (error): Remove declaration; as.h takes care of it.
1101 * doc/as.texinfo: Regrouped documentation of some command-line
1102 options. Updated options documentation for m68k. Some minor
1103 wording/punctuation changes.
1107 * configure.in: Accept target OS "vms".
1109 * symbols.c: Merged ANSI and non-ANSI function decls, using
1112 * xmalloc.c: Just include as.h, don't bother trying to figure out
1115 * strstr.c, strerror.c: Deleted.
1116 * Makefile.in: Deleted references.
1118 * config/tc-ns32k.c: Don't include header file for string
1119 declarations; leave that to ho-*.h.
1121 Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com)
1123 * config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
1124 imported from FSF sources.
1126 * messages.c (strerror): Declare unconditionally.
1128 * as.h: Delete alloca and register definitions.
1130 * config/atof-ieee.c (mask): Now const.
1132 * obstack.c, obstack.h: Deleted.
1134 * as.h (flag_readonly_data_in_text): New flag.
1135 * as.c (main): Set it for -R.
1137 * as.h (flag_suppress_warnings): New flag.
1138 * as.c (main): Set it for -W.
1139 * messages.c (as_warn): Check it instead of flagseen['W'].
1141 * as.h (flag_always_generate_output): New flag.
1142 * as.c (main): Set it for -Z.
1144 * config/tc-sparc.h: Define NEED_FX_R_TYPE.
1145 * config/tc-a29k.h: Ditto.
1146 * write.h (struct fix): Don't conditionalize fx_r_type field on TC
1149 * as.h: Merged ANSI and non-ANSI function decls, using PARAMS
1151 * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
1152 obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
1156 * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in
1157 xrealloc from xrealloc.c.
1158 * xrealloc.c: Deleted.
1159 * Makefile.in (REAL_SOURCES, OBJS): Adjusted.
1161 * configure.in: For host CPU a29k, rs6000, vax, consider using bsd
1164 * config/ho-sysv.h (setbuffer, HO_USG): Deleted.
1166 * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
1167 don't initialize it with NULL.
1169 * config/ho-vax.h (M_VAX): Deleted; was unused.
1171 * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
1172 New files imported from FSF version, contributed by Eric Youngdale.
1173 * README-vms-dbg, config/vms: Deleted.
1175 * ChangeLog, config/ChangeLog: Merged.
1177 * config/*tahoe*, configure.in: Tahoe support brought in from FSF
1180 * input-file.c (input_file_open): Eliminate call to setvbuf.
1181 [USG] (setbuffer): Deleted macro.
1185 * all files: Whitespace changes for GNU indentation style, done by
1186 GNU `indent'. Some cleanup still needed, especially of comments.
1188 * configure.in: No te-386bsd.h file exists; don't try to use it.
1190 * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
1192 * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
1193 could be doing emulation.
1198 * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
1203 * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
1205 * subsegs.h: add extern to segment_info declaration.
1207 * read.h: added extern declarations for comment_chars,
1208 line_comment_chars, and line_separator_chars.
1209 read.c, app.c: removed definitions of comment_chars,
1210 line_comment_chars, and line_separator_chars.
1212 * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
1213 still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
1215 (insert_reg): put REGISTER_PREFIX before register names before
1216 putting them in the symbol table.
1217 * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
1220 * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
1223 * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
1224 comment_chars, line_comment_chars and line_seperator_chars
1225 consistently const, and always initialized them. Included read.h.
1229 * tc-sparc.c (sparc_ip): Add code to flag error if an absolute
1230 constant will not fit in an immediate field.
1231 (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
1235 * obj-coff.c (callj_table): Delete global variable.
1236 (obj_emit_relocations): Define it locally here, and only if
1239 * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
1240 (m68k_ip): Don't warn about bignum used as float bit-pattern.
1242 * obj-coff.c: Replaced ANSI and non-ANSI function declarations
1243 with a single set using PARAMS macro.
1245 * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
1248 * tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
1250 * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
1251 so widening works consistently.
1255 * version.c: Put conditional "const" before version_string, not
1256 before dummy function for VMS. Now version 1.91.03.
1258 * app.c (do_scrub_next_char): Need double-\ before `000' to show
1259 printed rep of null character.
1263 * obj-coffbfd.c (write_object_file): check return value of
1268 * Support for i386-sysv.
1269 obj-coffbfd.c (do_relocs_for, write_object_file): set segment
1270 addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can
1271 be used to set them all to zero as was done before.
1272 (fill_section): segment addresses now set in write_object_file.
1273 (fill_section): Don't set STYP_NOLOAD for .bss section.
1274 (fixup_segment): 386 uses strange common symbol format.
1275 tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
1276 compatibility with SVR3.2 linker.
1277 * configure.in: i386-sysv and i386-sco use coffbfd.
1279 * app.c (do_scrub_next_char): discard whitespace after a label.
1281 Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1283 * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
1284 hosts, use the sysv configuration for solaris2
1288 fix i960+non-bfd coff bit rot.
1289 * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
1290 support for C source listings. (obj_coff_endef): look in the right
1291 part of the symbol for the symbol name
1293 * tc-m68k.c (get_num): make it work for all segments, not just the
1296 Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
1298 * configure.in: recognize i386-*-bsd emulation.
1300 Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1302 * configure.in: use the cpu-vendor-os triple for host and target
1306 * obj-coffbfd.c (write_object_file): don't fixup for the z8k
1307 * tc-z8k.c: lots of bug fixes
1311 * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
1312 #elif, since it is not supported by old compilers.
1313 ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
1314 couple of expressions in tc-m68k.c.
1318 * read.c (cons): If NO_RELOC is defined, use it.
1320 * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
1324 * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
1325 local labels to start with a .) and set REGISTER_PREFIX to %.
1326 tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
1330 * messages.c: Comment changes.
1334 * as.h: Test if __STDC__ is defined only, don't test its value.
1335 * messages.c: If __STDC__ is not defined, define NO_STDARG.
1339 * listing.c (debugging_pseudo): Add stabs and stabn as things to
1344 * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
1345 sections starting from zero, rather than making them consecutive.
1346 This makes subsequent reloc calculations easier, esp if the object
1347 format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
1348 allocate lcomm in .data rather than in .bss. It seems that some
1349 tools can't cope with a non-zero sized bss before linkage.
1353 * tc-m68k.c: Replace "enum m68k_architecture" with "int"
1354 throughout. That enum no longer means what we thought it meant.
1356 * tc-m68k.c (md_assemble, md_parse_option): Handle new
1357 "-mno-688[58]1" options.
1359 * tc-m68k.c: Added CPU32 support.
1363 * tc-m68k.c (m68k_ip): An(disp) is not pc relative.
1367 * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
1368 Change LIBDEPS dependence to LIBS.
1372 * Makefile.in (install): if $(tooldir) exists, install as in
1377 * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
1378 .word is < -32768 or > 32767. The -J flag causes the error to be
1379 ignored. This is to catch over-sized switches generated by gcc on
1380 systems which don't support the broken .word hack.
1381 as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
1382 write.c (fixup_segment): check for signed .word overflow if
1383 WARN_SIGNED_OVERFLOW_WORD.
1385 * write.c (fixup_segment): fixed missing parens in expression
1386 checking for byte or word overflow.
1388 * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
1389 obj-coffbfd.c (fixup_segment): check for signed .word overflow if
1390 WARN_SIGNED_OVERFLOW_WORD.
1392 * obj-coffbfd.c (fixup_segment): fixed missing parens in
1393 expression checking for byte or word overflow.
1397 Support for i386 coff
1398 * obj-coffbfd.h : added stuff
1399 * tc-i386.c (tc_coff_fix2rtype): new function
1400 * tc-i386.h : new coff defines
1404 * input-scrub.c (input_scrub_push): call input_file_begin, not
1406 messages.c (as_perror): print ": " between the passed in error and
1407 the strerror, like perror does.
1411 * Makefile.in: use gas_target instead of modifying target_cpu.
1412 From Steve Chamberlain:
1413 Makefile.in: Handle m68*-*-coff*.
1414 read.c, read.h: add mult argument to s_space
1416 * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
1417 Motorola and MIT syntax; gas can now assemble either type of
1419 tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
1420 From Steve Chamberlain:
1421 m68kcoff.mt: for m68k COFF.
1422 obj-coffbfd.c: (fixup_mdeps) added
1423 (size_section) removed bad sanity check
1424 (fill_section) added rs_machine_dependent case
1425 (write_object_file) call fixup_mdeps
1426 (fixup_segment) set fx_subsy to 0.
1427 obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
1429 tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
1434 * Makefile.in (LIBS): Include opcode library.
1438 * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
1439 including zero are accepted, pass +0.0.
1443 * Makefile.in: map "as" through program_transform_name when
1446 * doc/Makefile.in: map "as" through program_transform_name when
1451 * Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
1455 * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
1456 tc-i960.c (md_ri_to_chars): Always output bout object file in
1457 little endian byte order (used to use endianness of host).
1461 * config/tc-m68k.c (init_table): Now const. Always include 68851
1462 data, so that "bc" is available to 68040 cache instructions.
1463 Added "tt0", "tt1", and 68ec030 variants.
1464 (md_assemble): Complain if 68000 (only) and 68881 are specified.
1465 (enum _register): Added TT0, TT1.
1466 (m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass
1467 line number correctly in "internal error" messages. Don't print
1468 architecture-mismatch message for operand errors.
1471 * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
1472 than install_operand.
1476 * listing.c (buffer_line): rewind to the start of include
1477 files, they might be included twice.
1479 * z8k.c, z8k.h, z8k.mt: z8000 support stuff
1483 * Makefile.in: defined TARGET_CPU for C code so that it can choose
1484 one element of a family.
1486 * tc-m68k.c: use TARGET_CPU to choose default cpu type.
1488 * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
1489 so that we can assemble hand-written libgcc code.
1493 * messages.c (as_warn): Use fputs, not fprintf, with a buffer that
1494 has already been formatted (but may still contain %-characters).
1499 * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
1500 written with indirection on the last two operands, which can be
1501 either data or address registers. Added a new operand type 'r'
1502 which accepts either register type. Added '(' to notend stuff in
1503 tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
1507 * as.h (enum _relax_state): Start off at one, not zero, to better
1508 catch uninitialized-variable errors.
1509 (linkrelax): Declare new variable.
1511 * messages.c (warning_count, error_count): Default initializer is
1514 * write.c: Merged some declarations, using PARMS macro.
1515 (text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
1516 data_last_frag): No longer static.
1517 (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
1518 defined, call it. Change segments before calling fixup_segment.
1519 (relax_align): If linkrelax, provide extra padding.
1521 * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
1522 their not having symbols associated.
1524 * tc-i960.c (norelax, instrument_branches): Default initializer is
1526 (linkrelax): Delete variable definition.
1527 (mem_fmt): Call fix_new with NO_RELOC.
1528 (tc_bout_fix_to_chars): Handle alignment relocs.
1529 (i960_handle_align): New function.
1530 * tc-i960.h (linkrelax): Delete declaration.
1531 (HANDLE_ALIGN): New macro; calls i960_handle_align.
1532 (NEED_FX_R_TYPE, NO_RELOC): New macros.
1536 * config/sparc.mt: New file. Grab sparc opcode table from bfd
1541 * Makefile.in: always create installation directories. Removed
1542 MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
1543 FLAGS_TO_PASS to recursive makes.
1545 * doc/Makefile.in: always create installation directories.
1549 * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
1550 being used with args swapped, causing occasional lossage when
1551 refilling buffers after an include file.
1555 * messages.c (as_tsktsk): Use correct ANSI form for stdarg
1556 version. Discard bogus DONTDEF version.
1557 (as_warn, as_bad, as_fatal): Likewise.
1561 * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
1562 selected architecture, print a message saying so and listing what
1563 processors support it, rather than saying "operands mismatch".
1567 * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
1569 * config/ho-rs6000.h (M_RS6000): Don't define it.
1571 (BROKEN_ASSERT): Define it if not __STDC__.
1575 * sparc.mt: New file.
1579 * tc-m68k.c: ".align N" means align to N-byte boundary *only*
1580 if TN_SUN3; otherwise align to 2**N-byte bounary.
1584 * read.c (s_fill): make the .fill size clamped error a warn and
1585 fix bug where 0's were always placed.
1587 * config/tc-h8300.c: if a :8 is seen after an operand, fill top
1588 two bytes of any constant with 0xff:
1592 * config/tc-m68k.c (md_pseudo_table): fix the .align thing
1593 the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
1595 Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com)
1597 * tc-m68k.c (try_index): Error if index scaling specified and
1598 assembling for an older CPU than a 68020.
1602 * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
1603 fx_offset into account.
1607 * configure.in (mips host): Accept "ultrix" with version number.
1609 * expr.c (floating_constant): Separate "=-" to avoid confusing
1610 ancient or broken compilers.
1612 * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
1613 processor/opcode mismatch, so reword the error message.
1614 (md_assemble): If no CPU has been set (even if FPU/PMMU
1615 characteristics have been), default to 68020. Don't need extra
1616 quotes around error string.
1620 * read.c (potable): Revert sac's incorrect change made Jul 13.
1621 Align really is supposed to be ptwo not nbytes.
1625 * Makefile.in: _Do_ include libiberty. (from sef)
1629 * expr.c (integer_constant): Handle "0f" and "0b" label references
1634 * write.c (fixup_segment): if relaxing, don't do anything.
1635 * config/obj-bout.[ch] : maintain the a_relaxable file header info
1636 * config/tc-i960.c: new option -linkrelax
1640 * expr.c (expr): allow SEG_BSS in expressions
1641 * read.c (potable): align should be nbytes, not ptwo!
1642 * write.c (write_object_file): extra glue for new bss attributes
1643 (relax_segment): SEG_BSS is ok now
1644 * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
1648 * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
1652 * configure.in: recognize m680x0 as having sun3 emulation mode for
1653 vxworks environment.
1658 * Makefile.in: Add program_suffix (parallel to program_prefix)
1662 * app.c (process_escape): new function to handle escapes the right
1663 way, (do_scrub_next_char): use new function
1664 * cond.c (s_ifdef): do ifdef/ifndef right
1665 * read.c (s_fill): make the , expressions optional like the doc
1667 * config/tc-h8300.[ch]: better warnings
1671 * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
1674 * write.c (write_object_file): various changes to handle data in
1675 the BSS segment in much the same was as stuff in the DATA segment.
1677 * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
1678 pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
1679 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
1680 the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
1685 * expr.c(expr): allow SEG_REGISTER in expressions.
1686 * read.c(pseudo_set): register expressions can be the source of a
1688 * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
1689 goto SEG_TEXT (if a.out)
1690 * write.c (write_object_file): If a.out don't use the old way for
1692 * config/obj-a.out (s_sect): complain if the user tries to use a
1693 subsegment with a value which might interfere with out -R hackery.
1694 * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
1695 rather than use ugly if tree. (init_regtable): insert register
1696 names into symbol table.
1700 * write.c (write_object_file): keep the fix_tail clean, which
1701 fixes a bug in -R where relocations were being lost.
1705 * configure.in: recognize m680x0 as having sun3 emulation mode for
1706 vxworks environment.
1710 * configure.in: recognize m680x0 as an m68k
1714 * configure.in: Recognize sparclite as a sparc variant.
1716 * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new
1721 * config/tc-a29k.c: lint
1722 * listing.c, expr.c: patches from Andrew Smith
1726 * doc/Makefile.in: use m4 rather than gm4.
1730 * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
1731 calc the base of relocs correctly.
1732 * tc-a29k.c (parse_operand): allow expressions to be in any section.
1736 * as.c, write.c: use -K rather than -k for the broken word warning
1741 * Makefile.in: do not print recursion lines.
1745 * Makefile.in: the tooldir copy of gas goes directly in tooldir.
1749 * write.c (write_object_file): For b.out format, round up section
1750 start addresses to match required alignment.
1754 * Makefile.in (install): Install into $(tooldir)/bin, since that's
1755 where gcc looks for it.
1759 * Makefile.in: Changed some lines to be less confusing for some
1762 * input-file.c: Conditionalize on _IOFBF, not VMS.
1764 * read.c, write.c: Change a series of ifdef/elif to
1765 ifdef/else/ifdef etc.
1769 * symbols.c (fb_label_init): fix sizeof to memset.
1773 * Makefile.in: install the man page.
1775 * Makefile.in: pass down MAKEINFO explicitly on info.
1777 * doc/Makefile.in: use $(MAKEINFO) not makeinfo.
1781 * flonum-const.c: renamed flonum-konst.c to stop dos name
1786 * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
1787 tc-m68k.h to te-sun3.h.
1791 * configure.in: vxworks68 gets te-sun3.h.
1793 * expr.c: remove limitation that local_labels_dollar or
1794 local_labels_fb must be < 10.
1796 * symbols.c: remove local_labels_dollar, replace with a function
1797 interface for a sparse array. All users adjusted.
1799 * te-sun3.h: add LOCAL_LABELS_DOLLAR.
1803 * doc/Makefile.in: commented out line for building as-all.texinfo.
1806 * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
1810 * Makefile.in: added check target.
1814 * Makefile.in: added tooldir and program_prefix.
1818 * write.{c,h} (fix_new): Make these declarations consistent.
1822 * Makefile.in (strerror.o): Add rule so that broken Sun make can
1825 Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com)
1827 * read.c, obj-coffbfd.c : fix h8300 specific bit rot
1829 * expr.c (operand): if can't work out what sort of operand it is,
1830 then look through FLT_CHARS for a hint.
1834 * Makefile.in, configure.in: removed traces of namesubdir,
1835 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
1836 copyrights to '92, changed some from Cygnus to FSF.
1838 * doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
1839 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
1840 copyrights to '92, changed some from Cygnus to FSF.
1842 Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
1844 * expr.c: If an expression is single comma, then return with
1845 SEG_ABSENT rather than an error - since the sparc front end does
1846 really strange things with things like fbge,a
1848 * as.h: include bfd.h if using many sections
1849 * expr.c: LOCAL_LABELS_FB had been changed to lower case - so
1850 local labels didn't work.
1851 * listing.c (list_symbol_table): don't core dump when there's no
1853 * write.c, write.h: call fix_new with the right number of args on
1855 * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
1858 Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com)
1860 * app.c: MRI compatibility - allow single quote to start a string.
1861 * as.c: fix typo recently introduced.
1862 * as.h : Don't include aout/reloc.h - it's not right for COFF!
1863 * expr.c: Much rewriting, to accomodate MRI syntax for
1864 expressions. Also easier to read now.
1865 * listing.c: Put back defuns
1866 * read.c: modified to accept MRI syntax, put back listing pseudo
1867 ops so that an assembler built with NO_LISTING ignores list ops
1869 * write.c, write.h: fixs - only keep a reloc type in a fix if the target
1870 machine is a SPARC or a 29K.
1871 * config/obj-aout.c: added s_sect pseudo op
1872 * config/obj-coffbfd.c: lints, set the filehdr flags right and
1873 fill in the timestamp.
1874 * config/obj-coffbfd.h: Since we don't include aout/reloc.h
1875 anymore, define all the relocs which the tc-<x> bit will use so we
1876 can translate from them to the coff types.
1877 * config/tc-a29k.c: reloc_type isn't ane enum any more
1878 * config/tc-m68k.c: Added NO_RELOC definition.
1882 * Makefile.in: put header files before C source for TAGS; remove
1883 references to non-existent syscalls.h.
1885 * read.c, write.c subsegs.c: back out the .bss changes.
1887 * obj-aout.c: do not include stab.gnu.h if NO_LISTING.
1889 * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
1895 * symbols.c (local_label_name): symbols now start with ^A.
1897 * read.c, subsegs.c, write.c obj-coff.c: added handling of
1898 `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
1899 generate these sections. .align: will use NOP_OPCODE or 0
1900 for padding. This is just for being nice to the
1903 * expr.c (operand): changed to generate local label "\001L0"
1904 starting with a ^A so that it is recognized as a local label.
1906 * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
1908 * tc-i386.c: tc-i386.c: added handling of the following opcodes:
1909 i/o opcodes - inb, inw, outb and outw. string manipulation with
1910 att syntax - scmp, slod, smov, ssca, ssto.
1912 * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
1913 to just after .file .
1915 In obj_crawl_symbol_chain() where it tries to put the external
1916 symbols apart, with the condition:
1917 (!S_IS_DEFINED(symbolP) &&
1918 !S_IS_DEBUG(symbolP) &&
1919 !SF_GET_STATICS(symbolP))
1920 it was moving too many symbols out. So I switch it back to the
1922 (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
1924 In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
1925 so that we don't use the F_RELFLG which make the linker complain
1926 that somebody has stripped the relocation info.
1928 Also, the AIX ld program require that the relocation table
1929 is sorted by r_vaddr like the standard ATT assembler does.
1931 [he also changed the sizeof(struct ...)'s into the coff
1932 style FOOSZ macros. I'm not sure this is right, but I can't
1933 remember why. xoxorich.]
1937 * Makefile.in, configure.in, doc: use the doc. Build it, install
1940 Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com)
1942 * read.c: white space and comments only.
1944 * configure.in: use the new atof-ns32.c for ns32k.
1946 * write.c: comment change only.
1948 * tc-m88k.[hc]: pulled in from hack's unfinished work. These
1949 aren't yet integrated.
1951 * tc-i860.[hc]: blew off the dust. Something must still be done
1952 about conflicting relocation types.
1954 * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
1957 * tc-i960.c, tc-sparc.c: white space and comments only.
1959 * tc-a29k.h: delete duplicate macro definition.
1961 * new file atof-ns32k.c copied from hack's last unreleased gas.
1963 Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com)
1965 * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
1968 * nearly everything. flush ChangeLog, package as gas-1.92.1.
1969 ChangeLog's prior to this are sketchy at best. I have logs.
1970 They just aren't ChangeLogs.