* tc.h: Declare tc_gen_reloc differently depending upong
[platform/upstream/binutils.git] / gas / ChangeLog
1 Thu Sep 16 14:23:08 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2
3         * tc.h: Declare tc_gen_reloc differently depending upong
4         RELOC_EXPANSION_POSSIBLE.
5         * config/obj-elf.c (obj_elf_section): Only set flags when first
6         creating the section.
7
8 Wed Sep 15 12:15:53 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9
10         * config/tc-mips.c (append_insn): Don't swap a trap instruction
11         with a branch.
12
13 Tue Sep 14 13:31:04 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
14
15         * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
16         set previous_section and previous_subsection and then call s_data
17         and s_text, respectively.
18         (obj_pseudo_table): Add data and text.
19         (obj_elf_section): Add SEC_LOAD to default initialization of
20         flags.  Treat .rodata1 like .rodata.  Set SEC_LOAD as well as
21         SEC_ALLOC for "alloc" string.  Don't bother trying to find the
22         section; just use subseg_new.
23
24         * read.c (change_to_section): Removed.  This is now done by
25         subseg_new.
26         (get_stab_string_offset): Rearranged somewhat.  Create the section
27         using subseg_new.  Store the string index in seg_info, rather than
28         in a static variable.  Force the first string to be empty.  Use
29         frag_more rather than FRAG_APPEND_1_CHAR.
30         (s_stab_generic): Rewrote.
31         * subsegs.h (segment_info_type): Added stabu union.
32         * subsegs.c (subseg_new): Initialize stab_string_size to 0.
33         * config/obj-aout.c: Don't include aout/stab_gnu.h.
34         (obj_aout_stab, obj_aout_desc): Removed.
35         (obj_pseudo_table): Removed desc and stabX entries.
36         * config/obj-bout.c: Same changes as config/obj-aout.c.
37         * config/obj-bout.h (S_SET_TYPE): Define.
38         (tc_bout_fix_to_chars): Declare.
39         * config/obj-coff.c (obj_coff_stab): Removed.
40         (obj_pseudo_table): Removed desc and stabX entries.
41         * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
42         * config/obj-coffbfd.c (current_stab_symbol): Removed.
43         * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
44         n_other, n_desc and n_value fields.
45         (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
46         (MAKE_STAB_SYMBOL): Removed.
47         * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
48         Changed arguments and removed parsing code.
49         (obj_pseudo_table): Removed stabX entries.
50         * config/obj-ecoff.h (ecoff_stab): Declare.
51         (OBJ_PROCESS_STAB): Define.
52         * config/obj-elf.c: Don't include aout/stab_gnu.h.
53         (obj_elf_stab, obj_elf_xstab, obj_elf_desc,
54         elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
55         Removed.
56         (obj_pseudo_table): Removed desc, stabX and xstabs entries.
57         (obj_elf_version): Use subseg_new, not bfd_make_section.  Don't
58         set SEC_LOAD for .note section.
59         (adjust_stab_sections): Get frag pointer from seg_info, rather
60         than looking through frags.
61         * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
62         (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
63         Define.
64         * config/obj-vms.c (obj_aout_stab): Removed.
65         (obj_pseudo_table): Removed stabX entries.
66         * config/obj-vms.h (S_SET_TYPE): Define.
67
68         * as.h: Declare listing.
69         * read.c: Don't declare listing.
70         (emit_expr): Cast fix_new_exp argument.
71         (parse_bitfield_cons): Correct printf format.
72         * symbols.c (symbol_new): Add cast to avoid warning.
73         * write.h: Declare text_last_frag and data_last_frag.
74         * config/obj-bout.c (obj_bout_line): Added dummy argument.
75         * config/obj-coffbfd.c: Add some casts to avoid warnings.
76         * config/tc-a29k.c: Likewise.
77         * config/tc-i960.c: Likewise.  Also fully bracket structure
78         initializations, fix printf formats, and remove unused variables.
79
80 Mon Sep 13 16:48:38 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
81
82         * read.c (s_desc): Only compile and use if S_SET_DESC is defined.
83         * struc-symbol.h: Declare verify_symbol_chain and
84         verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS.
85         * symbols.c (verify_symbol_chain): Removed useless expression.
86         * write.c (headers, the_object_file): Only use if not
87         BFD_ASSEMBLER and not BFD.
88         (fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or
89         not BFD.
90         (merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and
91         not OBJ_AOUT).
92         * write.h: Declare relax_segment.
93         * config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made
94         static.
95         (stack_top): Commented out, since it's not used.
96         Fixed up pseudo-op functions to take an ignored int argument.
97         (size_section): Added default BAD_CASE to switch.
98         Changed bzero calls to memset.
99         * config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME
100         (s), not on s itself.
101         * config/tc-a29k.c (s_use): Take ignored int argument.  Only
102         define if OBJ_COFF is not defined.
103         * config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make
104         argument signed again.
105         * config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int
106         argument.
107         (m68k_ip): Fully bracket initialization of archs.
108         Correct several formats for __LINE__ to be %d rather than %s.
109         (init_table): Fully bracket initialization.
110         Cast values larger than 0x7f assigned to fr_opcode to char.
111
112         * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
113         Wrote non-BFD_ASSEMBLER subseg_new.  Now subseg_new always takes a
114         section name, and subseg_set always takes a segT.  Changed all
115         callers as appropriate.
116         * config/obj-coffbfd.c  (change_to_section): Renamed to
117         obj_coff_add_segment.  Corrected.  Made callers use subseg_new.
118         * config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
119         Define.
120
121 Mon Sep 13 13:15:03 1993  Doug Evans  (dje@canuck.cygnus.com)
122
123         * config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'.
124
125 Fri Sep 10 11:22:08 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
126
127         * config/obj-elf.h (S_SET_SIZE): Actually set the size.
128
129         Gcc lint.
130         * Added a number of casts to function calls.
131         * app.c (do_scrub_begin), as.c (main), expr.c (integer_constant,
132         operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY,
133         read_a_source_file, s_align_bytes, demand_empty_rest_of_line,
134         ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore),
135         read.h (is_name_beginner, is_part_of_name), config/obj-elf.c
136         (obj_elf_section), config/tc-i386.c (parse_register),
137         config/tc-sparc.c (isoctal, s_proc): Cast char
138         array indices to unsigned char.
139         * app.c (process_escape): Make static.  Add prototype.  Change
140         argument from char to int.
141         * as.c: Include output-file.h for prototypes.  Comment out unused
142         function got_sig.
143         * Makefile.in (as.o): Depend on output-file.h.
144         * as.h (BAD_CASE): Cast val argument to long, and use %ld.
145         (pseudo_typeS): Add prototype to poc_handler field.
146         (print_version_id): Add prototype.
147         (xmalloc, xrealloc): Change size arguments to unsigned long.
148         (do_scrub_next_char): Add prototypes for function arguments.
149         (had_errors, had_warnings, scrub_from_file): Remove duplicate
150         declarations.
151         * atof-generic.c (atof_generic): Make size variables unsigned.
152         * cond.c (ignore_input): Removed unused local variable ptr.
153         * expr.c (floating_constant, integer_constant): Make static.  Add
154         prototypes.
155         * flonum-copy.c (flonum_copy): Make size variables unsigned.
156         * frags.h: Add prototype for frag_init.
157         * hash.h, hash.c: Change hash values from char * to PTR, make hash
158         strings const, make returned error strings const char *.  Added
159         prototypes for functions.
160         * input-file.h, input-file.c (input_file_buffer_size): Return
161         unsigned int.
162         * input-scrub.c (buffer_length): Make unsigned.
163         (input_scrub_push, input_scrub_pop): Make static.
164         * listing.c (list_symbol_table): Cast sprintf argument to unsigned
165         long and use %lx.  Print name of segment rather than address of
166         structure.
167         (listing_list, listing_title): Change argument to int.
168         (listing_eject, listing_flags, listing_psize): Add int argument.
169         * listing.h: Corresponding declaration changes.
170         * obj.h (obj_emit_symbols): Rename prototype argument to avoid
171         shadowing.
172         * read.h: Change get_absolute_expression prototype to return
173         offsetT.  Add prototype for next_char_of_string.  Various
174         prototype changes.
175         * read.c: Remove prototype for next_char_of_string.
176         (pobegin): Make errtxt const.  Make new_length, tmp_len and num
177         unsigned.
178         (s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill,
179         s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument.
180         Change all callers.
181         (s_comm): Change temp from valueT to offsetT.  Cast to long when
182         printing and use %ld (only for error messages anyhow).
183         (s_long, s_int): Remove unused functions.
184         (cons): Change argument to int.
185         (emit_expr): Use %lx when printing longs.
186         (get_absolute_expression): Return offsetT, not long.
187         (get_stab_string_offset): Comment out unless
188         SEPARATE_STAB_SECTIONS.
189         (s_stab_generic): Remove unused offset.  Define seg_is_new only
190         if SEPARATE_STAB_SECTIONS.  Use toP only in local block.
191         * struc-symbol.h (verify_symbol_chain_2): Add prototype.
192         * symbols.c: Remove nested comment.
193         (symbol_new): Rename value to valu.
194         (colon): Use %ld and cast to long in error message.
195         * symbols.h: Remove duplicate verify_symbol_chain declaration.
196         * tc.h: Remove unused md_emit_relocations declaration.
197         (tc_gen_reloc): Add declaration.
198         * write.c (cvt_frag_to_fill): Change first argument name depending
199         on BFD_ASSEMBLER.
200         (write_relocs): Remove unused offset, frags.  Remove tc_gen_reloc
201         declarations.  Make n unsigned.
202         (write_contents): Remove unused i, n, relocs, fixp.  Rename frags
203         to f to avoid shadowing.
204         (write_object_file): Define fragP only if not BFD_ASSEMBLER or not
205         WORKING_DOT_WORD.  Remove unused keep.  Only declare punt and
206         punt_it if they will be used.  Make i and n unsigned.
207         (fixup_segment): Cast to long and use %ld in error message.
208         * xmalloc.c (xmalloc, xrealloc): Make size argument unsigned.
209         * config/obj-aout.h: Remove nested comment.  Add prototype for
210         obj_aout_frob_symbol.
211         (obj_aout_line, obj_aout_desc): Add int argument.
212         * config/obj-ecoff.c: Changed build routines to use an unsigned
213         offset.
214         (add_string): Make len unsigned long.
215         (obj_ecoff_stab): Use %lu in error message.
216         * config/obj-elf.c (obj_elf_common): Comment out unused label
217         allocate_bss.
218         (obj_elf_frob_symbol): Return 0 (currently broken).
219         (obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type,
220         obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common,
221         obj_elf_line, obj_elf_previous): Add int argument.
222         (obj_elf_write_symbol_p): Make static.
223         * config/obj-elf.h (obj_elf_write_symbol): Add prototype.
224         * config/tc-hppa.h: Remove declarations of functions declared in
225         read.h.
226         * config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT.
227         (s_bss): Add int argument.
228         (fits_in_signed_byte, smallest_imm_type): Make argument unsigned.
229         (dummy): Remove unused function.
230         (md_assemble): Rename local o to op to avoid shadowing.
231         (tc_gen_reloc): Rename local reloc to rel to avoid shadowing.
232         * config/tc-m68k.c (s_data1, s_data2): Add int argument.
233         * config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use
234         %ld in error messages.
235         * config/tc-sparc.c: Remove duplicate declarations.
236         (getExpression): Rewrite condition to avoid empty conditional
237         body.
238         (s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int
239         argument.
240
241 Thu Sep  9 17:10:00 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
242
243         Changes from Jeff Law:
244
245         * config/tc-hppa.c (md_assemble): Fix typo.
246         (pa_ip): Delete unused variables and labels.  Do not check for 
247         unsigned values being < 0, it can't happen.
248         (is_same_frag): Return a value in recursive call case.
249         (pa_callinfo): Delete unused variables and labels.
250         (pa_comm): Likewise.
251         (pa_copyright): Likewise.
252         (pa_export): Likewise.
253         (pa_import): Likewise.
254         (pa_param): Likewise.
255         (pa_space): Likewise.
256         (pa_subspace): Likewise.
257
258 Thu Sep  9 15:05:34 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
259
260         * read.c (get_stab_string_offset, s_stab_generic): If
261         BFD_ASSEMBLER, call subseg_set rather than subseg_new.
262
263 Wed Sep  8 15:09:17 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
264
265         * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
266         default flag values.
267
268 Tue Sep  7 10:22:52 1993  Stan Shebs  (shebs@rtl.cygnus.com)
269
270         * read.c: (change_to_section): Don't include body if not MANY_SECTIONS.
271
272         * read.c: (s_stab, s_xstab, s_desc): New functions to parse
273         various stab-related directives.
274         * read.h: (s_stab, s_xstab, s_desc): New function prototypes.
275         * write.c: (merge_data_into_text): Fix ifdef tangle.
276         * config/obj-coffbfd.c (current_stab_symbol): Fake symbol
277         for stab reader to use.
278         * config/obj-coffbfdh.h (obj_symbol_type): Added fields for
279         stab reader, macros to access. 
280
281 Fri Sep  3 16:44:03 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
282
283         * config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type.
284
285         * config/tc-hppa.h (struct default_subspace_dict, struct
286         default_space_dict): Field "sort" is now unsigned char.
287
288         * config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align
289         columns for easier reading.
290         (bcmp, index): Deleted USG-specific definitions.  Should be dealt
291         with in ho-*.h, or in libiberty.  Changed mention of index to
292         strchr.
293         (label_symbolP, label_symbol_defined, callinfo_found,
294         within_entry_exit, exit_processing_complete, within_procedure,
295         pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc,
296         label_symbols_rootP, pa_get_label, pa_label_is_defined,
297         pa_undefine_label): Now static.
298         (movers): Now const, in addition to pointing to const data.
299         * config/tc-hppa.h (label_symbolS_rootP, pa_get_label,
300         pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc):
301         Delete declarations.
302
303         Merged more changes from Jeff Law and Pete Hoogenboom:
304
305         * config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove
306         entries for .stab and .stabstr.
307
308         * config/obj-elf.c: (elf_stab_symbol_string):  Set the
309         SEC_LOAD attribute for the .stabstr section.
310         (obj_elf_stab_generic):  Set the SEC_LOAD attribute for the
311         .stab section.
312         (obj_elf_stab_generic):  Change '#if 1' to '#if 0'.
313         (obj_elf_stab_generic):  Incorrect byte count on call to
314         md_number_to_chars function.
315
316         * config/tc-hppa.c (hppa_tc_symbol): Static functions need
317         argument relocation bits too.
318
319         * config/tc-hppa.c (pa_stringer): Correctly handle escaping
320         characters which should appear unaltered in the output string (for
321         example an escaped double-quote).
322
323         * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always
324         initialize name.
325         (pa_parse_neg_cmpsub_cmpltr): Likewise.
326         (pa_parse_nonneg_add_cmpltr): Likewise.
327         (pa_parse_neg_add_cmpltr): Likewise.
328
329         * config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype
330         for now.
331         (cons_fix_new_hppa): Likewise.
332         * config/tc-hppa.c (md_apply_fix): Fix type of valp to match
333         prototype.
334
335         * config/tc-hppa.c: Include libhppa.h.
336
337         * config/tc-hppa.h: Delete extern declarations of functions 
338         found in libhppa.h.
339
340         * config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef
341         OBJ_ELF conditionals.
342         * config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels
343         on the PA.
344
345 Thu Sep  2 10:43:57 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
346
347         * config/tc-mips.c (macro_build): Accept 'z', and ignore it.
348         (macro): Use "z,s,t" for div instructions to match corresponding
349         change in opcode table.
350         (mips_ip): Added 'z'--must be zero register.
351
352 Wed Sep  1 15:56:42 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
353
354         * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare
355         tc_gen_reloc correctly.
356
357         * configure.in: Use "case" instead of "if" when possible.  Rewrote
358         Makefile editing to reduce work done.  Treat "hppa*" as "hppa".
359
360 Wed Sep  1 12:19:07 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
361
362         * config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for
363           section type of data.  'd' seems to be used for m88k.
364
365 Wed Aug 25 22:33:22 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
366
367         * config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons,
368         s_mips_space): Set insn_label to NULL to avoid changing it at the
369         next .align statement.
370         (append_insn): Don't swap jal with instruction that sets the
371         register that jal sets.
372
373 Wed Aug 25 16:15:57 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
374
375         * configure.in: recognize m88110.
376
377 Wed Aug 25 13:37:46 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
378
379         Merged changes from Pete Hoogenboom and Jeff Law at Utah:
380         * config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should
381         not be on for .hppa_unwind.
382         (md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS.
383         (pa_param): New function to handle .PARAM directives.
384         (pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr
385         functions.  Handle '|' for movb; allow movb,n.
386         (pa_parse_nonneg_cmpsub_cmpltr): Delete old useless
387         version.  Handle cases where no completer exists for
388         comb,n or addb,n.
389         (pa_parse_neg_cmpsub_cmpltr): Handle cases where no 
390         completer exists for comb,n or addb,n.  Make logic
391         mirror that of pa_parse_nonneg_cmpsub_cmpltr.
392         (pa_parse_nonneg_add_cmpltr): Likewise.
393         (pa_parse_neg_add_cmpltr): Likewise.
394         * tc-hppa.h (pa_param): Declare.
395
396 Tue Aug 24 15:41:35 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
397
398         * config/tc-hppa.c (hppa_tc_make_symextn_section): Now static.
399         Added forward declaration.
400
401         Merged changes from Pete Hoogenboom and Jeff Law at Utah:
402
403         * config/obj-elf.c (elf_frob_file): Arguments were incorrect on
404         call to elf_tc_make_sections.
405         (obj_elf_version): A .note section shouldn't have the SEC_ALLOC
406         attribute.
407
408         * config/tc-hppa.c (hppa_tc_make_sections): Add some processing to
409         handle symbol extension sections.
410
411         * config/tc-hppa.c (pa_build_symextn_section): New function to
412         create a symbol extension section.
413         (pa_export_args): Make call to pa_build_symextn_section.
414         (hppa_tc_symbol, hppa_tc_make_sections,
415         hppa_tc_make_symextn_section): New functions.
416         * config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections
417         macros.
418
419         * read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the
420         BFD_ASSEMBLER branch as well.
421
422         * config/tc-hppa.h: If ELF is the target object format, define
423         some ELF- and hppa-specific types and constants.
424
425         * config/tc-hppa.c (getExpression): Fix a typo.
426
427         * read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine
428         if a `=' is part of an instruction.
429         (read_a_source_file): Handle case where end-of-line markers are
430         also used within instructions.
431         * config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define.
432
433         * config/tc-hppa.c (md_apply_fix_1): Keep relocations for
434         out-of-range branches/'calls using "bl" or calls which may need
435         argument relocation stubs.  Do not need/keep relocations for
436         conditional branches.
437         (elf_hppa_final_processing): Fix calculation of function size.
438
439         * config/obj-elf.c (obj_elf_version): Mark .note section as
440         READONLY.
441
442         * config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the
443         address of exp, to expression.
444         (pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on.
445         (md_apply_fix_1): Delete unwanted comments.
446         (process_exit): Symbols marking the end of a function are always
447         BSF_LOCAL.
448
449         * config/tc-hppa.c: Include elf32-hppa.h from BFD tree.
450         (pa_space): Declare and initialize gdb_section.
451
452         * config/obj-elf.c (elf_frob_file): Change
453         elf_tc_final_processing_hook to elf_tc_final_processing.
454
455         * config/tc-hppa.c (fix_new_hppa): Fix argument list to match
456         argument type declarations.
457         (getExpression): Fix typo.
458         (pa_export_args): Change elf_symbol_type to elf32_symbol_type.
459         (elf_hppa_final_processing): Likewise.  Name changed from
460         elf_hppa_final_processing_hook.
461         (start_symbol_root, start_symbol_last): Deleted.
462
463         * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo.
464
465         * config/tc-hppa.h: Replace "symbolS" with "struct symbol" to
466         avoid changing include ordering.
467
468         * config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'.
469
470 Mon Aug 23 12:47:58 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
471
472         * config/tc-mips.c (set_at): Added unsignedp argument.  Use
473         load_register.
474         (set_at_unsigned): Removed; changed callers to use set_at.
475         (load_register): Removed unused ip argument.  Changed callers.
476         (append_insn): Don't swap branch and branch likely.
477         (macro_build): Handle 'u'.
478         (load_register): Handle 64 bit constants.
479         (macro): Added M_DABS, removed M_ABSU.  Numerous changes to
480         support 64 bit constants.
481         (mips_ip): Use hex constants in range checks for clarity.
482         (md_number_to_chars): Support 8 byte values.
483
484 Fri Aug 20 16:50:59 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
485
486         * config/tc-m88k.h: updated copyrights.
487           (TC_CONS_RELOC): declare to be RELOC_32.
488
489 Fri Aug 20 11:16:44 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
490
491         * config/tc-mips.c (mips_isa): New static variable.
492         (md_begin): Initialize mips_isa based on TARGET_CPU.  Don't sanity
493         check macros.  Set text alignment and GP size here.
494         (md_assemble): Don't set text alignment and GP size here.
495         (append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
496         Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S.  Add
497         a NOP after a branch likely.
498         (mips_emit_delays): Don't insert NOPS for load delays if mips_isa
499         >= 2.
500         (macro): Support r6000 and r4000 macros.
501         (mips_ip): Check insn ISA level against mips_isa before using it.
502         Added 'x' case for ignored register.
503         (md_parse_option): Handle -mipsN and -mcpu=XX.
504
505 Fri Aug 20 01:26:52 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
506
507         * config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero".
508
509 Thu Aug 19 12:15:18 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
510
511         * config/tc-sparc.c (s_local): Function moved and renamed...
512         * config/obj-elf.c (obj_elf_local): ...to here.
513         * config/tc-sparc.c (md_pseudo_table), config/obj-elf.c
514         (obj_pseudo_table): Move handling of ".local".
515
516         * tc.h (md_parse_option): Don't declare if defined as a macro.
517
518         * config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as
519         BFD_RELOC_NONE.
520         (md_parse_option): New macro, converted from function.
521         * config/tc-i386.c (md_parse_option): Function deleted.
522         (comment_chars) [OBJ_ELF]: Include "/".
523         (line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
524         (md_assemble): Cast 0xe9 to char explicitly, to avoid compiler
525         warning.
526         (md_assemble, md_estimate_size_before_relax, md_create_long_jump):
527         Call reloc for fix_new type, or use correct enumerator, instead of
528         always using NO_RELOC.
529         (i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
530         tests for valid section.
531         (md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start
532         address.
533         (md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
534         symbol, compensate for location of reloc.
535         (reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define
536         to return zero.
537
538 Wed Aug 18 16:51:29 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
539
540         * config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h.
541         (obj_elf_weak): New function.
542         (obj_pseudo_table): Handle ".weak".
543         (obj_elf_section): If section directive includes a string, ignore
544         it for now.  Accept "progbits" flag.
545         (obj_elf_type): Accept `@' before flag name.
546
547         * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)'
548         condition.
549         (fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather
550         than checking for bfd_com_section directly.
551         (fixup_segment): Simplify range check.
552         (fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition
553         test.
554
555         * symbols.h (S_SET_WEAK): Declare.
556         * symbols.c (S_SET_WEAK): New function.
557         (S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT,
558         it's not a separate flag any more.  Clear BSF_WEAK.
559
560         * read.c (potable): Treat "string" like "asciz".
561
562 Wed Aug 18 15:30:29 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
563
564         * config/tc-mips.c (append_insn): Don't swap branch instructions
565         if .set nobopt or .set volatile.
566         (gp_reference): .lit8 and .lit4 are accessed via the GP register.
567         (macro): Added cases M_LI_S, M_LI_SS.  Fixed M_LI_D and M_LI_DD.
568         (mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
569         * config/obj-ecoff.c: Renamed some variables to avoid shadow
570         warnings.
571
572 Mon Aug 16 14:16:02 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
573
574         * config/obj-coff.h (S_IS_COMMON): add missing backslash
575
576         * configure.in (z8k-*-{coff,sim}): use coffbfd for this target
577
578 Thu Aug 12 11:47:58 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
579
580         * config/tc-mips.c (mips_ip): Suggested by
581         davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
582         names for 'E' and 'G' argument types (coprocessor registers) and
583         don't warn if $1 is used on the coprocessor.
584         (macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
585
586 Mon Aug  9 12:09:14 1993  Doug Evans  (dje@canuck.cygnus.com)
587
588         * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
589         * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
590         BFD_RELOC_16.
591         * config/tc-sparc.h (WORKING_DOT_WORD): Define.
592
593 Mon Aug  9 13:36:22 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
594
595         * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
596         defined or BFD is not.
597         (relax_and_size_all_segments): Declare local variable fragP.
598
599 Fri Aug  6 15:22:53 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
600
601         * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
602         bytes with real values, not zeros.
603
604 Fri Aug  6 10:57:59 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
605
606         * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
607         targets, using ecoff and mips-big.
608
609         * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
610         Johnson): Added case for 'C' for coprocessor instruction codes.
611
612 Thu Aug  5 13:08:56 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
613
614         * config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
615
616         * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
617
618         * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
619         for verifying symbol chain.
620         (merge_data_into_text, relax_and_size_all_segments): New
621         functions, split out from write_object_file.
622
623 Tue Aug  3 15:43:55 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
624
625         * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
626         debug section is new, allocate an extra 12 bytes at its start.  If
627         ".stabs" type is N_SO, fill in filename symbol field of that first
628         entry.  Return early if "goof", to simplify later code slightly.
629         (adjust_stab_sections): New function.
630         (elf_frob_file): Apply adjust_stab_sections to each section.
631
632         * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
633         static.
634         * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
635         * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
636         and "popsection", and call cons for "uaword" and "uahalf".
637
638         * config/obj-elf.c (obj_elf_version): Use English in error
639         messages.
640
641 Tue Aug  3 11:29:06 1993  Ian Lance Taylor  (ian@cygnus.com)
642
643         * config/obj-ecoff.c: Updated for BFD ECOFF changes.  Now gets the
644         swapping routines and external structure sizes via the
645         ecoff_backend information.  No longer includes coff/mips.h.
646
647 Mon Aug  2 17:35:48 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
648
649         * config/obj-ecoff.c (get_tag): Save tag name in permanent memory
650         and in hash_ptr->string.
651
652         * app.c (do_scrub_next_char): Reset state to 0 after .appline if
653         file name is not seen.
654
655 Thu Jul 29 22:21:28 1993  Ian Lance Taylor  (ian@cygnus.com)
656
657         * write.c: Don't use short int in a prototype.
658
659         * expr.c (operand): Make return value simply depend on contents of
660         returned expression.
661
662 Thu Jul 29 18:38:37 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
663
664         * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
665
666 Thu Jul 29 18:38:37 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
667
668         * config/ho-sunos.h: remove some old function decls that conflict
669         w/ ANSI, and which weren't needed anyway
670
671 Wed Jul 28 16:34:55 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
672
673         * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
674         and disabled since it breaks Ian's new symbol-value code.
675
676         * expr.c (integer_constant): Accept more digits if BFD64.
677
678 Wed Jul 28 11:30:05 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
679
680         * config/tc-m68k.c (m68k_ip): If we have a normal constant when we
681         expect a bignum, turn it into a bignum.  Output extra zeroes
682         before a short bignum, rather than after.
683
684 Tue Jul 27 15:54:27 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
685
686         * symbols.c (symbol_new): Conditionalize verify_symbol_chain call
687         on DEBUG_SYMS, not DEBUG.
688         (symbol_remove): Likewise.
689         (symbol_insert): Likewise.
690
691 Tue Jul 27 08:45:05 1993  Ian Lance Taylor  (ian@cygnus.com)
692
693         * config/tc-mips.c (mips_optimize): New static variable.
694         (append_insn): If mips_optimize == 0, always insert NOP
695         instructions.  If mips_optimize < 2, don't swap branches.
696         (md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
697
698 Mon Jul 26 18:02:43 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
699
700         * Makefile.in (clean): if testsuite does not exist, then skip it.
701
702 Fri Jul 23 14:13:25 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
703
704         * config/tc-mips.c (prev_insn_unreordered,
705         prev_prev_insn_unreordered): New static variables.
706         (append_insn): Don't swap branch instruction if
707         prev_prev_insn_unreordered (see comment).
708         (mips_no_prev_insn): Clear the unreordered variables.
709         (s_mipsset): When turning on reordering, set the unreordered
710         variables.
711
712 Fri Jul 23 13:09:44 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
713
714         * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
715         are also magic, and have special default flag settings.
716         (obj_elf_frob_symbol): Since the return value from this function
717         isn't used, don't bother calling obj_elf_write_symbol_p, since it
718         doesn't accomplish anything else.
719
720         * config/tc-sparc.c (md_section_align): Round up section size only
721         for a.out format.
722
723         * symbols.c: Don't define DEBUG by default.
724
725 Thu Jul 22 12:09:41 1993  Ian Lance Taylor  (ian@cygnus.com)
726
727         * write.c (fix_new_exp): Handle a O_uminus expression.
728
729         * expr.c (expr): Don't let absolute_section override
730         undefined_section for the return value.
731
732         * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
733         pseudo-op with a poc_handler field of NULL, ignore it and treat it
734         as an instruction instead.
735         * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
736         poc_handler field.
737
738         * config/tc-h8500.c (md_begin): Use a local variable when
739         initializing md_relax_table to avoid warnings about modifying a
740         supposedly const data structure.
741
742 Thu Jul 22 10:58:51 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
743
744         * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
745         is defined.
746
747 Wed Jul 21 17:32:02 1993  Fred Fish  (fnf@deneb.cygnus.com)
748
749         * configure.in (case ${host}):  Map *-*-sysv4* to gas_host=sysv.
750         * configure.in (case ${generic_target}):  Add i[34]86-*-sysv4*
751         case to set obj_format=elf.  Must go before i386-*-sysv* case that
752         sets obj_format=coffbsd.  Add *-*-sysv4* to *-*-elf and
753         *-*-solaris case, and move to before *-sysv* case that wants to
754         set obj_format to coff.
755         * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
756         'exp->X_op'.
757         * config/tc-i386.c (md_apply_fix):  Fix valp to be 'valueT *' for
758         BFD_ASSEMBLER case.
759
760 Wed Jul 21 12:47:51 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
761
762         * config/obj-aout.c: Include aout/aout64.h.
763         (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
764         symbol, so that BFD doesn't tamper with the type.
765
766         * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
767         up opcodes as pseudo-ops even if they don't start with '.'.
768         * config/tc-m88k.h (NO_PSEUDO_DOT): Define.
769         * config/tc-m88k.c (md_assemble): Removed special pseudo-op
770         handling.
771         (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
772         Output the low 16 bits for RELOC_HI16, not the high 16 bits.
773         * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
774         r_offset field of the reloc to the fixup offset.
775         (fixup_segments): If TC_M88K, don't warn about fixup overflows.
776         * doc/as.texinfo: Minor updates.
777
778 Tue Jul 20 19:28:56 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
779
780         * Extensive changes to permit symbols to contain any expression
781         type and to delay the computation of the expression until the
782         value is actually needed.  This permits setting symbols to values
783         calculated based on object code size.  Expressions were changed to
784         no longer be in a section, to stop the overloading of segment and
785         expression type that previously occurred.
786
787         * as.c (big_section, pass1_section, diff_section, absent_section):
788         Removed.
789         (expr_section): Added (used for dummy symbols which hold
790         intermediate expression values).
791         (perform_an_assembly_pass): Create expr_section, do not create the
792         sections now removed.
793         * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
794         SEG_DIFFERENCE.  Added SEG_EXPR.
795         (SEG_NORMAL): Corresponding changes.
796         * subsegs.c (seg_name, subsegs_begin): Changed accordingly.
797         * write.c (write_object_file): Ditto.
798         * config/obj-aout.c (seg_N_TYPE): Ditto.
799         * config/obj-bout.c (seg_N_TYPE): Ditto.
800         * config/obj-coff.c (seg_N_TYPE): Ditto.
801         * config/obj-coffbfd.c (seg_N_TYPE): Ditto.
802         * config/obj-vms.c (seg_N_TYPE): Ditto.
803
804         * expr.h (operatorT): Moved in from expr.c, added some values.
805         (expressionS): Added X_op field, removed X_seg field; renamed
806         X_subtract_symbol to X_op_symbol.
807         * expr.c: Extensive changes to assign expression types rather than
808         sections and to simplify the parsing.
809         * write.c (fix_new_internal): New static function.
810         (fix_new): Removed sub_symbol argument.
811         (fix_new_exp): New function, takes expression argument.
812         * write.h: Prototype changes for fix_new and fix_new_exp.
813         * cond.c (s_if): Changed accordingly.
814         * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
815         parse_repeat_cons, get_segmented_expression,
816         get_known_segmented_expression, get_absolute_expression): Ditto.
817         * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
818         Ditto.
819         * write.c (write_object_file): Ditto.
820         * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
821         * config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
822         obj_coff_endef, yank_symbols): Ditto.
823         * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
824         * config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
825         print_insn, md_operand): Ditto.
826         * config/tc-h8300.c (parse_exp, colonmod24, check_operand,
827         do_a_fix_imm, build_bytes): Ditto.
828         * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
829         get_specific, check, insert, md_convert_frag): Ditto.
830         * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
831         md_assemble, pa_ip, getExpression, getAbsoluteExpression,
832         evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
833         process_exit): Ditto.
834         * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
835         is_complex): Ditto.
836         * config/tc-i386.c (pe, md_assemble, i386_operand,
837         md_estimate_size_before_relax, md_create_long_jump): Ditto.
838         * config/tc-i860.c (md_assemble, getExpression, print_insn):
839         Ditto.
840         * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
841         get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
842         i960_handle_align): Ditto.
843         * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
844         subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
845         md_estimate_size_before_relax, md_create_long_jump, get_num):
846         Ditto.
847         * config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
848         md_create_short_jump, md_create_long_jump): Ditto.
849         * config/tc-mips.c (md_assemble, append_insn, gp_reference,
850         macro_build, macro, my_getExpression): Ditto.  Also removed
851         get_optional_absolute_expression; just use get_absolute_expression
852         instead.
853         * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
854         fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
855         * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
856         * config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
857         Ditto.
858         * config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
859         print_insn): Ditto.
860         * config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
861         tip_op, md_assemble): Ditto.
862         * config/tc-vax.c (seg_of_operand, md_assemble,
863         md_estimate_size_before_relax, md_create_long_jump): Ditto.
864         * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
865
866 Tue Jul 20 12:17:16 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
867
868         * configure.in: i386-lynx is the same as i386-coff
869
870 Mon Jul 19 15:21:20 1993  Ken Raeburn  (raeburn@rtl.cygnus.com)
871
872         * config/obj-elf.c (obj_elf_previous): New function.
873         (previous_section, previous_subsection): New vars.
874         (obj_elf_section): Save current place in case DWARF code wants us
875         to pop back to it.  Handle unquoted section name as well as quoted
876         section name.  Don't crash on invalid strings.
877         (obj_pseudo_table): Handle new pseudos "previous", "2byte", and
878         "4byte".
879
880         * config/obj-elf.h: Don't include struc-symbol.h.
881         (obj_elf_frob_symbol): Declare arg as struct symbol *.
882
883         * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
884         "L" or "_.L_".
885
886         * write.c (write_relocs): New function, split off from
887         write_contents.  Use memset instead of bzero.
888         (write_object_file): Apply write_relocs to each section before
889         applying write_contents.
890
891         * read.c (read_begin): Call obstack_begin with values closer to 1K
892         multiples.
893         (read_a_source_file, big_cons, float_cons): Use memcpy instead of
894         bcopy.
895
896 Mon Jul 19 14:30:00 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
897
898         * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
899         calculating opP->isiz; this permits the expression size to be
900         determined as well, later on.
901
902         * expr.c (clean_up_expression): Don't cancel the subtraction of
903         undefined symbols.
904
905         * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
906         switch to text section rather than data section.
907
908 Mon Jul 19 12:35:39 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
909
910         * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
911         expression (to take the pc-rel instruction itself into account)
912         before using the expression, instead of after.
913
914 Fri Jul 16 08:56:04 1993  Ian Lance Taylor  (ian@cygnus.com)
915
916         * read.c (float_cons): Simplified parsing logic.  If
917         REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
918
919         * symbols.c (colon): Rather than a special case for TC_HPPA,
920         use new macro tc_frob_label.
921         * config/tc-hppa.h (tc_frob_label): Define.
922
923         * config/tc-mips.c: Many changes to support simple assembler
924         optimization.
925         (insn_label, prev_insn, prev_prev_insn, dummy_opcode,
926         prev_insn_valid, prev_insn_frag, prev_insn_where,
927         prev_insn_fixp, prev_insn_is_delay_slot): New static
928         variables.
929         (insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
930         mips_align, s_stringer, s_mips_space): New static functions.
931         (mips_define_label): New global function.
932         (md_pseudo_table): For "ascii", "asciz", "asciiz", call
933         s_stringer.  Changed argument to float_cons from 0 or 1 to 'f'
934         or 'd'.  For "space" call s_mips_space.
935         (md_begin): Call mips_no_prev_insn.
936         (append_insn): Only insert necessary NOP instructions.
937         (macro): Call mips_emit_delays before setting mips_noreorder.
938         Increment and decrement mips_noreorder rather than using
939         save_reorder_condition.  Don't bother to use noreorder in
940         M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
941         (md_atof): Handle floating point numbers correctly for both
942         big and little endian targets.
943         (s_align, s_cons): Call mips_align rather than frag_align.
944         (s_change_seg, s_cons): Call mips_emit_delays.
945         (s_float_cons): Let float_cons do the work.
946         (s_mipsset): Call mips_emit_delays when setting noreorder.
947         * config/tc-mips.h (tc_frob_label): Define to be
948         mips_define_label.
949
950         * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
951         ecoff_frob_files): Consistently use S_GET_VALUE rather than
952         bfd_asymbol_value.  Warn if taking difference of symbols in
953         different segments.
954
955 Thu Jul 15 11:51:03 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
956
957         * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
958         with a warning.
959
960         * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
961         by md_pcrel_from if we are relocating against a symbol (we still
962         need md_pcrel_from for a PC relative relocation within the same
963         file).
964         * config/tc-m88k.c (md_pcrel_from): Corrected return value.
965         (omagic): Removed unused variable.
966
967         * Preliminary support for m88k-coff.
968         * configure.in (m88k-*-coff*): New target.  Use coffbfd and
969         m88kcoff.
970         * config/m88kcoff.mt: New file.
971         * read.c (lex_type): New macro LEX_AT to set lex type of '@'.
972         (pseudo_set): Handle difference of symbols in different fragments
973         by saving the entire expression as the value of the symbol.
974         * symbols.c (resolve_symbol_value): Resolve difference
975         expressions.
976         * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
977         "sdef" as a synonym for "def".
978         * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
979         TARGET_FORMAT.
980         (S_IS_LOCAL): Any symbol which includes \001 in the name is local.
981         * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
982         m88k port up to date, and to add COFF support.
983
984 Wed Jul 14 15:09:32 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
985
986         * Removed sy_forward and replaced it with an undefined expression
987         as the value of a symbol.
988         * struc-symbol.h (struct symbol): Removed sy_forward field.  Added
989         sy_resolved and sy_resolving single bit fields.
990         * symbols.c (symbol_new): Don't initialize sy_forward field.
991         (resolve_symbol_value): New function to adjust symbol value by
992         fragment address, using recursion to resolve forward symbols.
993         * symbols.h: Added prototype for new function.
994         * read.c (pseudo_set): Set symbolP->sy_value to an undefined
995         expression rather than setting symbolP->sy_forward.
996         * write.c (write_object_file): Use resolve_symbol_value on
997         symbols, keeping the common case (the old behaviour) inline.
998         * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
999         handling (subsumed by write.c change).
1000         * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
1001         sy_value rather than sy_forward.
1002         * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
1003         expression segment rather than sy_forward.
1004         (yank_symbols): Use resolve_symbol_value.
1005         (crawl_symbols): Removed extra pass over symbols.
1006         * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
1007         config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
1008         symbols which handled sy_forward; use resolve_symbol_value
1009         instead.
1010         * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
1011         Define.
1012         * config/obj-elf.c (obj_elf_stab_generic): Check expression
1013         segment rather than sy_forward.
1014         * config/obj-vms.c (VMS_Check_For_Main): Don't initialize
1015         sy_forward; do initialize sy_resolved and sy_resolving.
1016         * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
1017
1018         * Changes to keep a full expression as the value of a symbol, not
1019         just a longword:
1020         * struc-symbol.h: New field sy_value.
1021         * as.h: Include expr.h before struc-symbol.h.
1022         * expr.h: Use struct symbol rather than symbolS.
1023         * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
1024         of sy_value field; compile unconditionally, not just if
1025         BFD_ASSEMBLER.
1026         * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
1027         * write.c (write_object_file): Set BFD symbol value to gas symbol
1028         value.
1029         * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
1030         config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
1031         (S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
1032         * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
1033         * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
1034         S_GET_VALUE rather than ost_entry.n_value.
1035         * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
1036         (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
1037         config/obj-coffbfd.c (symbol_to_chars): Get value to write out
1038         using S_GET_VALUE--don't assume it is already set.
1039         * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
1040         symbol value.
1041         * config/obj-vms.c (various): Don't assign directly to
1042         S_GET_VALUE; use S_SET_VALUE instead.
1043
1044 Wed Jul 14 09:35:23 1993  Doug Evans  (dje@canuck.cygnus.com)
1045
1046         * configure.in: Recognize h8300h.
1047
1048 Tue Jul 13 12:09:44 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
1049
1050         * config/tc-h8500.c (line_comment_chars): Add hash.
1051         (parse_exp, skip_colonthing, build_bytes): Add support for
1052         R_H8500_HIGH16 relocation type.
1053
1054 Mon Jul 12 11:15:34 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
1055
1056         * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
1057         attribute name.  Handle `execinstr' attribute.
1058
1059 Mon Jul 12 07:22:28 1993  Ian Lance Taylor  (ian@cygnus.com)
1060
1061         * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
1062         there is another alternative for the instruction.
1063
1064 Fri Jul  9 17:31:34 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
1065
1066         * doc/as.texinfo: updates for H8/300H
1067
1068 Thu Jul  8 14:41:43 1993  Mark Eichin  (eichin@cygnus.com)
1069
1070         * config/tc-i960.c (md_create_short_jump, md_create_long_jump,
1071         md_number_to_chars, md_section_align): Adjusted to use valueT,
1072         addressT, to match tc.h.
1073
1074 Thu Jul  8 14:15:05 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1075
1076         * config/tc-sparc.c (s_common): Revamp to handle both syntaxes,
1077         independent of format.
1078
1079 Thu Jul  8 07:25:25 1993  Doug Evans  (dje@canuck.cygnus.com)
1080
1081         * config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h.
1082
1083 Wed Jul  7 18:11:07 1993  david d `zoo' zuhn  (zoo at rtl.cygnus.com)
1084
1085         * configure.in: define CROSS=-DCROSS_COMPILE if it is a cross
1086         build; also recognize h8300-*-coff
1087
1088 Wed Jul  7 10:21:24 1993  Ian Lance Taylor  (ian@cygnus.com)
1089
1090         * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
1091         core just because somebody uses a label before it is defined.
1092
1093         * config/mips-opcode.h: Moved to opcode/mips.h.
1094         * config/tc-mips.c: Include opcode/mips.h rather than
1095         mips-opcode.h.
1096         (append_insn): An extra NOP is only needed after instructions
1097         which set HI or LO, not after instructions which read it.
1098         (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
1099         (macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
1100         * config/tc-mips.h (struct mips_opcode): Don't define.
1101         * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
1102         Set to $(srcdir)/../include/opcode/mips.h.
1103
1104         Get the MIPS assembler up to speed with other gas changes:
1105
1106         * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
1107         Removed; don't change the symbol value.
1108         (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
1109         bfd_asymbol_value rather than S_GET_VALUE to include section
1110         vma in symbol value.
1111         (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
1112         doesn't output them.  Set the vma of sections.
1113         * config/obj-ecoff.h: Don't define obj_frob_symbol.
1114         * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
1115         longer necessary.
1116         (various): use valueT rather than long.
1117
1118 Wed Jul  7 08:33:30 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1119
1120         * as.h (valueT): Typedef moved here.
1121         * struc-symbol.h (valueT): ...from here.
1122         * write.c (write_object_file): Locals from_addr, to_addr,
1123         table_addr are now addressT.  Supply prototype for bfd_alloc for
1124         now.
1125         (fixup_segment): Local add_number is now valueT.  Correct some
1126         range-checking bugs.
1127         (relax_align): Type `int' should be sufficient for the exponent.
1128         (fix_new): Argument offset is type offsetT.  Locals size and
1129         newsize are type valueT.
1130         * write.h (struct fix): Fields fx_offset and fx_addnumber are now
1131         type valueT.
1132         (fix_new): Fix prototype.
1133         * symbols.c (symbol_new): Symbol value is type valueT.
1134         (S_SET_VALUE, S_GET_VALUE): Likewise.
1135         (S_IS_*): Specify int return type explicitly.
1136         * symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed
1137         prototypes.
1138         * read.c (s_comm): Values read are type valueT.
1139         * expr.h (expressionS): Field X_add_number is an offsetT.
1140         * tc.h (md_create_long_jump, md_create_short_jump,
1141         md_section_align): Addresses are now type addressT.
1142         (md_number_to_chars, md_apply_fix): Pass value as valueT.
1143         * config/tc-i386.c (md_create_short_jump, md_create_long_jump,
1144         md_number_to_chars, md_section_align): Adjusted.
1145         * config/tc-sparc.c (sparc_ip): Initialize `len' variable to make
1146         gcc shut up.
1147         (md_create_short_jump, md_create_long_jump, md_number_to_chars,
1148         md_section_align): Adjusted.
1149
1150         * config/tc-sparc.c (s_reserve): Permit use for other than a.out
1151         format.
1152         (s_common): Handle Solaris-2 version.
1153
1154         * config/ho-generic.h (free): Returns void if __STDC__.
1155
1156         * config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file,
1157         elf_file_symbol): Declare.
1158
1159         * expr.c (floating_constant, integer_constant): Now return void.
1160
1161 Thu Jul  1 12:13:43 1993  Ian Lance Taylor  (ian@cygnus.com)
1162
1163         * configure.in: Match on sparc*-fujitsu-none rather than
1164         sparclite*-fujitsu-none.
1165
1166 Wed Jun 30 11:12:02 1993  Ian Lance Taylor  (ian@cygnus.com)
1167
1168         * read.c (cons): Conditionalize parsing of expression.  Move
1169         putting value into object file into separate function.  Separate
1170         out MRI and WANT_BITFIELDS cases into separate functions.
1171         (emit_expr): New function to write data into object file.
1172         Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
1173         processor types.
1174         (parse_bitfield_cons): New function to parse bitfield expressions
1175         as used by i960 assemblers.  Only compiled if
1176         BITFIELD_CONS_EXPRESSIONS is defined.
1177         (parse_mri_cons): New function to parse MRI style strings.  Only
1178         compiled if MRI is defined.
1179         (parse_repeat_cons): New function to parse repeat counts.  Only
1180         compiled if REPEAT_CONS_EXPRESSIONS is defined.
1181         * read.h (emit_expr): Added declaration of new function.
1182         * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
1183         * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
1184         * config/tc-hppa.c (parse_cons_expression_hppa): New function to
1185         parse a HPPA expression, rather than special case in cons
1186         function.
1187         (cons_fix_new_hppa): New function to emit an HPPA fixup, rather
1188         than special case in emit_expr function.
1189         * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
1190         Define to use new functions from tc-hppa.c.
1191         * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
1192         (WANT_BITFIELDS): Removed; now obsolete.
1193         * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
1194         * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
1195         NS32K fixup, rather than special case in emit_expr function.
1196         * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
1197         cons_fix_new_ns32k.  Also use PARAMS rather than checking
1198         __STDC__.
1199         * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.
1200
1201         * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
1202         Don't core dump if gas has no information about a section.
1203
1204 Wed Jun 30 06:21:27 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1205
1206         * write.c (relax_and_size_seg): Always fully process a section.
1207         Section size is last frag's (vm)address plus its size.  If no
1208         relocations are present, force SEC_RELOC flag clear.
1209         (dump_section_relocs): New debugging routine.
1210         (adjust_reloc_syms): New routine, broken out from write_contents.
1211         Don't adjust relocs that are already relative to section symbol.
1212         Look for obj_fix_adjustable macro to know what else to skip,
1213         instead of obj_write_symbol.  Look for section symbol stored in
1214         section information.
1215         (write_object_file): Map adjust_reloc_syms over all sections.
1216         (write_contents): Clear SEC_RELOC flag if no relocations are
1217         found.
1218
1219         * as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to
1220         keep it quiet.
1221
1222         * write.c (remove_subsegs): Don't define for BFD_ASSEMBLER.
1223
1224 Fri Jun 25 14:42:53 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
1225
1226         * Makefile.in (all, dvi, info, install-info, clean-info): do not
1227           echo recursion lines.
1228           (install-info, clean-info): collapse into the dvi and info rule.
1229
1230 Fri Jun 25 03:43:06 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
1231
1232         * as.h (strstr): Disable declaration for now.
1233         (fprint_value, sprint_value): Declare.
1234
1235         * subsegs.c (subseg_new_rest): Use memset to clear new frag.
1236         (subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields.
1237
1238         * expr.c (expr_part): Made sanity checks a.out-specific.
1239         (expr): Disabled sanity checks.
1240
1241         * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for
1242         section symbol.
1243         * subsegs.c (subseg_change): Initialize section symbol pointer
1244         when setting up a new section.
1245
1246         * symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata
1247         field back at gas symbol structure.
1248
1249         * symbols.c (colon): Cast obstack_next_free value to char* before
1250         doing arithmetic on it.
1251         * subsegs.c (subseg_new_rest): Likewise.
1252         * as.h (frag_now_fix): Likewise.
1253
1254         * config/obj-elf.c (elf_file_symbol): Use subseg_new instead of
1255         calling bfd_make_section_old_way directly, and call subseg_set
1256         instead of subseg_change.  Now returns void.
1257         (obj_elf_write_symbol): Only check local symbols for now.
1258         (elf_stab_symbol): Now static and void, and disabled until it
1259         works completely.
1260         (obj_elf_size): For expression values, fail silently for now.
1261         (obj_symbol_new_hook): Do nothing.
1262
1263         * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22
1264         relocation.
1265         (s_local) [OBJ_ELF]: New function.
1266         (md_pseudo_table) [OBJ_ELF]: Call it for "local".
1267         (s_common): Rearrange to handle Solaris .common pseudo, which may
1268         sometimes use bss space instead of common.
1269         * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field.
1270
1271 Thu Jun 24 16:33:53 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
1272
1273         * configure.in: set host config to hpux for hppa*-hp-hpux
1274
1275 Thu Jun 24 13:35:06 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
1276
1277         * app.c (app_pop, app_push): Fix bug reported by Chris Arthur.
1278
1279 Tue Jun 22 01:04:23 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
1280
1281         * subsegs.c (subseg_new): Don't special-case a.out -R flag here.
1282         * config/obj-aout.c (s_sect): Do it here.
1283
1284         * as.h (BAD_CASE): Don't make some lame compilers think we want
1285         substitution inside strings.
1286
1287         * as.c (print_version_id): New function, split off from main.
1288         (main): Call it.
1289         * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id
1290         for -V.  Ignore -Q and -s options for now.
1291
1292 Mon Jun 21 17:37:59 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
1293
1294         * Makefile.in: make installation & builds work again for crosses
1295
1296 Sun Jun 20 18:18:26 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
1297
1298         * listing.c (list_symbol_table): Rewrite to print wide (>32 bits)
1299         symbol values correctly.
1300
1301         * write.c (write_object_file): Deleted unused variables.
1302         (fixup_segment): Use sprint_value.
1303
1304         * messages.c (sprint_value, fprint_value): New routines.
1305
1306         * config/obj-elf.c (elf_stab_symbol): Now returns void.
1307         (obj_elf_stab_generic): Fix typo in logic.
1308
1309         * Makefile.in (INCLUDES): Look in ../bfd for bfd.h.
1310
1311         * as.h (addressT, offsetT): New types, using BFD types if
1312         available.
1313         (relax_addressT, struct frag): Use them.
1314         * struc-symbol.h (valueT, struct broken_word): Likewise.
1315
1316         * as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
1317         * subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
1318
1319 Thu Jun 17 16:53:56 1993  david d `zoo' zuhn (zoo@cygnus.com)
1320         
1321         * Makefile.in: canonicalize install.sh; for use within
1322         this directory (and subdirs)
1323
1324 Sun Jun 20 02:34:04 1993  Ashley Saulsbury (ans@sics.se)
1325
1326         * m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
1327         specified, should have both S1 and S2 fields identical
1328         If only finding the problem was as fast as fixing the bug !!!!
1329
1330 Tue Jun 15 16:01:57 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1331
1332         * write.c (write_contents): Do write out non-loadable sections.
1333         Debug sections can fall in this category.
1334
1335         * read.c (s_app_file): Call elf_file_symbol for ELF files.
1336         * config/obj-elf.c (elf_file_symbol): New function.
1337
1338         * config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_...,
1339         added argument to specify section base name.
1340         (obj_elf_stab_generic): Renamed from ..._stab.  New argument
1341         specifies section base name.
1342         (obj_elf_stab): New function, calls obj_elf_stab_generic with
1343         ".stab" as section base name.
1344         (obj_elf_xstab): New function, calls obj_elf_stab_generic.
1345         (obj_elf_type): Handle "object".  Use bitwise-or to merge in
1346         symbol flags rather than simply replacing, so global/local flags
1347         are preserved.
1348         (obj_elf_ident): Rewrite.
1349
1350 Tue Jun 15 17:03:25 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
1351
1352         * Makefile.in: remove parentdir support; use INSTALL_XFORM
1353
1354 Wed Jun  9 11:26:07 1993  Ian Lance Taylor  (ian@cygnus.com)
1355
1356         * config/tc-i386.c (md_pseudo_table): .align uses a power of two
1357         for any a.out target, not just Linux and 386BSD.
1358         * config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out
1359         target.
1360
1361 Mon Jun  7 13:33:19 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1362
1363         * config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h.  They
1364         don't exist or duplicate other inclusions.
1365
1366         * config/tc-vax.h (NO_RELOC): Define.
1367
1368 Sat Jun  5 19:32:52 1993  Torbjorn Granlund  (tege@nada.kth.se)
1369
1370         * gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions.
1371         * gas/config/tc-m88k.c (get_reg): New arg reg_prefix.  Compare first
1372         char to reg_prefix instead of to 'r'.
1373         (calcop): Change calls to get_reg.
1374         (calcop): Handle new case 'x' to set reg_prefix.
1375         (calcop): Set reg_prefix to 'r' after each call to get_reg.
1376         (cmpslot): Add 88110 conditions.
1377
1378         * gas/config/m88k-opcode.h: Swap cases for "rot" for consistency.
1379
1380         * gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer
1381         before returning.
1382
1383         * gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics
1384         adjacent; mov.s and mov.d swapped.
1385         (m88k_opcodes): Fix typo `r2' -> `2'.
1386
1387 Fri Jun  4 15:59:31 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
1388
1389         * config/h8300.c: Support for H8/300-H opcodes.
1390
1391         * config/obj-coffbfd.c (w_strings): String table length is 4
1392         bytes, no matter what the host int size is.
1393
1394         * configure.in (alpha-*-osf*): New.
1395
1396 Fri Jun  4 07:51:18 1993  Ian Lance Taylor  (ian@cygnus.com)
1397
1398         * configure.in (mips-*-ecoffl*): New target; use ecoff and
1399         mips-lit.
1400         (mips-*-ecoff*): Added trailing '*'.
1401
1402         * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
1403         first FDR in a file to be zero.
1404
1405 Thu Jun  3 14:09:59 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1406
1407         * Makefile.in (VERSION): Jump to 2.1.4.
1408
1409         * config/ho-hppabsd.h: New file, from Peter Hoogenboom.
1410
1411         * config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for
1412         ECOFF format.
1413
1414 Tue Jun  1 15:21:57 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1415
1416         * config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a
1417         separate '851 mmu.
1418
1419         * config/obj-elf.c, config/obj-elf.h: Update for new type, macro,
1420         and routine names.  Assuming 32 bits for now.
1421
1422         * config/obj-elf.c (elf_frob_file): Look for macro
1423         elf_tc_final_processing_hook, instead of assuming a function
1424         always exists.
1425         * config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from
1426         tc_final_processing_hook.
1427         * config/tc-hppa.h (elf_tc_final_processing_hook): Use it.
1428
1429         * config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros
1430         moved here from obj-elf.h.
1431         * config/obj-elf.h: Don't include CPU-specific header files.
1432
1433 Sun May 30 16:49:37 1993  Peter Hoogenboom  (hoogen@fast.cs.utah.edu)
1434
1435         * configure.in: configurations should match on 'hppa*' not 'hppa'.
1436
1437         * read.c: Add support for HPPA assembly language syntax (denoted
1438         with '#ifdef TC_HPPA').
1439
1440         * symbols.c: Add support for HPPA assembly language syntax (denoted
1441         with '#ifdef TC_HPPA').
1442
1443         * write.c (write_contents):  Add support for HPPA-style
1444         relocations.
1445
1446         * config/obj-elf.c: Stab symbols weren't written properly.
1447         (obj_elf_version):
1448         (obj_elf_desc):
1449         (obj_elf_write_symbol):
1450         (obj_elf_write_symbol_p):
1451         (obj_elf_frob_symbol):
1452         (elf_stab_symbol):
1453         (elf_frob_file):
1454
1455         * config/tc-hppa.c: Support for HPPA symbol extension sections.
1456         Remove some unused code.  Support for HPPA assembly language
1457         syntax.
1458
1459         * app.c:
1460
1461         * symbols.c:
1462
1463         * config/obj-elf.h:
1464         (obj_write_symbol):
1465         (obj_frob_file):
1466         (elf_tc_symbol):
1467         (elf_tc_make_sections):
1468
1469         * config/tc-hppa.h:
1470
1471 Sun May 30 21:44:45 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
1472
1473         * config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume
1474         hash_new will have succeeded if it returns.
1475         * config/tc-a29k.c (md_begin): Likewise.
1476
1477         * config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is
1478         const.
1479         (mode_from_disp_size, opcode_suffic_to_type): Now inline under
1480         gcc.
1481         (fits_in_{signed,unsigned}_{byte,word}): Likewise.
1482
1483         * expr.c: Delete register declarations; gcc ignores them anyways.
1484
1485 Fri May 28 19:03:32 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1486
1487         * hash.c (hash_new): Use xmalloc, since many callers don't check
1488         for failure.
1489
1490 Thu May 27 13:02:15 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1491
1492         * frags.c (zero_address_frag, bss_address_frag): These are
1493         external.
1494
1495         * tc.h (md_reloc_size): This is const.
1496         * config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c
1497         (md_reloc_size): Now const.
1498
1499         * config/aout_gnu.h (enum machine_type, enum reloc_type): Delete
1500         trailing commas.
1501         * as.h (enum _segT): Ditto.
1502
1503         * struc-symbol.h (N_TYPE_seg): This should be const.
1504
1505 Thu May 27 11:43:59 1993  Michael Meissner  (meissner@osf.org)
1506
1507         * config/obj-ecoff.c (add_file): Cast file_name to char * in
1508         listing_source_file call.
1509
1510         * config/obj-elf.c (elf_stab_symbol_string): Cast first argument
1511         of subseg_new call to eliminate const attribute.
1512         (obj_elf_stab): Ditto.
1513         (obj_symbol_new_hook): Cast first argument of bzero call to char *.
1514
1515         * read.c (s_align_bytes): Properly record alignment.
1516
1517         * expr.c (__): Undefine __ macro before use, since OSF/1 uses it
1518         for the prototype/no prototype macro.
1519
1520         * as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be
1521         void.
1522
1523         * as.h (relax_stateT enum): Delete trailing comma.
1524
1525 Thu May 27 11:07:50 1993  Ian Lance Taylor  (ian@cygnus.com)
1526
1527         * app.c (do_scrub_begin): Let line_comment_chars override
1528         comment_chars.
1529         (do_scrub_next_char): If a line comment character is not at the
1530         start of a line, treat it as a comment character if it is one.
1531         For a CPP line comment use pseudo-op .appline rather than .line.
1532         * input-scrub.c (logical_input_line): Make int rather than
1533         unsigned.
1534         (input_scrub_push, input_scrub_begin): Initialize
1535         logical_input_line to -1 rather than 0.
1536         (bump_line_counters): Increment logical_input_line.
1537         (new_logical_line): If line_number is -2, decrement
1538         logical_input_line.
1539         (as_where): Use logical_input_line even if it is 0.
1540         * read.h (s_app_file prototype): Now takes an int argument.
1541         * read.c (potable): Make .appfile call s_app_file with 1.  New
1542         .appline pseudo-op calls s_app_line.
1543         (s_app_file): If .appfile, call new_logical_line with -2 to
1544         account for newline inserted by do_scrub_next_char.  If listing,
1545         call listing_source_file.
1546         (s_app_line): New function to handle fake pseudo-op .appline.
1547         * config/obj-coff.c (obj_pseudo_table): Make .appline call
1548         obj_coff_ln.
1549         (obj_coff_ln): Added argument to indicate whether .appline.
1550         * config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
1551         obj_coff_ln.
1552         (obj_coff_ln): Added argument to indicate whether .appline.
1553         * config/tc-mips.c (s_file): Pass argument to s_app_file.
1554
1555 Tue May 25 11:59:07 1993  Ian Lance Taylor  (ian@cygnus.com)
1556
1557         * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast.
1558
1559 Thu May 20 19:14:24 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1560
1561         * config/tc-m68k.c (md_apply_fix_2): Straighten out check for
1562         invalid values.
1563
1564 Wed May 19 07:33:17 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
1565
1566         * config/tc-h5000.c (build_bytes): Understand @rd mode and build
1567         relocations correctly.
1568
1569 Mon May 17 15:06:26 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
1570
1571         * Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because
1572         it's wrong.
1573
1574         * config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn
1575         if value is out of range.
1576
1577         Patch from Minh Tran-Le:
1578         * config/tc-i386.c (i386_operand): For in/out port register used
1579         as base reg, include InOutPortReg in operand type.
1580         (MATCH): Accept overlap value of InOutPortReg.
1581
1582 Mon May 17 09:29:34 1993  Ian Lance Taylor  (ian@cygnus.com)
1583
1584         * config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab):
1585         Add calls to listing routines to produce combined source/assembler
1586         listings.
1587         (obj_ecoff_stab): Create a file pointer if none used yet.
1588         (ecoff_frob_file): Set symcount to correct value.
1589
1590 Fri May 14 06:53:33 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
1591
1592         * Makefile.in (VERSION): Bump to version 2.1, in preparation for
1593         release.
1594
1595         * config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE):
1596         Define in terms of constants, not C structure sizes.
1597
1598         * config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files.
1599
1600 Thu May 13 17:01:55 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1601
1602         * config/obj-aout.c (obj_header_append): Don't define if it's
1603         defined as a macro.
1604         * config/obj-hp300.h (obj_header_append): Define it as a macro.
1605         * config/obj-hp300.c (hp300_header_append): New function.
1606
1607         * Makefile.in (distclean): Don't bother cleaning up doc files;
1608         they aren't going to be in this directory.
1609
1610 Thu May 13 07:51:35 1993  Ian Lance Taylor  (ian@cygnus.com)
1611
1612         * config/obj-ecoff.c (ecoff_build_symbols): Handle absolute
1613         symbols.
1614
1615         * tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
1616         * config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
1617
1618 Mon May 10 06:01:12 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
1619
1620         * config/obj-vms.c (VMS_Symbol_type_list): Don't bother with
1621         initialization.
1622
1623         * configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff.
1624
1625 Wed May  5 14:00:49 1993  Ian Lance Taylor  (ian@cygnus.com)
1626
1627         * config/tc-mips.c (macro): Correct floating point double word
1628         loads and stores for big endian target.
1629
1630 Wed May  5 08:39:21 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
1631
1632         * config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_*
1633         calls.  Deleted some unused code.
1634         * config/obj-coff.c: Likewise.
1635
1636         ELF support, mostly contributed by Utah:
1637         * config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line,
1638         obj_elf_type): Rewrite.
1639         (obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol,
1640         obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size):
1641         New functions.
1642         (obj_elf_ident): Dummy.
1643         * config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol,
1644         TARGET_SYMBOL_FIELDS): New macros.
1645         (gdb_section): New variable decl.
1646
1647         * config/tc-i386.c (md_atof): Return zero, not empty string, on
1648         success.
1649
1650         BFD_ASSEMBLER conditional changes:
1651         * config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header):
1652         Don't define these.
1653         (SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions.
1654         (fetch_coff_debug_section): Ditto.
1655         (obj_coff_endef): Call fetch_coff_debug_section.
1656         (struct line_no): New type.
1657         (c_symbol_merge): New way for copying aux fields.
1658         (c_dot_file_symbol): Put symbol in absolute section, and set flag
1659         BSF_DEBUGGING.
1660         (function_lineoff): New symbol.
1661         (function_lineoff, text_lineno_number, our_lineno_number,
1662         lineno_lastP): Don't define.
1663         (c_line_new): Don't define.
1664         (obj_emit_lineno, obj_coff_endef): Use abort calls as, uh,
1665         placeholders, until
1666         line-number recording gets implemented.
1667         (obj_new_symbol_hook): New code for handling aux fields.
1668         (add_lineno, add_linesym): New functions.
1669         (obj_coff_ln): Call add_lineno, not c_line_new.
1670         (obj_coff_endef): New code for handling symbol names.  New lineno
1671         code.  Look for section name "*DEBUG*" for debugging section.
1672         (align, coff_check_file_symbols, obj_coff_section,
1673         coff_frob_file): New functions.
1674         * config/obj-coff.h: Reordered some includes.
1675         (BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg,
1676         DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't
1677         define these.
1678         (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros.
1679         (SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing
1680         aux entries.  Most SA_* macros now use it unconditionally.
1681         (S_*): Use `bsym' field, and access BFD private data.
1682         (SF_*): Use `sy_flags' symbol field for most of these.
1683         (H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't
1684         define.
1685         (*_section_header): Don't define.
1686         * config/tc-i386.c (md_convert_frag, md_apply_fix): Changed
1687         interface.
1688         (tc_gen_reloc) [I386COFF]: New function.
1689         (tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define.
1690         * config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New
1691         macros.
1692
1693         * config/obj-coff.c (stack_init): Don't do assignments inside
1694         conditions.
1695         (obj_coff_def): Simplified handling of symbol name a bit.
1696         (tag_insert): Name argument is now pointer to CONST.
1697         (obj_crawl_symbol_chain): Commented out.
1698
1699         * config/obj-coff.h: Use PARAMS macro in prototypes.
1700
1701         * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect
1702         through frchainP pointer if it is null.
1703
1704         * configure.in: Warn if BFD mode is explicitly turned off but is
1705         required by specified target.
1706         (mips ecoff targets): Don't need to set bfd_gas here; it gets
1707         taken care of later.
1708
1709         * config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward
1710         field.
1711         (yank_symbols): Merge symbols only if sy_forward is null.
1712
1713         * config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already
1714         defined.
1715
1716         * tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not
1717         pointer.
1718         * config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto.
1719
1720         * config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting
1721         with "." is a local label.
1722
1723         * config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config
1724         files.
1725
1726         * config/te-linux.h, config/te-386bsd.h: New config files.
1727         * configure.in (i386-*-linux, i386-*-bsd): Use them.
1728         * config/tc-i386.h (TARGET_FORMAT): Select format based on target
1729         environment.
1730         (DOT_LABEL_PREFIX): Don't define for 386bsd or Linux.
1731
1732 Wed May  5 13:14:01 1993  Ian Lance Taylor  (ian@cygnus.com)
1733
1734         * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
1735         to want it that way.
1736         (ecoff_build_symbols): Turn local st_Proc symbols into
1737         st_StaticProc symbols.  Set index field of external st_Proc and
1738         st_staticProc symbols correctly.
1739         * config/tc-mips.h (NO_LISTING): Don't define.  People might want
1740         listings.
1741
1742 Tue May  4 21:22:54 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1743
1744         * config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New
1745         files.
1746         * configure.in (m68k-*-hpux): Use them.
1747
1748         * config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if
1749         defined, otherwise zero.
1750
1751         * config/aout_gnu.h (OMAGIC): Don't define if already defined.
1752
1753 Mon May  3 15:59:32 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
1754
1755         * config/tc-sparc.c (sparc_ip): Allow any abs expression as an
1756         address space number.
1757
1758 Wed Apr 28 19:11:22 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
1759
1760         * config/obj-aout.h (TARGET_DEFAULT): Don't default this at all.
1761
1762         * config/tc-a29k.c: Include ctype.h.
1763         (define_some_regs): Added special-purpose registers for 29050.
1764
1765         * config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/".
1766
1767         * config/obj-coffbfd.c (fill_section): Don't set STYP_REG here.
1768         (change_to_section): Set it here instead.
1769
1770 Wed Apr 28 13:40:29 1993  Ian Lance Taylor  (ian@rtl.cygnus.com)
1771
1772         * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
1773         hasn't been seen yet.
1774         (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
1775
1776 Mon Apr 26 18:29:05 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
1777
1778         * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi
1779         SH.
1780
1781 Mon Apr 26 12:28:27 1993  Ian Lance Taylor  (ian@cygnus.com)
1782
1783         * expr.c (operand): Fix unary plus operator (previously was the
1784         same as '~' operator!).
1785
1786 Wed Apr 21 00:20:11 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1787
1788         * write.c (cvt_frag_to_fill): Define even if BFD is defined.
1789         (write_object_file): Do define if BFD_ASSEMBLER.  Invoke
1790         obj_check_file_symbols if defined.  Call verify_symbol_chain_2
1791         instead of open-coding it.  Fix some bugs in patching up symbol
1792         chain.
1793         (relax_segment): Make some code we "ought to be able to" use for
1794         all targets no longer conditionalized on ns32k target; instead, do
1795         it always, and if the appropriate conditions fail, abort.
1796
1797         * symbols.c (DEBUG): Enabled.
1798         (symbol_new): Make sure bfd_make_empty_symbol works.
1799         (verify_symbol_chain_2): New funcion; takes one symbol as
1800         argument, anywhere in the chain.
1801         (dollar_label*): Use default initializers.
1802
1803         * as.c (perform_an_assembly_pass): Call md_begin here...
1804         (main): ...and not here.
1805
1806         * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
1807         (tc_frob_symbol): New macro: Get rid of symbols in reg_section.
1808
1809         * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
1810         (add_fix, add_frag): Now functions instead of macros.
1811         (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
1812         s_data1, s_data2, s_bss): Use new *_section names, for
1813         compatibility with BFD_ASSEMBLER mode; rewrite switch statements
1814         to handle non-integral segT.
1815         (tc_coff_fix2rtype, tc_aout_fix_to_chars,
1816         tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
1817         (tc_gen_reloc): New routine for BFD_ASSEMBLER.
1818         (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
1819         md_apply_fix_2; new md_apply_fix definition varies interface
1820         depending on BFD_ASSEMBLER.
1821         (md_convert_frag, md_convert_frag_1): Likewise.  Use new *_section
1822         names.
1823
1824         * config/obj-vms.c: Include config.h.
1825         (version_string): Delete declaration.
1826         (Write_VMS_MHD_Records): Use GAS_VERSION instead.
1827         (vms_resolve_symbol_redef): New function, taken from VMS code in
1828         symbols.c.
1829         (_doprnt): Deleted.
1830         (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
1831         VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
1832         VMS_Psect_Spec): Fixed to compiler under traditional C.
1833         * config/obj-vms.h: Use PARAMS macro.
1834         (vms_resolve_symbol_redef): Declare.
1835         (RESOLVE_SYMBOL_REDEFINITION): New macro.
1836         * symbols.c (colon): Remove some VMS-specific code, look for
1837         RESOLVE_SYMBOL_REDEFINITION macro instead.
1838
1839         * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
1840         instructions.
1841
1842         * config/tc-i386.c: Reordered some functions so inlining might
1843         work.  Use PARAMS in function declarations.
1844         (reloc): New routine.
1845         (md_assemble): Rearrange switch statements to work with
1846         non-integral segT.
1847
1848         * struc-symbol.h [BFD_ASSEMBLER]: Undefine
1849         SYMBOLS_NEED_BACKPOINTERS before defining it.
1850
1851         * subsegs.c (subseg_new_rest): Now static.
1852
1853         * read.c (pseudo_set): Better error message for difference of
1854         symbols in different frags.
1855
1856         * Makefile.in (check): Pass down some new variables, indicating
1857         pathname or program name for cc, nm, objdump.
1858
1859         * as.h (OUTPUT_FLAVOR): New macro.
1860         * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
1861
1862         * configure.in: Initialize bfd_gas properly.  Warn that ELF
1863         support is incomplete.
1864
1865 Thu Apr 15 22:39:05 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1866
1867         * read.c (float_cons): Accept null pointer return from md_atof.
1868         * config/tc-m68k.c (md_atof): Return null for success.
1869         * config/tc-sparc.c (md_atof): Ditto.
1870
1871 Thu Apr 15 16:04:39 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
1872
1873         * doc/as.texinfo: formatting and comment cleanups; show SPARC
1874         alternative options in same style as other machines; simplify some
1875         conditional use; include GPL as separate file (from texinfo dir)
1876
1877         * doc/Makefile.in: (as.info) include directory containing GPL in
1878         makeinfo search path
1879
1880         * doc/h8.texi: new file; conditional settings for GAS manual
1881         on Hitachi chips
1882
1883 Tue Apr 13 15:31:40 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
1884
1885         * doc/as.texinfo: mention SPARC architecture options.
1886
1887 Fri Apr  9 17:43:11 1993  Ken Raeburn  (raeburn@cygnus.com)
1888
1889         * configure.in: Rearranged whitespace in per-host/per-target
1890         sections.  Added hooks for dropping in HPPA support (not included
1891         yet).  Separate out overrides of variables based on target format
1892         and bfd-gas selection from actual target-specific commands.  Add
1893         error message for recognized but unsupported format name.
1894
1895 Fri Apr  9 09:05:47 1993  Ian Lance Taylor  (ian@cygnus.com)
1896
1897         * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
1898         symbolic header match cline in FDR; the native linker seems to
1899         want that.
1900
1901 Thu Apr  8 15:51:28 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
1902
1903         * doc/Makefile.in: as.texinfo is in $(srcdir).  Use
1904         $(srcdir)/as.texinfo explicitly in several places
1905
1906 Thu Apr  8 15:15:02 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
1907
1908         * doc/Makefile.in: update dvi, clean targets for new source 
1909                            file structure
1910
1911 Thu Apr  8 12:52:46 1993  Ian Lance Taylor  (ian@cygnus.com)
1912
1913         * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
1914         rather than undefining know.
1915         * configure.in: Match ultrix*, not just ultrix.
1916
1917 Wed Apr  7 20:18:10 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
1918
1919         * doc/as.texinfo: converted conditional markup to use new
1920         Texinfo facilities, avoiding m4.
1921
1922         * doc/as-all.texinfo, all.m4, pretex.m4: deleted.
1923
1924         * doc/Makefile.in: recast doc configuration to use a link to an
1925         included texinfo file.
1926
1927         * doc/all.texi: settings for generic form of documentation.
1928
1929 Tue Apr  6 11:56:21 1993  Ian Lance Taylor  (ian@cygnus.com)
1930
1931         * read.c (cons): Zero out frag when creating reloc.
1932
1933 Mon Apr  5 09:41:58 1993  Ian Lance Taylor  (ian@cygnus.com)
1934
1935         * config/tc-mips.c (gp_reference): Certain magic symbols can never
1936         be referenced off the GP register.
1937
1938         * app.c (do_scrub_next_char): Handle states 9 and 10 correctly
1939         when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
1940         LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
1941
1942         * config/te-irix.h: New file; irix needs a different LOCAL_LABEL
1943         definition from other MIPS targets.
1944         * configure.in (mips-*-irix): Use emulation irix.
1945
1946 Sun Apr  4 15:21:09 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
1947
1948         * config/tc-h8500.c: Get relax size of branch instructions right,
1949         (get_operand): Parse @sp+ correctly.
1950
1951 Fri Apr  2 15:59:49 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1952
1953         * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
1954         COFF section header field.
1955
1956         * configure.in: Print error message if host or target is not
1957         supported.
1958
1959         * configure.in: If with-bfd-assembler, use obj-coff instead of
1960         obj-coffbfd.
1961
1962         * config/ho-generic.h: Include string.h.
1963
1964 Fri Apr  2 08:54:57 1993  Ian Lance Taylor  (ian@cygnus.com)
1965
1966         * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
1967         '$' as local, for any object file format.
1968
1969         * config/tc-mips.c (macro): Optimizations to branching code and a
1970         couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph
1971         Campbell).
1972
1973         * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
1974         * configure.in (mips-sgi-irix*): Set gas_host to irix.
1975
1976 Wed Mar 31 17:53:54 1993  Ian Lance Taylor  (ian@cygnus.com)
1977
1978         * subsegs.c (subseg_new): Set output_section of new section.
1979         * as.c (perform_an_assemly_pass): Don't set output_section here.
1980         * expr.c (expr_part, expr): Turn off section assertions for ECOFF,
1981         since it has additional sections.
1982         * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
1983         not bss_section.
1984         * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
1985         ecoff_undefined field.
1986         * config/obj-ecoff.c (obj_symbol_new_hook): Initialize
1987         ecoff_undefined field.
1988         (add_file): If using stabs, just output a stabs symbol rather than
1989         creating a new fdr.
1990         (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
1991         it with get_absolute_expression, rather than skipping it by hand.
1992         (obj_ecoff_loc): If using stabs, just output a stabs symbol rather
1993         than ECOFF line number information.
1994         (obj_ecoff_stab): Accept non-zero values for stabs line number.
1995         (ecoff_build_symbols): Set ifilesym correctly.  Set storage class
1996         to small, undefined and/or readonly sections if appropriate.
1997         Don't output symbol names containing \001 characters.
1998         (ecoff_frob_file): Make sure at least one fdr is output.
1999         * config/tc-mips.h: Define TC_MIPS.
2000         * config/tc-mips.c (g_switch_value): New static variable.
2001         (md_assemble): Set gp size of output BFD.
2002         (gp_reference): New function; returns 1 if expression can be
2003         accesssed via gp.  Always returns 0 if not using ECOFF.
2004         (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
2005         possible.
2006         (macro): Generate sequences using gp if possible.
2007         (md_parse_option): Ignore -EL and -EB.  Parse -G.
2008         (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
2009         (s_change_sec): Handle .rdata and .sdata for ECOFF.
2010         (s_extern): Mark symbol as external.  Set ecoff_undefined field.
2011
2012 Tue Mar 30 10:11:41 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2013
2014         * output-file.c (output_file_create): Don't call as_perror for
2015         filename rejected by application.
2016
2017         * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
2018         the output file.
2019
2020         * doc/as.texinfo: Don't use @value in node names for the moment;
2021         references don't appear to work right.
2022
2023         * as.h (const, volatile): Put these definitions back, and use
2024         them.
2025
2026         * doc/as.texinfo: First pass at using new texinfo features --
2027         variables, conditional tests.  Far from complete.
2028
2029 Mon Mar 29 16:05:40 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2030
2031         * read.c: Temporary hack to handle some 64-bit constants.  This
2032         should be redone later.
2033         (target_big_endian): Declare.
2034         (big_cons): If it's set, reverse order of bytes being copied.
2035         * config/tc-sparc.c (md_begin): Set target_big_endian.
2036
2037         * read.c (s_ignore): Delete declaration of is_end_of_line.
2038
2039         * config/obj-coffbfd.c (yank_symbols): Build list of file symbol
2040         forward pointers properly.
2041
2042 Mon Mar 29 13:47:33 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
2043
2044         * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
2045         wasn't being stored into scnhdr.
2046         * config/obj-coffbfd.h: Add prototype of s_get_segment.
2047         * read.c (TC_START_LABEL): Default definition.
2048         (read_a_source_file): Use TC_START_LABEL macro to work out
2049         if a label has been seen.
2050
2051 Mon Mar 29 12:56:56 1993  Ian Lance Taylor  (ian@cygnus.com)
2052
2053         * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
2054         the bottom (make expands variables in dependencies when the
2055         dependencies are read, not when they are used).
2056
2057         * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
2058         a29k .bss section; the mondfe program doesn't like it.
2059
2060 Sun Mar 28 08:12:53 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
2061
2062         * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
2063         const.
2064         (current_architecture): Don't need initializer.
2065
2066 Fri Mar 26 08:12:48 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2067
2068         * doc/none.m4: Define Z8000.
2069         * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir).  Remove the
2070         texinfo file before recreating it.
2071         (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
2072         this directory.
2073         (srcdir): Delete second, bogus definition.
2074         (as.info): Look for as-*.texinfo in current directory rather than
2075         in $(srcdir).
2076         (as.dvi): Ditto.
2077         (dvi): New rule.
2078         * doc/configure.in: Create links to all as-*.texinfo files in the
2079         source directory, if that's not the current directory.
2080
2081         * configure.in (per-host):  Accept MIPS host with BSD version
2082         number.
2083         (per-target): Classify i486 as i386.  Use generic cpu_type instead
2084         of target_cpu in selecting format etc.
2085
2086         * app.c (do_scrub_next_char): Use .appfile, not .app-file.
2087         * read.c (potable): Change .app-file to .appfile.
2088
2089         * config/ho-decstatn.h: Renamed from ho-decstation.h.
2090         * configure.in: Adjusted.
2091
2092         * config/obj-bfd-sunos.*: Unused; deleted.
2093
2094         * Makefile.in (version.c, vers-stamp): Deleted.
2095         (config.h): Define GAS_VERSION.
2096         * as.c (version_string): Deleted declaration.
2097         (main): Look for GAS_VERSION instead.
2098
2099         * doc/as.texinfo: Updated description of -a* (listing) options,
2100         and describe how to pass them through from gcc.
2101
2102         * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
2103         process relocs if there aren't any relocs to process.  Avoids
2104         malloc/free bug on SCO too.
2105
2106         * as.h: Move local include files below system include files, to
2107         avoid some redefinition complaints on some systems.
2108         (const, volatile): Don't need these conditionally defined if we
2109         use CONST and VOLATILE from ansidecl.h.
2110         (seg_name): Use CONST, not const.
2111
2112 Fri Mar 26 10:22:04 1993  Ian Lance Taylor  (ian@cygnus.com)
2113
2114         * config/tc-mips.c: Reindented to GNU standards.
2115
2116 Thu Mar 25 08:59:14 1993  Ian Lance Taylor  (ian@cygnus.com)
2117
2118         * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
2119         (fixup_segment): Add a29k special case; the linker is not prepared
2120         to see a segment offset here.
2121
2122         * app.c (do_scrub_next_char): Added new state, 10, modifying state
2123         9 to only keep a space in between identifier characters.
2124
2125 Wed Mar 24 02:16:22 1993  david d `zoo' zuhn  (zoo at poseidon.cygnus.com)
2126
2127         * Makefile.in: add dvi target; as-$(config).texinfo might live in
2128         srcdir, might be in objdir.
2129
2130         * doc/Makefile.in: dvi depends on as.dvi
2131
2132 Mon Mar 22 23:59:13 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
2133
2134         * Makefile.in: add installcheck target
2135
2136 Mon Mar 22 10:19:00 1993  Ian Lance Taylor  (ian@cygnus.com)
2137
2138         * config/tc-mips.c (macro): Use $AT for any floating point load.
2139
2140 Sat Mar 20 12:50:51 1993  Ken Raeburn  (raeburn@urth.cygnus.com)
2141
2142         * config/tc-m68k.c (m68k_ip): For operand type 'M', reject
2143         bignums, but don't emit error message.
2144
2145 Fri Mar 19 21:02:19 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
2146
2147         * Makefile.in (targ-cpu.o): Depend on config.h.
2148
2149 Wed Mar 17 16:44:06 1993  Ian Lance Taylor  (ian@cygnus.com)
2150
2151         * app.c (do_scrub_next_char): Added new state, 9, to avoid
2152         dropping a space immediately following an identifier.
2153         * expr.c, write.c: Rewrote assert expressions to not use multiple
2154         lines; I don't think that can be done portably.
2155         * config/tc-mips.c (macro): Use $AT if target register is zero in
2156         load instruction, which it can be for a floating point load.
2157
2158 Mon Mar 15 12:17:28 1993  Ian Lance Taylor  (ian@cygnus.com)
2159
2160         * write.c (write_contents): Compute the relocs before writing out
2161         the section contents.
2162         * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
2163         symbol table and values right.
2164         * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
2165         with $L is local.
2166         * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
2167         by the section vma.
2168
2169         * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
2170         z8k-opc.h, not z8k.h.
2171
2172         * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
2173         symbol.
2174
2175 Fri Mar 12 18:33:36 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
2176
2177         * configure.in: recognize sparc-sun-solaris2* instead of -solaris2
2178
2179 Fri Mar 12 12:00:07 1993  Ian Lance Taylor  (ian@cygnus.com)
2180
2181         * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
2182         to be on a single line.
2183
2184 Thu Mar 11 17:56:22 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2185
2186         * Makefile.in (config.h): Create file, writing out definitions of
2187         target cpu, alias, and canonical name.
2188         (ALL_CFLAGS): No longer define TARGET_CPU.
2189
2190         * Makefile.in (check): Print a message, instead of quitting
2191         silently.
2192
2193         * as.c (main): Don't catch any signals, for now.
2194
2195         * version.c: Deleted.
2196         * Makefile.in: Generate it, putting in only the version number
2197         itself.
2198         (VERSION): New variable.
2199         * as.c: Include config.h.
2200         (main): Reformatted version string.  Include target alias.  Don't
2201         print if not requested (i.e., unknown -v argument).
2202
2203         * as.c (stralloc): Deleted.
2204         (main): Call strdup instead.
2205
2206         * configure.in: Handle all 68300 series chips.
2207         * config/tc-m68k.c: Include config.h.
2208         (md_assemble): Assume TARGET_CPU is defined.  Accept some 68300
2209         series cpus as defaults.
2210         (md_parse_option): Accept some m68300 series CPUs as defaults.
2211
2212 Wed Mar 10 17:41:16 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2213
2214         * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
2215         not already defined.
2216         (main, got_sig): Use them.
2217         * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
2218         values.
2219
2220 Tue Mar  9 07:40:06 1993  Ian Lance Taylor  (ian@cygnus.com)
2221
2222         * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
2223         support.
2224
2225         * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
2226         OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
2227         (struct loc, struct proc, struct file): Moved to tc-mips.c within
2228         #ifndef OBJ_ECOFF block, since ECOFF uses different versions.
2229         * config/tc-mips.c: Rearranged for ECOFF support.  Added
2230         prototypes for all static functions.  Moved existing minimal
2231         debugging format support info #ifndef OBJ_ECOFF blocks.
2232         (macro_build_lui): Eliminated sign_extend argument, because ECOFF
2233         does not support a non sign extended high 16 bits reloc.  Adjusted
2234         all callers accordingly.
2235         (tc_get_register): Renamed from get_register, and made non-static.
2236
2237         * config/mips-big.mt, config/mips-lit.mt: New files.  Define
2238         TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
2239         respectively.
2240         * configure.in (mips-*-bsd*): Use gas_target mips-lit.
2241         (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
2242         obj_format ecoff and gas_target mips-lit or mips-big.
2243
2244 Tue Mar  9 07:43:01 1993  Ken Raeburn  (raeburn@cygnus.com)
2245
2246         * version.c: Bump to version 2.0.1.
2247
2248 Tue Mar  9 07:40:06 1993  Ian Lance Taylor  (ian@cygnus.com)
2249
2250         * write.c (chain_frchains_together): Check that seg_info (section)
2251         is not NULL.
2252         (write_object_file): Call obj_frob_file after setting the symbols,
2253         not before.
2254
2255 Tue Mar  9 00:00:00 1993  Ken Raeburn  (raeburn@cygnus.com)
2256
2257         * Version 2.0 released.
2258
2259 Mon Mar  8 14:57:10 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2260
2261         * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
2262
2263 Fri Mar  5 09:05:55 1993  Ian Lance Taylor  (ian@cygnus.com)
2264
2265         * read.h: Define stringer here.
2266         read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
2267         places.
2268
2269 Thu Mar  4 11:52:23 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
2270
2271         * read.c (s_space): Multiply repeat count by mult, not fill.
2272
2273 Thu Mar  4 05:20:42 1993  Ken Raeburn  (raeburn@cygnus.com)
2274
2275         * read.c: Include ctype.h.
2276
2277 Wed Mar  3 10:41:46 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2278
2279         Patches from Eric Youngdale:
2280         * make-gas.com: Find obstack.obj if it's not in the current
2281         directory.
2282         * read.c (s_ignore): Don't declare is_end_of_line.  It's
2283         redundant, and triggers a VMS gcc compiler bug.
2284
2285         * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
2286         current segment as an argument.  (Ignored in all cases but VMS.)
2287         All callers and definitions changed.
2288
2289 Tue Mar  2 11:56:19 1993  Ian Lance Taylor  (ian@cygnus.com)
2290
2291         * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
2292         case compile again.
2293
2294 Tue Mar  2 08:53:34 1993  Ken Raeburn  (raeburn@cygnus.com)
2295
2296         * config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
2297         so "~0x80" won't be rejected.
2298
2299         * config/obj-elf.c: No longer include elf/reloc.h.
2300         (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
2301         (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
2302         routines.
2303         (obj_elf_xstab): New routine.
2304         (obj_elf_set_size): Call as_warn, not fprintf.  Pass desired
2305         argument to s_ignore.  Put "#if 0" around unused code.
2306         (obj_pseudo_table): Use s_ignore instead of do-nothing routines.
2307         Call elf_xstabs for .stabs and .xstabs operators.
2308
2309         * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
2310
2311         * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
2312         present.
2313
2314         * configure.in: mips-bsd configuration was missing format spec.
2315         Should use aout.
2316
2317         * Makefile.in (Makefile): Depends on configure.in.
2318
2319         * config/tc-mips.c (append_insn): Don't check for alignment of
2320         frag in memory; alignment of instructions in section is a separate
2321         matter.
2322
2323         * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
2324         C availability.
2325
2326         * listing.h: Always provide function declarations, not macros, so
2327         pcc won't lose.
2328
2329 Tue Mar  2 00:50:43 1993  John Gilmore  (gnu@cygnus.com)
2330
2331         * CONTRIBUTORS:  Update Gilmore entry.
2332
2333 Wed Feb 24 14:58:19 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2334
2335         * frags.c (frag_init): New function.
2336         (zero_address_frag, bss_address_frag): Now initialized at run
2337         time.
2338         * as.c (main): Call frag_init.
2339
2340 Wed Feb 24 10:32:42 1993  Ian Lance Taylor  (ian@cygnus.com)
2341
2342         * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
2343         Don't unget ch2 if we didn't get it.
2344
2345 Wed Feb 24 04:14:07 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
2346
2347         * doc/Makefile.in (TEXIDIR): Updated for new layout.
2348
2349         * config/tc-sparc.c (s_common): Add support for ELF version.
2350         (tc_gen_reloc) [BFD_ASSEMBLER]: New function.
2351         * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
2352         New macros.
2353         (md_convert_frag): New macro.
2354
2355         * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
2356         symbol, fix the offset so "+2" isn't required.
2357
2358         * config/tc-i960.c (line_comment_chars, line_separator_chars):
2359         Define as common/bss.
2360         (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
2361         initializers are sufficient.
2362
2363         * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
2364         (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
2365         (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
2366         (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
2367         * config/obj-aout.c: Use PARAMS macro for declarations.  Remove
2368         "IGNORE_DEBUG" conditional, since both branches are identical.
2369         Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
2370         referencing symbol structure members.
2371         (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
2372
2373         * as.h (struct frag): Reordered a couple of fields for better
2374         packing.
2375
2376         * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
2377         section info.
2378         (write_contents) [BFD_ASSEMBLER]: New function.
2379         (write_object_file) [BFD_ASSEMBLER]: Always handle -R here.  Call
2380         fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC.  Call
2381         obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
2382         (fixup_segment): Make sure common-section symbols get treated the
2383         same as undefined symbols.
2384         (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
2385         bfd_reloc_code_real_type.  Use seg_fix_{root,tail}P derived from
2386         section info.
2387         * write.h (fix_new): Update prototype.
2388
2389         * tc.h (md_operand, md_convert_frag, tc_headers_hook,
2390         md_section_align, md_undefined_symbol): Don't provide prototypes
2391         if these are defined as macros.
2392         (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
2393         section passed.
2394
2395         * symbols.c (symbol_new): Argument NAME is now pointer to const.
2396         Simplified STRIP_UNDERSCORE code.  Remove assumptions about null
2397         pointers in freshly allocated storage.  [BFD_ASSEMBLER]: Get new
2398         BFD symbol.
2399         (colon): Display other/desc fields of redefined symbol only if
2400         S_GET_OTHER and S_GET_DESC are defined.
2401         (symbol_make): Argument NAME is now pointer to const.
2402         (symbol_find, symbol_find_base): Likewise.
2403         (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
2404         * symbols.h: Fix prototypes for new const arguments.  Add
2405         prototypes for BFD_ASSEMBLER S_* functions.
2406
2407         * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
2408         for changing to an existing section.
2409         (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
2410         called by subseg_new and subseg_set.
2411         (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
2412         given section name and subseg number.
2413         (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
2414         new section/subsection.
2415
2416         * read.c: Don't include ctype.h.
2417         (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
2418         for now; should be machine-dependent.
2419
2420         * configure.in: Accept *-*-elf and *-*-solaris* as ELF format
2421         targets, forcing BFD use.
2422
2423 Wed Feb 17 18:59:03 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2424
2425         * config/tc-sparc.c: Use PARAMS macro for static function
2426         declarations.  Use BFD_RELOC_ macros everywhere, with
2427         compatibility macros declared for non-BFD mode.
2428         (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
2429         instead of enum reloc_type.
2430         (emit_sparc_reloc): Commented-out function deleted.
2431         (md_convert_frag): Deleted.
2432         (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
2433         (md_apply_fix): Changed calling sequence (conditionally) for BFD
2434         version.
2435         * config/tc-sparc.h (md_convert_frag): New macro.
2436
2437         * config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
2438         not SEG_UNKNOWN.  Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
2439         of referencing fields directly.
2440
2441         * write.c (cvt_frag_to_fill): New function; extracted from
2442         write_object_file.
2443         (write_object_file) [! BFD_ASSEMBLER]: Call it.
2444         (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
2445         and set its size and flags.
2446
2447         * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
2448         fields with BFD equivalents.  Turn on back-pointers, and add
2449         target-specific fields at end.
2450
2451 Thu Feb 11 09:20:37 1993  Ian Lance Taylor  (ian@cygnus.com)
2452
2453         * config/obj-coffbfd.c (fill_section): Don't set vaddr here.
2454         (write_object_file): Set it here instead, so that fixup_segment
2455         can see the correct value.
2456
2457 Mon Feb  8 13:56:17 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2458
2459         * write.c (write_object_file): Check for errors and warnings and
2460         bail out before processing contents.
2461         (chain_frchains_together_1): New function, does most of the work
2462         of remove_subsegs.
2463         (chain_frchains_together) [BFD_ASSEMBLER]: New function.
2464         (remove_subsegs) [! BFD]: Call it.
2465         (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
2466         structures and routines.
2467
2468         * config/obj-elf.*: New files.
2469
2470         * config/mips.mt, config/rs6000.mt: Deleted.
2471
2472         * config/h8300.mt: Don't specify compiler here.
2473
2474         * config/z8k.mt: The z8k code depends on the z8k opcode table,
2475         not the h8300 one.
2476         * config/tc-z8k.h: Comment fix.
2477
2478         * write.c: Reordered some functions for better inlining.
2479         (fixup_segment): Linkrelax code is no longer conditional on
2480         TC_I960.
2481
2482 Thu Feb  4 12:45:16 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
2483
2484         * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
2485         obj-coffbfd.h}: support for the H8/500
2486
2487 Wed Feb  3 19:28:18 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2488
2489         * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
2490         * write.c (write_object_file): Not here.
2491         (fix_new): Initialize fx_addnumber.
2492
2493         * listing.c: Don't include target-cpu.h explicitly, since as.h
2494         includes it.
2495
2496 Thu Jan 28 00:35:40 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
2497
2498         * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
2499         *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
2500         (struct fix): Reordered fields for compactness and efficiency.
2501         Converted some logical fields to 1-bit fields.
2502
2503         * config/obj-aout.h: Use PARAMS.
2504         [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
2505         N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
2506
2507         * read.c: Don't include listing.h; as.h includes it.  Removed
2508         DONTDEF code.
2509         [BFD_ASSEMBLER]: Include subsegs.h.
2510         (old_buffer, new_broken_words): Default initialization is
2511         sufficient.
2512
2513         * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
2514         to 0, define stdoutput.
2515         (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
2516         Call bfd_set_arch_mach.
2517         (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
2518         bfd_close_all_done.  Call bfd_perror on failure.
2519         (output_file_append) [BFD_ASSEMBLER]: Don't define.
2520
2521         * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
2522
2523         * subsegs.h (segment_info_type): Always define.  Omit field scnhdr
2524         if not MANY_SEGMENTS.  Define new field bfd_section if
2525         BFD_ASSEMBLER.
2526         (seg_info): New macro.
2527
2528         * expr.c, input-scrub.c: Use PARAMS macro.  Deleted unused
2529         variables, and some irrelevant comments.
2530
2531         * Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
2532         (LIBS): Include $(BFDLIB).  Don't bother with $(CLIB).
2533         * configure.in:  Permit --with-bfd-assembler now, with a warning.
2534         Variable need_bfd is now a boolean, as is new variable bfd_gas.
2535         Set BFDDEF and BFDLIB in Makefile when appropriate.
2536
2537         * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
2538         (main): Refer to flag_always_generate_output instead of
2539         flagseen['Z'].
2540
2541         * as.c (main) [BFD_ASSEMBLER]: Open output bfd.
2542         (*_section) [BFD_ASSEMBLER]: Define them.
2543         (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
2544         set section flags when appropriate.
2545         * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
2546         section is not absolute, undefined, or an assembler internal one.
2547         (absolute_section, undefined_section): Always define.
2548         * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
2549         switch statements into if-else trees.
2550         * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
2551         SEG_BSS and SEG_DATA.
2552
2553         * as.h (frag_now_fix): New macro.
2554         * symbols.c (colon): Use it.
2555
2556 Wed Jan 27 21:43:53 PST 1993  Ralph Campbell  (ralphc@pyramid.com)
2557
2558         * config/tc-mips.c:  Added mips support for mips-dec-bsd.
2559         * config/tc-mips.h:  Added mips support for mips-dec-bsd.
2560         * config/ho-mipsbsd.h:  Added mips support for mips-dec-bsd.
2561         * config/mips-opcode.h:  Added mips support for mips-dec-bsd.
2562         * configure.in:  Added mips support for mips-dec-bsd.
2563         * atof-generic.c:  Define TRUE and FALSE if not defined.
2564
2565 Thu Jan 21 12:48:19 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2566
2567         * version.c: Bumped version number to 1.93.05.
2568
2569 Wed Jan 20 17:11:53 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2570
2571         * config/obj-coff.c (obj_emit_relocations): Don't use #elif.
2572         (obj_emit_lineno): Don't need return at end of void function.
2573         (obj_symbol_new_hook): Ditto.
2574
2575         * config/tc-m68k.c: Removed some unused code.
2576         (tc_aout_fix_to_chars): Array nbytes_r_length is now const.
2577
2578         * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
2579         offset field is set.
2580
2581 Fri Jan  8 05:44:49 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2582
2583         * config/tc-sparc.c (architecture_requested, warn_on_bump,
2584         md_relax_table): Use default zero initialization.
2585         (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
2586         latter, instead of selecting with preprocessor conditionals.
2587
2588 Thu Jan  7 08:58:21 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
2589
2590         * configure.in: recognise all sparclite variants
2591
2592 Thu Jan  7 05:25:25 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2593
2594         * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
2595         accidentally changed to use subseg_change where it should have
2596         been subseg_new.
2597
2598 Tue Jan  5 08:42:16 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2599
2600         * expr.c (operand): If character other than comma or newline is a
2601         logical end-of-line character, use the newline case.
2602         From Eric Youngdale:
2603         (operand): Set X_add_number field for floating-point numbers.
2604         (operand): Treat zero byte as end-of-operand.
2605
2606         * configure.in (per-target): Look for with_bfd_assembler option.
2607         For now, only accept "no", until the merge is done.
2608
2609         Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil):
2610         * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
2611           config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
2612         * read.c: Finish conversion to S_* macros in the VMS only
2613           parts of the program. Add "const" modifier to hex_value.
2614         * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
2615           "ifdef OBJ_VMS".
2616         * expr.c: Add "const" modifier to hex_value.
2617         * symbols.c: Finish conversion to S_* macros in the VMS only
2618           parts of the program.  Add "const" modifier to
2619           md_[long,short]_jump_size. Remove declaration of const_flag
2620           (which will be declared in obj-vms.h).
2621         * write.c: Add "const" modifier to md_[long,short]_jump_size.
2622           Fix arguments to VMS_write_object_file.
2623         * config-gas.com: New file.  Script for VMS systems to set up the
2624           configuration to build gas for VMS, and create config.status.
2625         * make-gas.com: Redone to work with new scheme.
2626         * obj-vms.c: Patch to fix bug where we were not correctly parsing the
2627           stabs directives.
2628         * obj-vms.c:  Define macros COPY_LONG and COPY_SHORT which
2629           will swap bytes if needed on a big endian system.  Use throughout
2630           as needed.
2631         * obj-vms.c (obj_aout_stab):  Add code to generate listing file.
2632         * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
2633           types of malformed stabs.  Change parsing algorithm so that we are
2634           more certain of having all of the information that we need on hand.
2635         * obj-vms.c (final_forward_reference):  New function, used to help
2636           resolve the data types of as many struct elements as possible
2637           when some part of the struct is not fully defined by the compiler.
2638         * obj-vms.c (VMS_LSYM_Parse):  Correctly handle case of continuation
2639           stabs directives.
2640         * obj-vms.c (VMS_write_object_file): Define all vtable psects
2641           as symbols as well in the object file.  Look for external functions
2642           that start with "__vt.", and turn them into variables, since the
2643           g++ compiler is incapable of doing this.
2644         * tc-vax.c: Add '1' option for backward compatibility with older GCC
2645           versions.
2646         * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
2647         * input-scrub.c (as_where): Fix bug where as would crash if we did not
2648           have the name of the source file yet.
2649         * config/ho-vms.h: define HO_VMS, not HO_VAX.
2650
2651 Mon Jan  4 05:17:26 1993  Ken Raeburn  (raeburn@cygnus.com)
2652
2653         * read.c (s_data): Always use "data_section", since it'll map to
2654         SEG_DATA or SEG_E1 if needed.
2655         (s_lcomm): Likewise with bss_section.
2656         (s_fill): Use memset, not bzero.
2657
2658 Thu Dec 31 04:29:27 1992  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
2659
2660         * read.c: Deleted some code under "#ifdef DONTDEF" that was for
2661         handling GDB symbol table data.
2662
2663         * config/obj-aout.h (segment_name): Delete definition.
2664         (seg_name): Delete declaration.
2665         * config/obj-bout.h (segment_name, seg_name): Ditto.
2666         * config/obj-vms.h (segment_name, seg_name): Ditto.
2667         * config/obj-coff.h (segment_name): Ditto.
2668         * config/obj-coffbfd.h (segment_name): Ditto.
2669
2670         * Changes for BFD_ASSEMBLER:
2671         * obj.h (obj_crawl_symbol_chain): Declare only if not
2672         BFD_ASSEMBLER.
2673         (obj_header_append, obj_pre_write_hook): Ditto.
2674         * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
2675         (segT) [BFD_ASSEMBLER]: New typedef for "asection *".
2676         (segment_name) If BFD_ASSEMBLER, look up BFD section name;
2677         otherwise, use seg_name array.
2678         (seg_name): Declare only if not BFD_ASSEMBLER.
2679         (section_alignment): Declare only if not BFD_ASSEMBLER.
2680         (big_section, reg_section, pass1_section, diff_section,
2681         absent_section, text_section, data_section, bss_section): If
2682         BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
2683         mapping to segT enum values.
2684         (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
2685         if these are used or defined, if BFD_ASSEMBLER.
2686         (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
2687         subseg_new split into two functions.
2688         (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
2689
2690         * as.h (volatile): Don't define if already defined.
2691         (had_errors, had_warnings): Provide prototypes for ANSI C even if
2692         NO_STDARG.
2693         (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
2694         declare with format attribute for -Wformat checking.
2695
2696 Wed Dec 30 10:18:57 1992  Ian Lance Taylor  (ian@cygnus.com)
2697
2698         * app.c, config/tc-*.c: Don't include read.h, since it is already
2699         included by as.h.
2700
2701         * These are based on patches from Minh Tran-le
2702         <mtranle@paris.intellicorp.com>.
2703         * configure.in (i[34]86-ibm-aix*): Accept i486 for host.  Use
2704         obj_format coffbfd and gas_target i386coff for target.
2705         (i[34]86-*-isc*): New host (uses sysv).
2706         * config/i386aix.mt: Removed (no longer used).
2707         * config/mh-i386aix (RANLIB): Use true rather than /bin/true.
2708         (MINUS_G): Removed.
2709         (LDFLAGS): Added, defined as -shlib.
2710         * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
2711         * config/te-sco386.h (LOCAL_LABEL): Don't define.
2712         (DOT_LABEL_PREFIX): Define.
2713         * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
2714         name rather than L0\001.
2715         * read.c (s_lcomm): Make a frag in SEG_BSS rather than using
2716         local_bss_counter.
2717         * symbols.c, symbols.h (local_bss_counter): Removed.
2718         * write.c (write_object_file): bss no longer uses
2719         local_bss_counter.  Pass correct data and bss size to
2720         VMS_write_object_file.
2721         * config/obj-vms.c (VMS_write_object_file): Accept bss size as
2722         argument, rather than using local_bss_counter.
2723         * config/tc-m88k.c (s_bss): Don't use local_bss_counter.
2724         * config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
2725         * config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
2726         (size_section): Restored sanity check.
2727         (do_relocs_for): Base section address on s_paddr rather than
2728         computing it.  Adjust a29k R_IHIHALF special case to account for
2729         section paddr (used to require paddr to be zero).  If there are no
2730         reclos, set s_relptr to 0.  Set relocation size in object_headers.
2731         (fill_section): Always set s_vaddr here, removing
2732         ZERO_BASED_SEGMENTS case.  Force s_scnptr for bss to 0.  Don't set
2733         NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
2734         Set STYP_INFO for .comment.
2735         (coff_header_append): Use object headers and H_{SET,GET}_* macros.
2736         Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
2737         (crawl_symbols): Handle 8 character section name correctly.  Use
2738         H_{SET,GET}_* macros.
2739         (do_linenos_for): Set lineno size in object_headers.
2740         (write_object_file): Use H_{SET,GET}_* macros.  Don't bother to
2741         set s_vaddr here.  If string_byte_count remains 4, set it back to
2742         0, and only write strings out if there are some.  Call
2743         fill_section before do_relocs_for and do_linenos_for.
2744         (obj_coff_section): Handle optional quoted second argument giving
2745         section characteristics.
2746         (obj_coff_bss): Added to handle .bss.
2747         (obj_coff_ident): Added to handle .ident (puts string in .comment
2748         section).
2749         (obj_coff_lcomm): Put common symbols in .bss, not .data.
2750         (fixup_mdeps): Change to segment.  Call frag_wane after
2751         md_convert_frag.
2752         (fixup_segment): Explicitly check S_IS_COMMON before making 386
2753         adjustment (already happened only for common symbols, but this is
2754         clearer).
2755         * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
2756         * config/tc-i386.c (s_bss): Don't use if I386COFF.
2757         (md_pseudo_table): Ignore .optim and .noopt.
2758         (tc_coff_sizemachdep): New function.
2759         * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
2760         compatibility.
2761         (LOCAL_LABEL): Removed definition.
2762         (DOT_LABEL_PREFIX): Defined.
2763
2764 Mon Dec 28 10:32:05 1992  Ken Raeburn  (raeburn@cygnus.com)
2765
2766         * app.c (app_push): Use memcpy, not bcopy.
2767         (do_scrub_next_char): For \", return " not '.
2768         (symbol_chars): Now const.
2769
2770         * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
2771         and "0b".  If LOCAL_LABELS_DOLLAR, check for "0$".
2772
2773         * config/obj-coff.h: Don't use #elif.
2774
2775         * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
2776         have it.  (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.)
2777
2778 Wed Dec 16 12:12:33 1992  Ian Lance Taylor  (ian@cygnus.com)
2779
2780         * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
2781         already defined.
2782
2783 Tue Dec 15 12:40:11 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
2784
2785         * app.c (do_scrub_begin): allow single quote strings if so
2786         configured.
2787
2788         * config/*z8k*: checkpoint
2789
2790 Sun Dec 13 00:04:38 1992  Ian Lance Taylor  (ian@cygnus.com)
2791
2792         * read.c (read_a_source_file): avoid calling xmalloc (0).
2793
2794 Sat Dec 12 15:26:34 1992  Ian Lance Taylor  (ian@cygnus.com)
2795
2796         * listing.c: Call xmalloc, not malloc; don't declare malloc.
2797
2798         * Changes to support SCO 3.2v4:
2799         * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
2800         SEG_BSS, fill with NOP_OPCODE.
2801         * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
2802         * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
2803         using ZERO_BASED_SEGMENTS.
2804         (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
2805         never set segment address for SEG_E2 (.bss) and don't write out
2806         SEG_E2 contents.  Set .init and .fini sections to STYP_TEXT.
2807         (obj_coff_endef): Don't merge labels or symbols awaiting forward
2808         definitions, and don't merge tags with non-tags.  Check for .bf
2809         rather than just checking whether the second character is b and
2810         the third character is f.
2811         (obj_coff_val): gcc can generate values which we don't handle
2812         correctly; discard information for now, since it only affects the
2813         debugging information.
2814         (tag_find_or_name): Don't insert tags in the symbol table.
2815         (yank_symbols): Don't merge labels.
2816         (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
2817         already defined.  Fill subsegments with NOP_OPCODE, not 0.  Don't
2818         set segment address if ZERO_BASED_SEGMENTS.
2819         (obj_coff_section): Accept and ignore a trailing quoted string, as
2820         used in AT&T i386 syntax.
2821         (fixup_segment): Take segment as argument.  On the i386, adjust PC
2822         relative addends by the segment vaddr.
2823         * tc-i386.h: Define SUB_SEGMENT_ALIGN.
2824         * tc-a29k.h: Define ZERO_BASED_SEGMENTS.
2825         * tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
2826
2827 Tue Dec  8 00:06:48 1992  Ken Raeburn  (raeburn@rtl.cygnus.com)
2828
2829         * config/obj-coffbfd.c: Include libcoff.h.
2830
2831         * version.c: Now version 1.93.
2832
2833 Mon Dec  7 00:39:09 1992  Ken Raeburn  (raeburn@cygnus.com)
2834
2835         * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
2836         power-of-two alignment for .align.
2837
2838         * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
2839         and leave everything else alone.
2840
2841 Fri Dec  4 16:58:42 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2842
2843         * Makefile.in (as.new): Don't bother saving as.old.
2844
2845         * write.c: Conditionalize on OBJ_VMS, not VMS.
2846         (magic_number_for_object_file): Don't define if OBJ_VMS.
2847
2848         * config/obj-vms.c: Changes for traditional C.
2849
2850 Thu Dec  3 01:24:07 1992  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
2851
2852         * config/ho-generic.h (malloc, realloc): Declare.
2853
2854         * Lots of comment/whitespace changes.
2855
2856         * write.h (struct fix): Some fields reordered, narrowed.
2857
2858         * read.c (MASK_CHAR): Define using C types, not magic number.
2859
2860         * as.c, input-file.c: Deleted some unused code.
2861
2862         * app.c, as.h: Doc fix.
2863
2864         * flonum-konst.c, flonum-mult.c: Include ansidecl.h.
2865
2866         * as.h (xmalloc): Argument is long.
2867
2868         * xmalloc.c (error): Remove declaration; as.h takes care of it.
2869
2870         * doc/as.texinfo: Regrouped documentation of some command-line
2871         options.  Updated options documentation for m68k.  Some minor
2872         wording/punctuation changes.
2873
2874 Mon Nov 30 11:42:11 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2875
2876         * configure.in: Accept target OS "vms".
2877
2878         * symbols.c:  Merged ANSI and non-ANSI function decls, using
2879         PARAMS macro.
2880
2881         * xmalloc.c: Just include as.h, don't bother trying to figure out
2882         other header files.
2883
2884         * strstr.c, strerror.c: Deleted.
2885         * Makefile.in: Deleted references.
2886
2887         * config/tc-ns32k.c: Don't include header file for string
2888         declarations; leave that to ho-*.h.
2889
2890 Fri Nov 27 04:11:36 1992  Ken Raeburn  (raeburn at cambridge-laptop.cygnus.com)
2891
2892         * config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
2893         imported from FSF sources.
2894
2895         * messages.c (strerror): Declare unconditionally.
2896
2897         * as.h: Delete alloca and register definitions.
2898
2899         * config/atof-ieee.c (mask): Now const.
2900
2901         * obstack.c, obstack.h: Deleted.
2902
2903         * as.h (flag_readonly_data_in_text): New flag.
2904         * as.c (main): Set it for -R.
2905
2906         * as.h (flag_suppress_warnings): New flag.
2907         * as.c (main): Set it for -W.
2908         * messages.c (as_warn): Check it instead of flagseen['W'].
2909
2910         * as.h (flag_always_generate_output): New flag.
2911         * as.c (main): Set it for -Z.
2912
2913         * config/tc-sparc.h: Define NEED_FX_R_TYPE.
2914         * config/tc-a29k.h: Ditto.
2915         * write.h (struct fix): Don't conditionalize fx_r_type field on TC
2916         macros.
2917
2918         * as.h: Merged ANSI and non-ANSI function decls, using PARAMS
2919         macro.
2920         * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
2921         obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
2922         write.h: Likewise.
2923         * read.c: Likewise.
2924
2925         * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG.  Fold in
2926         xrealloc from xrealloc.c.
2927         * xrealloc.c: Deleted.
2928         * Makefile.in (REAL_SOURCES, OBJS): Adjusted.
2929
2930         * configure.in: For host CPU a29k, rs6000, vax, consider using bsd
2931         or vms ho- files.
2932
2933         * config/ho-sysv.h (setbuffer, HO_USG): Deleted.
2934
2935         * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
2936         don't initialize it with NULL.
2937
2938         * config/ho-vax.h (M_VAX): Deleted; was unused.
2939
2940         * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
2941         New files imported from FSF version, contributed by Eric Youngdale.
2942         * README-vms-dbg, config/vms: Deleted.
2943
2944         * ChangeLog, config/ChangeLog: Merged.
2945
2946         * config/*tahoe*, configure.in: Tahoe support brought in from FSF
2947         version.
2948
2949         * input-file.c (input_file_open): Eliminate call to setvbuf.
2950         [USG] (setbuffer): Deleted macro.
2951
2952 Mon Nov 23 11:00:16 1992  Ken Raeburn  (raeburn@cygnus.com)
2953
2954         * all files: Whitespace changes for GNU indentation style, done by
2955         GNU `indent'.  Some cleanup still needed, especially of comments.
2956
2957         * configure.in: No te-386bsd.h file exists; don't try to use it.
2958
2959         * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
2960
2961         * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
2962         could be doing emulation.
2963
2964 Thu Nov 19 11:47:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
2965     
2966         z8000 documentation
2967         * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
2968         all modified.
2969
2970 Tue Nov 10 09:49:24 1992  Ian Lance Taylor  (ian@cygnus.com)
2971
2972         * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
2973
2974         * subsegs.h: add extern to segment_info declaration.
2975
2976         * read.h: added extern declarations for comment_chars,
2977         line_comment_chars, and line_separator_chars.
2978         read.c, app.c: removed definitions of comment_chars,
2979         line_comment_chars, and line_separator_chars.
2980
2981         * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
2982         still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
2983         the register name.
2984         (insert_reg): put REGISTER_PREFIX before register names before
2985         putting them in the symbol table.
2986         * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
2987         M68KCOFF.
2988
2989         * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
2990         section.
2991
2992         * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
2993         comment_chars, line_comment_chars and line_seperator_chars
2994         consistently const, and always initialized them.  Included read.h.
2995
2996 Thu Nov  5 17:55:41 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
2997
2998         * tc-sparc.c (sparc_ip): Add code to flag error if an absolute
2999         constant will not fit in an immediate field.
3000         (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
3001
3002 Wed Nov  4 07:50:46 1992  Ken Raeburn  (raeburn@cygnus.com)
3003
3004         * obj-coff.c (callj_table): Delete global variable.
3005         (obj_emit_relocations): Define it locally here, and only if
3006         TC_I960 is defined.
3007
3008         * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
3009         (m68k_ip): Don't warn about bignum used as float bit-pattern.
3010
3011         * obj-coff.c: Replaced ANSI and non-ANSI function declarations
3012         with a single set using PARAMS macro.
3013
3014         * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
3015         of 2.
3016
3017         * tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
3018
3019         * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
3020         so widening works consistently.
3021
3022 Wed Oct 28 08:52:34 1992  Ken Raeburn  (raeburn@cygnus.com)
3023
3024         * version.c: Put conditional "const" before version_string, not
3025         before dummy function for VMS.  Now version 1.91.03.
3026
3027         * app.c (do_scrub_next_char): Need double-\ before `000' to show
3028         printed rep of null character.
3029
3030 Fri Oct 23 14:40:38 1992  Ian Lance Taylor  (ian@cygnus.com)
3031
3032         * obj-coffbfd.c (write_object_file): check return value of
3033         bfd_close_all_done.
3034
3035 Tue Oct 20 12:18:08 1992  Ian Lance Taylor  (ian@cygnus.com)
3036
3037         * Support for i386-sysv.
3038         obj-coffbfd.c (do_relocs_for, write_object_file): set segment
3039         addresses to reasonable sizes.  New define ZERO_BASED_SEGMENTS can
3040         be used to set them all to zero as was done before.
3041         (fill_section): segment addresses now set in write_object_file.
3042         (fill_section): Don't set STYP_NOLOAD for .bss section.
3043         (fixup_segment): 386 uses strange common symbol format.
3044         tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
3045         compatibility with SVR3.2 linker.
3046         * configure.in: i386-sysv and i386-sco use coffbfd.
3047
3048         * app.c (do_scrub_next_char): discard whitespace after a label.
3049
3050 Sat Oct 10 12:33:45 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
3051
3052         * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
3053         hosts, use the sysv configuration for solaris2
3054
3055 Mon Oct  5 09:28:57 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3056
3057          fix i960+non-bfd coff bit rot. 
3058         * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
3059         support for C source listings. (obj_coff_endef): look in the right
3060         part of the symbol for the symbol name
3061
3062         * tc-m68k.c (get_num): make it work for all segments, not just the
3063         first three.
3064
3065 Mon Oct  5 03:30:36 1992  Mark Eichin  (eichin at tweedledumber.cygnus.com)
3066
3067         * configure.in: recognize i386-*-bsd emulation.
3068
3069 Thu Oct  1 23:05:12 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
3070
3071         * configure.in: use the cpu-vendor-os triple for host and target
3072
3073 Tue Sep 29 12:22:52 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3074
3075         * obj-coffbfd.c (write_object_file): don't fixup for the z8k
3076         * tc-z8k.c: lots of bug fixes
3077
3078 Tue Sep 29 10:51:55 1992  Ian Lance Taylor  (ian@cygnus.com)
3079
3080         * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
3081         #elif, since it is not supported by old compilers.
3082         ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
3083         couple of expressions in tc-m68k.c.
3084
3085 Mon Sep 28 21:18:24 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3086
3087         * read.c (cons): If NO_RELOC is defined, use it.
3088
3089         * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
3090
3091 Fri Sep 25 18:18:52 1992  Ian Lance Taylor  (ian@cygnus.com)
3092
3093         * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
3094         local labels to start with a .) and set REGISTER_PREFIX to %.
3095         tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
3096
3097 Fri Sep 25 17:53:43 1992  John Gilmore  (gnu@cygnus.com)
3098
3099         * messages.c:  Comment changes.
3100
3101 Fri Sep 25 14:12:58 1992  Ken Raeburn  (raeburn@kyriath.cygnus.com)
3102
3103         * as.h: Test if __STDC__ is defined only, don't test its value.
3104         * messages.c: If __STDC__ is not defined, define NO_STDARG.
3105
3106 Thu Sep 24 12:42:32 1992  Brendan Kehoe  (brendan@rtl.cygnus.com)
3107
3108         * listing.c (debugging_pseudo): Add stabs and stabn as things to
3109         ignore.
3110
3111 Tue Sep 22 13:02:07 1992  Sean Eric Fagan  (sef@cygnus.com)
3112
3113         * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
3114         sections starting from zero, rather than making them consecutive.
3115         This makes subsequent reloc calculations easier, esp if the object
3116         format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
3117         allocate lcomm in .data rather than in .bss.  It seems that some
3118         tools can't cope with a non-zero sized bss before linkage.
3119  
3120 Tue Sep 22 15:10:51 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3121
3122         * tc-m68k.c: Replace "enum m68k_architecture" with "int"
3123         throughout.  That enum no longer means what we thought it meant.
3124
3125         * tc-m68k.c (md_assemble, md_parse_option): Handle new
3126         "-mno-688[58]1" options.
3127
3128         * tc-m68k.c: Added CPU32 support.
3129
3130 Fri Sep 18 08:02:18 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3131
3132         * tc-m68k.c (m68k_ip): An(disp) is not pc relative.
3133
3134 Tue Sep 15 17:25:05 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
3135
3136         * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
3137         Change LIBDEPS dependence to LIBS.
3138
3139 Tue Sep 15 15:32:02 1992  Ian Lance Taylor  (ian@cygnus.com)
3140
3141         * Makefile.in (install): if $(tooldir) exists, install as in
3142         $(tooldir)/bin.
3143
3144 Sun Sep 13 20:30:10 1992  Ian Lance Taylor  (ian@cygnus.com)
3145
3146         * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
3147         .word is < -32768 or > 32767.  The -J flag causes the error to be
3148         ignored.  This is to catch over-sized switches generated by gcc on
3149         systems which don't support the broken .word hack.
3150         as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
3151         write.c (fixup_segment): check for signed .word overflow if
3152         WARN_SIGNED_OVERFLOW_WORD.
3153
3154         * write.c (fixup_segment): fixed missing parens in expression
3155         checking for byte or word overflow.
3156
3157         * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
3158         obj-coffbfd.c (fixup_segment): check for signed .word overflow if
3159         WARN_SIGNED_OVERFLOW_WORD.
3160
3161         * obj-coffbfd.c (fixup_segment): fixed missing parens in
3162         expression checking for byte or word overflow.
3163
3164 Fri Sep 11 10:21:04 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3165
3166         Support for i386 coff
3167         * obj-coffbfd.h : added stuff 
3168         * tc-i386.c (tc_coff_fix2rtype): new function
3169         * tc-i386.h : new coff defines
3170
3171 Thu Sep 10 09:23:15 1992  Ian Lance Taylor  (ian@cygnus.com)
3172
3173         * input-scrub.c (input_scrub_push): call input_file_begin, not
3174         input_scrub_begin.
3175         messages.c (as_perror): print ": " between the passed in error and
3176         the strerror, like perror does.
3177
3178 Wed Sep  9 11:06:25 1992  Ian Lance Taylor  (ian@cygnus.com)
3179
3180         * Makefile.in: use gas_target instead of modifying target_cpu.
3181         From Steve Chamberlain:
3182         Makefile.in: Handle m68*-*-coff*.
3183         read.c, read.h: add mult argument to s_space
3184
3185         * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
3186          Motorola and MIT syntax; gas can now assemble either type of
3187          file.
3188         tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
3189         From Steve Chamberlain:
3190         m68kcoff.mt: for m68k COFF.
3191         obj-coffbfd.c: (fixup_mdeps) added
3192          (size_section) removed bad sanity check
3193          (fill_section) added rs_machine_dependent case
3194          (write_object_file) call fixup_mdeps
3195          (fixup_segment) set fx_subsy to 0.
3196         obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
3197          handle m68k.
3198         tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
3199          pseudo ops.
3200
3201 Tue Sep  8 17:10:58 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3202
3203         * Makefile.in (LIBS): Include opcode library.
3204
3205 Fri Sep  4 18:20:56 1992  Ken Raeburn  (raeburn@cygnus.com)
3206
3207         * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
3208         including zero are accepted, pass +0.0.
3209
3210 Sun Aug 30 21:24:46 1992  Ian Lance Taylor  (ian@cygnus.com)
3211
3212         * Makefile.in: map "as" through program_transform_name when
3213         installing.
3214
3215         * doc/Makefile.in: map "as" through program_transform_name when
3216         installing.
3217
3218 Sat Aug 29 12:11:12 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
3219
3220         * Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
3221
3222 Fri Aug 28 16:25:22 1992  Ian Lance Taylor  (ian@cygnus.com)
3223
3224         * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
3225         tc-i960.c (md_ri_to_chars): Always output bout object file in
3226         little endian byte order (used to use endianness of host).
3227
3228 Tue Aug 25 15:50:48 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3229
3230         * config/tc-m68k.c (init_table): Now const.  Always include 68851
3231         data, so that "bc" is available to 68040 cache instructions.
3232         Added "tt0", "tt1", and 68ec030 variants.
3233         (md_assemble): Complain if 68000 (only) and 68881 are specified.
3234         (enum _register): Added TT0, TT1.
3235         (m68k_ip, cases '3' and 't'): Handle new operand type codes.  Pass
3236         line number correctly in "internal error" messages.  Don't print
3237         architecture-mismatch message for operand errors.
3238
3239         From Colin Smith (colin@wrs.com):
3240         * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
3241         than install_operand.
3242
3243 Tue Aug 25 15:13:48 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3244
3245         * listing.c (buffer_line): rewind to the start of include
3246         files, they might be included twice.
3247
3248         * z8k.c, z8k.h, z8k.mt: z8000 support stuff
3249
3250 Mon Aug 24 12:45:43 1992  Ian Lance Taylor  (ian@cygnus.com)
3251
3252         * Makefile.in: defined TARGET_CPU for C code so that it can choose
3253         one element of a family.
3254
3255         * tc-m68k.c: use TARGET_CPU to choose default cpu type.
3256
3257         * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
3258         so that we can assemble hand-written libgcc code.
3259
3260 Fri Aug 21 14:38:44 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3261
3262         * messages.c (as_warn): Use fputs, not fprintf, with a buffer that
3263         has already been formatted (but may still contain %-characters).
3264         (as_bad): Likewise.
3265
3266 Wed Aug 19 11:20:59 1992  Ian Lance Taylor  (ian@cygnus.com)
3267
3268         * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
3269         written with indirection on the last two operands, which can be
3270         either data or address registers.  Added a new operand type 'r'
3271         which accepts either register type.  Added '(' to notend stuff in
3272         tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
3273
3274 Wed Aug 19 09:25:09 1992  Ken Raeburn  (raeburn@cygnus.com)
3275
3276         * as.h (enum _relax_state): Start off at one, not zero, to better
3277         catch uninitialized-variable errors.
3278         (linkrelax): Declare new variable.
3279
3280         * messages.c (warning_count, error_count): Default initializer is
3281         sufficient.
3282
3283         * write.c: Merged some declarations, using PARMS macro.
3284         (text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
3285         data_last_frag): No longer static.
3286         (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
3287         defined, call it.  Change segments before calling fixup_segment.
3288         (relax_align): If linkrelax, provide extra padding.
3289
3290         * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
3291         their not having symbols associated.
3292
3293         * tc-i960.c (norelax, instrument_branches): Default initializer is
3294         sufficient.
3295         (linkrelax): Delete variable definition.
3296         (mem_fmt): Call fix_new with NO_RELOC.
3297         (tc_bout_fix_to_chars): Handle alignment relocs.
3298         (i960_handle_align): New function.
3299         * tc-i960.h (linkrelax): Delete declaration.
3300         (HANDLE_ALIGN): New macro; calls i960_handle_align.
3301         (NEED_FX_R_TYPE, NO_RELOC): New macros.
3302
3303 Tue Aug 18 14:59:21 1992  Ken Raeburn  (raeburn@cygnus.com)
3304
3305         * config/sparc.mt: New file.  Grab sparc opcode table from bfd
3306         library.
3307
3308 Tue Aug 18 14:16:38 1992  Ian Lance Taylor  (ian@cygnus.com)
3309
3310         * Makefile.in: always create installation directories.  Removed
3311         MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
3312         FLAGS_TO_PASS to recursive makes.
3313
3314         * doc/Makefile.in: always create installation directories.
3315
3316 Mon Aug 17 15:09:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3317
3318         * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
3319         being used with args swapped, causing occasional lossage when
3320         refilling buffers after an include file.
3321
3322 Mon Aug 17 13:18:51 1992  Ken Raeburn  (raeburn@cygnus.com)
3323
3324         * messages.c (as_tsktsk): Use correct ANSI form for stdarg
3325         version.  Discard bogus DONTDEF version.
3326         (as_warn, as_bad, as_fatal): Likewise.
3327
3328 Fri Aug 14 18:31:14 1992  Ken Raeburn  (raeburn@cygnus.com)
3329
3330         * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
3331         selected architecture, print a message saying so and listing what
3332         processors support it, rather than saying "operands mismatch".
3333
3334 Thu Aug 13 13:53:19 1992  Ken Raeburn  (raeburn@cygnus.com)
3335
3336         * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
3337
3338         * config/ho-rs6000.h (M_RS6000): Don't define it.
3339         (free): Declare it.
3340         (BROKEN_ASSERT): Define it if not __STDC__.
3341
3342 Tue Aug 11 12:58:14 1992  Ken Raeburn  (raeburn@cygnus.com)
3343
3344         * sparc.mt: New file.
3345
3346 Mon Aug 10 14:37:08 1992  Per Bothner  (bothner@cygnus.com)
3347
3348         * tc-m68k.c: ".align N" means align to N-byte boundary *only*
3349         if TN_SUN3; otherwise align to 2**N-byte bounary.
3350
3351 Thu Aug  6 12:10:39 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3352
3353         * read.c (s_fill): make the .fill size clamped error a warn and
3354         fix bug where 0's were always placed.
3355
3356         * config/tc-h8300.c: if a :8 is seen after an operand, fill top
3357         two bytes of any constant with 0xff:
3358
3359 Wed Aug  5 12:02:40 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3360
3361         * config/tc-m68k.c (md_pseudo_table): fix the .align thing
3362         the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
3363
3364 Wed Aug  5 01:54:34 1992  John Gilmore  (gnu at cygnus.com)
3365
3366         * tc-m68k.c (try_index):  Error if index scaling specified and
3367         assembling for an older CPU than a 68020.
3368
3369 Sat Aug  1 19:10:13 1992  Ken Raeburn  (raeburn@cygnus.com)
3370
3371         * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
3372         fx_offset into account.
3373
3374 Fri Jul 31 21:53:28 1992  Ken Raeburn  (raeburn@cygnus.com)
3375
3376         * configure.in (mips host): Accept "ultrix" with version number.
3377
3378         * expr.c (floating_constant): Separate "=-" to avoid confusing
3379         ancient or broken compilers.
3380
3381         * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
3382         processor/opcode mismatch, so reword the error message.
3383         (md_assemble): If no CPU has been set (even if FPU/PMMU
3384         characteristics have been), default to 68020.  Don't need extra
3385         quotes around error string.
3386
3387 Fri Jul 31 12:26:34 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
3388
3389         * read.c (potable): Revert sac's incorrect change made Jul 13.
3390         Align really is supposed to be ptwo not nbytes.
3391
3392 Mon Jul 20 02:51:59 1992  D. V. Henkel-Wallace  (gumby@cygnus.com)
3393
3394         * Makefile.in: _Do_ include libiberty.  (from sef)
3395
3396 Fri Jul 17 15:15:28 1992  Ken Raeburn  (raeburn@cygnus.com)
3397
3398         * expr.c (integer_constant): Handle "0f" and "0b" label references
3399         properly.
3400
3401 Thu Jul 16 08:20:17 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3402
3403         * write.c (fixup_segment): if relaxing, don't do anything.
3404         * config/obj-bout.[ch] : maintain the a_relaxable file header info
3405         * config/tc-i960.c: new option -linkrelax
3406
3407 Mon Jul 13 14:11:36 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3408
3409         * expr.c (expr): allow SEG_BSS in expressions
3410         * read.c (potable): align should be nbytes, not ptwo!
3411         * write.c (write_object_file): extra glue for new bss attributes
3412         (relax_segment): SEG_BSS is ok now
3413         * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
3414
3415 Mon Jul  6 17:09:32 1992  Steve Chamberlain  (sac@cygnus.com)
3416
3417         * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
3418
3419 Mon Jun  1 16:20:22 1992  Michael Tiemann  (tiemann@cygnus.com)
3420
3421         * configure.in: recognize m680x0 as having sun3 emulation mode for
3422         vxworks environment.
3423
3424
3425 Tue Jun 30 20:25:54 1992  D. V. Henkel-Wallace  (gumby@cygnus.com)
3426
3427         * Makefile.in: Add program_suffix (parallel to program_prefix)
3428
3429 Wed Jun 24 10:57:54 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3430
3431         * app.c (process_escape): new function to handle escapes the right
3432         way, (do_scrub_next_char): use new function
3433         * cond.c (s_ifdef): do ifdef/ifndef right
3434         * read.c (s_fill): make the , expressions optional like the doc
3435         says
3436         * config/tc-h8300.[ch]: better warnings
3437
3438 Tue Jun  9 07:54:54 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3439
3440         * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
3441         as data0_frchainP
3442
3443         * write.c (write_object_file): various changes to handle data in
3444         the BSS segment in much the same was as stuff in the DATA segment. 
3445
3446         * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
3447         pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
3448         68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
3449         the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
3450         it into SEG_BSS
3451
3452 Thu Jun  4 11:59:13 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3453
3454         * expr.c(expr): allow SEG_REGISTER in expressions.
3455         * read.c(pseudo_set): register expressions can be the source of a
3456         set.
3457         * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
3458         goto SEG_TEXT (if a.out)
3459         * write.c (write_object_file): If a.out don't use the old way for
3460         -R.
3461         * config/obj-a.out (s_sect): complain if the user tries to use a
3462         subsegment with a value which might interfere with out -R hackery.
3463         * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
3464         rather than use ugly if tree. (init_regtable): insert register
3465         names into symbol table.
3466
3467 Tue Jun  2 16:47:09 1992  Steve Chamberlain (sac@cygnus.com)
3468
3469         * write.c (write_object_file): keep the fix_tail clean, which
3470         fixes a bug in -R where relocations were being lost.
3471
3472 Mon Jun  1 16:20:22 1992  Michael Tiemann  (tiemann@cygnus.com)
3473
3474         * configure.in: recognize m680x0 as having sun3 emulation mode for
3475         vxworks environment.
3476
3477 Sun May 31 05:33:00 1992  david d `zoo' zuhn (zoo@cygnus.com)
3478
3479         * configure.in: recognize m680x0 as an m68k
3480
3481 Thu May 28 11:22:02 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
3482
3483         * configure.in: Recognize sparclite as a sparc variant.
3484
3485         * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro.  Mention new
3486         -Asparclite flag.
3487
3488 Tue May 26 16:47:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3489
3490         * config/tc-a29k.c: lint
3491         * listing.c, expr.c: patches from Andrew Smith
3492
3493 Thu May 14 17:22:48 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
3494
3495         * doc/Makefile.in: use m4 rather than gm4.
3496
3497 Mon May  4 18:56:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3498
3499         * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
3500         calc the base of relocs correctly.
3501         * tc-a29k.c (parse_operand): allow expressions to be in any section.
3502
3503 Mon Apr 27 13:13:31 1992  K. Richard Pixley  (rich@cygnus.com)
3504
3505         * as.c, write.c: use -K rather than -k for the broken word warning
3506           option.
3507
3508 Tue Apr 21 13:35:30 1992  K. Richard Pixley  (rich@cygnus.com)
3509
3510         * Makefile.in: do not print recursion lines.
3511
3512 Wed Apr 15 21:19:31 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
3513
3514         * Makefile.in: the tooldir copy of gas goes directly in tooldir.
3515
3516 Tue Apr 14 14:50:22 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
3517
3518         * write.c (write_object_file): For b.out format, round up section
3519         start addresses to match required alignment.
3520
3521 Thu Apr  9 05:45:29 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
3522
3523         * Makefile.in (install): Install into $(tooldir)/bin, since that's
3524         where gcc looks for it.
3525
3526 Tue Apr  7 15:12:15 1992  Sean Eric Fagan  (sef@cygnus.com)
3527
3528         * Makefile.in:  Changed some lines to be less confusing for some
3529         makes.
3530
3531         * input-file.c:  Conditionalize on _IOFBF, not VMS.
3532
3533         * read.c, write.c:  Change a series of ifdef/elif to
3534         ifdef/else/ifdef etc.
3535
3536 Fri Mar 27 12:21:16 1992  K. Richard Pixley  (rich@cygnus.com)
3537
3538         * symbols.c (fb_label_init): fix sizeof to memset.
3539
3540 Fri Mar 13 15:45:44 1992  K. Richard Pixley  (rich@cygnus.com)
3541
3542         * Makefile.in: install the man page.
3543
3544         * Makefile.in: pass down MAKEINFO explicitly on info.
3545
3546         * doc/Makefile.in: use $(MAKEINFO) not makeinfo.
3547
3548 Fri Mar 13 08:03:03 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
3549
3550         * flonum-const.c: renamed flonum-konst.c to stop dos name
3551         conflict.
3552
3553 Thu Mar 12 04:42:38 1992  K. Richard Pixley  (rich@cygnus.com)
3554
3555         * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
3556           tc-m68k.h to te-sun3.h. 
3557
3558 Wed Mar 11 23:32:42 1992  K. Richard Pixley  (rich@cygnus.com)
3559
3560         * configure.in: vxworks68 gets te-sun3.h.
3561
3562         * expr.c: remove limitation that local_labels_dollar or
3563           local_labels_fb must be < 10.
3564
3565         * symbols.c: remove local_labels_dollar, replace with a function
3566           interface for a sparse array.  All users adjusted.
3567
3568         * te-sun3.h: add LOCAL_LABELS_DOLLAR.
3569
3570 Sat Mar  7 00:06:25 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
3571
3572         * doc/Makefile.in: commented out line for building as-all.texinfo.
3573           This is temporary.
3574
3575         * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
3576
3577 Fri Mar  6 21:57:18 1992  K. Richard Pixley  (rich@cygnus.com)
3578
3579         * Makefile.in: added check target.
3580
3581 Tue Mar  3 15:45:56 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
3582
3583         * Makefile.in: added tooldir and program_prefix.
3584
3585 Sun Mar  1 04:43:19 1992  Michael Tiemann  (tiemann@cygnus.com)
3586
3587         * write.{c,h} (fix_new): Make these declarations consistent.
3588
3589 Sat Feb 29 13:59:10 1992  Michael Tiemann  (tiemann@cygnus.com)
3590
3591         * Makefile.in (strerror.o): Add rule so that broken Sun make can
3592         work in subdirs.
3593
3594 Wed Feb 26 19:26:28 1992  Steve Chamberlain  (sac at thepub.cygnus.com)
3595
3596         * read.c, obj-coffbfd.c : fix h8300 specific bit rot
3597
3598         * expr.c (operand): if can't work out what sort of operand it is,
3599         then look through FLT_CHARS for a hint.
3600
3601 Wed Feb 26 18:04:40 1992  K. Richard Pixley  (rich@cygnus.com)
3602
3603         * Makefile.in, configure.in: removed traces of namesubdir,
3604           -subdirs, $(subdir), $(unsubdir), some rcs triggers.  Forced
3605           copyrights to '92, changed some from Cygnus to FSF.
3606
3607         * doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
3608           -subdirs, $(subdir), $(unsubdir), some rcs triggers.  Forced
3609           copyrights to '92, changed some from Cygnus to FSF.
3610
3611 Tue Feb 25 14:17:15 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
3612
3613         * expr.c: If an expression is single comma, then return with
3614         SEG_ABSENT rather than an error - since the sparc front end does
3615         really strange things with things like fbge,a 
3616
3617         * as.h: include bfd.h if using many sections
3618         * expr.c: LOCAL_LABELS_FB had been changed to lower case - so
3619         local labels didn't work.
3620         * listing.c (list_symbol_table): don't core dump when there's no
3621         symbol there.
3622         * write.c, write.h: call fix_new with the right number of args on
3623         the H8.
3624         * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
3625         errors nices
3626
3627 Sat Feb 22 12:26:28 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
3628
3629         * app.c: MRI compatibility - allow single quote to start a string.
3630         * as.c: fix typo recently introduced.
3631         * as.h : Don't include aout/reloc.h - it's not right for COFF!
3632         * expr.c: Much rewriting, to accomodate MRI syntax for
3633         expressions. Also easier to read now.
3634         * listing.c: Put back defuns
3635         * read.c: modified to accept MRI syntax, put back listing pseudo
3636         ops so that an assembler built with NO_LISTING ignores list ops
3637         rather than pukes.
3638         * write.c, write.h: fixs - only keep a reloc type in a fix if the target
3639         machine is a SPARC or a 29K.
3640         * config/obj-aout.c: added s_sect pseudo op
3641         * config/obj-coffbfd.c: lints, set the filehdr flags right and
3642         fill in the timestamp.
3643         * config/obj-coffbfd.h: Since we don't include aout/reloc.h
3644         anymore, define all the relocs which the tc-<x> bit will use so we
3645         can translate from them to the coff types.
3646         * config/tc-a29k.c: reloc_type isn't ane enum any more
3647         * config/tc-m68k.c: Added NO_RELOC definition.
3648
3649 Fri Feb 21 06:21:07 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
3650
3651         * Makefile.in: put header files before C source for TAGS; remove
3652           references to non-existent syscalls.h.
3653
3654         * read.c, write.c subsegs.c: back out the .bss changes.
3655
3656         * obj-aout.c: do not include stab.gnu.h if NO_LISTING.
3657
3658         * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
3659
3660         * a.out.h: removed.
3661
3662 Fri Feb 21 01:08:48 1992  Minh Tran-Le (TRANLE@INTELLICORP.COM)
3663
3664         * symbols.c (local_label_name): symbols now start with ^A.
3665
3666         * read.c, subsegs.c, write.c obj-coff.c: added handling of
3667           `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
3668           generate these sections.  .align: will use NOP_OPCODE or 0
3669           for padding. This is just for being nice to the
3670           disassembler.
3671
3672         * expr.c (operand): changed to generate local label "\001L0"
3673           starting with a ^A so that it is recognized as a local label.
3674
3675         * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
3676
3677         * tc-i386.c: tc-i386.c: added handling of the following opcodes:
3678           i/o opcodes - inb, inw, outb and outw.  string manipulation with
3679           att syntax - scmp, slod, smov, ssca, ssto.
3680
3681         * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
3682           to just after .file .
3683
3684           In obj_crawl_symbol_chain() where it tries to put the external
3685           symbols apart, with the condition:
3686             (!S_IS_DEFINED(symbolP) &&
3687              !S_IS_DEBUG(symbolP) &&
3688              !SF_GET_STATICS(symbolP))
3689           it was moving too many symbols out. So I switch it back to the
3690           condition:
3691             (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
3692
3693           In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
3694           so that we don't use the F_RELFLG which make the linker complain
3695           that somebody has stripped the relocation info.
3696
3697           Also, the AIX ld program require that the relocation table
3698           is sorted by r_vaddr like the standard ATT assembler does.
3699
3700           [he also changed the sizeof(struct ...)'s into the coff
3701           style FOOSZ macros.  I'm not sure this is right, but I can't
3702           remember why.  xoxorich.]
3703
3704 Fri Feb 21 01:08:48 1992  K. Richard Pixley  (rich@cygnus.com)
3705
3706         * Makefile.in, configure.in, doc: use the doc.  Build it, install
3707           it, clean it, etc.
3708
3709 Tue Feb 18 02:21:25 1992  K. Richard Pixley  (rich at cygnus.com)
3710
3711         * read.c: white space and comments only.
3712
3713         * configure.in: use the new atof-ns32.c for ns32k.
3714
3715         * write.c: comment change only.
3716
3717         * tc-m88k.[hc]: pulled in from hack's unfinished work.  These
3718           aren't yet integrated.
3719
3720         * tc-i860.[hc]: blew off the dust.  Something must still be done
3721           about conflicting relocation types.
3722
3723         * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
3724           real thing.
3725
3726         * tc-i960.c, tc-sparc.c: white space and comments only.
3727
3728         * tc-a29k.h: delete duplicate macro definition.
3729
3730         * new file atof-ns32k.c copied from hack's last unreleased gas.
3731
3732 Mon Feb 17 07:51:06 1992  K. Richard Pixley  (rich at cygnus.com)
3733
3734         * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
3735           rather than abort.
3736                                        
3737         * nearly everything.  flush ChangeLog, package as gas-1.92.1.
3738           ChangeLog's prior to this are sketchy at best.  I have logs.
3739           They just aren't ChangeLogs.