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