1 Wed Mar 17 16:44:06 1993 Ian Lance Taylor (ian@cygnus.com)
3 * app.c (do_scrub_next_char): Added new state, 9, to avoid
4 dropping a space immediately following an identifier.
5 * expr.c, write.c: Rewrote assert expressions to not use multiple
6 lines; I don't think that can be done portably.
7 * config/tc-mips.c (macro): Use $AT if target register is zero in
8 load instruction, which it can be for a floating point load.
10 Mon Mar 15 12:17:28 1993 Ian Lance Taylor (ian@cygnus.com)
12 * write.c (write_contents): Compute the relocs before writing out
14 * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
15 symbol table and values right.
16 * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
18 * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
21 * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
24 * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
27 Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
29 * configure.in: recognize sparc-sun-solaris2* instead of -solaris2
31 Fri Mar 12 12:00:07 1993 Ian Lance Taylor (ian@cygnus.com)
33 * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
34 to be on a single line.
36 Thu Mar 11 17:56:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
38 * Makefile.in (config.h): Create file, writing out definitions of
39 target cpu, alias, and canonical name.
40 (ALL_CFLAGS): No longer define TARGET_CPU.
42 * Makefile.in (check): Print a message, instead of quitting
45 * as.c (main): Don't catch any signals, for now.
48 * Makefile.in: Generate it, putting in only the version number
50 (VERSION): New variable.
51 * as.c: Include config.h.
52 (main): Reformatted version string. Include target alias. Don't
53 print if not requested (i.e., unknown -v argument).
55 * as.c (stralloc): Deleted.
56 (main): Call strdup instead.
58 * configure.in: Handle all 68300 series chips.
59 * config/tc-m68k.c: Include config.h.
60 (md_assemble): Assume TARGET_CPU is defined. Accept some 68300
61 series cpus as defaults.
62 (md_parse_option): Accept some m68300 series CPUs as defaults.
64 Wed Mar 10 17:41:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
66 * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
68 (main, got_sig): Use them.
69 * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
72 Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
74 * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
77 * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
78 OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
79 (struct loc, struct proc, struct file): Moved to tc-mips.c within
80 #ifndef OBJ_ECOFF block, since ECOFF uses different versions.
81 * config/tc-mips.c: Rearranged for ECOFF support. Added
82 prototypes for all static functions. Moved existing minimal
83 debugging format support info #ifndef OBJ_ECOFF blocks.
84 (macro_build_lui): Eliminated sign_extend argument, because ECOFF
85 does not support a non sign extended high 16 bits reloc. Adjusted
86 all callers accordingly.
87 (tc_get_register): Renamed from get_register, and made non-static.
89 * config/mips-big.mt, config/mips-lit.mt: New files. Define
90 TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
92 * configure.in (mips-*-bsd*): Use gas_target mips-lit.
93 (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
94 obj_format ecoff and gas_target mips-lit or mips-big.
96 Tue Mar 9 07:43:01 1993 Ken Raeburn (raeburn@cygnus.com)
98 * version.c: Bump to version 2.0.1.
100 Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
102 * write.c (chain_frchains_together): Check that seg_info (section)
104 (write_object_file): Call obj_frob_file after setting the symbols,
107 Mon Mar 8 14:57:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
109 * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
111 Fri Mar 5 09:05:55 1993 Ian Lance Taylor (ian@cygnus.com)
113 * read.h: Define stringer here.
114 read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
117 Thu Mar 4 11:52:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
119 * read.c (s_space): Multiply repeat count by mult, not fill.
121 Thu Mar 4 05:20:42 1993 Ken Raeburn (raeburn@cygnus.com)
123 * read.c: Include ctype.h.
125 Wed Mar 3 10:41:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
127 Patches from Eric Youngdale:
128 * make-gas.com: Find obstack.obj if it's not in the current
130 * read.c (s_ignore): Don't declare is_end_of_line. It's
131 redundant, and triggers a VMS gcc compiler bug.
133 * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
134 current segment as an argument. (Ignored in all cases but VMS.)
135 All callers and definitions changed.
137 Tue Mar 2 11:56:19 1993 Ian Lance Taylor (ian@cygnus.com)
139 * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
142 Tue Mar 2 08:53:34 1993 Ken Raeburn (raeburn@cygnus.com)
144 * config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
145 so "~0x80" won't be rejected.
147 * config/obj-elf.c: No longer include elf/reloc.h.
148 (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
149 (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
151 (obj_elf_xstab): New routine.
152 (obj_elf_set_size): Call as_warn, not fprintf. Pass desired
153 argument to s_ignore. Put "#if 0" around unused code.
154 (obj_pseudo_table): Use s_ignore instead of do-nothing routines.
155 Call elf_xstabs for .stabs and .xstabs operators.
157 * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
159 * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
162 * configure.in: mips-bsd configuration was missing format spec.
165 * Makefile.in (Makefile): Depends on configure.in.
167 * config/tc-mips.c (append_insn): Don't check for alignment of
168 frag in memory; alignment of instructions in section is a separate
171 * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
174 * listing.h: Always provide function declarations, not macros, so
177 Tue Mar 2 00:50:43 1993 John Gilmore (gnu@cygnus.com)
179 * CONTRIBUTORS: Update Gilmore entry.
181 Wed Feb 24 14:58:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
183 * frags.c (frag_init): New function.
184 (zero_address_frag, bss_address_frag): Now initialized at run
186 * as.c (main): Call frag_init.
188 Wed Feb 24 10:32:42 1993 Ian Lance Taylor (ian@cygnus.com)
190 * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
191 Don't unget ch2 if we didn't get it.
193 Wed Feb 24 04:14:07 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
195 * doc/Makefile.in (TEXIDIR): Updated for new layout.
197 * config/tc-sparc.c (s_common): Add support for ELF version.
198 (tc_gen_reloc) [BFD_ASSEMBLER]: New function.
199 * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
201 (md_convert_frag): New macro.
203 * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
204 symbol, fix the offset so "+2" isn't required.
206 * config/tc-i960.c (line_comment_chars, line_separator_chars):
207 Define as common/bss.
208 (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
209 initializers are sufficient.
211 * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
212 (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
213 (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
214 (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
215 * config/obj-aout.c: Use PARAMS macro for declarations. Remove
216 "IGNORE_DEBUG" conditional, since both branches are identical.
217 Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
218 referencing symbol structure members.
219 (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
221 * as.h (struct frag): Reordered a couple of fields for better
224 * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
226 (write_contents) [BFD_ASSEMBLER]: New function.
227 (write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call
228 fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call
229 obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
230 (fixup_segment): Make sure common-section symbols get treated the
231 same as undefined symbols.
232 (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
233 bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from
235 * write.h (fix_new): Update prototype.
237 * tc.h (md_operand, md_convert_frag, tc_headers_hook,
238 md_section_align, md_undefined_symbol): Don't provide prototypes
239 if these are defined as macros.
240 (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
243 * symbols.c (symbol_new): Argument NAME is now pointer to const.
244 Simplified STRIP_UNDERSCORE code. Remove assumptions about null
245 pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new
247 (colon): Display other/desc fields of redefined symbol only if
248 S_GET_OTHER and S_GET_DESC are defined.
249 (symbol_make): Argument NAME is now pointer to const.
250 (symbol_find, symbol_find_base): Likewise.
251 (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
252 * symbols.h: Fix prototypes for new const arguments. Add
253 prototypes for BFD_ASSEMBLER S_* functions.
255 * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
256 for changing to an existing section.
257 (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
258 called by subseg_new and subseg_set.
259 (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
260 given section name and subseg number.
261 (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
262 new section/subsection.
264 * read.c: Don't include ctype.h.
265 (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
266 for now; should be machine-dependent.
268 * configure.in: Accept *-*-elf and *-*-solaris* as ELF format
269 targets, forcing BFD use.
271 Wed Feb 17 18:59:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
273 * config/tc-sparc.c: Use PARAMS macro for static function
274 declarations. Use BFD_RELOC_ macros everywhere, with
275 compatibility macros declared for non-BFD mode.
276 (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
277 instead of enum reloc_type.
278 (emit_sparc_reloc): Commented-out function deleted.
279 (md_convert_frag): Deleted.
280 (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
281 (md_apply_fix): Changed calling sequence (conditionally) for BFD
283 * config/tc-sparc.h (md_convert_frag): New macro.
285 * config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
286 not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
287 of referencing fields directly.
289 * write.c (cvt_frag_to_fill): New function; extracted from
291 (write_object_file) [! BFD_ASSEMBLER]: Call it.
292 (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
293 and set its size and flags.
295 * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
296 fields with BFD equivalents. Turn on back-pointers, and add
297 target-specific fields at end.
299 Thu Feb 11 09:20:37 1993 Ian Lance Taylor (ian@cygnus.com)
301 * config/obj-coffbfd.c (fill_section): Don't set vaddr here.
302 (write_object_file): Set it here instead, so that fixup_segment
303 can see the correct value.
305 Mon Feb 8 13:56:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
307 * write.c (write_object_file): Check for errors and warnings and
308 bail out before processing contents.
309 (chain_frchains_together_1): New function, does most of the work
311 (chain_frchains_together) [BFD_ASSEMBLER]: New function.
312 (remove_subsegs) [! BFD]: Call it.
313 (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
314 structures and routines.
316 * config/obj-elf.*: New files.
318 * config/mips.mt, config/rs6000.mt: Deleted.
320 * config/h8300.mt: Don't specify compiler here.
322 * config/z8k.mt: The z8k code depends on the z8k opcode table,
324 * config/tc-z8k.h: Comment fix.
326 * write.c: Reordered some functions for better inlining.
327 (fixup_segment): Linkrelax code is no longer conditional on
330 Thu Feb 4 12:45:16 1993 Steve Chamberlain (sac@thepub.cygnus.com)
332 * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
333 obj-coffbfd.h}: support for the H8/500
335 Wed Feb 3 19:28:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
337 * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
338 * write.c (write_object_file): Not here.
339 (fix_new): Initialize fx_addnumber.
341 * listing.c: Don't include target-cpu.h explicitly, since as.h
344 Thu Jan 28 00:35:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
346 * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
347 *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
348 (struct fix): Reordered fields for compactness and efficiency.
349 Converted some logical fields to 1-bit fields.
351 * config/obj-aout.h: Use PARAMS.
352 [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
353 N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
355 * read.c: Don't include listing.h; as.h includes it. Removed
357 [BFD_ASSEMBLER]: Include subsegs.h.
358 (old_buffer, new_broken_words): Default initialization is
361 * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
362 to 0, define stdoutput.
363 (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
364 Call bfd_set_arch_mach.
365 (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
366 bfd_close_all_done. Call bfd_perror on failure.
367 (output_file_append) [BFD_ASSEMBLER]: Don't define.
369 * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
371 * subsegs.h (segment_info_type): Always define. Omit field scnhdr
372 if not MANY_SEGMENTS. Define new field bfd_section if
374 (seg_info): New macro.
376 * expr.c, input-scrub.c: Use PARAMS macro. Deleted unused
377 variables, and some irrelevant comments.
379 * Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
380 (LIBS): Include $(BFDLIB). Don't bother with $(CLIB).
381 * configure.in: Permit --with-bfd-assembler now, with a warning.
382 Variable need_bfd is now a boolean, as is new variable bfd_gas.
383 Set BFDDEF and BFDLIB in Makefile when appropriate.
385 * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
386 (main): Refer to flag_always_generate_output instead of
389 * as.c (main) [BFD_ASSEMBLER]: Open output bfd.
390 (*_section) [BFD_ASSEMBLER]: Define them.
391 (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
392 set section flags when appropriate.
393 * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
394 section is not absolute, undefined, or an assembler internal one.
395 (absolute_section, undefined_section): Always define.
396 * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
397 switch statements into if-else trees.
398 * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
399 SEG_BSS and SEG_DATA.
401 * as.h (frag_now_fix): New macro.
402 * symbols.c (colon): Use it.
404 Wed Jan 27 21:43:53 PST 1993 Ralph Campbell (ralphc@pyramid.com)
406 * config/tc-mips.c: Added mips support for mips-dec-bsd.
407 * config/tc-mips.h: Added mips support for mips-dec-bsd.
408 * config/ho-mipsbsd.h: Added mips support for mips-dec-bsd.
409 * config/mips-opcode.h: Added mips support for mips-dec-bsd.
410 * configure.in: Added mips support for mips-dec-bsd.
411 * atof-generic.c: Define TRUE and FALSE if not defined.
413 Thu Jan 21 12:48:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
415 * version.c: Bumped version number to 1.93.05.
417 Wed Jan 20 17:11:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
419 * config/obj-coff.c (obj_emit_relocations): Don't use #elif.
420 (obj_emit_lineno): Don't need return at end of void function.
421 (obj_symbol_new_hook): Ditto.
423 * config/tc-m68k.c: Removed some unused code.
424 (tc_aout_fix_to_chars): Array nbytes_r_length is now const.
426 * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
429 Fri Jan 8 05:44:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
431 * config/tc-sparc.c (architecture_requested, warn_on_bump,
432 md_relax_table): Use default zero initialization.
433 (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
434 latter, instead of selecting with preprocessor conditionals.
436 Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
438 * configure.in: recognise all sparclite variants
440 Thu Jan 7 05:25:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
442 * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
443 accidentally changed to use subseg_change where it should have
446 Tue Jan 5 08:42:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
448 * expr.c (operand): If character other than comma or newline is a
449 logical end-of-line character, use the newline case.
451 (operand): Set X_add_number field for floating-point numbers.
452 (operand): Treat zero byte as end-of-operand.
454 * configure.in (per-target): Look for with_bfd_assembler option.
455 For now, only accept "no", until the merge is done.
457 Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil):
458 * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
459 config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
460 * read.c: Finish conversion to S_* macros in the VMS only
461 parts of the program. Add "const" modifier to hex_value.
462 * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
464 * expr.c: Add "const" modifier to hex_value.
465 * symbols.c: Finish conversion to S_* macros in the VMS only
466 parts of the program. Add "const" modifier to
467 md_[long,short]_jump_size. Remove declaration of const_flag
468 (which will be declared in obj-vms.h).
469 * write.c: Add "const" modifier to md_[long,short]_jump_size.
470 Fix arguments to VMS_write_object_file.
471 * config-gas.com: New file. Script for VMS systems to set up the
472 configuration to build gas for VMS, and create config.status.
473 * make-gas.com: Redone to work with new scheme.
474 * obj-vms.c: Patch to fix bug where we were not correctly parsing the
476 * obj-vms.c: Define macros COPY_LONG and COPY_SHORT which
477 will swap bytes if needed on a big endian system. Use throughout
479 * obj-vms.c (obj_aout_stab): Add code to generate listing file.
480 * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
481 types of malformed stabs. Change parsing algorithm so that we are
482 more certain of having all of the information that we need on hand.
483 * obj-vms.c (final_forward_reference): New function, used to help
484 resolve the data types of as many struct elements as possible
485 when some part of the struct is not fully defined by the compiler.
486 * obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation
488 * obj-vms.c (VMS_write_object_file): Define all vtable psects
489 as symbols as well in the object file. Look for external functions
490 that start with "__vt.", and turn them into variables, since the
491 g++ compiler is incapable of doing this.
492 * tc-vax.c: Add '1' option for backward compatibility with older GCC
494 * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
495 * input-scrub.c (as_where): Fix bug where as would crash if we did not
496 have the name of the source file yet.
497 * config/ho-vms.h: define HO_VMS, not HO_VAX.
499 Mon Jan 4 05:17:26 1993 Ken Raeburn (raeburn@cygnus.com)
501 * read.c (s_data): Always use "data_section", since it'll map to
502 SEG_DATA or SEG_E1 if needed.
503 (s_lcomm): Likewise with bss_section.
504 (s_fill): Use memset, not bzero.
506 Thu Dec 31 04:29:27 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
508 * read.c: Deleted some code under "#ifdef DONTDEF" that was for
509 handling GDB symbol table data.
511 * config/obj-aout.h (segment_name): Delete definition.
512 (seg_name): Delete declaration.
513 * config/obj-bout.h (segment_name, seg_name): Ditto.
514 * config/obj-vms.h (segment_name, seg_name): Ditto.
515 * config/obj-coff.h (segment_name): Ditto.
516 * config/obj-coffbfd.h (segment_name): Ditto.
518 * Changes for BFD_ASSEMBLER:
519 * obj.h (obj_crawl_symbol_chain): Declare only if not
521 (obj_header_append, obj_pre_write_hook): Ditto.
522 * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
523 (segT) [BFD_ASSEMBLER]: New typedef for "asection *".
524 (segment_name) If BFD_ASSEMBLER, look up BFD section name;
525 otherwise, use seg_name array.
526 (seg_name): Declare only if not BFD_ASSEMBLER.
527 (section_alignment): Declare only if not BFD_ASSEMBLER.
528 (big_section, reg_section, pass1_section, diff_section,
529 absent_section, text_section, data_section, bss_section): If
530 BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
531 mapping to segT enum values.
532 (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
533 if these are used or defined, if BFD_ASSEMBLER.
534 (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
535 subseg_new split into two functions.
536 (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
538 * as.h (volatile): Don't define if already defined.
539 (had_errors, had_warnings): Provide prototypes for ANSI C even if
541 (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
542 declare with format attribute for -Wformat checking.
544 Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com)
546 * app.c, config/tc-*.c: Don't include read.h, since it is already
549 * These are based on patches from Minh Tran-le
550 <mtranle@paris.intellicorp.com>.
551 * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use
552 obj_format coffbfd and gas_target i386coff for target.
553 (i[34]86-*-isc*): New host (uses sysv).
554 * config/i386aix.mt: Removed (no longer used).
555 * config/mh-i386aix (RANLIB): Use true rather than /bin/true.
557 (LDFLAGS): Added, defined as -shlib.
558 * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
559 * config/te-sco386.h (LOCAL_LABEL): Don't define.
560 (DOT_LABEL_PREFIX): Define.
561 * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
562 name rather than L0\001.
563 * read.c (s_lcomm): Make a frag in SEG_BSS rather than using
565 * symbols.c, symbols.h (local_bss_counter): Removed.
566 * write.c (write_object_file): bss no longer uses
567 local_bss_counter. Pass correct data and bss size to
568 VMS_write_object_file.
569 * config/obj-vms.c (VMS_write_object_file): Accept bss size as
570 argument, rather than using local_bss_counter.
571 * config/tc-m88k.c (s_bss): Don't use local_bss_counter.
572 * config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
573 * config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
574 (size_section): Restored sanity check.
575 (do_relocs_for): Base section address on s_paddr rather than
576 computing it. Adjust a29k R_IHIHALF special case to account for
577 section paddr (used to require paddr to be zero). If there are no
578 reclos, set s_relptr to 0. Set relocation size in object_headers.
579 (fill_section): Always set s_vaddr here, removing
580 ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set
581 NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
582 Set STYP_INFO for .comment.
583 (coff_header_append): Use object headers and H_{SET,GET}_* macros.
584 Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
585 (crawl_symbols): Handle 8 character section name correctly. Use
586 H_{SET,GET}_* macros.
587 (do_linenos_for): Set lineno size in object_headers.
588 (write_object_file): Use H_{SET,GET}_* macros. Don't bother to
589 set s_vaddr here. If string_byte_count remains 4, set it back to
590 0, and only write strings out if there are some. Call
591 fill_section before do_relocs_for and do_linenos_for.
592 (obj_coff_section): Handle optional quoted second argument giving
593 section characteristics.
594 (obj_coff_bss): Added to handle .bss.
595 (obj_coff_ident): Added to handle .ident (puts string in .comment
597 (obj_coff_lcomm): Put common symbols in .bss, not .data.
598 (fixup_mdeps): Change to segment. Call frag_wane after
600 (fixup_segment): Explicitly check S_IS_COMMON before making 386
601 adjustment (already happened only for common symbols, but this is
603 * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
604 * config/tc-i386.c (s_bss): Don't use if I386COFF.
605 (md_pseudo_table): Ignore .optim and .noopt.
606 (tc_coff_sizemachdep): New function.
607 * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
609 (LOCAL_LABEL): Removed definition.
610 (DOT_LABEL_PREFIX): Defined.
612 Mon Dec 28 10:32:05 1992 Ken Raeburn (raeburn@cygnus.com)
614 * app.c (app_push): Use memcpy, not bcopy.
615 (do_scrub_next_char): For \", return " not '.
616 (symbol_chars): Now const.
618 * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
619 and "0b". If LOCAL_LABELS_DOLLAR, check for "0$".
621 * config/obj-coff.h: Don't use #elif.
623 * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
624 have it. (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.)
626 Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com)
628 * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
631 Tue Dec 15 12:40:11 1992 Steve Chamberlain (sac@thepub.cygnus.com)
633 * app.c (do_scrub_begin): allow single quote strings if so
636 * config/*z8k*: checkpoint
638 Sun Dec 13 00:04:38 1992 Ian Lance Taylor (ian@cygnus.com)
640 * read.c (read_a_source_file): avoid calling xmalloc (0).
642 Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com)
644 * listing.c: Call xmalloc, not malloc; don't declare malloc.
646 * Changes to support SCO 3.2v4:
647 * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
648 SEG_BSS, fill with NOP_OPCODE.
649 * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
650 * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
651 using ZERO_BASED_SEGMENTS.
652 (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
653 never set segment address for SEG_E2 (.bss) and don't write out
654 SEG_E2 contents. Set .init and .fini sections to STYP_TEXT.
655 (obj_coff_endef): Don't merge labels or symbols awaiting forward
656 definitions, and don't merge tags with non-tags. Check for .bf
657 rather than just checking whether the second character is b and
658 the third character is f.
659 (obj_coff_val): gcc can generate values which we don't handle
660 correctly; discard information for now, since it only affects the
661 debugging information.
662 (tag_find_or_name): Don't insert tags in the symbol table.
663 (yank_symbols): Don't merge labels.
664 (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
665 already defined. Fill subsegments with NOP_OPCODE, not 0. Don't
666 set segment address if ZERO_BASED_SEGMENTS.
667 (obj_coff_section): Accept and ignore a trailing quoted string, as
668 used in AT&T i386 syntax.
669 (fixup_segment): Take segment as argument. On the i386, adjust PC
670 relative addends by the segment vaddr.
671 * tc-i386.h: Define SUB_SEGMENT_ALIGN.
672 * tc-a29k.h: Define ZERO_BASED_SEGMENTS.
673 * tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
675 Tue Dec 8 00:06:48 1992 Ken Raeburn (raeburn@rtl.cygnus.com)
677 * config/obj-coffbfd.c: Include libcoff.h.
679 * version.c: Now version 1.93.
681 Mon Dec 7 00:39:09 1992 Ken Raeburn (raeburn@cygnus.com)
683 * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
684 power-of-two alignment for .align.
686 * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
687 and leave everything else alone.
689 Fri Dec 4 16:58:42 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
691 * Makefile.in (as.new): Don't bother saving as.old.
693 * write.c: Conditionalize on OBJ_VMS, not VMS.
694 (magic_number_for_object_file): Don't define if OBJ_VMS.
696 * config/obj-vms.c: Changes for traditional C.
698 Thu Dec 3 01:24:07 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
700 * config/ho-generic.h (malloc, realloc): Declare.
702 * Lots of comment/whitespace changes.
704 * write.h (struct fix): Some fields reordered, narrowed.
706 * read.c (MASK_CHAR): Define using C types, not magic number.
708 * as.c, input-file.c: Deleted some unused code.
710 * app.c, as.h: Doc fix.
712 * flonum-konst.c, flonum-mult.c: Include ansidecl.h.
714 * as.h (xmalloc): Argument is long.
716 * xmalloc.c (error): Remove declaration; as.h takes care of it.
718 * doc/as.texinfo: Regrouped documentation of some command-line
719 options. Updated options documentation for m68k. Some minor
720 wording/punctuation changes.
722 Mon Nov 30 11:42:11 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
724 * configure.in: Accept target OS "vms".
726 * symbols.c: Merged ANSI and non-ANSI function decls, using
729 * xmalloc.c: Just include as.h, don't bother trying to figure out
732 * strstr.c, strerror.c: Deleted.
733 * Makefile.in: Deleted references.
735 * config/tc-ns32k.c: Don't include header file for string
736 declarations; leave that to ho-*.h.
738 Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com)
740 * config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
741 imported from FSF sources.
743 * messages.c (strerror): Declare unconditionally.
745 * as.h: Delete alloca and register definitions.
747 * config/atof-ieee.c (mask): Now const.
749 * obstack.c, obstack.h: Deleted.
751 * as.h (flag_readonly_data_in_text): New flag.
752 * as.c (main): Set it for -R.
754 * as.h (flag_suppress_warnings): New flag.
755 * as.c (main): Set it for -W.
756 * messages.c (as_warn): Check it instead of flagseen['W'].
758 * as.h (flag_always_generate_output): New flag.
759 * as.c (main): Set it for -Z.
761 * config/tc-sparc.h: Define NEED_FX_R_TYPE.
762 * config/tc-a29k.h: Ditto.
763 * write.h (struct fix): Don't conditionalize fx_r_type field on TC
766 * as.h: Merged ANSI and non-ANSI function decls, using PARAMS
768 * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
769 obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
773 * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in
774 xrealloc from xrealloc.c.
775 * xrealloc.c: Deleted.
776 * Makefile.in (REAL_SOURCES, OBJS): Adjusted.
778 * configure.in: For host CPU a29k, rs6000, vax, consider using bsd
781 * config/ho-sysv.h (setbuffer, HO_USG): Deleted.
783 * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
784 don't initialize it with NULL.
786 * config/ho-vax.h (M_VAX): Deleted; was unused.
788 * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
789 New files imported from FSF version, contributed by Eric Youngdale.
790 * README-vms-dbg, config/vms: Deleted.
792 * ChangeLog, config/ChangeLog: Merged.
794 * config/*tahoe*, configure.in: Tahoe support brought in from FSF
797 * input-file.c (input_file_open): Eliminate call to setvbuf.
798 [USG] (setbuffer): Deleted macro.
800 Mon Nov 23 11:00:16 1992 Ken Raeburn (raeburn@cygnus.com)
802 * all files: Whitespace changes for GNU indentation style, done by
803 GNU `indent'. Some cleanup still needed, especially of comments.
805 * configure.in: No te-386bsd.h file exists; don't try to use it.
807 * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
809 * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
810 could be doing emulation.
812 Thu Nov 19 11:47:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
815 * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
818 Tue Nov 10 09:49:24 1992 Ian Lance Taylor (ian@cygnus.com)
820 * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
822 * subsegs.h: add extern to segment_info declaration.
824 * read.h: added extern declarations for comment_chars,
825 line_comment_chars, and line_separator_chars.
826 read.c, app.c: removed definitions of comment_chars,
827 line_comment_chars, and line_separator_chars.
829 * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
830 still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
832 (insert_reg): put REGISTER_PREFIX before register names before
833 putting them in the symbol table.
834 * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
837 * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
840 * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
841 comment_chars, line_comment_chars and line_seperator_chars
842 consistently const, and always initialized them. Included read.h.
844 Thu Nov 5 17:55:41 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
846 * tc-sparc.c (sparc_ip): Add code to flag error if an absolute
847 constant will not fit in an immediate field.
848 (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
850 Wed Nov 4 07:50:46 1992 Ken Raeburn (raeburn@cygnus.com)
852 * obj-coff.c (callj_table): Delete global variable.
853 (obj_emit_relocations): Define it locally here, and only if
856 * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
857 (m68k_ip): Don't warn about bignum used as float bit-pattern.
859 * obj-coff.c: Replaced ANSI and non-ANSI function declarations
860 with a single set using PARAMS macro.
862 * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
865 * tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
867 * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
868 so widening works consistently.
870 Wed Oct 28 08:52:34 1992 Ken Raeburn (raeburn@cygnus.com)
872 * version.c: Put conditional "const" before version_string, not
873 before dummy function for VMS. Now version 1.91.03.
875 * app.c (do_scrub_next_char): Need double-\ before `000' to show
876 printed rep of null character.
878 Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com)
880 * obj-coffbfd.c (write_object_file): check return value of
883 Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com)
885 * Support for i386-sysv.
886 obj-coffbfd.c (do_relocs_for, write_object_file): set segment
887 addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can
888 be used to set them all to zero as was done before.
889 (fill_section): segment addresses now set in write_object_file.
890 (fill_section): Don't set STYP_NOLOAD for .bss section.
891 (fixup_segment): 386 uses strange common symbol format.
892 tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
893 compatibility with SVR3.2 linker.
894 * configure.in: i386-sysv and i386-sco use coffbfd.
896 * app.c (do_scrub_next_char): discard whitespace after a label.
898 Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
900 * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
901 hosts, use the sysv configuration for solaris2
903 Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
905 fix i960+non-bfd coff bit rot.
906 * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
907 support for C source listings. (obj_coff_endef): look in the right
908 part of the symbol for the symbol name
910 * tc-m68k.c (get_num): make it work for all segments, not just the
913 Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
915 * configure.in: recognize i386-*-bsd emulation.
917 Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
919 * configure.in: use the cpu-vendor-os triple for host and target
921 Tue Sep 29 12:22:52 1992 Steve Chamberlain (sac@thepub.cygnus.com)
923 * obj-coffbfd.c (write_object_file): don't fixup for the z8k
924 * tc-z8k.c: lots of bug fixes
926 Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com)
928 * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
929 #elif, since it is not supported by old compilers.
930 ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
931 couple of expressions in tc-m68k.c.
933 Mon Sep 28 21:18:24 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
935 * read.c (cons): If NO_RELOC is defined, use it.
937 * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
939 Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com)
941 * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
942 local labels to start with a .) and set REGISTER_PREFIX to %.
943 tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
945 Fri Sep 25 17:53:43 1992 John Gilmore (gnu@cygnus.com)
947 * messages.c: Comment changes.
949 Fri Sep 25 14:12:58 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
951 * as.h: Test if __STDC__ is defined only, don't test its value.
952 * messages.c: If __STDC__ is not defined, define NO_STDARG.
954 Thu Sep 24 12:42:32 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
956 * listing.c (debugging_pseudo): Add stabs and stabn as things to
959 Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com)
961 * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
962 sections starting from zero, rather than making them consecutive.
963 This makes subsequent reloc calculations easier, esp if the object
964 format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
965 allocate lcomm in .data rather than in .bss. It seems that some
966 tools can't cope with a non-zero sized bss before linkage.
968 Tue Sep 22 15:10:51 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
970 * tc-m68k.c: Replace "enum m68k_architecture" with "int"
971 throughout. That enum no longer means what we thought it meant.
973 * tc-m68k.c (md_assemble, md_parse_option): Handle new
974 "-mno-688[58]1" options.
976 * tc-m68k.c: Added CPU32 support.
978 Fri Sep 18 08:02:18 1992 Steve Chamberlain (sac@thepub.cygnus.com)
980 * tc-m68k.c (m68k_ip): An(disp) is not pc relative.
982 Tue Sep 15 17:25:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
984 * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
985 Change LIBDEPS dependence to LIBS.
987 Tue Sep 15 15:32:02 1992 Ian Lance Taylor (ian@cygnus.com)
989 * Makefile.in (install): if $(tooldir) exists, install as in
992 Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com)
994 * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
995 .word is < -32768 or > 32767. The -J flag causes the error to be
996 ignored. This is to catch over-sized switches generated by gcc on
997 systems which don't support the broken .word hack.
998 as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
999 write.c (fixup_segment): check for signed .word overflow if
1000 WARN_SIGNED_OVERFLOW_WORD.
1002 * write.c (fixup_segment): fixed missing parens in expression
1003 checking for byte or word overflow.
1005 * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
1006 obj-coffbfd.c (fixup_segment): check for signed .word overflow if
1007 WARN_SIGNED_OVERFLOW_WORD.
1009 * obj-coffbfd.c (fixup_segment): fixed missing parens in
1010 expression checking for byte or word overflow.
1012 Fri Sep 11 10:21:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1014 Support for i386 coff
1015 * obj-coffbfd.h : added stuff
1016 * tc-i386.c (tc_coff_fix2rtype): new function
1017 * tc-i386.h : new coff defines
1019 Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com)
1021 * input-scrub.c (input_scrub_push): call input_file_begin, not
1023 messages.c (as_perror): print ": " between the passed in error and
1024 the strerror, like perror does.
1026 Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com)
1028 * Makefile.in: use gas_target instead of modifying target_cpu.
1029 From Steve Chamberlain:
1030 Makefile.in: Handle m68*-*-coff*.
1031 read.c, read.h: add mult argument to s_space
1033 * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
1034 Motorola and MIT syntax; gas can now assemble either type of
1036 tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
1037 From Steve Chamberlain:
1038 m68kcoff.mt: for m68k COFF.
1039 obj-coffbfd.c: (fixup_mdeps) added
1040 (size_section) removed bad sanity check
1041 (fill_section) added rs_machine_dependent case
1042 (write_object_file) call fixup_mdeps
1043 (fixup_segment) set fx_subsy to 0.
1044 obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
1046 tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
1049 Tue Sep 8 17:10:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
1051 * Makefile.in (LIBS): Include opcode library.
1053 Fri Sep 4 18:20:56 1992 Ken Raeburn (raeburn@cygnus.com)
1055 * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
1056 including zero are accepted, pass +0.0.
1058 Sun Aug 30 21:24:46 1992 Ian Lance Taylor (ian@cygnus.com)
1060 * Makefile.in: map "as" through program_transform_name when
1063 * doc/Makefile.in: map "as" through program_transform_name when
1066 Sat Aug 29 12:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
1068 * Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
1070 Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com)
1072 * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
1073 tc-i960.c (md_ri_to_chars): Always output bout object file in
1074 little endian byte order (used to use endianness of host).
1076 Tue Aug 25 15:50:48 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
1078 * config/tc-m68k.c (init_table): Now const. Always include 68851
1079 data, so that "bc" is available to 68040 cache instructions.
1080 Added "tt0", "tt1", and 68ec030 variants.
1081 (md_assemble): Complain if 68000 (only) and 68881 are specified.
1082 (enum _register): Added TT0, TT1.
1083 (m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass
1084 line number correctly in "internal error" messages. Don't print
1085 architecture-mismatch message for operand errors.
1087 From Colin Smith (colin@wrs.com):
1088 * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
1089 than install_operand.
1091 Tue Aug 25 15:13:48 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1093 * listing.c (buffer_line): rewind to the start of include
1094 files, they might be included twice.
1096 * z8k.c, z8k.h, z8k.mt: z8000 support stuff
1098 Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com)
1100 * Makefile.in: defined TARGET_CPU for C code so that it can choose
1101 one element of a family.
1103 * tc-m68k.c: use TARGET_CPU to choose default cpu type.
1105 * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
1106 so that we can assemble hand-written libgcc code.
1108 Fri Aug 21 14:38:44 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
1110 * messages.c (as_warn): Use fputs, not fprintf, with a buffer that
1111 has already been formatted (but may still contain %-characters).
1114 Wed Aug 19 11:20:59 1992 Ian Lance Taylor (ian@cygnus.com)
1116 * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
1117 written with indirection on the last two operands, which can be
1118 either data or address registers. Added a new operand type 'r'
1119 which accepts either register type. Added '(' to notend stuff in
1120 tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
1122 Wed Aug 19 09:25:09 1992 Ken Raeburn (raeburn@cygnus.com)
1124 * as.h (enum _relax_state): Start off at one, not zero, to better
1125 catch uninitialized-variable errors.
1126 (linkrelax): Declare new variable.
1128 * messages.c (warning_count, error_count): Default initializer is
1131 * write.c: Merged some declarations, using PARMS macro.
1132 (text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
1133 data_last_frag): No longer static.
1134 (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
1135 defined, call it. Change segments before calling fixup_segment.
1136 (relax_align): If linkrelax, provide extra padding.
1138 * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
1139 their not having symbols associated.
1141 * tc-i960.c (norelax, instrument_branches): Default initializer is
1143 (linkrelax): Delete variable definition.
1144 (mem_fmt): Call fix_new with NO_RELOC.
1145 (tc_bout_fix_to_chars): Handle alignment relocs.
1146 (i960_handle_align): New function.
1147 * tc-i960.h (linkrelax): Delete declaration.
1148 (HANDLE_ALIGN): New macro; calls i960_handle_align.
1149 (NEED_FX_R_TYPE, NO_RELOC): New macros.
1151 Tue Aug 18 14:59:21 1992 Ken Raeburn (raeburn@cygnus.com)
1153 * config/sparc.mt: New file. Grab sparc opcode table from bfd
1156 Tue Aug 18 14:16:38 1992 Ian Lance Taylor (ian@cygnus.com)
1158 * Makefile.in: always create installation directories. Removed
1159 MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
1160 FLAGS_TO_PASS to recursive makes.
1162 * doc/Makefile.in: always create installation directories.
1164 Mon Aug 17 15:09:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1166 * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
1167 being used with args swapped, causing occasional lossage when
1168 refilling buffers after an include file.
1170 Mon Aug 17 13:18:51 1992 Ken Raeburn (raeburn@cygnus.com)
1172 * messages.c (as_tsktsk): Use correct ANSI form for stdarg
1173 version. Discard bogus DONTDEF version.
1174 (as_warn, as_bad, as_fatal): Likewise.
1176 Fri Aug 14 18:31:14 1992 Ken Raeburn (raeburn@cygnus.com)
1178 * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
1179 selected architecture, print a message saying so and listing what
1180 processors support it, rather than saying "operands mismatch".
1182 Thu Aug 13 13:53:19 1992 Ken Raeburn (raeburn@cygnus.com)
1184 * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
1186 * config/ho-rs6000.h (M_RS6000): Don't define it.
1188 (BROKEN_ASSERT): Define it if not __STDC__.
1190 Tue Aug 11 12:58:14 1992 Ken Raeburn (raeburn@cygnus.com)
1192 * sparc.mt: New file.
1194 Mon Aug 10 14:37:08 1992 Per Bothner (bothner@cygnus.com)
1196 * tc-m68k.c: ".align N" means align to N-byte boundary *only*
1197 if TN_SUN3; otherwise align to 2**N-byte bounary.
1199 Thu Aug 6 12:10:39 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1201 * read.c (s_fill): make the .fill size clamped error a warn and
1202 fix bug where 0's were always placed.
1204 * config/tc-h8300.c: if a :8 is seen after an operand, fill top
1205 two bytes of any constant with 0xff:
1207 Wed Aug 5 12:02:40 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1209 * config/tc-m68k.c (md_pseudo_table): fix the .align thing
1210 the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
1212 Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com)
1214 * tc-m68k.c (try_index): Error if index scaling specified and
1215 assembling for an older CPU than a 68020.
1217 Sat Aug 1 19:10:13 1992 Ken Raeburn (raeburn@cygnus.com)
1219 * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
1220 fx_offset into account.
1222 Fri Jul 31 21:53:28 1992 Ken Raeburn (raeburn@cygnus.com)
1224 * configure.in (mips host): Accept "ultrix" with version number.
1226 * expr.c (floating_constant): Separate "=-" to avoid confusing
1227 ancient or broken compilers.
1229 * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
1230 processor/opcode mismatch, so reword the error message.
1231 (md_assemble): If no CPU has been set (even if FPU/PMMU
1232 characteristics have been), default to 68020. Don't need extra
1233 quotes around error string.
1235 Fri Jul 31 12:26:34 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
1237 * read.c (potable): Revert sac's incorrect change made Jul 13.
1238 Align really is supposed to be ptwo not nbytes.
1240 Mon Jul 20 02:51:59 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
1242 * Makefile.in: _Do_ include libiberty. (from sef)
1244 Fri Jul 17 15:15:28 1992 Ken Raeburn (raeburn@cygnus.com)
1246 * expr.c (integer_constant): Handle "0f" and "0b" label references
1249 Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1251 * write.c (fixup_segment): if relaxing, don't do anything.
1252 * config/obj-bout.[ch] : maintain the a_relaxable file header info
1253 * config/tc-i960.c: new option -linkrelax
1255 Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1257 * expr.c (expr): allow SEG_BSS in expressions
1258 * read.c (potable): align should be nbytes, not ptwo!
1259 * write.c (write_object_file): extra glue for new bss attributes
1260 (relax_segment): SEG_BSS is ok now
1261 * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
1263 Mon Jul 6 17:09:32 1992 Steve Chamberlain (sac@cygnus.com)
1265 * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
1267 Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
1269 * configure.in: recognize m680x0 as having sun3 emulation mode for
1270 vxworks environment.
1273 Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
1275 * Makefile.in: Add program_suffix (parallel to program_prefix)
1277 Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1279 * app.c (process_escape): new function to handle escapes the right
1280 way, (do_scrub_next_char): use new function
1281 * cond.c (s_ifdef): do ifdef/ifndef right
1282 * read.c (s_fill): make the , expressions optional like the doc
1284 * config/tc-h8300.[ch]: better warnings
1286 Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1288 * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
1291 * write.c (write_object_file): various changes to handle data in
1292 the BSS segment in much the same was as stuff in the DATA segment.
1294 * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
1295 pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
1296 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
1297 the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
1300 Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1302 * expr.c(expr): allow SEG_REGISTER in expressions.
1303 * read.c(pseudo_set): register expressions can be the source of a
1305 * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
1306 goto SEG_TEXT (if a.out)
1307 * write.c (write_object_file): If a.out don't use the old way for
1309 * config/obj-a.out (s_sect): complain if the user tries to use a
1310 subsegment with a value which might interfere with out -R hackery.
1311 * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
1312 rather than use ugly if tree. (init_regtable): insert register
1313 names into symbol table.
1315 Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com)
1317 * write.c (write_object_file): keep the fix_tail clean, which
1318 fixes a bug in -R where relocations were being lost.
1320 Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
1322 * configure.in: recognize m680x0 as having sun3 emulation mode for
1323 vxworks environment.
1325 Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com)
1327 * configure.in: recognize m680x0 as an m68k
1329 Thu May 28 11:22:02 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
1331 * configure.in: Recognize sparclite as a sparc variant.
1333 * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new
1336 Tue May 26 16:47:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1338 * config/tc-a29k.c: lint
1339 * listing.c, expr.c: patches from Andrew Smith
1341 Thu May 14 17:22:48 1992 K. Richard Pixley (rich@rtl.cygnus.com)
1343 * doc/Makefile.in: use m4 rather than gm4.
1345 Mon May 4 18:56:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1347 * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
1348 calc the base of relocs correctly.
1349 * tc-a29k.c (parse_operand): allow expressions to be in any section.
1351 Mon Apr 27 13:13:31 1992 K. Richard Pixley (rich@cygnus.com)
1353 * as.c, write.c: use -K rather than -k for the broken word warning
1356 Tue Apr 21 13:35:30 1992 K. Richard Pixley (rich@cygnus.com)
1358 * Makefile.in: do not print recursion lines.
1360 Wed Apr 15 21:19:31 1992 K. Richard Pixley (rich@rtl.cygnus.com)
1362 * Makefile.in: the tooldir copy of gas goes directly in tooldir.
1364 Tue Apr 14 14:50:22 1992 Ken Raeburn (Raeburn@Cygnus.COM)
1366 * write.c (write_object_file): For b.out format, round up section
1367 start addresses to match required alignment.
1369 Thu Apr 9 05:45:29 1992 Ken Raeburn (Raeburn@Cygnus.COM)
1371 * Makefile.in (install): Install into $(tooldir)/bin, since that's
1372 where gcc looks for it.
1374 Tue Apr 7 15:12:15 1992 Sean Eric Fagan (sef@cygnus.com)
1376 * Makefile.in: Changed some lines to be less confusing for some
1379 * input-file.c: Conditionalize on _IOFBF, not VMS.
1381 * read.c, write.c: Change a series of ifdef/elif to
1382 ifdef/else/ifdef etc.
1384 Fri Mar 27 12:21:16 1992 K. Richard Pixley (rich@cygnus.com)
1386 * symbols.c (fb_label_init): fix sizeof to memset.
1388 Fri Mar 13 15:45:44 1992 K. Richard Pixley (rich@cygnus.com)
1390 * Makefile.in: install the man page.
1392 * Makefile.in: pass down MAKEINFO explicitly on info.
1394 * doc/Makefile.in: use $(MAKEINFO) not makeinfo.
1396 Fri Mar 13 08:03:03 1992 Steve Chamberlain (sac@thepub.cygnus.com)
1398 * flonum-const.c: renamed flonum-konst.c to stop dos name
1401 Thu Mar 12 04:42:38 1992 K. Richard Pixley (rich@cygnus.com)
1403 * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
1404 tc-m68k.h to te-sun3.h.
1406 Wed Mar 11 23:32:42 1992 K. Richard Pixley (rich@cygnus.com)
1408 * configure.in: vxworks68 gets te-sun3.h.
1410 * expr.c: remove limitation that local_labels_dollar or
1411 local_labels_fb must be < 10.
1413 * symbols.c: remove local_labels_dollar, replace with a function
1414 interface for a sparse array. All users adjusted.
1416 * te-sun3.h: add LOCAL_LABELS_DOLLAR.
1418 Sat Mar 7 00:06:25 1992 K. Richard Pixley (rich@rtl.cygnus.com)
1420 * doc/Makefile.in: commented out line for building as-all.texinfo.
1423 * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
1425 Fri Mar 6 21:57:18 1992 K. Richard Pixley (rich@cygnus.com)
1427 * Makefile.in: added check target.
1429 Tue Mar 3 15:45:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
1431 * Makefile.in: added tooldir and program_prefix.
1433 Sun Mar 1 04:43:19 1992 Michael Tiemann (tiemann@cygnus.com)
1435 * write.{c,h} (fix_new): Make these declarations consistent.
1437 Sat Feb 29 13:59:10 1992 Michael Tiemann (tiemann@cygnus.com)
1439 * Makefile.in (strerror.o): Add rule so that broken Sun make can
1442 Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com)
1444 * read.c, obj-coffbfd.c : fix h8300 specific bit rot
1446 * expr.c (operand): if can't work out what sort of operand it is,
1447 then look through FLT_CHARS for a hint.
1449 Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
1451 * Makefile.in, configure.in: removed traces of namesubdir,
1452 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
1453 copyrights to '92, changed some from Cygnus to FSF.
1455 * doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
1456 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
1457 copyrights to '92, changed some from Cygnus to FSF.
1459 Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
1461 * expr.c: If an expression is single comma, then return with
1462 SEG_ABSENT rather than an error - since the sparc front end does
1463 really strange things with things like fbge,a
1465 * as.h: include bfd.h if using many sections
1466 * expr.c: LOCAL_LABELS_FB had been changed to lower case - so
1467 local labels didn't work.
1468 * listing.c (list_symbol_table): don't core dump when there's no
1470 * write.c, write.h: call fix_new with the right number of args on
1472 * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
1475 Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com)
1477 * app.c: MRI compatibility - allow single quote to start a string.
1478 * as.c: fix typo recently introduced.
1479 * as.h : Don't include aout/reloc.h - it's not right for COFF!
1480 * expr.c: Much rewriting, to accomodate MRI syntax for
1481 expressions. Also easier to read now.
1482 * listing.c: Put back defuns
1483 * read.c: modified to accept MRI syntax, put back listing pseudo
1484 ops so that an assembler built with NO_LISTING ignores list ops
1486 * write.c, write.h: fixs - only keep a reloc type in a fix if the target
1487 machine is a SPARC or a 29K.
1488 * config/obj-aout.c: added s_sect pseudo op
1489 * config/obj-coffbfd.c: lints, set the filehdr flags right and
1490 fill in the timestamp.
1491 * config/obj-coffbfd.h: Since we don't include aout/reloc.h
1492 anymore, define all the relocs which the tc-<x> bit will use so we
1493 can translate from them to the coff types.
1494 * config/tc-a29k.c: reloc_type isn't ane enum any more
1495 * config/tc-m68k.c: Added NO_RELOC definition.
1497 Fri Feb 21 06:21:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
1499 * Makefile.in: put header files before C source for TAGS; remove
1500 references to non-existent syscalls.h.
1502 * read.c, write.c subsegs.c: back out the .bss changes.
1504 * obj-aout.c: do not include stab.gnu.h if NO_LISTING.
1506 * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
1510 Fri Feb 21 01:08:48 1992 Minh Tran-Le (TRANLE@INTELLICORP.COM)
1512 * symbols.c (local_label_name): symbols now start with ^A.
1514 * read.c, subsegs.c, write.c obj-coff.c: added handling of
1515 `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
1516 generate these sections. .align: will use NOP_OPCODE or 0
1517 for padding. This is just for being nice to the
1520 * expr.c (operand): changed to generate local label "\001L0"
1521 starting with a ^A so that it is recognized as a local label.
1523 * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
1525 * tc-i386.c: tc-i386.c: added handling of the following opcodes:
1526 i/o opcodes - inb, inw, outb and outw. string manipulation with
1527 att syntax - scmp, slod, smov, ssca, ssto.
1529 * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
1530 to just after .file .
1532 In obj_crawl_symbol_chain() where it tries to put the external
1533 symbols apart, with the condition:
1534 (!S_IS_DEFINED(symbolP) &&
1535 !S_IS_DEBUG(symbolP) &&
1536 !SF_GET_STATICS(symbolP))
1537 it was moving too many symbols out. So I switch it back to the
1539 (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
1541 In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
1542 so that we don't use the F_RELFLG which make the linker complain
1543 that somebody has stripped the relocation info.
1545 Also, the AIX ld program require that the relocation table
1546 is sorted by r_vaddr like the standard ATT assembler does.
1548 [he also changed the sizeof(struct ...)'s into the coff
1549 style FOOSZ macros. I'm not sure this is right, but I can't
1550 remember why. xoxorich.]
1552 Fri Feb 21 01:08:48 1992 K. Richard Pixley (rich@cygnus.com)
1554 * Makefile.in, configure.in, doc: use the doc. Build it, install
1557 Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com)
1559 * read.c: white space and comments only.
1561 * configure.in: use the new atof-ns32.c for ns32k.
1563 * write.c: comment change only.
1565 * tc-m88k.[hc]: pulled in from hack's unfinished work. These
1566 aren't yet integrated.
1568 * tc-i860.[hc]: blew off the dust. Something must still be done
1569 about conflicting relocation types.
1571 * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
1574 * tc-i960.c, tc-sparc.c: white space and comments only.
1576 * tc-a29k.h: delete duplicate macro definition.
1578 * new file atof-ns32k.c copied from hack's last unreleased gas.
1580 Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com)
1582 * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
1585 * nearly everything. flush ChangeLog, package as gas-1.92.1.
1586 ChangeLog's prior to this are sketchy at best. I have logs.
1587 They just aren't ChangeLogs.