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