]> Git Repo - binutils.git/blob - gas/ChangeLog
* subsegs.h (seg_info): Provide dummy version for non-BFD_ASSEMBLER,
[binutils.git] / gas / ChangeLog
1 Mon May  8 21:44:13 1995  Ken Raeburn  <[email protected]>
2
3         * subsegs.h (seg_info): Provide dummy version for
4         non-BFD_ASSEMBLER, non-MANY_SEGMENTS configuration.  It should
5         never get invoked, but this is easier than conditionalizing some
6         of the uses.
7         (struct seg_info_trash): Dummy type used by above to make code
8         compile.
9
10 Fri May  5 14:47:13 1995  Ken Raeburn  <[email protected]>
11
12         * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define to 1, not
13         empty.
14         * config/obj-elf.h (SEPARATE_STAB_SECTIONS): Ditto.
15         * config/obj-som.h (SEPARATE_STAB_SECTIONS): Ditto.
16
17 Thu May  4 19:26:55 1995  Ken Raeburn  <[email protected]>
18
19         * stabs.c (get_stab_string_offset): Always define.  If
20         SEPARATE_STAB_SECTIONS isn't set, abort.
21         (SEPARATE_STAB_SECTIONS): Default to zero.
22         (aout_process_stab): New function, split out from s_stab_generic.
23         (OBJ_PROCESS_STAB) [AOUT_STABS]: Define to call aout_process_stab,
24         if not already defined.
25         (s_stab_generic): Test SEPARATE_STAB_SECTIONS at run time.  If
26         it's not set, and OBJ_PROCESS_STAB isn't defined, abort.  Always
27         pass six arguments to OBJ_PROCESS_STAB.
28         * read.h (get_stab_string_offset): Declare unconditionally.
29         * config/obj-aout.h (AOUT_STABS): Define.
30         * config/obj-bout.h (AOUT_STABS): Define.
31         * config/obj-ecoff.h (OBJ_PROCESS_STAB): Add new first argument,
32         ignored.
33         * config/obj-elf.h (OBJ_PROCESS_STAB) [ECOFF_DEBUGGING]: Ditto.
34
35         * config/obj-ecoff.h (ECOFF_DEBUGGING): Define to 1, not empty.
36         * config/obj-elf.h (ECOFF_DEBUGGING): Ditto.  Test value, not
37         whether it's defined.
38
39 Wed May  3 21:38:20 1995  Ken Raeburn  <[email protected]>
40
41         * as.h (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): If not already
42         defined, define them to zero.
43         * config/tc-*.h, config/te-*.h: If defining them, define them to
44         be 1 instead of empty.
45         * expr.c (integer_constant, operand): Test them at run time
46         instead of compile time.
47         * read.c (read_a_source_file): Ditto.
48         * symbols.c (colon): Ditto.
49         (dollar_*, define_dollar_label, fb_*): Define unconditionally.
50         * symbols.h (dollar_*, define_dollar_label, fb_*): Declare
51         unconditionally.
52
53 Wed May  3 13:08:53 1995  Jeff Law  ([email protected])
54
55         * config/tc-hppa.c (md_apply_fix): Do nothing for an out of range
56         PC relative call since those only occur in cases where the linker
57         can fix them up.
58         (hppa_force_relocation): Force relocations for out of range PC
59         relative calls.
60
61 Tue May  2 16:34:47 1995  Jeff Law  ([email protected])
62
63         * configure (hppa*-*-lites*): Handle just like hppa*-*-*elf*.
64         * configure.in: Likewise.
65
66 Tue May  2 11:22:00 1995  Ken Raeburn  <[email protected]>
67
68         * read.c (pop_insert): New function.
69         (pop_override_ok, pop_table_name): New variables.
70         (md_pop_insert, obj_pop_insert): New macros.
71         (pobegin): Use them.
72
73         * config/tc-mips.c: Use USE_STDARG and USE_VARARGS instead of
74         NO_STDARG &c.
75
76         * read.c (target_big_endian): If TARGET_BYTES_BIG_ENDIAN is
77         defined, initialize to 1.
78         * config/tc-mips.c (mips_target_format): Changed to a function,
79         checking flavor and byte order at run time.
80         (md_parse_option, cases OPTION_EB and OPTION_EL): Set
81         target_big_endian here.
82         (md_begin): Not here.
83         * config/tc-mips.h (mips_target_format): Adjust declaration.
84         (TARGET_FORMAT): Call mips_target_format.
85
86         * config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Define in terms of
87         OUTPUT_FLAVOR.
88         * config/tc-mips.c (g_switch_value, g_switch_seen): Define
89         unconditionally.
90         (md_begin, mips_ip, md_parse_option, s_change_sec, s_option,
91         s_abicalls, nopic_need_relax): Check USE_GLOBAL_POINTER_OPT at run
92         time, instead of compiling conditionally on GPOPT.
93         (GPOPT): Don't define.
94         (md_shortopts): Always include -G.
95         (RDATA_SECTION_NAME): Select at run time.
96         (md_begin): Test for ELF format at run time instead of compile time.
97         (mips_ip, s_change_sec): Ditto.
98         (md_parse_option, cases OPTION_CALL_SHARED and OPTION_NON_SHARED):
99         Ditto.
100         (OPTION_CALL_SHARED, OPTION_NON_SHARED, mips_regmask_frag): Define
101         unconditionally.
102
103 Tue May  2 00:17:04 1995  Ken Raeburn  ([email protected])
104
105         * Makefile.in (TARG_CPU_DEP_*): New variables.
106         (targ-cpu.o): Depend on one, selected by autoconf substitution,
107         instead of TARG_CPU_DEPENDENTS.
108         * configure.in: Substitute $cpu_type, $obj_format, $atof, and
109         $emulation into Makefile.in.
110 start-sanitize-arc
111         * config/arc.mt: Deleted.
112 end-sanitize-arc
113         * config/h8300.mt: Deleted.
114         * config/h8500.mt: Deleted.
115         * config/i386coff.mt (TARG_CPU_DEPENDENTS): Deleted.
116         * config/m68k.mt: Deleted.
117         * config/m68kcoff.mt (TARG_CPU_DEPENDENTS): Deleted.
118         * config/m88kcoff.mt (TARG_CPU_DEPENDENTS): Deleted.
119         * config/mips-big.mt (TARG_CPU_DEPENDENTS): Deleted.
120         * config/mips-lit.mt (TARG_CPU_DEPENDENTS): Deleted.
121 start-sanitize-rce
122         * config/rce.mt: Deleted.
123 end-sanitize-rce
124         * config/sh.mt: Deleted.
125         * config/w65.mt: Deleted.
126         * config/z8k.mt: Deleted.
127
128         * config/te-dpx2.h (dpx2): Deleted unused macro.
129         * config/te-generic.h (TE_GENERIC): Ditto.
130         * config/te-go32.h (TE_GO32): Ditto.
131         * config/te-hp300.h (TE_HP300): Ditto.
132         * config/te-hppa.h (PA, _TE_PA_H): Ditto.
133         * config/te-ic960.h (TE_IC960): Ditto.
134         * config/te-nbsd532.h (TE_NETBSD532): Ditto.
135         * config/te-pc532mach.h (TE_PC532MACH): Ditto.
136         * config/te-ppcnw.h (TE_PPCNW): Ditto.
137         * config/te-sco386.h (scounix): Ditto.
138
139 Mon May  1 15:59:56 1995  Ken Raeburn  <[email protected]>
140
141         * read.c (s_app_file): If obj_app_file is defined, call it with
142         string as argument.  Don't call c_dot_file_symbol or
143         elf_file_symbol.
144         * config/obj-coff.h (obj_app_file): Define as c_dot_file_symbol.
145         * config/obj-elf.h (obj_app_file): Define as elf_file_symbol.
146
147         * as.h (OUTPUT_FLAVOR): Don't define here.
148         * config/obj-aout.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
149         * config/obj-bout.h (OUTPUT_FLAVOR): Define.
150         * config/obj-coff.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
151         * config/obj-ecoff.h (OUTPUT_FLAVOR): Define.
152         * config/obj-elf.h (OUTPUT_FLAVOR): Define.
153
154 start-sanitize-arc
155 Sat Apr 29 21:44:57 1995  Doug Evans  <[email protected]>
156
157         * config/tc-arc.c (delay_slot_type): Deleted.
158         (md_assemble): Remember suffixes seen.
159         Issue warnings for 8 byte jump with delay slot, and conditional
160         branch immediately following set of condition codes.
161 end-sanitize-arc
162
163 Thu Apr 27 20:07:33 1995  Doug Evans  <[email protected]>
164
165         * Makefile.in (RUNTEST): Use one in srcdir if present.
166         (RUNTESTFLAGS): Define.
167
168 Wed Apr 26 15:54:10 1995  Ken Raeburn  <[email protected]>
169
170         Support for more portable alignment handling in assembly code,
171         based on patches from Bryan Ford <[email protected]>:
172         * read.c (potable): Added balign and p2align, for aligning by
173         bytes or powers of two independent of what ".align" does for a
174         given target.
175         * doc/as.texinfo: Document them.
176
177 Tue Apr 25 11:12:04 1995  Rob Savoye  <[email protected]>
178
179         * configure, configure.in: Look for m68k-*-vxworks* rather than
180         just m68k-wrs-vxworks so gas can be configured for
181         m68k-vxworks5.1.
182
183 Fri Apr 21 15:19:06 1995  Ken Raeburn  <[email protected]>
184
185         * config/tc-sh.c (md_apply_fix): If fx_r_type is zero, handle
186         fx_size of 1, and abort on unrecognized sizes.
187
188         * config/tc-m68k.c (m68k_ip): Fix bug in last change regarding
189         non-isvar case.
190
191 Sun Apr 16 01:52:52 1995  Ken Raeburn  <[email protected]>
192
193         * config/tc-m68k.h (md_relax_table, TC_GENERIC_RELAX_TABLE):
194         Missed this one in 11 Apr changes.
195
196         * config/tc-i386.h (TC_GENERIC_RELAX_TABLE): Fix typo.
197
198 Thu Apr 13 18:18:08 1995  Ken Raeburn  <[email protected]>
199
200         * config/tc-sh.c (md_convert_frag): Instead of aborting on large
201         displacements, print an error message.  Don't invoke the code that
202         followed the abort call until it's been verified.
203
204         * config/tc-m68k.c (md_show_usage): Add 68060 to list.  Split cpu
205         list into three lines.
206
207 Thu Apr 13 14:34:36 1995  Torbjorn Granlund  <[email protected]>
208
209         * tc-m68k.c (m68k_init_after_args): Test for m68360.
210         (md_parse_option): Likewise.
211         (md_show_usage): Mention m68360.
212         * tc-m68k.h (TARGET_WORD_SIZE): Define.
213         (TARGET_ARCH): Define.
214
215         * expr.c (integer_constant): If TARGET_WORD_SIZE is defined,
216         sign-extend appropriately.
217
218 Thu Apr 13 11:20:17 1995  Michael Meissner  <[email protected]>
219
220         * config/tc-ppc.c (ppc_elf_validate_fix): Properly use PARAMS to
221         hide prototype from non-ANSI compilers, and don't use ANSI syntax
222         for arguments.
223
224 Wed Apr 12 12:20:19 1995  Stan Shebs  <[email protected]>
225
226         * mpw-config.in (TDEFINES): Put empty definition into
227         makefile fragment.
228         * mpw-make.in (xmalloc.c.o): Remove.
229         (as.new): Depend on Version.r.
230         (Version.r): Generate from version info.
231
232         * mpw-make.in: Delete references to hex-value.c.
233
234         * mpw-config.in: Add mapping from configs to object file formats,
235         get VERSION from Makefile.in and add to mk.tmp.
236         (mips-idt-ecoff) [TDEFINES]: Add TARGET_BYTES_BIG_ENDIAN.
237         * mpw-make.in (VERSION, gC): Don't define.
238         (ALL_CFLAGS): Remove -d flags.
239         (config.h): Remove definition of MPW, add HAVE_STDARG_H,
240         BFD_ASSEMBLER.
241
242         * mpw-make.in (ALL_CFLAGS): Add definition of HAVE_STDARG_H,
243         include of ::libiberty:.
244         (config.h): Ifdef contents on GAS_VERSION.
245
246         * mpw-make.in (as.c): Compile with C not gC.
247         (config-stamp): Touch correctly.
248         (install-only): New target.
249         (install): Depend on all and install-only.
250
251         * mpw-config.in: Parse target and use to generate forward includes
252         to tc-, obj-, and atof- files, use te-generic.h for emulation.
253         * mpw-make.in (VERSION): Define.
254         (as.c): Compile with GCC.
255         (TARG_OBJECTS, CLIBS): Define.
256         (as.new): Use LDFLAGS, TARG_OBJECTS, CLIBS and EXTRALIBS in link
257         command.
258         (config.h, config-stamp): Build.
259
260         * mpw-make.in (C, CFLAGS): Removed definitions.
261         (ALL_CFLAGS): Define.
262         Set default rule to use {CC} instead of {C}.
263
264         * mpw-make.in (install): Moved here from mpw-build.in.
265         * mpw-build.in: Removed, functionality in mpw-make.in
266
267         * mpw-make.in (CFLAGS): Add more include paths.
268
269         * mpw-config.in (varargs.h, sys/*.h): Don't create when
270         configuring.
271         * mpw-make.in (CFLAGS): Add -w flag.
272
273         * mpw-make.in: Replace 8-bit chars with their names.
274
275         * mpw-config.in: New file, MPW version of configure.in.
276         * mpw-make.in: New file, MPW version of Makefile.in.
277
278 start-sanitize-arc
279 Wed Apr 12 07:35:44 1995  Doug Evans  <[email protected]>
280
281         * config/tc-arc.c (delay_slot_type): New function.
282         (md_assemble): Use hashed list of insns.
283         Print warning if 8 byte insn appears in delay slot.
284         (md_operand): Handle %st(sym1-sym2).
285         (get_arc_exp_reloc_type): Likewise.
286         (md_apply_fix, case BFD_RELOC_ARC_B26): Now using implicit addends
287         so must store them here.
288 end-sanitize-arc
289
290 Tue Apr 11 01:42:36 1995  Ken Raeburn  <[email protected]>
291
292         * configure.in: Require at least autoconf 2.3, because earlier
293         versions lose on some AIX versions.
294         * configure: Regenerated.
295
296         * configure.in: Add m68k-*-elf.
297         * config/tc-m68k.c (comment_chars) [OBJ_ELF]: Include '#'.
298         (md_pseudo_table) [OBJ_ELF]: Ignore "swbeg".
299         (md_begin): Set alt_notend_table['&'], so svr4-style immediate
300         operands are accepted.
301         (md_apply_fix): Argument VALP should point to valueT.
302         (md_convert_frag): Argument SEC should be type segT.
303         (md_shortopts) [OBJ_ELF]: Accept 'Q' with an argument.
304         (md_parse_option): Ignore it.
305         (md_convert_frag_1): Add in frag address for the symbol in the
306         displacement calculation.
307         * config/tc-m68k.h (TARGET_FORMAT) [OBJ_ELF]: Use "elf32-m68k".
308         (TARGET_ARCH): Define.
309         (REGISTER_PREFIX_OPTIONAL) [OBJ_ELF]: Default to 0.
310         (LOCAL_LABEL, FAKE_LABEL_NAME, REGISTER_PREFIX_OPTIONAL): Handle
311         these the same way for OBJ_ELF as for M68KCOFF.
312
313         * gdbinit.in: Add breakpoint in as_abort.
314
315         * write.c (cvt_frag_to_fill): If offset is less than zero,
316         complain about it specifically, instead of reporting an assertion
317         failure.
318         (relax_segment): Complain about .org backwards, then ignore it.
319         Do generic rs_machine_dependent relaxation only if
320         TC_GENERIC_RELAX_TABLE is defined, and use its value for the base
321         of the table.
322         * tc.h (md_relax_table): Delete declaration.
323         * as.h (struct relax_type): Add forward declaration for type.
324         * config/tc-a29k.c: Deleted md_relax_table.
325         * config/tc-{alpha,arm,h8300,hppa,i860,m88k,mips,ppc,sparc,z8k}.c:
326         Ditto.
327         * config/tc-{h8500,i386,i960,ns32k,sh,tahoe,vax,w65}.h: Declare
328         md_relax_table here, and define TC_GENERIC_RELAX_TABLE to expand
329         to md_relax_table.
330         * config/tc-h8500.c (md_relax_table): No longer const.
331         * config/tc-w65.c (md_relax_table): Ditto.
332         * config/tc-sparc.c (md_short_jump_size, md_long_jump_size):
333         Deleted.
334 start-sanitize-arc
335         * config/tc-arc.c (md_relax_table, md_short_jump_size,
336         md_long_jump_size): Deleted.
337 end-sanitize-arc
338 start-sanitize-rce
339         * config/tc-rce.h: Declare md_relax_table here, and define
340         TC_GENERIC_RELAX_TABLE to expand to it.
341 end-sanitize-rce
342         * doc/internals.texi: Describe TC_GENERIC_RELAX_TABLE and
343         WORKING_DOT_WORD.  Mention md_*_jump_size (but description needs
344         to be fleshed out later).  Note m68k PCINDEX mode has been checked
345         in.
346
347 Mon Apr 10 15:57:42 1995  Ken Raeburn  <[email protected]>
348
349         * config/tc-mips.c (nopic_need_relax): New static function, split
350         out from md_estimate_size_before_relax.
351         (md_estimate_size_before_relax): Call it.
352         (load_address, macro): In NO_PIC branches, if nopic_need_relax
353         returns nonzero, don't attempt GP optimization.
354
355         * config/tc-m68k.c (PCINDEX): New macro.
356         (md_relax_table): No longer const.  Add PCINDEX entries.
357         (m68k_ip): For AINDX with simple symbol operand, generate a
358         PCINDEX frag if PC is used, or do normal non-AINDX processing for
359         address register.
360         (m68k_init_after_args): If cpu is 68000 or 68010, fix
361         md_relax_table to prevent relaxation of PCINDEX/BYTE mode to
362         SHORT, since they don't support that mode.
363         (md_convert_frag_1, case PCLEA/LONG): Add 4 to offset, not 2.  Add
364         support for new PCINDEX modes.
365         (md_estimate_size_before_relax): Process PCINDEX/SZ_UNDEF mode.
366
367         * config/tc-m68k.c (md_convert_frag_1, case PCLEA/SHORT): Add 2 to
368         offset.
369         (m68k_ip, case most punctuation/AOFF): If using PC, call add_frag
370         using PCLEA.
371
372         * config/tc-m68k.c: Don't explicitly include config.h.  Deleted a
373         bunch of "#if 0" code and useless comments.
374         (struct m68k_cpu): New type.
375         (archs, n_archs): New variables, with single list of name/enum
376         mapping and aliases.
377         (m68k_ip): Delete the table here.
378         (m68k_init_after_args): Use the new table here instead of
379         open-coding it.
380         (md_parse_option, case 'm'): Ditto.
381
382         * doc/Makefile.in (Makefile): Fix rule for running config.status.
383         (internals.dvi, internals.ps, internals.ps4): New targets, not
384         built by default.
385
386         * doc/internals.texi: Add loud disclaimer.  Refill to 79 columns,
387         specify fill-column in local-variables section.  Change
388         subheadings to subsections so they can be cross-referenced.
389         Describe broken words, frags, frag chains, generic relaxation,
390         relax table, m68k relaxation, m68k addressing modes, test suite
391         code.  Add a few words about various file formats.
392
393         * doc/as.texinfo (m68k): Recommend using `%' with registers as the
394         normal case, instead of the exceptional case.
395
396 start-sanitize-arc
397 Thu Apr  6 20:00:11 1995  Doug Evans  <[email protected]>
398
399         * config/tc-arc.c (arc_condition_codes): Deleted.
400         (init_opcode_tables): Delete cpu_type_map, call
401         arc_get_opcode_mach instead.
402         (arc_common): Delete non-ELF stuff.  Require leading '.' in .data.
403         (md_apply_fix): Delete non-ELF stuff.
404         Disable special handling of limm values, treat them normally.
405         (get_arc_exp_reloc_type): New argument `data_p'.  Callers updated.
406         (md_assemble): All limm operands must be output by gas, the opcode
407         insertion routines cannot be used (they don't do anything and we're
408         using implicit addends now so we need to output something). 
409         * config/tc-arc.h (FAKE_LABEL_NAME): Define.
410 end-sanitize-arc
411
412 Thu Mar 30 14:38:47 1995  H.J. Lu ([email protected])
413
414         * configure.in: Change linux to default to elf.  Using
415         i[345]86-*-linuxaout will defaults to a.out.
416         * configure: Rebuild.
417
418 Wed Mar 29 17:16:30 1995  Torbjorn Granlund  <[email protected]>
419
420         * config/tc-m68k.c (md_apply_fix_2): Cast negative offsets to offsetT
421         (for hosting on 64 bit machines).
422
423 Tue Mar 21 16:53:27 1995  Ian Lance Taylor  <[email protected]>
424
425         * config/tc-mips.c (md_show_usage): Mention -mips4 and -m4650.
426
427 Fri Mar 17 16:47:13 1995  Stan Shebs  <[email protected]>
428
429         * write.c (write_object_file): Add PROGRESS macros.
430
431 Fri Mar 17 12:40:34 1995  Jeff Law  ([email protected])
432
433         * config/tc-hppa.c (pa_comm): Make sure to always reset the frag
434         and section for common symbols.
435
436 Thu Mar 16 17:26:18 1995  Michael Meissner  <[email protected]>
437
438         * config/tc-ppc.c (ppc_elf_validate_fix): Allow non PC relative
439         pointers in the .ctors and .dtors section also when using the
440         -mrelocatable option.
441         (md_parse_option): Support -m403 as a PowerPC computer.
442         (md_show_usage): Ditto.
443
444 Wed Mar 15 14:45:42 1995  Ian Lance Taylor  <[email protected]>
445
446         * ecoff.c (ecoff_build_debug): The cur_scope field of a fil_ptr
447         may be NULL when given strange input.  Don't core dump.
448
449 Tue Mar 14 21:36:34 1995  Ian Lance Taylor  <[email protected]>
450
451         * config/tc-mips.c (load_register): Don't use addiu for dli of an
452         unsigned seemingly negative number.  Don't bother shifting a zero
453         value.
454         (mips_ip): For case 'j', if there are more alternatives, and the
455         ISA level is at least 3, don't accept an unsigned seemingly
456         negative number.
457
458 Tue Mar 14 19:16:43 1995  Ken Raeburn  <[email protected]>
459
460         * read.c (s_app_line): Fix last patch to deal with a line number
461         of 1.
462
463 Tue Mar 14 17:00:57 1995  Michael Meissner  <[email protected]>
464
465         * config/tc-ppc.c (ppc_elf_validate_fix): Use as_warn_where, not
466         as_bad_where to give a warning instead of an error.
467
468 Mon Mar 13 17:03:46 1995  Pat Rankin  ([email protected])
469
470         * config/tc-vax.c (md_assemble):  issue a warning if a constant
471         is used as an operand where an immediate value is not allowed.
472
473 Fri Mar 10 19:21:19 1995  Ken Raeburn  <[email protected]>
474
475         * config/obj-coff.c: Redo my 10 Jan change, but get it right this
476         time. :-)
477         (fixup_segment): If linkrelax is set, just return.
478         (write_object_file): Don't treat h8300 and z8k specially with
479         regard to fixups.
480         * config/tc-h8300.c (md_begin): Set linkrelax.
481         * config/tc-z8k.c (md_begin): Ditto.
482
483 Thu Mar  9 18:01:37 1995  Ian Lance Taylor  <[email protected]>
484
485         * config/obj-coff.c (coff_header_append): Check return value of
486         bfd_coff_swap_scnhdr_out.
487
488 Thu Mar  9 13:51:30 1995  Doug Evans  <[email protected]>
489
490         Delete this patch, it breaks the h8300 assembler.
491         Tue Jan 10 13:34:14 1995  Ken Raeburn  <[email protected]>
492         * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
493         specially with regard to fixups.
494
495 Thu Mar  9 12:28:18 1995  Michael Meissner  <[email protected]>
496
497         * config/tc-ppc.c (mrelocatable): Change type to boolean.
498         (md_begin): Set the EF_PPC_RELOCATABLE if -mrelocatable.
499
500 Wed Mar  8 15:39:39 1995  Ian Lance Taylor  <[email protected]>
501
502         * config/tc-mips.c (md_begin): Check for a cpu string of r8000 or
503         r10000.  If mips_isa is 4, set the machine number to 8000.
504         (append_insn): If mips_isa is at least 4, don't generate nops for
505         coprocessor delays.  Check INSN_READ_FPR_R when setting
506         mips_cprmask[1].
507         (mips_emit_delays): If mips_isa is at least 4, don't generate nops
508         for coprocessor delays.
509         (mips_ip): Check for INSN_ISA4 instructions.  Handle new argument
510         types 'h', 'R', 'N', and 'M'.
511         (md_longopts): Accept "mips4".
512         (md_parse_option): Handle -mips4, and -mcpu=10000 and -mcpu=8000.
513         (s_mipsset): Permit .set mips4.
514
515 Wed Mar  8 09:36:05 1995  Michael Meissner  <[email protected]>
516
517         * config/tc-ppc.c (ppc_elf_validate_fix): Allow .stab sections to
518         have non PC relative relocations with -mrelocatable.
519
520 Wed Mar  8 02:57:53 1995  Ken Raeburn  <[email protected]>
521
522         * config/tc-m68k.c (opcode_ptr): Return pointer to const.
523         (md_begin): Make hash table errors fatal.  Process opcode aliases
524         after main opcode table.
525         (md_apply_fix_2, case 4): Recode setting of lower_limit to avoid
526         gcc warning.
527
528 start-sanitize-arc
529 Tue Mar  7 20:42:35 1995  Doug Evans  <[email protected]>
530
531         * config/tc-arc.h (LITTLE_ENDIAN, BIG_ENDIAN): Define.
532         (DEFAULT_TARGET_FORMAT): Define.
533         (DEFAULT_BYTE_ORDER): Define to little endian.
534         (TARGET_FORMAT): Byte order is now selectable.
535         * config/tc-arc.c (arc_target_format): New variable.
536         (byte_order): New variable.
537         (md_longopts): New options -EL, -EB.
538         (md_parse_option): Recognize them.
539         (md_show_usage): Print them.
540         (md_begin): Set target_big_endian.
541 end-sanitize-arc
542
543 Tue Mar  7 16:07:10 1995  Ian Lance Taylor  <[email protected]>
544
545         * doc/as.texinfo: Add documentation for SPARC V9, from Doug Evans
546         <[email protected]>.
547
548 Mon Mar  6 09:58:34 1995  Jeff Law  ([email protected])
549
550         * config/tc-hppa.c: Change all occurences of pa-89 with pa-11 to
551         be consistent with current naming conventions.
552         (md_begin): Set a default architecture and machine type.
553         (pa_ip): If the current instruction specifies a newer machine type
554         than the current machine type, then update the current machine
555         type.
556         (need_pa11_opcode): Likewise.
557
558 Sun Mar  5 19:38:09 1995  Jeff Law  ([email protected])
559
560         * config/tc-hppa.c (pa_ip, case 'z'): Don't lose argument
561         relocation bits for absolute calls.
562
563 Fri Mar  3 17:41:50 1995  Ken Raeburn  <[email protected]>
564
565         * config/tc-h8300.* (md_operand): Change empty function to empty
566         macro.
567
568         * config/tc-h8300.c (build_bytes): Make H8/300-H warning message
569         clearer.
570
571         * write.c (write_contents): If bfd_set_section_contents fails,
572         print a message and exit, instead of aborting.
573
574 Fri Mar  3 16:26:19 1995  Michael Meissner  <[email protected]>
575
576         * tc.h (md_apply_fix3): If MD_APPLY_FIX3 is defined, declare
577         md_apply_fix3.
578
579         * write.c (fixup_segment): If MD_APPLY_FIX3 is defined, call
580         md_apply_fix3 with the normal 2 arguments and the current segment
581         pointer instead of md_apply_fix.
582
583         * config/tc-ppc.h (MD_APPLY_FIX3): Define.
584
585         * config/tc-ppc.c (ppc_elf_validate_fix): Warn if -mrelocatable
586         and a non PC relative relocation that isn't in the .got2 segment
587         was performed.
588         (md_apply_fix3): Rename from md_apply_fix and take segment pointer
589         as third argument.  If ELF object format, call ppc_elf_validate_fix
590         for normal relocations.
591         (md_parse_option): If ELF object format, recognize the
592         -mrelocatable switch.
593
594 Thu Mar  2 16:34:44 1995  Ian Lance Taylor  <[email protected]>
595
596         * config/tc-i386.h (AOUT_MACHTYPE): Define as 100, not 0.
597
598 Tue Feb 28 18:29:27 1995  Ken Raeburn  <[email protected]>
599
600         * config/tc-arm.c, config/tc-arm.h (md_operand): Replaced empty
601         function in .c file with empty macro in .h file.
602         * config/tc-h8500.*, config/tc-hppa.*, config/tc-i386.*,
603         config/tc-i860.*, config/tc-i960.*, config/tc-ns32k.*,
604         config/tc-ppc.*, config/tc-sh.*, config/tc-sparc.*,
605         config/tc-tahoe.*, config/tc-vax.*, config/tc-w65.*,
606         config/tc-z8k.*: Ditto.
607 start-sanitize-rce
608         * config/tc-rce.*: Ditto.
609 end-sanitize-rce
610         * config/tc-m68k.*: Ditto.
611
612         * config/tc-m68k.c (mote_pseudo_table): Removed dots from opcode
613         names.
614
615         * read.c (s_app_line): Ignore non-positive line numbers.
616
617 Tue Feb 28 15:34:14 1995  Ian Lance Taylor  <[email protected]>
618
619         * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust PLT or
620         GOT relocs either.
621
622 Mon Feb 27 13:03:41 1995  Kung Hsu  <[email protected]>
623
624         * configure.in: add a29k-*-vxworks configuration.
625
626 Fri Feb 24 14:41:15 1995  Ian Lance Taylor  <[email protected]>
627
628         * config/tc-mips.c (load_register): Take dbl argument to determine
629         handling of signed 32 bit values in 64 bit modes.  Change all
630         callers.
631         (macro): Handle M_DLI and M_DLA_AB.
632
633 Wed Feb 22 23:10:56 1995  Jeff Law  ([email protected])
634
635         * config/tc-hppa.c (md_apply_fix): Don't subtract the value of the
636         add symbol if it's a common symbol (the value of a common symbol
637         is its size, not a value in the traditional sense).
638
639 Wed Feb 22 21:12:28 1995  Ian Lance Taylor  <[email protected]>
640
641         * config/tc-mips.c (append_insn): If listing_prev_line is called,
642         call frag_grow to make sure there is still room for a variant.
643
644 Fri Feb 17 14:50:08 1995  Ian Lance Taylor  <[email protected]>
645
646         * config/tc-mips.c (md_pseudo_table): Add 2byte, 4byte and 8byte
647         if OBJ_ELF.  From [email protected] (Gary Funck).
648
649         * config/obj-elf.c (elf_frob_symbol): Warn if a symbol is both
650         weak and common.
651         * config/obj-aout.c (obj_aout_frob_symbol): Likewise.
652
653 Fri Feb 17 12:43:47 1995  Michael Meissner  <[email protected]>
654
655         * config/tc-ppc.c (md_pseudo_table): Don't redefine byte under
656         ELF.
657         (ppc_elf_cons): Don't support @pcrel any more, since DIFF_EXPR_OK
658         allows the normal expressions to generate it.
659         (md_apply_fix): Convert BFD_RELOC_32 with pcrel bit set into
660         BFD_RELOC_32_PCREL.  Abort if either BFD_RELOC_16 or BFD_RELOC_8
661         need PC relative relocations.
662
663         * config/tc-ppc.h (DIFF_EXPR_OK): Define to allow PC relative
664         expressions to be handled.
665
666 Thu Feb 16 14:30:13 1995  Doug Evans  <[email protected]>
667
668         * expr.c (operand): Move md_operand handling to default case
669         (so it works).
670
671 Wed Feb 15 16:08:47 1995  Jason Molenda  <[email protected]>
672
673         * config/tc-h8500.c (tc_coff_symbol_emit_hook): Add ignored
674         parameter, to match prototype.
675
676 Wed Feb 15 15:07:00 1995  Michael Meissner  <[email protected]>
677
678         * config/tc-ppc.c (md_pseudo_table): If ELF, go to ppc_elf_cons
679         instead of cons.
680         (md_show_usage): Show all of the PowerPc options.
681         (ppc_elf_suffix): New function to recognize ELF suffixes that
682         specify a relocation, such as @GOT.
683         (ppc_elf_cons): Replacement for the standard cons function that
684         knows about the ELF suffixes.
685         (ppc_fixup): Add reloc field to hold non-standard relocation.
686         (md_assemble): Handle ELF suffixes like @GOT.
687         (md_create_short_jump): Dummy in case WORKING_DOT_WORD is not
688         defined.
689         (md_create_long_jump): Ditto.
690         (md_short_jump_size): Ditto.
691         (md_long_jump_size): Ditto.
692         (md_apply_fix): Handle BFD_RELOC_32_PCREL, BFD_RELOC_LO16,
693         BFD_RELOC_HI16, BFD_RELOC_HI16_S, BFD_RELOC_PPC_TOC16, and
694         BFD_RELOC_16 relocations.  If relocation can not be found, print
695         the decimal value of the relocation.
696
697 Wed Feb 15 11:46:02 1995  Ian Lance Taylor  <[email protected]>
698
699         * config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for
700         DWARF.  From [email protected] (Gary Funck).
701
702         * config/tc-mips.c (macro): Handle M_U{L,S}D[_A] (unaligned double
703         loads and stores).
704
705         * config/tc-i386.c (tc_i386_fix_adjustable): Do adjust global
706         symbols if OBJ_AOUT.
707
708         * config/tc-mips.c (macro): Don't use the target register as a
709         base register when building the address for M_L{W,D}{L,R}_AB.
710
711 Mon Feb 13 14:44:32 1995  Ian Lance Taylor  <[email protected]>
712
713         * config/tc-mips.c (KT0, KT1): Define.
714         (mips_ip): Recognize $kt0 and $kt1 as register names.
715
716         * config/tc-sparc.h (tc_fix_adjustable): Define if OBJ_ELF.
717         * config/tc-sparc.c (md_apply_fix): If OBJ_ELF, subtract out the
718         value of a defined symbol; the value was added in by
719         fixup_segment.  This was previously corrected, if the reloc was
720         changed to be against a section symbol, in tc_gen_reloc.
721
722 start-sanitize-arc
723 Mon Feb 13 10:02:35 1995  Doug Evans  <[email protected]>
724
725         * config/tc-arc.h (TC_PARSE_CONS_EXPRESSION): Define.
726         (TC_CONS_FIX_NEW): Define.
727         * config/tc-arc.c (get_arc_exp_operand_type): New function.
728         (init_opcode_tables): Insert registers into global symbol table.
729         (md_assemble): Call `expression' to parse all expressions.
730         Call `get_arc_exp_operand_type'.
731         (md_operand): Recognize %st(foo).
732         (arc_parse_cons_expression): New function.
733         (arc_cons_fix_new): New function.
734         (md_apply_fix): Handle new reloc BFD_RELOC_ARC_B26.
735 end-sanitize-arc
736
737 Fri Feb 10 14:04:04 1995  Ian Lance Taylor  <[email protected]>
738
739         * config/tc-i386.c (tc_i386_fix_adjustable): Use S_IS_EXTERN
740         rather than !S_IS_LOCAL.
741
742 start-sanitize-arc
743 Thu Feb  9 17:44:29 1995  Doug Evans  <[email protected]>
744
745         * config/tc-arc.c (md_pseudo_table): Add .cpu.
746         (comment_chars): Add ';'.
747         (arc_mach_type, mach_type_specified, cpu_tables_init_p): New globals.
748         (md_parse_option): Delete support for -mmult.  Add -mcpu=xxx.
749         (md_begin): Current ARCs are little endian.
750         Call bfd_set_arch_mach to set the cpu type.
751         (init_opcode_tables): New function.
752         (md_begin): Ignore suffixes and registers not supported by cpu.
753         (md_assemble): Initialize opcode tables here.
754         Ignore opcodes not supported by selected cpu.
755         Always ask for more memory in one piece.
756         (arc_cpu): New function.
757         (md_numbers_to_chars): Support both endians (will probably be needed
758         eventually anyway).
759         (md_apply_fix): Likewise.
760         * config/tc-arc.h (LOCAL_LABEL): Delete "_.L_", gcc works around
761         dwarfout.c quirk.
762 end-sanitize-arc
763
764 Thu Feb  9 18:16:34 1995  Ian Lance Taylor  <[email protected]>
765
766         * config/tc-i386.c (md_assemble): Adjust conditions for changing
767         BFD_RELOC_32 to BFD_RELOC_386_GOTPC to handle a switch in frags.
768         Patch originally from Rob Ryan <[email protected]>.
769
770         * config/tc-i386.c: Include subsegs.h.
771         (tc_i386_fix_adjustable): Declare return value.
772         (i386_operand): Don't use an assignment directly as a condition.
773
774 Thu Feb  9 10:37:13 1995  Jeff Law  ([email protected])
775
776         * config/tc-hppa.c (md_apply_fix): In some cases subtract the
777         value of the add symbol from valp.  Offsets braindamage in the
778         "machine independent" fixup_segment.
779
780 Wed Feb  8 18:51:23 1995  Ken Raeburn  <[email protected]>
781
782         * messages.c (as_abort): New function.
783         * as.h (as_abort): Declare it.
784         (abort): New macro.
785
786         Thu Jan 19 18:10:05 1995  Pat Rankin  ([email protected])
787
788         * config/vms-conf.h (HAVE_UNISTD_H):  define it unconditionally.
789         * config-gas.com:  test for availability of <unistd.h>; create a
790         rudimentary one if necessary.
791
792 Tue Feb  7 13:34:46 1995  Michael Meissner  <[email protected]>
793
794         * configure.in: Add powerpc-*-eabi support, which is the same as
795         powerpc-*-elf.
796         (configure): Rebuild with autoconf.
797
798 Mon Feb  6 03:37:00 1995  Ken Raeburn  <[email protected]>
799
800         Changes from Bryan Ford <[email protected]> for i386
801         16-bit and msdos support:
802         * config/tc-i386.c (flag_16bit_code): New variable.
803         (set_16bit_code_flag): New function.
804         (md_pseudo_table): Added entries "code16" and "code32".
805         (md_assemble): Ensure that correct data-size prefixes get emitted,
806         based on the current mode.  Ensure that 32-bit addressing will
807         always be done.  Move segment-prefix handling code.  (Why?)  Use
808         16-bit jumps for 16-bit code, 32-bit jumps for 32-bit code.
809         * config/tc-i386.h (MAX_PREFIXES): Bump to 5.
810         (Data16, Data32): Define.
811         * doc/as.texinfo (i386-16bit): New node.
812         * configure.in (i386-*-msdos*): New target, using a.out format.
813         * configure: Regenerated.
814
815 Thu Feb  2 15:21:24 1995  Ken Raeburn  <[email protected]>
816
817         * config/tc-m68k.c (cpu32_control_regs): New macro.
818         (m68k_init_after_args): Use it, for cpu32 processors.
819
820         Tue Jan 31 17:20:45 1995  Pat Rankin  ([email protected])
821
822         * config/obj-vms.c (vms_tir_stack_psect):  new routine;
823         (VMS_Set_Data, VMS_Set_Psect, VMS_Store_PIC_Symbol_Reference,
824         VMS_TBT_Routine_Begin, VMS_TBT_Line_PC_Correlation):  use it;
825         (VMS_Global_Symbol_Spec, VMS_Procedure_Entry_Pt):  treat
826         Psect_Number as `unsigned'.
827
828         Thu Jan 26 17:06:28 1995  Pat Rankin  ([email protected])
829
830         * config/obj-vms.c:  performance tuning.
831         (VMS_Symbol_type_list):  convert from single list head to small
832         array of list heads;
833         (SYMTYP_HASH):  new macro for accessing VMS_Symbol_type_list[];
834         (find_symbol, setup_basic_type, VMS_typedef_parse):  use it;
835         (VMS_RSYM_Parse):  move S_GET_VALUE() inside switch to avoid
836         calling it for uninteresting cases.
837
838 Wed Feb  1 23:52:45 1995  Jeff Law  ([email protected])
839
840         * config/tc-hppa.c (md_apply_fix): Go ahead and call
841         hppa_field_adjust to get a new value for R_DATA_ONE_SYMBOL
842         relocations in SOM.
843         (hppa_fix_adjustable): Refine somewhat.
844
845 Fri Jan 27 21:29:53 1995  Michael Meissner  <[email protected]>
846
847         * config/tc-ppc.h (NO_STRING_ESCAPES): Don't define if we are
848         using ELF.
849
850 Thu Jan 26 19:03:42 1995  Ken Raeburn  <[email protected]>
851
852         * config/tc-h8300.c (get_specific): Add parens around | inside &.
853         (skip_colonthing): Set L_8 if ":8" is specified.
854
855 Thu Jan 26 18:38:01 1995  Ian Lance Taylor  <[email protected]>
856
857         * config/tc-ppc.c (md_begin): Permit mfdec to be duplicated on the
858         601.  Check that the error return from hash_insert is "exists".
859
860 Thu Jan 26 11:35:33 1995  Michael Meissner  <[email protected]>
861
862         * configure: Add support for configuring powerpc-*-eabi.
863
864         * config/tc-ppc.c (GOT_symbol): Define if object format is ELF.
865
866         * config/tc-ppc.h (GLOBAL_OFFSET_TABLE_NAME): Define if object
867         format is ELF and not defined to be "_GLOBAL_OFFSET_TABLE_".
868
869 Wed Jan 25 16:23:13 1995  Jim Wilson  <[email protected]>
870
871         * tc-sh.c (little): Add argument IGNORE to avoid compiler warnings.
872         (md_pseudo_table): Add space for consistent formatting.
873         (COND8_RANGE, COND12_RANGE): Delete unused macros.
874         (COND8_F, COND8_M, COND12_F, COND12_M, UNCOND12_F, UNCOND12_M):
875         Correct minimum and maximum branch offsets.  Add comments explaining
876         why these numbers are correct.
877
878 Wed Jan 25 15:32:09 1995  David Edelsohn  <[email protected]>
879
880         * config/tc-ppc.c (md_parse_option): Accept mpwr2 as a synonym for
881         mpwrx; mppc32, m603, and m604 as synonyms for mppc; and mppc64 and
882         m620 for PowerPC64 mode.
883         (ppc_symbol_new_hook): Add T0 as synonym for TC0 suffix.
884
885 Tue Jan 24 16:44:23 1995  Ken Raeburn  <[email protected]>
886
887         * config/tc-vax.c (vip): Introduce new ptr-to-const local variable
888         for scanning operand string.
889
890         Sat Jan 21 17:50:38 1995  Pat Rankin  ([email protected])
891
892         * config/vax-inst.h (struct vop, fields `vop_warn', `vop_error'):
893         make them pointers to const char;
894         (struct vit, field `vit_error'):  ditto.
895         * config/atof-vax.c (md_atof):  rename local `littlenum_pointer'
896         to `littlenumP' to avoid shadowing file scope variable.
897         * config/tc-vax.c (vip_begin, vip_op_defaults, vip_op_1):  make
898         string arguments be pointers to const char;
899         (vip):  make `alloperr' const char *;
900         (vip_op): make `err' and `wrn' const char *; rename `access' to
901         `access_mode' to avoid shadowing library function.
902         * config/obj-vms.c (`symbol_name'):  make it const char *;
903         (get_struct_name):  cast one use of `symbol_name' to char *
904         [caller guarantees that it won't modify the pointer's target];
905         (PUT_COUNTED_STRING):  use pointer to const char;
906         (VMS_typedef_parse):  make `pnt2' const char *;
907         (Write_VMS_MHD_Records):  make `cp' const char *;
908         (VMS_Modify_Psect_Attributes, array `Attributes'):  make const,
909         and make field `Name' pointer to const char;
910
911         * as.h (`seg_name[]' declaration):  pointers to const char;
912         (struct _pseudo_type, field `poc_name'):  pointer to const char.
913         * subsegs.c (`seg_name[]' definition):  ditto;
914         * hash.c (hash_ask):  rename argument `access' to `access_type'
915         to avoid shadowing library function.
916         * write.c (variable `the_object_file'):  move from file scope
917         to block scope within write_object_file(); free it after use;
918         (fixup_segment):  conditionally exclude it for OBJ_VMS.
919         (cvt_frag_to_fill):  rename argument `headers' to `headersP'
920         to avoid shadowing file scope variable.
921
922 Mon Jan 23 21:42:39 1995  Jeff Law  ([email protected])
923
924         * config/tc-hppa.c (pa_ip, case 'D'): Fix typo which caused
925         miscompilation of "diag" instructions.
926
927 Mon Jan 23 15:51:41 1995  Ken Raeburn  <[email protected]>
928
929         * configure: Regenerated.
930
931         * config/tc-mips.c: Include libiberty.h.
932
933 Mon Jan 23 14:07:58 1995  Ian Lance Taylor  <[email protected]>
934
935         * config/tc-sh.h (tc_init_after_args): Don't define.
936         * config/tc-sh.c (md_begin): Remove unused variable table.
937         (md_assemble): Remove unused variable p.
938         (md_convert_frag): Cast fr_address to unsigned long for printf.
939         (md_apply_fix): Use as_warn_where rather than as_warn.
940         (sh_init_after_args): Remove empty function.
941
942         * configure.in (i386-*-gnu*elf*): New target.
943
944 Sat Jan 21 19:02:23 1995  Ian Lance Taylor  <[email protected]>
945
946         * hash.c (hash_ask): If we find the slot after wrapping around,
947         break out of the loop.  Fixes bug in Jan 18 change.
948
949 Fri Jan 20 17:07:31 1995  Ken Raeburn  <[email protected]>
950
951         * hash.c (hash_code): Undo last change.
952
953 Thu Jan 19 14:49:47 1995  Ken Raeburn  <[email protected]>
954
955         * config/tc-alpha.c (alpha_ip): Initialize local variables to keep
956         gcc quiet.
957         (gpdisp_hi16_howto): Don't use "const" with reloc_howto_type.
958         (in_range_signed): Add parens around subtraction inside shift.
959         * gasp.c (do_data): Initialize local variable "opname".
960         (istrue): Provide a default case to set "res" and keep "gcc -Wall"
961         quiet.
962         * write.c (write_contents): Deleted unused variable.
963         (print_symbol_value_1): Declare.
964         * hash.c (hash_ask): Delete disabled non-strcmp version of the
965         code, and automatic variables used only in those sections.
966         * write.c (chain_frchains_together_1): Only define local variable
967         "prev_fix" if BFD_ASSEMBLER.
968         * flonum-konst.c (dummy1): Return void.
969         * config/tc-vax.c (md_assemble): Remove two comparisons of
970         unsigned numbers versus zero.
971         * as.h (bcopy): If neither memcpy nor bcopy is defined as a macro,
972         define to use memcpy.
973
974         * config/tc-alpha.c, config/alpha-opcode.h: Revert 2 June changes.
975         Turns out we never got the assignment done after all.
976
977         Cleanup of VAX and VMS code, from Pat Rankin:
978         * config/obj-vms.c: Changed exported function names to lower case.
979         (Changed call sites in write.c.)  Declare VMS system function
980         names used, conditional on actually being on VMS.  Changed many
981         functions that returned no useful value to now be declared to
982         return void.  Removed many unused variables.  Supply missing
983         return statements or values.  Supply `default' case in switch
984         statements.  Ensure local variables get initialized.
985         * config/tc-vax.c: Minor changes to silence "gcc -Wall".
986         * config/obj-vms.h, config/tc-vax.h: Added some missing
987         declarations.
988
989 Wed Jan 18 13:49:26 1995  Ken Raeburn  <[email protected]>
990
991         * atof-generic.c (flonum_print) [TRACE]: New function.
992         (atof_generic) [TRACE]: Print multiplier before multiplication,
993         and print multiplication result before and after copy.
994
995         * flonum-mult.c (flonum_multip): Avoid sign extension problems
996         around multiplication operation.
997
998         * atof-generic.c (ASSUME_DECIMAL_MARK_IS_DOT): Define.
999         (atof_generic) [ASSUME_DECIMAL_MARK_IS_DOT]: Check for '.'
1000         explicitly instead of calling strchr.
1001
1002         * config/tc-sparc.c (sparc_ip): When scanning successive opcode
1003         table entries, check names for pointer equality before doing
1004         string comparisons.
1005
1006         * hash.c (hash_ask): Call strcmp instead of expanding it inline.
1007         (hash_code): Replaced with a version from bfd.
1008
1009         * config/obj-coff.c (write_object_file): If COFF_FLAGS isn't
1010         defined, default it to zero.
1011
1012 Wed Jan 18 12:16:07 1995  Ian Lance Taylor  <[email protected]>
1013
1014         * write.c (fix_new_internal): Clear fx_bsr on those targets which
1015         use it.
1016
1017         * expr.c (operand): Parenthesize && within ||.
1018         * listing.c (listing_newline): Likewise.
1019         (list_symbol_table): Use %lu to print sizeof.
1020         * symbols.c: Comment out unused function indent.
1021         (print_symbol_value_1): Cast pointer to unsigned long for printf.
1022         * config/obj-coff.c (do_relocs_for): Only declare symbol_ptr if it
1023         will be used.
1024         * config/tc-h8300.c (md_begin): Remove unused variable reg.
1025         (get_operand): Declare type of parameter direction.  Remove unused
1026         variable size.
1027         (get_specific): Fix comment to avoid nested comments.
1028         (check_operand): Cast X_add_number to unsigned long for printf.
1029         (build_bytes): Remove unused local variables output_ptr, part, and
1030         high.
1031         (build_bytes): Cast X_add_number to unsigned long for printf.
1032         (clever_message): Remove unused variable scan.
1033         (md_assemble): Remove unused variable i.
1034         (tc_coff_sizemachdep): Remove unused function.
1035         * tc-h8300.h (tc_reloc_mangle): Declare.
1036
1037 Tue Jan 17 10:58:06 1995  Ian Lance Taylor  <[email protected]>
1038
1039         * config/tc-mips.c (mips_4650): New static variable.
1040         (md_begin): Handle a cpu string of "4650".  If mips_4650 was not
1041         initialized, set it to 0.
1042         (append_insn): Don't insert nops around HI and LO on a 4650.
1043         (mips_emit_delays): Likewise.
1044         (mips_ip): Use INSN_ISA mask to check ISA of instruction.  Check
1045         for INSN_4650.
1046         (md_longopts): Add m4650 and no-m4650.
1047         (md_parse_option): Handle mips-cpu=4650.  Handle -m4650 and
1048         -no-m4650.
1049         * doc/as.texinfo: Document new MIPS options.
1050
1051 Sat Jan 14 23:48:13 1995  Steve Chamberlain  <sac@jonny>
1052
1053         * config/tc-w65.c, config/tc-w65.h, config/w65.mt: Newfiles.
1054         * config/obj-coff.h: Cope with w65.
1055         * configure, configure.in: Recognize w65.
1056
1057 Thu Jan 12 17:56:24 1995  Ken Raeburn  <[email protected]>
1058
1059         * app.c (do_scrub_next_char) [__GNUC__ && __OPTIMIZE__]: If `get'
1060         function is scrub_from_file, call scrub_from_file directly, and
1061         get gcc's inlining capability into the act.
1062
1063         * Makefile.in (VMS_OTHER_OBJS): Add ../libiberty/hex.o.
1064         (OBJS): Delete hex-value.o.
1065         (REAL_SOURCES): Delete hex-value.c.
1066         (hex-value.o): Delete dependencies.
1067         * hex-value.c: Deleted.
1068         * as.c (main): Call hex_init.
1069         * expr.c, config/tc-mips.c: Include libiberty.h.  Replace
1070         hex_value array references with hex_* macros.
1071
1072 Wed Jan 11 17:51:38 1995  Ken Raeburn  <[email protected]>
1073
1074         * config/tc-h8300.h (COFF_FLAGS): Don't define.
1075         * config/tc-h8500.h (COFF_FLAGS), config/tc-sh.h (COFF_FLAGS),
1076         config/tc-z8k.h (COFF_FLAGS): Ditto.
1077 start-sanitize-rce
1078         * config/tc-rce.h (COFF_FLAGS): Ditto.
1079 end-sanitize-rce
1080
1081         * config/obj-coff.c (KEEP_RELOC_INFO): Make sure it's always
1082         defined.
1083
1084         * config/tc-m68k.c (m68k_ip, cases AOFF and AINDEX): Don't
1085         generate 68020 addressing modes for a 68000 processor.
1086         (md_estimate_size_before_relax, cases PCREL and PCLEA): Ditto.
1087
1088 Tue Jan 10 13:34:14 1995  Ken Raeburn  <[email protected]>
1089
1090         * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
1091         specially with regard to fixups.
1092
1093 Mon Jan  9 16:22:28 1995  Ken Raeburn  <[email protected]>
1094
1095         * config/tc-mips.c (RELAX_RELOC1, RELAX_RELOC2): Cast values to
1096         bfd_vma before subtracting.
1097
1098         * config/obj-coff.c (size_section): Handle rs_space like rs_fill,
1099         but make sure fr_symbol is null.
1100         (fill_section): Ditto.
1101
1102 Sun Jan  8 16:14:19 1995  Ian Lance Taylor  <[email protected]>
1103
1104         * config/tc-mips.c (mips_ip): Fix handling of floating point
1105         values when GPOPT is not defined.
1106
1107 Fri Jan  6 16:59:41 1995  Ken Raeburn  <[email protected]>
1108
1109         * gasp.c: Include string.h.  Put config.h before other includes.
1110
1111         * config/tc-alpha.c (alpha_ip): Delay calls to emit_add64 until
1112         after any remaining operands are also known to match.
1113
1114 Fri Dec 30 18:21:41 1994  Ken Raeburn  <[email protected]>
1115
1116         * listing.c (list_symbol_table): Build a format string based on
1117         the size of the value to be printed, as long as "unsigned long" is
1118         at least as wide, after handling the special case of 4-byte
1119         values.
1120
1121         * Makefile.in (dependencies): Make $(OBJS) depend on as.h and
1122         everything it includes.  Delete those files from per-file
1123         dependencies.
1124
1125         * as.h (relax_substateT): Now defined to be unsigned int.
1126         (relax_stateT): Separate typedef from enum definition.
1127         (enum _relax_state): Reordered for better punctuation.  Added new
1128         values rs_align_code and rs_space.
1129         (lineno, struct lineno_struct): Unused, deleted.
1130
1131         * as.h: No longer include assert.h.
1132         (as_assert): Declare.
1133         (assert): New definition, calls as_assert longer needed.
1134         (__PRETTY_FUNCTION__): Provide default for older versions of gcc.
1135         * messages.c (as_assert): New function.
1136         * gdbinit.in: Put a breakpoint there.
1137
1138         * read.c (s_space): Rewrite to handle general expressions.
1139         Generate rs_space frags for non-constant values.
1140         * write.c (cvt_frag_to_fill): Treat rs_align_code and rs_space
1141         like rs_align and rs_org.  Verify that fr_offset is non-negative,
1142         and force frag type to rs_fill only after assertion checks.
1143         (relax_segment): Treat rs_align_code like rs_align.  Treat
1144         rs_space like rs_org in the first switch; in the second, force the
1145         operand to a constant, and use it for the growth size.
1146
1147 Wed Dec 28 20:57:37 1994  Jeff Law  ([email protected])
1148
1149         * config/tc-hppa.c (pa_subspace): For sections with the ZERO
1150         attribute, set the "bss" field in the appropriate seginfo structure.
1151
1152 Wed Dec 28 15:01:01 1994  Ken Raeburn  <[email protected]>
1153
1154         * subsegs.h: Include obstack.h.
1155
1156 Tue Dec 27 18:16:04 1994  Ken Raeburn  <[email protected]>
1157
1158         * as.h (struct frag): Enable align* components now.
1159
1160 Tue Dec 20 14:56:31 1994  Ken Raeburn  <[email protected]>
1161
1162         * frags.c (frag_init): Call obstack_begin on `frags'.
1163         * subsegs.c (subsegs_begin): Don't do it here.
1164         * as.c (main): Call frag_init before subsegs_begin.
1165
1166         * frags.c (frag_append_1_char): New function.
1167         * frags.h (frag_append_1_char): Declare it.
1168         (FRAG_APPEND_1_CHAR): Call it.  Old definition is commented out
1169         for now.
1170
1171         * as.h (struct frag): Added (but commented out) new fields for
1172         tracking current alignment.
1173         (frag_now_fix): Changed macro to function declaration.
1174         * frags.c (frag_now_fix): Define function here.
1175         (frag_new): Use it instead of accessing `frags' directly.
1176         * frags.h (frags): Change comment to indicate it shouldn't be
1177         accessed directly.
1178         * subsegs.h (struct frchain): New field frch_obstack, intended to
1179         eventually replace global `frags' obstack.
1180         * subsegs.c (subseg_set_rest): Use frag_now_fix instead of
1181         accessing `frags' directly.  Initialize fields of new frchainS
1182         explicitly instead of with memset.
1183         * config/obj-coff.c (obj_coff_ln) [!BFD_ASSEMBLER]: Use
1184         frag_now_fix.
1185         * config/tc-mips.c (s_loc), config/obj-vms.c
1186         (vms_resolve_symbol_redef), symbols.c (colon): Likewise.
1187
1188         * config/tc-m68k.c (md_apply_fix_2): Use offsetT and addressT
1189         instead of long and unsigned long.
1190         (md_apply_fix): Cast value before passing it.
1191
1192         * config/obj-aout.h, config/obj-coff.c, config/obj-elf.h,
1193         config/obj-som.h, config/tc-h8500.c, config/tc-hppa.c,
1194         config/tc-hppa.h, config/tc-sh.c, config/tc-z8k.c: Don't rely on
1195         use of ".." when including header files.
1196 start-sanitize-rce
1197         * config/tc-rce.c: Ditto.
1198 end-sanitize-rce
1199
1200         * config/obj-coff.c (fixup_segment): Reformat condition in an `if'
1201         statement.
1202
1203         * Makefile.in (SUBDIR_INCLUDES): Deleted.
1204
1205 Tue Dec 20 13:40:36 1994  Ian Lance Taylor  <[email protected]>
1206
1207         * config/obj-coff.h: Include bfd/libcoff.h, not libcoff.h.
1208
1209 start-sanitize-arc
1210 Tue Dec 20 09:10:40 1994  Doug Evans  <[email protected]>
1211
1212         * config/tc-arc.c: Delete lots of sparc pseudo-ops.
1213 end-sanitize-arc
1214
1215 Mon Dec 19 16:53:36 1994  Ian Lance Taylor  <[email protected]>
1216
1217         * config/tc-mips.c (load_register): Rewrite to handle O_big 64 bit
1218         constants.
1219         (mips_ip): Accept O_big constants in case 'I'.  Change case
1220         'i'/'j' to treat an O_big constant as an out of range value.
1221
1222 Mon Dec 19 14:15:07 1994  Jeff Law  ([email protected])
1223
1224         * config/tc-hppa.c (pa_subspace): Make sure SEC_HAS_CONTENTS is
1225         clear for a section with the "ZERO" attribute.
1226
1227         * Reduce useless symbols for ELF in an attempt to make smaller
1228         objects and speed up the linker.
1229         * config/tc-hppa.c (struct call_info): Replace end_symbol field
1230         with a size field.
1231         (hppa_elf_mark_end_function): Delete unneeded function.
1232         (pa_build_unwind_subspace): For the 2nd unwind relocation, use
1233         the function symbol + function size instead of a special symbol
1234         for the end of the function.
1235         (process_exit): Compute the function size here.  Don't call 
1236         hppa_elf_mark_end_of_function anymore.
1237         (pa_procend): Likewise.
1238         (hppa_fix_adjustable): Only reject 32bit relocations for SOM.
1239         (elf_hppa_final_processing): Simplify.
1240
1241 start-sanitize-arc
1242 Mon Dec 19 12:57:09 1994  Doug Evans  <[email protected]>
1243
1244         * config/tc-arc.c (arc_insert_operand): Change reg parm to pointer
1245         to table entry.  All callers changed.
1246         (md_shortopts): New argument -mmult.
1247         (md_parse_option): Recognize it.
1248         (md_show_usage): Print it.
1249         (md_begin): If -mmult, say we have the new multiply and shift insns.
1250         (md_assemble): Fix reloc generation for 32 bit immediate values.
1251         Clean up modifier handling.  Try next insn if fake operand says there's
1252         an error.  Update to new syntax of insertion/extraction fns.
1253         Recognize predefined aux regs.  Don't abort if insertion fn missing.
1254 end-sanitize-arc
1255
1256 Mon Dec 19 13:49:07 1994  Ken Raeburn  <[email protected]>
1257
1258         * configure.in: Recognize mips-sony-bsd and mips-dec-bsd, but
1259         reject other vendors until we can be sure we're consistent with
1260         bfd.
1261
1262         * config/obj-vms.c (Create_VMS_Object_File): Instead of formatting
1263         a buffer to pass to `error', just call `as_fatal' directly.
1264         (VMS_Psect_Spec): Ditto.
1265         (VMS_TBT_Module_Begin, VMS_TBT_Source_File, gen1,
1266         VMS_typedef_parse, VMS_LSYM_Parse, VMS_Emit_Globalvalues): Call
1267         as_tsktsk instead of printf.
1268         (VMS_TBT_Module_Begin, VMS_TBT_Line_PC_Correlation,
1269         VMS_TBT_Source_File, VMS_TBT_Source_Lines,
1270         VMS_Store_Repeated_Data, VMS_Check_For_Main): Use explicit
1271         integers rather than sizeof expressions using basic integer types,
1272         in case host and target aren't the same.  Use memcpy or COPY_*
1273         macros instead of possibly unaligned word or longword assignment.
1274
1275         * config/obj-vms.h (OBJ_SYMFIELD_TYPE): New macro.
1276         * config/obj-vms.c (VMS_Store_PIC_Symbol_Reference,
1277         VMS_Check_For_Main, VMS_write_object_file): Use sy_obj instead of
1278         forcing sy_number to hold a pointer.
1279
1280 Fri Dec 16 14:40:16 1994  Ken Raeburn  <[email protected]>
1281
1282         * config/tc-sh.c (md_begin): Don't fill in md_relax_table here.
1283         (md_relax_table): Use static initialization.
1284
1285         * config/tc-h8300.c (parse_exp, get_operands, clever_message,
1286         md_assemble, tc_crawl_symbol_chain, md_undefined_symbol,
1287         tc_headers_hook, md_operand, md_number_to_chars): Don't use DEFUN.
1288
1289         * Makefile.in (CHECKFLAGS): Don't pass AS_FOR_TARGET,
1290         CC_FOR_TARGET, OBJDUMP_FOR_TARGET, NM_FOR_TARGET; they're not
1291         used.
1292         (AS_FOR_TARGET, CC_FOR_TARGET, OBJDUMP, OBJDUMP_FOR_TARGET, NM,
1293         NM_FOR_TARGET): Don't define.
1294         (VMS_OTHER_OBJS): Add xmalloc.o and xexit.o from libiberty.
1295         (tooldir): Use exec_prefix, not libdir.
1296
1297 Fri Dec 16 11:07:10 1994  Stan Shebs  <[email protected]>
1298
1299         * config/obj-coff.h: Include libcoff.h, not ../bfd/libcoff.h.
1300
1301         * as.h: Include progress.h.
1302         * as.c (main): Call START_PROGRESS and END_PROGRESS.
1303         (main, perform_an_assembly_pass): Call PROGRESS.
1304
1305 Fri Dec 16 00:46:08 1994  Ian Lance Taylor  <[email protected]>
1306
1307         * write.c (adjust_reloc_syms): Use bfd_is_und_section and
1308         bfd_is_abs_section rather than comparing against &bfd_und_section
1309         and &bfd_abs_section.
1310
1311 Thu Dec 15 15:27:14 1994  Jim Wilson  <[email protected]>
1312
1313         * config/tc-sh.c (md_begin): Use a local variable when
1314         initializing md_relax_table to avoid errors about modifying a
1315         const data structure.
1316
1317 Tue Dec 13 15:42:27 1994  Ian Lance Taylor  <[email protected]>
1318
1319         * config/tc-ppc.c (tc_gen_reloc): Remove OBJ_ELF hack which
1320         appears to no longer be needed.
1321
1322 Tue Dec 13 08:04:15 1994  Ian Lance Taylor  <[email protected]>
1323
1324         * config/tc-mips.c (macro_build): Accept BFD_RELOC_PCREL* without
1325         requiring that the X_op_symbol be in the text_section.
1326         (macro): Change the test for a legel expression difference to
1327         correspond to changes in pseudo_set in read.c.
1328
1329 Fri Dec  9 21:04:17 1994  Ken Raeburn  <[email protected]>
1330
1331         * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Use
1332         bfd_install_relocation.
1333
1334         * ecoff.c (ecoff_set_gp_prolog_size): If there is no current
1335         routine, just return.
1336
1337         * config/tc-alpha.c (alpha_ip, case 'B', subcase 'c'): Use opcode
1338         value from pattern instead of assuming jsr.
1339         * config/alpha-opcode.h (jmp): Add a "1,Bc" form.
1340
1341 Thu Dec  8 17:48:25 1994  Ken Raeburn  <[email protected]>
1342
1343         * Makefile.in (NM_FOR_TARGET): Use ../binutils/nm.new, not just
1344         plain nm.
1345
1346         * configure.in (ns32k-pc532-mach*): Select correct emulation.
1347         (mips-sony-bsd*): Use ecoff.
1348         (mips-*-gnu*): New target, using aout format, from Roland McGrath.
1349         * configure: Regenerated.
1350
1351 start-sanitize-arc
1352 Tue Nov 29 18:12:22 1994  Doug Evans  <[email protected]>
1353
1354         * configure.in (arc-*-elf*): Recognize.
1355         * configure: "regenerated".
1356         * config/tc-arc.c, config/tc-arc.h, config/arc.mt: New files.
1357 end-sanitize-arc
1358
1359 Tue Nov 29 13:58:10 1994  Ken Raeburn  <[email protected]>
1360
1361         Use libiberty version of xmalloc:
1362         * Makefile.in (REAL_SOURCES): Delete xmalloc.c.
1363         (OBJS): Delete xmalloc.o.
1364         (xmalloc.o): Delete dependencies.
1365         * as.c (main): Call xmalloc_set_program_name once program name is
1366         known.
1367
1368         * config/tc-alpha.c (in_range_signed, in_range_unsigned): New
1369         routines, split from in_range.
1370         (in_range): Deleted.  All calls changed to in_range_*signed.
1371         (create_lita_section): Macro deleted.  Single use expanded in
1372         place.
1373         (alpha_ip): Handle `t' and `8' operand types.
1374         (md_apply_fix): Handle BFD_RELOC_12_PCREL.  Print name of
1375         unhandled relocation types.
1376         * config/alpha-opcode.h: Added HALT and DRAINA.  Disabled MOVI,
1377         since it doesn't work, and isn't supported by the native
1378         assembler.
1379
1380         * input-scrub.c: Change wording of a comment to avoid interference
1381         with Cygnus source-control tools.
1382
1383         * as.h (errno) [NEED_DECLARATION_ERRNO]: Declare.
1384
1385         * config/tc-m68k.c (init_table): List buscr and pcr control
1386         registers.
1387         (m68k_ip, case 'J'): Handle them.
1388
1389         Delete signal handler code.  It's been disabled since March 1993
1390         without complaints.
1391         * as.c: Don't include signal.h.
1392         (got_sig): Unused function deleted, declaration deleted.
1393         (SIGTY): Macro deleted.
1394         (main): Deleted disabled code for establishing signal handler.
1395
1396 start-sanitize-rce
1397         Tiemann should've noted something like this:
1398         * config/tc-rce.c, config/tc-rce.h: New files.
1399         * as.c (main) [TC_RCE]: Call dump_literals.
1400         * configure.in: Handle rce-*-aout.
1401         * configure: Regenerated.
1402 end-sanitize-rce
1403
1404 Mon Nov 28 11:37:35 1994  Doug Evans  <[email protected]>
1405
1406         * app.c (do_scrub_next_char): Insert missing newline at end of file
1407         like warning says we do.
1408
1409 Mon Nov 28 00:11:15 1994  Jeff Law  ([email protected])
1410
1411         * config/tc-hppa.h (pa_check_eof): Declare new extern function.
1412         (tc_frob_file): Define to call pa_check_eof.
1413
1414         * config/tc-hppa.c (pa_check_current_space_and_subspace): New
1415         function to verify the current space and subspace are reasonable.
1416         Call for the appropriate pseudo-ops and before instruction parsing.
1417         (pa_check_eof): New function to verify enter/exit and proc/procend
1418         pairs match at EOF.
1419         (pa_code): Simplify.
1420
1421         * config/obj-som.c: Delete #if 0 code.
1422
1423 Wed Nov 23 19:36:09 1994  Steve Chamberlain  ([email protected])
1424
1425         * config/obj-coff.h (TARGET_FORMAT): Select between coff-shl and
1426         coff-sh.
1427         * config/sh.mh (TARG_CPU_DEPENDENTS): Get it right.
1428         * config/tc-sh.c  (little): New function.
1429         (md_parse_option): Notice new option.
1430         (build_relax, build_Mytes, md_atof, md_convert_frag, md_apply_fix):
1431         Cope with little endian data.
1432         * config/tc-sh.h (COFF_MAGIC, LISTING_HEADER): Endian dependent.
1433
1434 Wed Nov 23 10:54:38 1994  Jeff Law  ([email protected])
1435
1436         * config/tc-hppa.c (tc_gen_reloc, ELF variant): Revert last
1437         change.  The real bug was in bfd/elfcode.h and has been fixed.
1438
1439 Tue Nov 22 23:31:20 1994  Jeff Law  ([email protected])
1440
1441         * config/tc-hppa.c (tc_gen_reloc, ELF variant): Add section->vma
1442         to the relocation's offset.
1443
1444 Tue Nov 22 14:37:58 1994  Steve Chamberlain  ([email protected])
1445
1446         * Makefile.in (INSTALL_XFORM): Fix typo.
1447
1448 Tue Nov 22 10:23:25 1994  J.T. Conklin  <[email protected]>
1449
1450         * config/tc-alpha.c (s_alpha_set): Ignore the .set (no)move and
1451           .set (no)volatile directives.
1452
1453 Tue Nov 15 21:44:13 1994  Jeff Law  ([email protected])
1454
1455         * config/tc-hppa.c (pa_subspace): Make sure to always reset
1456         current_subspace.
1457         (pa_text, pa_data): Likewise.
1458
1459         * config/tc-hppa.c (pa_align): New function.  Aligns the current
1460         offset within the current subspace along with updating the
1461         alignment of the subspace itself.
1462         (pa_subspace): Default alignment to one byte rathern than zero
1463         bytes to avoid setting alignment to log2(0).
1464         (md_pseudo_table): Use pa_alignment for .align.
1465
1466 Tue Nov 15 15:24:45 1994  Ken Raeburn  <[email protected]>
1467
1468         * messages.c (as_fatal): Always put a space after "fatal error:"
1469         when printing message.
1470
1471 Tue Nov 15 11:10:43 1994  Jeff Law  ([email protected])
1472
1473         * config/tc-hppa.h (obj_frob_symbol): Delete.
1474         (tc_frob_symbol): Make definition conditional on OBJ_SOM or
1475         OBJ_ELF.  For ELF subtract out symbol->section->vma for non common
1476         symbols.
1477
1478 Wed Nov  9 14:53:03 1994  Ken Raeburn  <[email protected]>
1479
1480         * config/te-delta.h: New file, derived from te-sysv32.h.
1481
1482 Wed Nov  9 11:52:44 1994  Ian Lance Taylor  ([email protected])
1483
1484         * config/tc-ppc.c (ppc_bf): Always set coff_line_base.
1485
1486 Mon Nov  7 01:58:49 1994  Ken Raeburn  <[email protected]>
1487
1488         * Makefile.in (VERSION): Bump to 2.5.3.
1489
1490         * configure.in: Compare generic cpu name against "sparc", not
1491         "sparc*", since sparc variants should be changed to "sparc".
1492         * configure: Regenerated with autoconf 2.1.
1493
1494         * config/tc-a29k.c (octal, toHex): Variables deleted.
1495         (isoctal): Macro deleted.
1496         (md_begin): Don't initialize them.
1497         (machine_ip, case 'P'/'A'): For absolute operand, generate an
1498         error message if it's out of range.
1499         (md_apply_fix, case RELOC_JUMPTARG): Check range for PC-relative
1500         jumps.
1501         (md_apply_fix): Delete code inside "#if 0".
1502
1503 Thu Nov  3 20:20:40 1994  Ken Raeburn  <[email protected]>
1504
1505         * config/go32.mh: Unused file deleted.
1506
1507         * read.c (get_absolute_expression): Indicate that the error may
1508         merely be that the expression can't currently be reduced.
1509
1510 Thu Nov  3 16:09:59 1994  J.T. Conklin  ([email protected])
1511
1512         * config/tc-m68k.h (TARGET_FORMAT): If TE_NetBSD define as
1513           "a.out-m68k-netbsd".
1514         * config/tc-sparc.h (TARGET_FORMAT): If TE_NetBSD define as
1515           "a.out-sparc-netbsd".
1516
1517         * config/te-nbsd.h: New file, NetBSD target emulation
1518         * config/te-netbsd.h: Removed.
1519         * configure.in (i[345]86-*-netbsd*,m68*-*-netbsd*,sparc*-*-netbsd*): 
1520           Set bfd_gas.  Use nbsd emulation.
1521
1522 Thu Nov  3 17:44:47 1994  Ken Raeburn  <[email protected]>
1523
1524         Changes from net 2.5.2 release branch:
1525
1526         * configure.in: Put AC_DEFINE(sparcv9) on its own line, so that
1527         the shell variable settings associated with it are permanent.  For
1528         CPUs requiring bfd_gas=yes, select it based on CPU only, not
1529         individual target names.  Handle m68k-hp-hpux*, not just -hpux.
1530
1531         * config/tc-z8k.c (tc_coff_symbol_emit_hook): Add dummy argument
1532         to match prototype in obj-coff.h.
1533
1534         * configure.in: Skip tests for defining WANT_FOPEN_BIN and
1535         IBM_COMPILER_SUX.
1536         * acconfig.h: Deleted them.
1537         * configure, conf.in: Rebuild with autoconf 2.0.
1538         * config/go32.cfg, config/vms-conf.h: Updated.
1539
1540         * config/tc-m68k.c (md_apply_fix_2, md_convert_frag_1): Always use
1541         IBM_COMPILER_SUX version of code, with comments indicating why.
1542
1543         * listing.c (file_info): Use text mode when opening file for read.
1544         Use "r" directly, no macro.
1545         * input-file.c (input_file_open): Don't use FOPEN_RT, just use
1546         "r".
1547         * read.c (s_include): Ditto.
1548         * output-file.c (output_file_create): Try both "wb" and "w", don't
1549         bother with FOPEN_* macros.
1550         * as.h: Don't include fopen-*.h.
1551
1552         * config/alpha-opcode.h: Make "ret" with no operands equivalent to
1553         "ret zero,(ra)", to match OSF1 and to be consistent with both
1554         one-operand forms.
1555
1556         Patches from DJ Delorie:
1557         * as.h (alloca): undef alloca before defining it just in case
1558         * config/go32.cfg: new file for autoconf values
1559         * config/te-go32.h: new file
1560         * configure.bat: new for autoconf
1561
1562         * config/tc-i386.c (md_assemble): Fix typo in GOTPC check; had =
1563         for ==.
1564
1565         * configure.in: If target_frag doesn't exist, use /dev/null.
1566
1567         * as.c (parse_args): For non-VMS systems, re-add `v' to
1568         std_shortopts.  Add "verbose" to list of long options.
1569
1570         * write.c (adjust_reloc_syms): When generating an absolute section
1571         symbol as a placeholder, don't mark it as used in a relocation
1572         entry, here.
1573
1574         * Makefile.in (comparison): Compare using makefile code from gcc,
1575         stripped down to discard subdir stuff and adapted to give a
1576         non-zero exit status if either file differs.
1577
1578 Thu Nov  3 15:43:02 1994  Ian Lance Taylor  <[email protected]>
1579
1580         * config/tc-mips.c (load_address): Fix RELAX_ENCODE arguments for
1581         NO_PIC case.
1582
1583 Tue Nov  1 16:10:59 1994  Ian Lance Taylor  <[email protected]>
1584
1585         * config/tc-mips.c (s_change_sec): If not GPOPT, don't permit
1586         switching to the readonly data section.
1587
1588         * ecoff.c (ecoff_directive_type): Fix warning message.
1589
1590 Sun Oct 30 00:57:35 1994  Jeff Law  ([email protected])
1591
1592         * config/tc-hppa.c (pa_proc): Delete disabled code to put each
1593         proc in its own subspace, we're not going to use it.
1594
1595 Tue Oct 25 14:44:33 1994  Ian Lance Taylor  <[email protected]>
1596
1597         * config/tc-mips.c (macro): Ensure that mips2 case of M_LI_DD in
1598         .rdata does not become a variant frag.
1599
1600         * config/tc-mips.c (mips_cpu): Initialize to -1.
1601         (md_begin): Don't mips_cpu if it was already set.
1602         (md_parse_option): For -mipsN, don't set mips_cpu if it was
1603         already set.  For -mcpu=, just set mips_cpu, not mips_isa.
1604
1605 Fri Oct 21 20:42:29 1994  Ian Lance Taylor  <[email protected]>
1606
1607         * config/tc-mips.c (md_pseudo_table): If OBJ_ELF, handle .section.
1608         (s_elf_section): New static function.
1609         * ecoff.c (ecoff_build_symbols): Don't abort if we don't recognize
1610         the section when setting the storage class; default to sc_Data.
1611
1612 Thu Oct 20 00:43:38 1994  Jeff Law  ([email protected])
1613
1614         * config/tc-hppa.c (md_apply_fix): Set new_val to 8 for all
1615         fixups to branch instructions (not just pc-relative ones) which
1616         will generate SOM relocations.
1617
1618 Wed Oct 19 13:41:56 1994  Ian Lance Taylor  <[email protected]>
1619
1620         * config/tc-a29k.c: Include ctype.h with angle brackets.
1621         (define_some_regs): Add new special register names defined on the
1622         29040.
1623         (parse_operand): Add argument opt.  If non-zero, don't warn about
1624         a missing operand.
1625         (machine_ip): If handling argument type 'I', pass opt as non-zero
1626         to parse_operand.  Handle new optional operand type 'I'.
1627         (md_undefined_symbol): Handle special register names (srNN).
1628
1629 Tue Oct 18 00:45:24 1994  Ian Lance Taylor  ([email protected])
1630
1631         * write.c (renumber_sections): New static BFD_ASSEMBLER function.
1632         (write_object_file): Call it after removing gas created sections.
1633
1634 Mon Oct 17 18:06:05 1994  Ian Lance Taylor  <[email protected]>
1635
1636         * symbols.c (symbol_create): Use udata.p, not just udata.
1637         * config/obj-elf.c (obj_ecoff_set_ext): Likewise.
1638         (elf_get_extr): Likewise.
1639
1640         * read.c (read_a_source_file): The second argument to as_where is
1641         unsigned int *, not int *.
1642
1643 Mon Oct 17 02:26:32 1994  Jeff Law  ([email protected])
1644
1645         * config/tc-hppa.c: Eliminate all uses of fx_addnumber.
1646         (tc_gen_reloc): Simplify.  It's no longer necessary to set a
1647         reloc's addend field to zero for function symbols.
1648         (md_apply_fix): Simplify.  For fixups which will require a SOM
1649         reloc, just clear out the necessary bits in the output file.
1650
1651 Fri Oct 14 19:06:46 1994  Ken Raeburn  <[email protected]>
1652
1653         * Makefile.in (BISON): Use bison -y, not bison.
1654
1655 Thu Oct 13 19:22:54 1994  Ken Raeburn  <[email protected]>
1656
1657         * Makefile.in (VERSION): Updated to 2.5.
1658         (clean-here): Delete stamp-mk.com.
1659         (distclean): Delete .gdbinit.
1660         * Version 2.5 released.
1661
1662 Wed Oct 12 20:30:51 1994  Ken Raeburn  <[email protected]>
1663
1664         * config/te-nbsd532.h: Renamed from te-netbsd532.h.
1665         * configure.in, configure: Adjusted.
1666
1667 Wed Oct 12 16:33:38 1994  J.T. Conklin  ([email protected])
1668
1669         * config/cplus-dem.c: Removed.  It isn't used.  Even if it was,
1670           it's better to use the one in libiberty.
1671
1672 Wed Oct 12 18:48:39 1994  Ken Raeburn  <[email protected]>
1673
1674         * symbols.c (resolve_symbol_value, case O_symbol): Undo last
1675         change; it breaks the rs6000 support, and doesn't seem to be
1676         needed.
1677
1678 Wed Oct 12 11:56:50 1994  J.T. Conklin  ([email protected])
1679
1680         * config/tc-i386.h,te-netbsd532.h (TARGET_FORMAT): Changed to
1681           a.out-<arch>-netbsd to match corresponding changes in BFD.
1682
1683 Wed Oct 12 11:06:11 1994  Ian Lance Taylor  ([email protected])
1684
1685         * config/tc-ppc.c (ppc_fix_adjustable): Resolve symbol values
1686         rather than explicitly adding the frag address.
1687         * config/obj-coff.c (coff_frob_symbol): Add a zero entry to mark
1688         the end of the line numbers; this replaces the zero entry which
1689         used to be added by coff_add_linesym, removed Oct 7.
1690         (coff_adjust_section_syms): Ignore sections with no seginfo.
1691
1692 Wed Oct 12 01:41:37 1994  Ken Raeburn  <[email protected]>
1693
1694         * Makefile.in (bootstrap, bootstrap2, bootstrap3): Create a
1695         "stage" symlink to the appropriate stage* directory, and use it
1696         instead in the -B options.
1697         (comparison): Revert yesterday's change.
1698
1699 Tue Oct 11 16:48:11 1994  Ken Raeburn  <[email protected]>
1700
1701         * config/tc-sparc.c (tc_gen_reloc): For non-a.out relocations, if
1702         pc-relative, use fx_offset only, ignore address of relocation.
1703
1704 Tue Oct 11 15:24:00 1994  Ian Lance Taylor  <[email protected]>
1705
1706         * config/tc-mips.c (mips_ip): Don't use S_IS_LOCAL when checking
1707         for an embedded PIC switch expression, since the definition of
1708         S_IS_LOCAL was changed.
1709
1710 Tue Oct 11 15:05:11 1994  Ken Raeburn  ([email protected])
1711
1712         * Makefile.in (comparison): When comparing as.new or gasp.new, try
1713         running the binary through sed to avoid differences due to
1714         "stage1" or "stage2" having been written into the binary.
1715
1716 Sat Oct  8 01:48:04 1994  Ken Raeburn  ([email protected])
1717
1718         ELF symbol size handling, based on code from Eric Youngdale:
1719         * config/obj-elf.h (OBJ_SYMFIELD_TYPE): New macro.  Adds an
1720         expression pointer to the symbol structure, used for `size'
1721         expressions that couldn't be reduced to constants when initially
1722         processed.
1723         (elf_frob_symbol): Declare.
1724         (obj_frob_symbol): Call elf_frob_symbol always, rather than
1725         ecoff_frob_symbol only if ECOFF_DEBUGGING defined.
1726         * config/obj-elf.c (obj_symbol_new_hook): Deleted unused code.
1727         Clear sy_obj field.
1728         (obj_elf_size): Deleted unused code.  If size is non-reducible
1729         expression, allocate some storage for the sy_obj field and copy
1730         the expression.
1731         (elf_frob_symbol): New function.  Computes sizes, calls
1732         ecoff_frob_symbol if appropriate.
1733
1734         * write.c (fixup_segment): For i386 elf and coff (for now), don't
1735         add in value of symbol from another defined section of the file.
1736
1737 Fri Oct  7 17:54:02 1994  Ken Raeburn  <[email protected]>
1738
1739         * config/tc-m88k.h (TC_KEEP_FX_OFFSET): Define.
1740         * config/obj-coff.c (do_relocs_for): Test only TC_KEEP_FX_OFFSET,
1741         rather than both it and TC_M88K.
1742         (coff_adjust_section_syms): New function.
1743         (coff_frob_section): For non-empty sections, create aux entry for
1744         the section symbol, indicating the size.
1745         (n_line_nos): New variable.
1746         (add_lineno): Increment it.
1747         (coff_add_linesym): Increment n_line_nos, don't call add_lineno.
1748         (coff_frob_file): New function; map coff_adjust_section_syms over
1749         sections.
1750         (obj_coff_line): Only reset line_base for .bf symbols.
1751         * config/obj-coff.h (coff_adjust_section_syms, coff_frob_file):
1752         Declare.
1753         (obj_frob_file): New macro.
1754
1755         * config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Renamed from
1756         obj_frob_forward_symbol, and rewritten for new parameter list.
1757
1758         Mon Oct  3 21:02:38 1994  Pat Rankin  ([email protected])
1759
1760         * config/obj-vms.h (S_IS_LOCAL): fix obsolete flagseen[] reference.
1761
1762 Wed Oct  5 11:49:26 1994  Ian Lance Taylor  <[email protected]>
1763
1764         * config/obj-ecoff.c (obj_pseudo_table): Accept .esize and .etype
1765         as synonyms for .size and .type.
1766
1767 Wed Oct  5 00:08:10 1994  Ian Lance Taylor  ([email protected])
1768
1769         * config/obj-coff.c (coff_frob_section): Remove assert about
1770         section alignment.
1771         * config/tc-sparc.c (md_section_align): Use section alignment, not
1772         xvec align_power_min field.
1773
1774 Fri Sep 30 19:05:20 1994  Pat Rankin  ([email protected])
1775
1776         * vmsconf.sh (make-gas.com): handle DCL verification to enable
1777         sensible feedback to the user while gas is being built.
1778
1779 Fri Sep 30 16:23:31 1994  Ken Raeburn  <[email protected]>
1780
1781         * Makefile.in (DISTSTUFF): New variable, listing only make-gas.com
1782         for now.
1783         (diststuff): New target; builds DISTSTUFF.
1784         (realclean): Separate target, depend on clean and distclean, then
1785         delete DISTSTUFF.
1786         * make-gas.com: Deleted.
1787
1788         * config/tc-i386.c (i386_validate_fix) [BFD_ASSEMBLER]: New
1789         function.  Converts reloc for "foo-GOT" to BFD_RELOC_386_GOTOFF
1790         reloc for "foo".
1791         (i386_operand): Don't look up section symbol for
1792         undefined_section.
1793         (reloc): Always permit return of 8- and 16-bit relocation types.
1794         Add a space after "pc-relative" in the error message.
1795         (tc_i386_fix_adjustable) [BFD_ASSEMBLER]: Reject
1796         BFD_RELOC_386_GOTOFF relocs.
1797         (i386_operand): For any GOTOFF reloc, convert it to a BFD_RELOC_32
1798         with a "foo-GOT" value.
1799         * config/tc-i386.h (i386_validate_fix): Declare it.
1800         (TC_VALIDATE_FIX): New macro -- call it.
1801         (NOP_OPCODE): Cast to `char' to avoid compiler warnings.
1802
1803         * as.h: If __STDC__ is not defined and varargs.h is available, use
1804         it rather than stdarg.h.
1805
1806         * write.h (struct fix): Added new bitfield fx_plt, for fixups
1807         referring to PLT entries.
1808         * write.c (fix_new_internal): Initialize fx_plt to zero.
1809         (adjust_reloc_syms): Re-fetch `sym' after top of reduction loop.
1810         Don't adjust fx_offset by frag address, since S_GET_VALUE now
1811         includes the frag address.
1812         (fixup_segment): Changed local var PCREL to type int, added PLT.
1813         If PC-relative fixup refers to a PLT entry for a symbol in the
1814         current section, don't reduce it.
1815
1816         * write.c (adjust_reloc_syms):  Exit loop through a label.  If
1817         DEBUG5 is defined, print out each fixup before and after
1818         processing.
1819         (fixup_segment): If DEBUG5 is defined, print out each fixup before
1820         and after processing.
1821         (print_fixup): Added prototype.  Show address on first line.  Show
1822         fx_offset and fx_subsy.  [!BFD_ASSEMBLER]: Only show fx_r_type if
1823         NEED_FX_R_TYPE is defined.
1824
1825         * symbols.c (print_symbol_value_1): Check S_IS_LOCAL, S_IS_EXTERN,
1826         S_IS_DEBUG, S_IS_DEFINED also.
1827
1828 Thu Sep 29 18:57:06 1994  Ken Raeburn  <[email protected]>
1829
1830         * Makefile.in (all): Depend on .gdbinit.
1831         (.gdbinit): Rebuild from gdbinit.in by running config.status.
1832
1833         * gdbinit.in: Define new function "pf".  Fix doc on "pe" and "ps".
1834
1835         * write.c (print_fixup): Print source location on first line.
1836         Show fx_r_type and fx_addsy fields.
1837
1838 Wed Sep 28 14:56:39 1994  Ken Raeburn  <[email protected]>
1839
1840         * configure.in: Set bfd_gas for all sparc targets in one place,
1841         instead of separately for each.  Correctly handle user-supplied
1842         "--enable-bfd-gas" option.
1843
1844         * gdbinit.in: Move "break abort" to end, in case gdb complains.
1845
1846         * as.h (PRINTF_WHERE_LIKE, PRINT_LIKE) [USE_STDARG, !__GNUC__]:
1847         Use PARAMS macro.
1848
1849         * symbols.c (resolve_symbol_value, case O_symbol): Don't do any
1850         processing if add_symbol is undefined or in expr_section.
1851         (resolve_symbol_value, case O_add): For symbol plus
1852         constant-valued symbol, convert to O_symbol and re-reduce.
1853         (S_GET_VALUE): If symbol needs resolving, resolve it.
1854         (indent_level): No longer static.
1855         (print_symbol_value_1): Don't print frag address if it matches
1856         zero_address_frag.  Don't print "resolving" if already resolved.
1857         Print segment name.  Don't call print_expr_1 on an undefined
1858         symbol.
1859         (print_expr_1): Fix whitespace before printing X_add_number.
1860
1861         * expr.c (make_expr_symbol): No longer static.  Use symbol_create,
1862         not symbol_new, for symbols holding expression values.
1863         * expr.h (make_expr_symbol): Move declaration here.
1864         * write.c (fix_new_exp): Handle O_add by creating an
1865         expression-valued symbol, and calling fix_new_exp recursively.
1866         (adjust_reloc_syms): If a fixup's symbol value is a sum of an
1867         undefined symbol and a constant, fold the constant into the fixup,
1868         and refer to the undefined symbol directly.  Then process the
1869         fixup again from scratch.
1870         (write_object_file): Before calling adjust_reloc_syms, make a pass
1871         through the symbol list trying to resolve values.
1872
1873         * write.c (print_fixup): New routine, for debugging.
1874         (write_relocs): Call bfd_install_relocation.  Deleted various
1875         hacks for working around problems with bfd_perform_relocation.
1876
1877         * Makefile.in (VERSION): Update to 2.4.90.
1878
1879 Wed Sep 28 11:50:40 1994  Ian Lance Taylor  ([email protected])
1880
1881         * Makefile.in (gasp.o): Depends upon config.h.
1882
1883         * config/tc-mips.c: Include subsegs.h.
1884         (md_apply_fix): If an unconditional b or bal overflows, and we are
1885         not assembling PIC code, replace it with a j or jal.
1886
1887         * config/tc-mips.c (md_apply_fix): Correct branch overflow test.
1888         Use as_bad_where and as_warn_where rather than as_bad and as_warn.
1889
1890 Mon Sep 26 17:15:59 1994  Ian Lance Taylor  ([email protected])
1891
1892         * write.c (write_relocs): Add file name and line number to
1893         as_fatal calls.  Handle bfd_reloc_overflow case specifically when
1894         RELOC_EXPANSION_POSSIBLE.
1895
1896 Fri Sep 23 16:11:28 1994  Ken Raeburn  <[email protected]>
1897
1898         * as.h (USE_STDARG, USE_VARARGS): Define one or neither of these
1899         here.  Use them for deciding which PRINTF*LIKE macro definitions
1900         to use.
1901         * messages.c: Use them, instead of NO_STDARG, NO_VARARGS.
1902         [!USE_STDARG && !USE_VARARGS] (va_alist, va_dcl, ...): Provide
1903         default definitions matching what we were doing before.
1904         (as_tsktsk): Remove the non-stdarg, non-varargs version, and
1905         always use the varargs form if not using stdarg.  It's safe to
1906         always use vfprintf, because libiberty will provide it if the
1907         native system doesn't.  Also, always make format be const.
1908         (as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto.
1909
1910 Fri Sep 23 14:42:34 1994  Ian Lance Taylor  ([email protected])
1911
1912         * config/tc-mips.c (load_register): Always use addiu when adding a
1913         constant to $zero--no need to use daddiu.
1914         (macro): Hack the -mips3 overflow tests to not fail when offsetT
1915         is only 32 bits.
1916
1917         * symbols.h (copy_symbol_attributes): Declare.
1918
1919 Thu Sep 22 21:58:24 1994  Ken Raeburn  <[email protected]>
1920
1921         * listing.c: Bugfixes based in part on patches from Paul
1922         Kranenburg.
1923         (listing_newline): Check filename as well as line number when
1924         deciding whether to record it.
1925         (list_symbol_table) [S_IS_REGISTER]: Check that S_IS_REGISTER is
1926         false (if defined) as well as checking for reg_section.
1927         (listing_listing): Iterate fetching lines while line number is too
1928         low, and we haven't run off the end of the input file.
1929
1930         * config/vms-conf.h: Changed HAVE_DELETE to HAVE_REMOVE.
1931
1932 Thu Sep 22 13:39:10 1994  Kung Hsu  ([email protected])
1933
1934         * ecoff.c (ecoff_generate_asm_lineno): check if
1935         current_stabs_filename is NULL before strcmp.
1936         * read.c (read_a_source_file): fix a bug in generate_asm_lineno
1937         checking.
1938
1939 Wed Sep 21 18:17:35 1994  Ken Raeburn  <[email protected]>
1940
1941         * config/ho-*.h: Now-unused files deleted.
1942
1943         * symbols.c (copy_symbol_attributes): New function.  Copies BFD
1944         symbol flags and calls OBJ_COPY_SYMBOL_ATTRIBUTES.
1945         (resolve_symbol_value, case O_symbol): Call it, if X_add_number is
1946         zero.  Don't call obj_frob_forward_symbol.
1947         * read.c (pseudo_set): Call copy_symbol_attributes, but only if
1948         X_add_number is zero.
1949         * config/obj-elf.h (obj_frob_forward_symbol): Deleted.
1950
1951         * config/tc-i960.c: Lots of whitespace, comment reformatting,
1952         using GNU indent.
1953         (strchr): Don't declare.
1954         [BFD_ASSEMBLER]: Don't compile md_convert_frag,
1955         md_estimate_size_before_relax, md_ri_to_chars,
1956         md_create_short_jump, md_create_long_jump.
1957         (brtab_emit): Use data_section, not SEG_DATA.
1958
1959         Mon Sep 19 17:14:44 1994  Pat Rankin  ([email protected])
1960
1961         * config/vms-conf.h: new file, manually derived from conf.in.
1962         * config-gas.com: use it, and eliminate obsolete "host.h".
1963
1964 Wed Sep 21 11:11:30 1994  Ian Lance Taylor  ([email protected])
1965
1966         * config/tc-ppc.c (ppc_current_block): New static variable.
1967         (ppc_stabx): Set sy_tc.within of a C_STSYM symbol to
1968         ppc_current_block.  Don't move around any stab symbol, just those
1969         for common symbols.
1970         (ppc_bs): Set ppc_current_block.
1971         (ppc_es): Clear ppc_current_block.
1972         (ppc_frob_symbol): Set the value of a C_STSYM symbol to the offset
1973         from the csect of the enclosing block.
1974
1975         * config/tc-mips.c (insns_since_cache_access): Remove.
1976         (append_insn): Remove setting of insns_since_cache_access, and
1977         special 4600 handling; it turns out not to be required.
1978
1979 Tue Sep 20 16:13:18 1994  Ian Lance Taylor  ([email protected])
1980
1981         * config/tc-mips.c (md_shortopts): Remove E.
1982         (md_longopts): Add EB and EL.
1983         (md_parse_option): Handle -EB and -EL as separate options, rather
1984         than as a single -E option with an argument.
1985
1986 Mon Sep 19 12:42:05 1994  Jeff Law  ([email protected])
1987
1988         * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions
1989         involving global symbols too.
1990
1991 Mon Sep 19 12:12:46 1994  Ken Raeburn  ([email protected])
1992
1993         * as.h: Test NEED_DECLARATION_*, not NEED_*_DECLARATION.
1994
1995         * configure.in: Test for remove, not delete.  Fix cross-assembler
1996         test.
1997         * as.h: Test HAVE_REMOVE, not HAVE_DELETE; define unlink to
1998         remove, not delete.
1999
2000         * read.c (pseudo_set, case O_symbol): If
2001         OBJ_COPY_SYMBOL_ATTRIBUTES is defined, invoke it.
2002         [BFD_ASSEMBLER]: Copy BSF_FUNCTION setting too.
2003         * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define.
2004
2005         Wed Aug 10 19:15:30 1994  Pat Rankin  ([email protected])
2006
2007         * config/obj-vms.h (DSG_S_C_UBITU, DST_K_VFLAGS_DSC, DST_K_TS_ATOM,
2008         many others): new macros; values obtained from "DSTRECRDS.SDL".
2009         * config/obj-vms.h (various): use them.
2010         (USE_BITSTRING_DESCRIPTOR): new macro, for selecting bitfield
2011         representation (only enum bitfields can avoid being bitstrings).
2012         (bitfield_suffix, setup_basic_type): new routines.
2013         (VMS_typedef_parse): use them.  Now recognize bitfields of all
2014         integral types, not just type `int'.  Caveat:  the representation
2015         used for bitfields still does not work for objects placed in
2016         registers, and gcc's optimizer sometimes puts small structs there.
2017
2018         Tue Jun 14 17:31:44 1994  Pat Rankin  ([email protected])
2019
2020         * read.c (s_text) [#if OBJ_VMS]: clear the IN_DEFAULT_SECTION
2021         bit from const_flag.
2022         * config/obj-vms.h (IN_DEFAULT_SECTION): define this macro.
2023         (tc_frob_label): define this to call vms_check_for_special_label,
2024         and declare the latter.
2025         * config/obj-vms.c (vax_g_doubles): declare this file-scope
2026         variable.
2027         (const_flag): initialize to IN_DEFAULT_SECTION instead of 0.
2028         (vms_check_for_special_label): new routine (tc_frob_label).
2029         (VMS_TBT_Routine_End): don't bother checking for `gcc_compiled.'
2030         and `gcc2_compiled.' labels; they won't reach here any more.
2031         (VMS_typedef_parse) [case 'r']: for types `double' and `complex
2032         double', use `vax_g_doubles' flag to select type of double.
2033         (VMS_write_object_file) [traceback setup]: don't pass symbols
2034         with the IN_DEFAULT_SECTION attribute to the TBT_Routine_Begin
2035         and TBT_Routine_End functions.
2036
2037         Mon Jun  6 20:52:20 1994  Pat Rankin  ([email protected])
2038
2039         * config/obj-vms.c (VMS_TBT_Routine_End): cache the result of
2040         S_GET_VALUE() to avoid many repeated function calls.
2041         (VMS_Check_For_Main) [#if HACK_DEC_C_STARTUP]: capitalize
2042         _C$MAIN_ARGS in advance, in case -h3 (leave symbol name as-is)
2043         gets requested.  [All the HACK_DEC_C_STARTUP code appears to
2044         be obsolete; gcc does it automatically for vms target.  It's
2045         also misnamed, because it is for the "VAX C" run-time library,
2046         not the newer "DEC C" one which has much different startup code.]
2047         {various}: use `S_SET_xxx(symbol,new_value)' rather than
2048         `S_GET_xxx(symbol) = new_value'.
2049
2050 Mon Sep 19 12:05:03 1994  Ian Lance Taylor  ([email protected])
2051
2052         * config/obj-coff.c (c_dot_file_symbol): Use bfd_abs_section_ptr,
2053         not &bfd_abs_section.
2054
2055 Thu Sep 15 18:36:34 1994  Ian Lance Taylor  ([email protected])
2056
2057         * expr.c (clean_up_expression): Use addressT, not bfd_vma.
2058
2059 Tue Sep 13 20:05:47 1994  Jeff Law  ([email protected])
2060
2061         * expr.c (expr): Don't reduce the difference of two symbols in the
2062         same frag if the symbols are not in normal sections.
2063
2064         * config/obj-som.h (S_SET_OTHER, S_SET_TYPE): Delete a.out crud.
2065         (S_SET_DESC, S_GET_OTHER, S_GET_TYPE, S_GET_DESC): Likewise.
2066         (obj_attach_unwind_info): Do not define.  Not needed anymore.
2067         * config/tc-hppa.c: Delete whitespace at EOL.
2068         (struct hppa_fix_struct): Delete fx_unwind field and all references.
2069         (fix_new_hppa): Last arg is now a pointer to an int.  Do not
2070         call obj_attach_unwind_info anymore.  For SOM R_ENTRY and R_EXIT
2071         fixups, store 32bits of unwind information in the fx_addnumber
2072         field of the fixup.
2073         (md_assemble, pa_entry, process_exit, pa_procend): For SOM R_ENTRY
2074         and R_EXIT fixups, pass a NULL pointer to fix_new_hppa, and a
2075         pointer to 32 bits of unwind info. 
2076         (tc_gen_reloc): For SOM R_ENTRY and R_EXIT fixups, set the symbol
2077         pointer to the dummy symbol; set the addend field to fx_addnumber.
2078         (pa_comm, pa_equ, pa_type_args, pa_import): Use bfd_XXX_section_ptr
2079         rather than &bfd_XXX_section.
2080
2081 Tue Sep 13 21:15:36 1994  Ken Raeburn  ([email protected])
2082
2083         * config/tc-i386.c (md_apply_fix_1): For GOTPC relocs, decrement
2084         value by one; discard adjustments previously being made.  From
2085         Eric Youngdale.
2086
2087         VMS- and Vax-related changes from Pat Rankin:
2088         * Makefile.in (VMS_OTHER_OBJS): add concat, getopt, and getopt1.
2089         * vmsconf.sh: no longer have make-gas.com echo text about needing
2090         to modify the gcc-vms driver when intending to use with gcc 1.x.
2091         * as.c (parse_options): suppress 'v' from std_short_options and
2092         eliminate VMS-specific conditional initialization;
2093         [default case]: check for '-v' if md_parse_options doesn't recognize
2094         an option;
2095         [default case, #if VMS]: check for filename argument when '-v' seen;
2096         [case 'v']: delete.
2097         * config/tc-vax.c (md_assemble): don't rely on `this_add_number'
2098         for O_big literal operands (double floats and long long ints);
2099         [VMS, md_shortopts]: add second colon after 'v';
2100         (md_parse_options) [VMS, case 'v']:  check for argument, so
2101         caller can handle `-v' w/o arg.
2102
2103 Tue Sep 13 16:45:08 1994  Steve Chamberlain  ([email protected])
2104
2105         * config/obj-coff.c (do_relocs_for):  If TC_KEEP_FX_OFFSET
2106         is defined, put the tx_offset into the r_offset.
2107         * config/tc-sh.c (line_comment_chars): Add #
2108         (tc_reloc_mangle): Deleted.
2109         * config/tc-sh.h (TC_KEEP_FX_OFFSET): Define.
2110         (TC_RELOC_MANGLE): Delete.
2111
2112 Tue Sep 13 16:20:36 1994  Ken Raeburn  ([email protected])
2113
2114         * flonum-konst.c: Change preprocessor tests of HO_VMS to just VMS.
2115         * hex-value.c: Ditto.
2116         * config/obj-vms.c: Ditto.
2117
2118         * config/tc-sparc.c (sparc_ip): Replace as_bad/exit sequence with
2119         a call to as_fatal.
2120         * config/tc-i860.c (i860_ip): Ditto.
2121         * config/tc-hppa.c (pa_ip): Ditto.
2122         * config/tc-alpha.c (alpha_ip): Ditto.
2123         * as.c (parse_args): Ditto.
2124
2125         * config/tc-mips.c (mips_ip): Replace as_warn/exit sequence with a
2126         call to as_fatal.
2127
2128         * write.c (write_contents): Use EXIT_FAILURE.
2129         * output-file.c (output_file_create, output_file_close,
2130         output_file_create, output_file_close): Ditto.
2131         * messages.c (as_fatal): Ditto.
2132         * config/obj-som.c (obj_som_version, obj_som_copyright): Ditto.
2133         * config/obj-ieee.c (write_object_file): Ditto.
2134         * config/obj-coff.c (write_object_file): Ditto.
2135         * config/tc-vax.c (main): Use EXIT_SUCCESS.
2136         * config/tc-m68k.c (main): Ditto.
2137
2138         * hash.c (main): Pass a value to exit().
2139
2140         * as.h (EXIT_SUCCESS, EXIT_FAILURE): Moved here.
2141         * as.c: ...from here.
2142         (parse_args): Use them always.
2143         (main): Use exit rather than return.
2144
2145         * Makefile.in (*_FOR_TARGET, INSTALL_XFORM, install, uninstall):
2146         Rewrite handling of program_transform_name.
2147
2148         * configure.in: Test for functions unlink and delete.
2149         * as.h: If unlink isn't available but delete is, define unlink to
2150         be delete.
2151
2152         Update for autoconf 1.118:
2153         * gdbinit.in: New file, created from old .gdbinit.
2154         * .gdbinit: Deleted.
2155         * aclocal.m4 (GAS_GDBINIT): Deleted.
2156         * configure.in: Don't use it.  Instead, generate .gdbinit from
2157         gdbinit.in.  Don't substitute cpu_type, obj_format, emulation,
2158         atof.  Switched order of AC_LINK_FILES arguments.  Use AC_PREREQ
2159         to ensure that older versions of autoconf aren't used.
2160         * Makefile.in: Added @configure_input@ line.
2161         (configure): Deleted rule.
2162
2163 Tue Sep 13 12:08:20 1994  Ian Lance Taylor  ([email protected])
2164
2165         * config/obj-coff.c (fixup_segment): After handling the difference
2166         of two symbols from the same segment, set fx_subsy to NULL, to
2167         satisfy existing TC_COUNT_RELOC macros.
2168
2169 Tue Sep 13 01:47:08 1994  Ken Raeburn  ([email protected])
2170
2171         * aclocal.m4 (GAS_GDBINIT): New macro.
2172         * configure.in: Use it.
2173         * configure: Regenerated.
2174
2175 Mon Sep 12 20:56:38 1994  Ken Raeburn  ([email protected])
2176
2177         * .gdbinit (pe, ps): Define new commands.
2178         * symbols.c (indent_level): New static variable.
2179         (indent, print_expr_1, print_symbol_value_1, print_symbol_value,
2180         print_expr): New functions.
2181
2182         * Makefile.in (config-stamp): Add a "this file generated by make"
2183         message to config.h.
2184
2185         PIC implementation for i386-linux, based on code from Eric
2186         Youngdale and Paul Kranenburg, with some work of my own:
2187
2188         * write.c (fixup_segment): Test TC_RELOC_RTSYM_LOC_FIXUP on fixup
2189         before processing same-section pcrel relocations.
2190         (TC_RELOC_RTSYM_LOC_FIXUP): Default to 1.
2191
2192         * expr.c (make_expr_symbol): If operator is O_symbol and
2193         X_add_number is zero, just return the symbol.  If operator is
2194         O_constant, resolve the symbol's value before returning.
2195         (operand): Permit use of "[]" for grouping.
2196         (clean_up_expression): For difference of two symbols in the same
2197         frag, add the difference of their offsets into X_add_number.
2198         (expr): Reduce difference of two symbols in same frag to their
2199         difference.
2200
2201         * config/tc-i386.c (TC_RELOC): New macro.
2202         (struct _i386_insn): New field disp_reloc.
2203         (GOT_symbol): New variable.
2204         (operand_special_chars): Added square-brackets and at-sign.
2205         (reloc) [BFD_ASSEMBLER]: Added new argument OTHER; if it is not
2206         NO_RELOC, just return it.
2207         (reloc) [! BFD_ASSEMBLER]: Add third argument to dummy macro.
2208         (BFD_RELOC_386_PLT32, _GOT32, _GOTOFF) [! BFD_ASSEMBLER]: More
2209         dummy macros.
2210         (tc_i386_fix_adjustable): New function.  Returns zero if symbol in
2211         fixup is not local, to prevent relocations against externals from
2212         being dropped.
2213         (md_assemble): Initialize disp_reloc field to NO_RELOC.  Pass
2214         disp_reloc field to reloc() function, and use TC_RELOC to generate
2215         value to pass to fix_new_exp.
2216         (md_assemble): Change 32-bit reloc against GOT_symbol into a GOTPC
2217         reloc.
2218         (i386_operand): Initialize disp_reloc field to NO_RELOC.  Handle
2219         @GOTOFF, @PLT, @GOT operands.  For GOTOFF relocations with local
2220         symbols, force generation of the section symbol.
2221         (md_estimate_size_before_relax): If GOT_symbol exists, decide
2222         we're generating PIC code, and convert relocations against
2223         undefined symbols from PCREL to PLT32.
2224         (md_apply_fix_1) [OBJ_ELF]: Fix up values for dynamic-linking
2225         relocs.
2226         (md_undefined_symbol): Notice GLOBAL_OFFSET_TABLE_NAME and set
2227         and return GOT_symbol if it matches.
2228         (F, MAP): Move macro definitions outside function.
2229         (tc_gen_reloc): Only switch on size and pcrel if code wasn't
2230         already supplied as PLT32. GOT32, GOTOFF, or GOTPC.  Convert
2231         BFD_RELOC_32 using GOT_symbol into GOTPC.
2232         * config/tc-i386.h (TC_RELOC, tc_fix_adjustable,
2233         TC_RELOC_GLOBAL_OFFSET_TABLE, TC_RELOC_RTSYM_LOC_FIXUP): New
2234         macros.
2235         (NEED_FX_R_TYPE): Define.
2236         (LOCAL_LABEL): Accept ".X" prefix too.
2237         (GLOBAL_OFFSET_TABLE_NAME): Default to "_GLOBAL_OFFSET_TABLE_".
2238
2239 Mon Sep 12 17:51:39 1994  Ian Lance Taylor  ([email protected])
2240
2241         * config/obj-elf.c (obj_elf_type): Rewrite to accept syntax
2242         reportedly to be used on Irix 6.
2243
2244         * config/tc-mips.c (md_pseudo_table): Handle .globl and .global.
2245         (s_mips_globl): New static function; needed for Irix 5 support.
2246         * ecoff.c (ecoff_build_symbols): If BSF_FUNCTION is set for an
2247         external symbol with no type, set the type to st_Proc rather than
2248         st_Global.  Don't set the index of an external st_Proc or
2249         st_StaticProc symbol unless it is also a local symbol.
2250
2251         * read.c (read_a_source_file): The second argument to as_where is
2252         unsigned int *, not int *.
2253
2254 Thu Sep  8 17:18:24 1994  Kung Hsu  ([email protected])
2255
2256         * config/obj-ecoff.h : Change names to  OBJ_GENERATE_ASM_LINENO,
2257         and generate_asm_lineno.
2258         * config/obj-elf.h : ditto.
2259         * read.h : ditto.
2260         * read.c (read_a_source_file): if no file when inst is read, set
2261         generate_asm_lineno to true.
2262         * ecoff.h : change name to generate_asm_lineno and add function
2263         ecoff_no_current_file.
2264         * ecoff.c : change name to generate_asm_lineno.
2265         * ecoff.c (ecoff_generate_asm_lineno) : new function, to generate 
2266         ecoff style line for asm file.
2267
2268 Thu Sep  8 19:43:49 1994  Ian Lance Taylor  ([email protected])
2269
2270         * config/obj-coff.c (size_section): Do an fprintf to stderr rather
2271         than a printf.
2272         (fixup_segment): Use as_bad_where rather than as_bad.
2273
2274 Wed Sep  7 17:21:12 1994  Steve Chamberlain  ([email protected])
2275
2276         * config/tc-{h8300,sh}.[ch] (tc_coff_symbol_emit): Function doing
2277         nothing becomes macro doing nothing.
2278
2279 Wed Sep  7 19:10:09 1994  Ken Raeburn  ([email protected])
2280
2281         * Makefile.in (Makefile): Depend on config.status.
2282         (config.status): Run config.status from . instead of srcdir.
2283
2284         * config/tc-i386.c (tc_gen_reloc): Use bfd_get_reloc_code_name to
2285         display the name of the relocation type that couldn't be handled.
2286         * config/tc-sparc.c (tc_gen_reloc): Likewise.
2287         * config/tc-alpha.c (tc_gen_reloc): Likewise.  Deleted abort call
2288         after call to as_fatal.
2289
2290         * configure.in (i386-*-linux*): Don't set bfd_gas.
2291
2292         * Makefile.in (CC_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET,
2293         install, uninstall): Don't use "brokensed" hack any more, the new
2294         autoconf code should never let program_transform_name be empty.
2295
2296         Update for autoconf beta 1.112:
2297         * aclocal.m4 (GAS_CHECK_DECL_NEEDED, GAS_WORKING_ASSERT): New
2298         macros.
2299         * configure.in: Use them.  Use AC_ARG_PROGRAM (now provided by
2300         autoconf) instead of my hacked-up AC_PROGRAM_TRANSFORM_NAME.  Move
2301         test for CROSS_COMPILE just before AC_FUNC_ALLOCA, and emit a
2302         message to try to ease confusion about autoconf's
2303         "cross-compiling" message.
2304         * acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_FREE,
2305         NEED_DECLARATION_ERRNO): Renamed from NEED_*_DECLARATION.
2306         * configure, conf.in: Regenerated.
2307
2308 Wed Sep  7 12:49:55 1994  Ian Lance Taylor  ([email protected])
2309
2310         * configure.in: Check ${host} and ${target} rather than
2311         ${host_canon} and ${target_canon}.
2312         * configure: Likewise.
2313
2314 Tue Sep  6 11:42:38 1994  Ian Lance Taylor  ([email protected])
2315
2316         * config/tc-mips.c (mips_cpu): New static variable.
2317         (insns_since_cache_access): New static variable.
2318         (md_begin): Set mips_cpu as well as mips_isa.
2319         (append_insn): If mips_cpu is 4600, require four nop instructions
2320         between an instruction which accesses the cache and certain CACHE
2321         instructions.  Keep track of the number of instructions seen since
2322         an instruction which accesses the cache.
2323         (md_parse_option): Set mips_cpu as well as mips_isa.
2324
2325 Mon Sep  5 07:09:00 1994  Ken Raeburn  ([email protected])
2326
2327         * doc/Makefile.in (VPATH): Define using @srcdir@.
2328         (prefix, program_transform_name, exec_prefix): Use autoconf style
2329         @-substitutions.
2330
2331 Sun Sep 04 17:58:10 1994  Richard Earnshaw ([email protected])
2332
2333         * config/ho-riscix.h, config/tc-arm.c, config/tc-arm.h: New files
2334         * configure.in: Recognize the arm.
2335
2336 Fri Sep  2 16:05:50 1994  Ian Lance Taylor  ([email protected])
2337
2338         * ecoff.c (add_file): Don't try to generate line numbers if the
2339         symbol table has been frozen.
2340
2341 Thu Sep  1 19:48:01 1994  Ken Raeburn  ([email protected])
2342
2343         * aclocal.m4 (AC_PROG_CC): Use AC_DEFUN, and omit AC_PROVIDE.
2344
2345         * configure.in: Handle user-specified bfd-assembler option with
2346         separate variable from preferred configuration, until the two are
2347         resolved.  Indicate bfd_gas=preferred for linux a.out.  Use
2348         AC_PROGRAM_TRANSFORM_NAME, for which a patch has been sent to djm.
2349         * Makefile.in (target_alias, program_transform_name): Define,
2350         using autoconf @-substitutions.
2351
2352 Wed Aug 31 17:43:06 1994  Ken Raeburn  ([email protected])
2353
2354         * atof-generic.c: Deleted alloca handling here.
2355
2356         * Makefile.in (prefix, exec_prefix): Use @-subtitutions.
2357
2358         * aclocal.m4 (AC_OUTPUT_LINKS): Deleted redefinition, since
2359         autoconf 1.109 has this fixed.
2360         * configure.in: Don't change quote characters around AC_MSG_ERROR
2361         invocation.  Don't use AC_HEADER_STDC, since it requires running a
2362         program.  Cache NEED_*_DECLARATION values.
2363         * configure, conf.in: Regenerated with a modified autoconf 1.109.
2364
2365         * as.h (volatile): Don't test or define here; not needed.
2366         (alloca): Replace alloca-conf.h inclusion with code recommended in
2367         autoconf documentation.  Include config.h first.
2368
2369 Wed Aug 31 11:20:48 1994  Ian Lance Taylor  ([email protected])
2370
2371         * config/obj-coff.h (S_IS_DEFINED): Absolute symbols are defined
2372         also.
2373
2374         * configure.in, configure: Initialize bfd_gas to no.
2375
2376 Tue Aug 30 19:31:14 1994  Ken Raeburn  ([email protected])
2377
2378         * as.h: Include alloca-conf.h from "libiberty", not
2379         "../libiberty".
2380
2381 Mon Aug 29 16:11:30 1994  Ian Lance Taylor  ([email protected])
2382
2383         * config/tc-ppc.c (md_apply_fix): Don't generate a reloc when a
2384         symbol is used as an offset into a CSECT that is not a TOC.  These
2385         types of loads are generated by gcc -mminimal-toc.
2386
2387 Sun Aug 28 13:22:52 1994  Ken Raeburn  ([email protected])
2388
2389         * as.h (flag_*): Added comments describing meanings of some of
2390         these variables.
2391         (struct frag): Add some comments about the ns32k-specific fields
2392         and why they're here.
2393         (SIZEOF_STRUCT_FRAG): Cast addresses to char*, not int.
2394         (flag_print_statistics): Declare.
2395
2396         * as.c (parse_args): Set flag_print_statistics instead of
2397         statistics_flag.  Options array is now const.  Added new option
2398         "dump-config"; if specified, print TARGET_ALIAS, TARGET_CANONICAL,
2399         TARGET_CPU, TARGET_OBJ_FORMAT, and TARGET_FORMAT, if defined.
2400         (main): Change test to check flag_print_statistics.
2401         (statistics_flag): Deleted.
2402
2403         * frags.c (frag_variant): Removed PCREL_ADJUST and BSR arguments.
2404         Always initialize them to zero.
2405         * frags.h (frag_variant): Fixed prototype.
2406         * config/tc-i960.c (get_cdisp): Don't pass the extra zero args.
2407         * config/tc-ns32k.c (convert_iif): Don't pass the arguments; cache
2408         the value of frag_now and fill in the fields later.
2409
2410         * Makefile.in (distclean, realclean): Remove new
2411         configure-generated files.
2412
2413 Sat Aug 27 20:26:12 1994  Ken Raeburn  ([email protected])
2414
2415         Conversion to autoconf:
2416         * acconfig.h, aclocal.m4: New files.
2417         * configure.in: Rewritten (except for some target-specific code)
2418         for autoconf.
2419         * conf.in, configure: New files, generated from the above.
2420         * Makefile.in: Changed magic sequence indicating insertion of
2421         makefile fragments.
2422         (VPATH, srcdir, CC, LIBS, OBJS dependencies): Use @-substitutions
2423         from configure.
2424         (LINKED_HEADERS): Deleted a.out.gnu.h, a.out.h, and host.h.
2425         (config.status, configure): Rewrite rules.
2426         (config-stamp): Depend on conf.  Skip variables that configure is
2427         now substituting itself.
2428         (*.o dependencies): Deleted host.h.
2429         (distclean, realclean): Don't delete host.h.
2430         * as.c: Don't include stdio.h, string.h, sys/types.h.  Include
2431         signal.h after as.h.
2432         * as.h: Include alloca-conf.h first.  Include ctype.h, string.h,
2433         strings.h, stdlib.h, unistd.h, sys/types.h, fopen-bin.h,
2434         fopen-same.h, as suggested by autoconf test results.
2435         [BROKEN_ASSERT]: Don't include assert.h.
2436         (strdup): Declare.
2437         (volatile, const): Define if not __STDC__ and not already defined.
2438         (malloc, realloc) [NEED_MALLOC_DECLARATION]: Declare.
2439         (free) [NEED_FREE_DECLARATION]: Declare.
2440         * gasp.c: Include config.h, stdlib.h (if HAVE_STDLIB_H).  Don't
2441         include host.h.
2442         (malloc) [NEED_MALLOC_DECLARATION]: Declare.
2443         * messages.c: Include as.h first.  Include errno.h only if
2444         HAVE_ERRNO_H.  If HAVE_VARARGS_H and not __STDC__, undefine
2445         HAVE_STDARG_H.  Set NO_STDARG and NO_VARARGS as appropriate.
2446         * doc/Makefile.in (srcdir, INSTALL, INSTALL_PROGRAM,
2447         INSTALL_DATA): Use autoconf @-substitutions.
2448
2449         * input-file.c: Don't include assert.h here, 'cause as.h already
2450         includes it.
2451
2452         * config/tc-alpha.c: Added various prototypes for static
2453         functions.
2454         (in_range): New function, tests whether a value can fit in an
2455         N-bit field.
2456         (build_mem, build_operate_n): New functions for constructing
2457         opcode values.
2458         (emit_sll_n, emit_ldah_num, emit_addq_r, emit_lda_n): New
2459         functions for emitting single instructions, no longer requiring a
2460         recursive call to md_assemble.
2461         (emit_add64): New function for expanding a REG:=REG+CONST
2462         operation into one or more instructions, to handle wide constants.
2463         (clear_insn): New variable.
2464         (md_begin): Fill it in with zeros and BFD_RELOC_NONE values.
2465         (alpha_ip): Use it to initialize local variable insns.
2466         (alpha_ip, label "immediate" and cases 'P', 'G'): Use emit_add64
2467         for calculations.
2468
2469 Fri Aug 26 14:46:15 1994  Ken Raeburn  ([email protected])
2470
2471         * subsegs.c (section_symbol): Reverse still-wrong test of
2472         EMIT_SECTION_SYMBOLS.
2473
2474         * write.c (BFD_FAST_SECTION_FILL): Always define.
2475         (write_contents): If fill_size is 1, use memset instead of looping
2476         calling memcpy.
2477
2478 Wed Aug 24 12:46:08 1994  Ian Lance Taylor  ([email protected])
2479
2480         * config/tc-mips.h (LOCAL_LABEL): Define as 0, for compatibility
2481         with native MIPS assembler.
2482         * configure.in (mips-*-irix*): Don't set emulation.
2483         * config/te-irix.h: Remove.
2484
2485         * ecoff.c (ecoff_symbol_new_hook): Don't add a new file if we
2486         haven't seen any input files yet.
2487         * config/tc-alpha.c (md_begin): Just call symbol_create, rather
2488         than calling symbol_new and then removing the symbol from the
2489         list.
2490
2491         * as.c (main): Move a inside the #if 0 block which uses it.
2492         * ecoff.c (current_stabs_filename): Make const.
2493         * frags.h (frag_align_pattern): Declare.
2494         * gasp.c (new_file): Cast isp to long, and use %ld to print it.
2495         * config/tc-alpha.h (md_operand): Add cast to void.
2496         (alpha_do_align): Declare argument types.
2497         (tc_get_register): Declare.
2498         (alpha_frob_ecoff_data): Declare.
2499         * config/tc-alpha.c: Include <ctype.h>.
2500         (s_mask): Don't declare; does not exist.
2501         (line_comment_chars): Remove /* from descriptive comment.
2502         (tc_get_register): Remove unused local reg.
2503         (tc_gen_reloc): Don't bother to compare unsigned to zero.
2504         (s_base): Correct warning to actually print register number.
2505         (md_begin): Remove unused locals retval, lose, and i.
2506         (alpha_fix_adjustable): Move default case inside switch to avoid
2507         warning.
2508         (load_symbol_address): Remove unused locals reloc_addr, p, sym,
2509         and addend.
2510         (emit_byte_manip_r): Declare types for all arguments.
2511         (emit_extract_r, emit_insert_r, emit_mask_r): Likewise.
2512         (emit_sign_extend, emit_bis_r, s_proc): Likewise.
2513         (alpha_ip): Use sprint_value to print offsetT value.  Remove
2514         unused local size.  Remove unused label get_macro.
2515         (alpha_do_align): Make fill const.
2516         (md_apply_fix): Remove unused label check_zov.
2517
2518         * configure.in: Recognize i586 as a synonym for i[34]86.
2519
2520 Tue Aug 23 12:32:14 1994  Ian Lance Taylor  ([email protected])
2521
2522         * config/obj-coff.c (c_line_new): Change line_number argument from
2523         unsigned short to int so that the type in the prototype matches
2524         the promoted type in the definition.
2525         (stack_delete): Comment out; not used.
2526         * config/obj-coff.h (tc_coff_symbol_emit_hook): Declare if not
2527         BFD_ASSEMBLER, not if BFD_ASSEMBLER.  Declare argument type.
2528         * config/tc-m68k.h (tc_coff_sizemachdep): Declare.
2529         * config/tc-m68k.c (tc_coff_symbol_emit_hook): Add ignored
2530         argument.
2531
2532 Tue Aug 16 01:48:20 1994  Jeff Law  ([email protected])
2533
2534         * gas/config/tc-hppa.c (pa_comm): Undo last change.  Set sy_frag for
2535         the common symbol to the zero address frag (the correct fix).
2536
2537 Tue Aug 16 01:48:20 1994  Jeff Law  ([email protected])
2538
2539         * gas/config/tc-hppa.c (pa_comm): Undo last change.  Set sy_frag for
2540         the common symbol to the zero address frag (the correct fix).
2541
2542         * config/tc-hppa.c (pa_comm): Set sy_resolved for the common
2543         symbol.
2544
2545 Fri Aug 12 17:51:48 1994  Ian Lance Taylor  ([email protected])
2546
2547         * config/tc-mips.c (md_begin): Drop "el" from the end of
2548         TARGET_CPU.  Check for mips64orion.
2549
2550 Tue Aug  9 19:43:45 1994  Stu Grossman  ([email protected])
2551
2552         * configure.in:  Recognize ppc-*-netware.
2553         * config/te-ppcnw.h:  New file to support Power-PC/Netware
2554         configurations.  Currently, it just enables the use of backslash
2555         escapes in string directives.
2556
2557 Tue Aug  9 11:12:13 1994  Ian Lance Taylor  ([email protected])
2558
2559         * config/tc-ppc.c (ppc_stabx): Call expression directly, rather
2560         than via pseudo_set.  If expression is a symbol, move stab symbol
2561         to just after symbol from expression.
2562
2563         * ecoff.c (ecoff_build_procs): Don't force adr of first fdr to be
2564         zero.  Undoes change of June 4, 1993.
2565
2566         * config/tc-mips.c (md_parse_option): Accept -mcpu=4400, 4600, and
2567         orion.
2568
2569 Mon Aug  8 16:28:08 1994  Steve Chamberlain  ([email protected])
2570
2571         * as.h: Remove FOPEN_WB patch of Aug 6.
2572         * configure.in: Configure for ho-go32 correctly.
2573         * config/ho-go32.h: Fix copyright.
2574
2575 Mon Aug  8 11:59:51 1994  Jeff Law  ([email protected])
2576
2577         * gas/config/tc-hppa.c (md_pseudo_table): Delete redundant
2578         upper-case versions of the pseudo-ops.
2579
2580 Mon Aug  8 13:42:16 1994  Ian Lance Taylor  ([email protected])
2581
2582         * config/tc-sparc.c (md_apply_fix): If we are going to generate a
2583         non PC relative reloc, don't put the addend in the object file.
2584
2585 Sat Aug  6 01:15:02 1994  Steve Chamberlain  ([email protected])
2586
2587         * as.h: If FOPEN_WB is not defined, do the right thing in a go32
2588         environment.
2589
2590 Mon Jul 11 11:34:52 1994  Steve Chamberlain  ([email protected])
2591
2592         * config/tc-h8300.c (pint): New function for handling varying
2593         size of int pseudo op.
2594         * doc/as.texinfo: Fix typo describing .h8300h pseduop.
2595
2596 Mon Aug  1 02:40:43 1994  Jeff Law  ([email protected])
2597
2598         * config/tc-hppa.c (create_new_space): Initialize sd_subspaces
2599         field in the space chain.
2600
2601         * config/tc-hppa.c (tc_gen_reloc): Cast return value from
2602         hppa_gen_reloc_type.
2603
2604 Thu Jul 28 15:45:37 1994  Ken Raeburn  ([email protected])
2605
2606         * config/tc-sparc.c (sparc_ip): Check more carefully for
2607         conflicting architectures.
2608         (md_parse_option) [NO_V9]: Complain if v9 was selected.
2609         (md_show_usage): Derive architecture list in usage message from
2610         architecture_pname array.
2611         (cypress): Macro deleted.
2612         (op_hash): Don't initialize.
2613         (s_common): Use bfd_und_section_ptr instead of bfd_und_section.
2614
2615         * config/tc-sparc.c (BSR): New function.
2616         (sparc_ip): Use it for right-shift operations of 32 bits or more.
2617
2618         * config/tc-sparc.c (sparc_ip): Implement new operand type 'x'.
2619
2620 Tue Jul 26 18:21:24 1994  Ken Raeburn  ([email protected])
2621
2622         * config/obj-coff.h: Moved common includes and TARGET_FORMAT
2623         definitions together.
2624         (WORKING_DOT_WORD, WARN_SIGNED_OVERFLOW_WORD,
2625         OBJ_COFF_OMIT_OPTIONAL_HEADER, BFD_HEADERS, BFD) [!BFD_ASSEMBLER]:
2626         Moved these definitions to the start of the file, before the
2627         includes.
2628         (SYMBOLS_NEED_BACKPOINTERS, OBJ_COFF_MAX_AUXENTRIES): Always
2629         define these.
2630         (S_GET_ZEROES): Deleted.
2631         (S_SET_ZEROES): Moved to obj-coff.c.
2632
2633         * config/obj-coff.c (obj_coff_* psuedo-op fns): Deleted
2634         forward declarations.
2635         (obj_pseudo_table): Moved to one version end of file,
2636         conditionalized internally.
2637         (stack typedef, stack_init, stack_delete, stack_push, stack_pop,
2638         tag_hash, tag_init, tag_insert, tag_find, tag_find_or_make): Moved
2639         to one combined version at top of file, unconditional.  Deleted
2640         forward declarations.
2641         (s_get_name): Moved one copy of declarations to start of file.
2642         (def_symbol_in_progress): Ditto.  Don't initialize.
2643         (S_SET_ZEROES): Moved here from obj-coff.h.
2644         (write_object_file): If TC_COFF_SET_MACHINE is defined, call it on
2645         the file headers.
2646
2647         * config/obj-coff.c (seg_info_off_by_4): Now const and static.
2648         (SEG_INFO_FROM_SEG_NUMBER): Unused macro deleted.
2649         (previous_file_symbol, def_symbol_in_progress, symbol_externP,
2650         symbol_extern_lastP, last_functionP) [!BFD_ASSEMBLER]: Don't
2651         bother explicitly initializing to zero value.
2652
2653         * config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME
2654         and SF_GET_CALLNAME instead of the TC_S_IS_ versions.
2655
2656         * config/tc-i960.h (TC_COFF_SET_MACHINE): New macro.  Calls
2657         tc_headers_hook.
2658
2659         * config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX
2660         was used previously.
2661         (tc_headers_hook): If I_CX2 is found, set flags to F_I960CA.
2662
2663         * config/tc-i960.c (po_hash): Declaration deleted.
2664         (next_object_file_charP): Ditto.
2665         (regnames, aregs, coj): Now const.
2666         (parse_memop): Static array def_scale now const.
2667         (md_begin): Cast away const when passing hash routines addresses
2668         of values in regnames or aregs.
2669         (md_longopts): Added "link-relax" and "no-relax" hyphenated forms.
2670         Continue to accept one-word forms.
2671         (struct tabentry, arch_tab): Moved to top level from inside
2672         md_parse_option.  Now const.
2673         (md_show_usage): Use arch_tab to generate usage message.  Print
2674         hyphenated forms of relax options.
2675
2676         * config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC,
2677         TC_S_FORCE_TO_*): Moved from here...
2678         * config/tc-i960.c: ... to here.  Changed DEFINE_I960_AOUT stuff
2679         to test OBJ_AOUT and OBJ_BOUT directly.
2680
2681         * config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ,
2682         M1-M3, REG_OPC, R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F,
2683         {R,F}{,L}{2,4}, M, SFR_OK, LIT_OK, FP_OK, REG_ALIGN, MEMOP, I_*):
2684         Macros deleted.
2685
2686         start-sanitize-i960xl
2687         * config/tc-i960.c (ARCH_XL): Define.
2688         (arch_tab): Include XL.
2689         (targ_has_sfr, targ_has_iclass): Handle XL.
2690         (tc_headers_hook): Set flags to F_I960XL for i960XL.
2691         end-sanitize-i960xl
2692
2693 Fri Jul 15 15:36:51 1994  Ken Raeburn  ([email protected])
2694
2695         * subsegs.c (section_symbol): Had last change backwards.
2696
2697 Thu Jul 14 13:21:06 1994  Ken Raeburn  ([email protected])
2698
2699         * config/atof-ns32k.c: Deleted.
2700
2701         * config/obj-aout.c (obj_aout_frob_symbol): Use
2702         bfd_ind_section_ptr and bfd_und_section_ptr.
2703
2704         * subsegs.c (subseg_set_rest): Compare segT values directly,
2705         without casting to int first.
2706
2707         * config/tc-ns32k.c (md_begin): Return value from hash_insert
2708         should be pointer to const.  Don't call exit explicitly after
2709         calling as_fatal; it won't return.
2710         (convert_iif): Make local variable j be pointer to bit_fixS, since
2711         that's how it's used.
2712         (encode_operand, case 'b'): Ignore sprintf return value.  Don't try
2713         converting freeptr to int and back.
2714
2715         Merged in NS32K support update from Ian Dall ([email protected]):
2716
2717         * config/te-pc532mach.h: New file. pc532-mach target emulation.
2718
2719         * config/te-netbsd532.h: New file. Netbsd532 target emulation.
2720
2721         * config/tc-ns32k.h: Add definition of NOP_OPCODE.
2722
2723         * config/tc-ns32k.h: Add prototype for fix_new_ns32k_exp.
2724
2725         * config/tc-ns32k.h: Add BFD_ASSEMBLER support.
2726
2727         * config/tc-ns32k.c (tc_gen_reloc): New function for BFD_ASSEMBLER.
2728
2729         * config/tc-ns32k.c (fix_new_ns32k_exp): Get reloc type
2730         differently for BFD_ASSEMBLER.
2731
2732         * config/tc-ns32k.c (md_estimate_size_before_relax): Get reloc
2733         type differently for BFD_ASSEMBLER.
2734
2735         * config/tc-ns32k.c (md_create_long_jump): Size of opcode is one
2736         not 2.
2737
2738         * config/tc-ns32k.c (md_convert_frag): Code for the BFD_ASSEMBLER
2739         case. Also use smart md_pcrel_adjust function.
2740
2741         * config/tc-ns32k.c (md_apply_fix): Code for the BFD_ASSEMBLER
2742         case. Also use smart md_fix_pcrel_adjust function.
2743
2744         * config/tc-ns32k.c (md_fix_pcrel_adjust): New function which can
2745         find offset from opcode to operand even if in another frag
2746         and in the presence of relaxing.
2747
2748         * config/tc-ns32k.c (md_pcrel_adjust): New function which can
2749         find offset from opcode to operand even if in another frag
2750         and in the presence of relaxing.
2751
2752         * config/tc-ns32k.c (md_number_to_disp): Check ranges properly.
2753
2754         * config/tc-ns32k.c (md_atof): use atof_ieee instead of special
2755         atof_ns32k.
2756
2757         * config/tc-ns32k.c (reloc): New (static) function for
2758         BFD_ASSEMBLER.
2759
2760         * config/tc-ns32k.c (convert_iif): More correct pc relative code.
2761         md_relax must be able to find opcode address even if in another frag.
2762
2763         * config/tc-ns32k.c: More extensive comments.
2764
2765         * config/tc-ns32k.c (encode_operand): Support new operand classes I
2766         and Z. Drop Q.
2767
2768         * config/tc-ns32k.c (fix_new_ns32k_exp): new function and
2769         corresponding prototype.
2770
2771         * config/tc-ns32k.c: make 32532 default machine instead of 32032.
2772
2773         * config/tc-ns32k.c: include opcode/ns32k.h after as.h
2774
2775         * aout_gnu.h: r_disp needs to be 2 bits for TC_NS32K
2776
2777         * write.h: fx_im_disp needs to be 2 bits big for TC_NS32K
2778
2779         * write.c (relax_segment): Use TC_PCREL_ADJUST macro (if defined)
2780         instead of adding pcrel_adjust.
2781
2782         * write.c (write_object_file): Adjust to_addr for the
2783         BROKEN_DOT_WORD feature for the BFD_ASSEMBLER case.
2784
2785         * write.c (write_object_file): Use TC_CONS_FIX_NEW if it is defined.
2786
2787         * write.c (write_contents): Add code (currently if
2788         BFD_FAST_SECTION_FILL is defined) to make large fills a lot faster.
2789
2790         * configure.in: Remove ns32k from special FP list. All the ns32k
2791         series use ieee float.
2792
2793         * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd targets
2794
2795         * as.h: include expr.h before targ-env.h. Some target dependent file
2796         want to use expr structures.
2797
2798 Wed Jul 13 14:49:05 1994  Ian Lance Taylor  ([email protected])
2799
2800         * config/tc-m68k.c (m68k_ip): Change rp to be a const pointer.
2801         (md_parse_option): Clear cpu field of current_architecture before
2802         setting a new cpu type.  Clear no_68881 for m68881 or m68882.
2803         Clear no_68851 for m68851.
2804
2805 Tue Jul 12 21:27:05 1994  Ken Raeburn  ([email protected])
2806
2807         * config/ho-sysv.h (realloc): Declare.
2808
2809         * symbols.c (symbol_create): New function, most of the guts of the
2810         old symbol_new function.
2811         (symbol_new): Now just checks symbol_table_frozen, calls
2812         symbol_create, and enters the symbol into the symbol table.
2813         * subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true,
2814         and the symbol table is frozen, call symbol_create instead of
2815         symbol_new.
2816         * symbols.h (symbol_create, symbol_table_frozen): Declare.
2817
2818         * symbols.c (symbol_clear_list_pointers): Always a function now.
2819         * struc-symbol.h (symbol_clear_list_pointers): Deleted macro
2820         version.
2821
2822         * symbols.c (debug_verify_symchain): New macro, defined to be
2823         verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
2824         (many functions): Invoke debug_verify_symchain unconditionally.
2825
2826 Tue Jul 12 12:06:42 1994  Kung Hsu  ([email protected])
2827
2828         * config/obj-ecoff.h: change calling interface of
2829         OBJ_GENERATE_ASM_LINE_STAB.
2830         * config/obj-elf.h: ditto.
2831         * read.c (read_a_source_file): ditto.
2832         * ecoff.h: change calling interface of
2833         ecoff_generate_asm_line_stab.
2834         * ecoff.c (add_file): record of filename to handle case of include
2835         files, also change default built-in type from int to void for
2836         asm file.
2837         * ecoff.c (ecoff_generate_asm_line_stab): handle case of include
2838         files.
2839
2840 Mon Jul 11 17:20:23 1994  Ian Lance Taylor  ([email protected])
2841
2842         * config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large
2843         constant, and case ldd_std, set mips_optimize to 2 temporarily to
2844         avoid inserting an unexpected nop instruction.
2845
2846 Sat Jul  9 00:05:12 1994  Ian Lance Taylor  ([email protected])
2847
2848         * ecoff.c (ecoff_build_lineno): Handle count correctly for last
2849         line number.
2850
2851 Fri Jul  8 15:22:07 1994  Steve Chamberlain  ([email protected])
2852
2853         * gasp.c (process_pseudo_op): Pass right args to do do_aif.
2854         (get_any_string): New arg 'pretend_quote'.
2855         (get_and_process, do_formals, macro_expand, do_sdata,
2856         process_pseudo_op): Use new arg.
2857
2858 Fri Jul  8 12:23:44 1994  Kung Hsu  ([email protected])
2859
2860         * config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB.
2861         * config/obj-elf.h: ditto.
2862         * read.c (read_a_source_file): generate line stabs for asm file.
2863         * read.h: add extern generate_asm_line_stab.
2864         * ecoff.h : add prototype for ecoff_generate_asm_line_stab().
2865         * ecoff.c (add_file): if there's no filename provided, set switch
2866         to generate line stabs for .s file.
2867         * ecoff.c (add_procedure): add stabs symbol for .ent directive.
2868         * ecoff.c (generate_ecoff_stab): creates an artificial stabs.
2869         * ecoff.c (generate_asm_line_stab): generate a artifitial label
2870         for each line and generate a stabn for the line.
2871
2872 Thu Jul  7 17:04:03 1994  Steve Chamberlain  ([email protected])
2873
2874         * gasp.c (get_any_string): Cope with getting a string with an
2875         alternate base specifier.
2876         (do_aif, do_aelse): Only enable output if expression is true and previous
2877         level was on.
2878         (chartype_init):  Add BASEBIT chartype.
2879         (process_pseudo_op):  Notice nesteed AIFs.
2880
2881 Thu Jul  7 12:30:22 1994  Steve Chamberlain  ([email protected])
2882
2883         * h8300.c (do_a_fix_imm): Code for 2 bit reloc type using in trapa
2884         insn.  (fix pr 5165, 5174)
2885
2886 Thu Jul  7 11:31:32 1994  Jeff Law  ([email protected])
2887
2888         * config/tc-hppa.c (R_DLT_REL): If it isn't defined, then define
2889         to an appropriate value to avoid losing on old hpux systems.
2890
2891         * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for
2892         symbols in DLT relative relocs.
2893         (tc_gen_reloc): Zero out the addend field for DLT relative relocs.
2894
2895 Wed Jul  6 01:07:54 1994  Ian Lance Taylor  ([email protected])
2896
2897         * config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to
2898         align to a four byte boundary.
2899
2900 Tue Jul  5 15:42:09 1994  Ken Raeburn  ([email protected])
2901
2902         * config/tc-alpha.c (load_expression): Handle 32-bit addends.
2903         (gpdisp_hi16_howto): Now points to const.
2904         (load_insn_table, alpha_ip): Fix uses of const.
2905
2906         * doc/internals.texi: Updates to COFF description.  Added "@end
2907         defmac" as needed, and some extra heading and "@bye" so it'll
2908         format as a separate document.
2909
2910 Tue Jul  5 13:54:00 1994  Ian Lance Taylor  ([email protected])
2911
2912         * config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define.
2913         * config/obj-elf.c (obj_elf_common): Set alignment of common
2914         symbol.
2915         * config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of
2916         common symbol.
2917
2918 Mon Jul  4 18:29:43 1994  Jeff Law  ([email protected])
2919
2920         * config/tc-hppa.c (is_complex): New macro.
2921         (cons_fix_new_hppa): "Handle" complex expressions.
2922
2923 Fri Jul  1 00:48:12 1994  Ian Lance Taylor  ([email protected])
2924
2925         * config/obj-coff.c (write_object_file): Set s_align field from
2926         section_alignment array.
2927
2928 Thu Jun 30 15:05:28 1994  Ken Raeburn  ([email protected])
2929
2930         * write.c (write_object_file): Use bfd_com_section_ptr.
2931         * as.h (absolute_section, undefined_section): Use new BFD macros
2932         bfd_abs_section_ptr and bfd_und_section_ptr.
2933
2934 Thu Jun 30 14:36:37 1994  Ian Lance Taylor  ([email protected])
2935
2936         * config/tc-mips.c (macro): For M_LI_SS, decide how to handle it
2937         based on contents of imm_expr and offset_expr, rather than
2938         mips_pic.  For M_LI_DD, decide how to handle it based on segment
2939         name of offset_expr, rather than mips_pic.
2940         (mips_ip): If g_switch_value < 4, use immediate values for 'l'.
2941         If g_switch_value < 8, use .rdata rather than .lit for 'L'.
2942
2943 Wed Jun 29 17:30:46 1994  Stan Shebs  ([email protected])
2944
2945         * as.c (show_usage): Break long string into shorter ones.
2946         (parse_args): Add -v, prints version id and continues.
2947         * config/tc-mips.c (md_show_usage): Break long string.
2948
2949 Mon Jun 27 09:47:16 1994  J.T. Conklin  ([email protected])
2950
2951         *  config/tc-i386.c (md_parse_option): Handle "-V" and "-Q" if
2952         OBJ_ELF is defined.
2953
2954 Sun Jun 26 16:30:48 1994  Stan Shebs  ([email protected])
2955
2956         * as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific
2957         initialization.
2958
2959 Wed Jun 22 00:24:55 1994  Jeff Law  ([email protected])
2960
2961         * config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF.
2962         More gas/bfd lossage exposed by the new linker code.
2963
2964 Tue Jun 21 11:32:18 1994  Ian Lance Taylor  ([email protected])
2965
2966         * subsegs.c (subseg_change): Clear seginfo after allocating it.
2967         (subseg_get): Pass actual size of seginfo to memset.
2968
2969         * subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER.
2970         (subseg_change): Store seg_info for bfd_abs_section_ptr in
2971         abs_seg_info, and store seg_info for bfd_und_section_ptr in
2972         und_seg_info.
2973         (subseg_get): Likewise.  Also, don't set output_section if it is
2974         already set.
2975         (seg_info): Define as function.
2976         * subsegs.h (seg_info): Declare as function rather than defining
2977         as macro.
2978         * write.c (relax_and_size_seg): Call seg_info rather than
2979         bfd_get_section_userdata.
2980
2981 Mon Jun 20 16:30:54 1994  Ken Raeburn  ([email protected])
2982
2983         * configure.in (ppc-*-elf*): New target, like -sysv4*.
2984
2985         * expr.c (operand): If "0f" is followed by '\0', don't do eol
2986         checks.
2987
2988 Mon Jun 20 15:17:43 1994  Ian Lance Taylor  ([email protected])
2989
2990         * ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out
2991         via backend pointer, not directly.
2992
2993 Fri Jun 17 18:05:06 1994  Ian Lance Taylor  ([email protected])
2994
2995         * Makefile.in (config-stamp): Make sure there is at least one
2996         element in the for loop.
2997
2998 Fri Jun 17 11:01:04 1994  Jeff Law  ([email protected])
2999
3000         * config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy.
3001
3002         * config/tc-hppa.h (elf_hppa_final_processing): Declare.
3003
3004 Wed Jun 15 20:44:46 1994  Ken Raeburn  ([email protected])
3005
3006         * as.c (parse_args): Cast xmalloc return value.
3007
3008         * Makefile.in (config-stamp): If $(defs) contains multiple words,
3009         emit a #define line for each.
3010         * configure.in: For sparc64 target, use sparc cpu files and add
3011         sparcv9 to extra_defs.  No longer treat sparc64-*-aout* specially.
3012
3013         * config/tc-sparc.c (membar_masks): Now static and const.
3014         (md_show_usage) [!NO_V9]: Add -Av9 to usage message.
3015         (current_architecture) [sparcv9]: Initialize to v9.
3016         (md_begin) [sparcv9]: Don't bother changing it unconditionally
3017         here.
3018         (s_reserve): Don't pass unexpected argument to as_bad with
3019         bad-segment message.
3020
3021         * as.h (bfd_alloc_by_size_t) [BFD_ASSEMBLER]: Declare.
3022
3023         * config/atof-ieee.c (int_to_gen): Commented out unused routine.
3024
3025         * config/tc-vax.c (md_assemble): Removed check of operand section.
3026
3027         Fri Jun  3 17:25:08 1994  Pat Rankin  ([email protected])
3028
3029         * config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define
3030         these new VMS symbol-type macros for `complex float' and
3031         `complex double' support.  Their values come from the existing
3032         DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in <descrip.h>.
3033         (DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of
3034         REAL8 and COMPLX8; not used yet, because gcc outputs the same
3035         .stabs for `double' regardless of whether `-mg' is used.
3036         * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
3037         for gcc2's predefined types "complex float", "complex double",
3038         and "complex long double" (identical to complex double).
3039
3040 Wed Jun 15 12:32:55 1994  Ian Lance Taylor  ([email protected])
3041
3042         * config/obj-coff.c (coff_frob_symbol): Use C_STAT for the .text
3043         section symbol, not C_LABEL.
3044
3045         * config/tc-mips.c (mips_ip): Permit a modifier in 'o' case, and
3046         permit non constant expressions in 'u' case.  Lets ``lui
3047         $8,%hi(foo); lw $8,%lo(foo)($8)'' work correctly.
3048
3049 Mon Jun 13 12:08:52 1994  Ian Lance Taylor  ([email protected])
3050
3051         * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
3052         to put a common symbol in a set.
3053
3054 Sat Jun 11 16:41:21 1994  Ian Lance Taylor  ([email protected])
3055
3056         Add weak symbols as an extension to a.out.
3057         * read.c (pseudo_set): Only preserve external bit for OBJ_AOUT and
3058         OBJ_BOUT if not BFD_ASSEMBLER.
3059         * config/aout_gnu.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB):
3060         Define as in ../include/aout/aout64.h.
3061         * config/obj-aout.h (OBJ_SYMFIELD_TYPE): If not BFD_ASSEMBLER,
3062         define as char.
3063         (S_GET_WEAK, S_SET_WEAK): Define if not BFD_ASSEMBLER.
3064         * config/obj-aout.c (obj_pseudo_table): Add "weak".
3065         (obj_emit_symbols): Adjust type of weak symbols.
3066         (obj_aout_weak): New static function.
3067
3068 Fri Jun 10 13:48:49 1994  Ian Lance Taylor  ([email protected])
3069
3070         * config/obj-elf.c (obj_elf_section): Don't set any flags based on
3071         the type of a special section.
3072
3073         * config/ho-sunos.h: Include <stdlib.h>.  Don't declare malloc,
3074         realloc, free, or atol.
3075
3076 Wed Jun  8 06:28:37 1994  Bill Cox  ([email protected])
3077
3078         * Makefile.in (check): Delete as.new dependency, so that
3079         regression test doesn't trigger an assembler build.
3080
3081 Tue Jun  7 13:33:18 1994  Ian Lance Taylor  ([email protected])
3082
3083         * Makefile.in (mostlyclean, realclean): New targets.
3084         * doc/Makefile.in, testsuite/Makefile.in: Likewise.
3085
3086 Mon Jun  6 13:10:54 1994  Ian Lance Taylor  ([email protected])
3087
3088         * config/tc-mips.c (RDATA_SECTION_NAME): Define.
3089         (macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case.  After M_LI_D
3090         or M_L_DOB or label dob, force a new frag to avoid getting
3091         confused in tc_gen_reloc.
3092         (mips_ip): Use RDATA_SECTION_NAME, not .rdata.
3093         (s_change_sec): Likewise.
3094
3095 Fri Jun  3 23:35:36 1994  Ian Lance Taylor  ([email protected])
3096
3097         * read.c (emit_expr): Use memset to zero out memory, rather than
3098         going through md_number_to_chars.  This permits handling symbolic
3099         arguments when the size is larger than sizeof (valueT), if
3100         TC_CONS_FIX_NEW is prepared to handle the case (as it is on MIPS).
3101
3102 Fri Jun  3 12:50:13 1994  David J. MacKenzie  ([email protected])
3103
3104         * as.c (show_usage), config/tc-alpha.c (md_show_usage),
3105         config/tc-mips.c (md_show_usage): Fix up messages.
3106
3107         * as.h: Replace flagseen with separate variables.
3108         * as.c (parse_args): Set them.  Don't accept -1 option, or -v
3109         explicitly (it's a synonym for --version).
3110         * as.c, input-scrub.c, messages.c, read.c, symbols.c, write.c, 
3111         config/obj-aout.c, config/obj-aout.h, config/obj-bout.c,
3112         config/obj-bout.h, config/obj-coff.c, config/obj-coff.h,
3113         config/obj-vms.c, config/tc-hppa.c, config/tc-i386.c,
3114         config/tc-i960.c, config/tc-m68k.c, config/tc-mips.c,
3115         config/tc-vax.c: Use the new flag variables instead of flagseen.
3116         * config/tc-vax.c [OBJ_VMS]: Recognize -+, -1, -v, and document in
3117         usage. 
3118
3119         * as.c (show_usage): Remove target specific messages;
3120         instead, call md_show_usage.
3121         (parse_args): Use getopt_long_only.  Take pointers to argc and
3122         argv.
3123         (main): Pass parse_args pointers.
3124         * as.h: Remove 3 variables that are redundant with flagseen.
3125         * as.c, messages.c: Change their users to use flagseen.
3126         Define getopt stuff.
3127         * tc.h: Update md_parse_option decl.  Add md_show_usage decl.
3128         * config/tc-*.c: Add md_shortopts, md_longopts,
3129         md_longopts_size, md_show_usage.  Change calling convention for
3130         md_parse_option.  Remove md_parse_long_option.
3131         * config/tc-ns32k.c: Rename `struct option' to `struct ns32k_option'.
3132         * config/tc-i386.h: Don't define md_parse_option.
3133
3134 Thu Jun  2 13:54:46 1994  David J. Mackenzie  ([email protected])
3135
3136         * as.c (show_usage): New function.
3137         (parse_args): Code moved from main.
3138         Recognize --help and --version.
3139         * config/tc-ns32k.h: Define TC_NS32K.
3140         * doc/as.texinfo: Document all of the target-independent command
3141         line options.
3142
3143 Thu Jun  2 12:07:25 1994  Ken Raeburn  ([email protected])
3144
3145         * gasp.c (hash_new_table): Clear newly allocated table.
3146
3147         * config/tc-m68k.c (enum _register): Add 68060 control registers
3148         BUSCR and PCR.
3149         (last_movec_reg): New macro.
3150         (m68000_control_regs, m68010_control_regs, m68020_control_regs,
3151         m68040_control_regs, m68060_control_regs): New arrays.
3152         (control_regs): New pointer.
3153         (m68k_ip): Use control_regs instead of testing CPU every time.
3154         Use last_movec_reg too.  In error messages, handle 68060, and
3155         print 68060 for mfloat, too.
3156         (m68k_init_after_args): Handle "68060".  Use m68040up for making
3157         m68851 choice.  Set control_regs.
3158         (md_parse_option): Handle "68060".
3159         * configure.in: Setting cpu_type, recognize m68060 too.
3160
3161         * config/obj-coff.c (fixup_segment) [!BFD_ASSEMBLER]
3162         [DIFF_EXPR_OK]: Do conversion to pc-relative for difference, even
3163         if pcrel is already set.
3164
3165         * read.c (potable): Add this_gcc_requires_the_gnu_assembler in all
3166         lower-case, in case we're ignoring case of opcodes in the input
3167         file.
3168
3169         * doc/as.texinfo (.section): Document as unavailable for a.out
3170         type formats.
3171
3172         * config/tc-alpha.c (machine): New variable.
3173         (load_insn): New macro.
3174         (load_insn_table): New function.
3175         (md_begin): Call load_insn_table, once for basic instructions and
3176         once for appropriate PAL instruction table.
3177         (md_parse_option): Set `machine' based on -m##### arguments.
3178         * config/alpha-opcode.h (alpha_pal21064_opcodes): Split out from
3179         alpha_opcodes.
3180         (alpha_pal21164_opcodes): New table.
3181         (NUM21064OPCODES, NUM21164OPCODES): New macros.
3182
3183         * configure.in (target i386-*-netbsd0.8): Use 386bsd emulation.
3184
3185         * doc/Makefile.in (install-info-gasp): Use $$dir when installing
3186         file.
3187
3188 Wed Jun  1 10:48:19 1994  Ian Lance Taylor  ([email protected])
3189
3190         * config/tc-mips.c (mips_ip): Force floating point values to be
3191         aligned correctly.
3192
3193 Fri May 27 10:05:53 1994  Ken Raeburn  ([email protected])
3194
3195         Merged in changes from gas-2.3 net release:
3196
3197         * Makefile.in (VERSION): Updated to cygnus-2.3.1.
3198
3199         * config/obj-vms.c: Replaced unchecked uses of malloc with
3200         xmalloc.
3201
3202         * listing.c (list_symbol_table): Only test BFD64, not
3203         BFD_ASSEMBLER too.
3204
3205         * config/obj-coff.c (fixup_segment) [BFD_ASSEMBLER]
3206         [DIFF_EXPR_OK]: Don't check pcrel, just convert it.
3207
3208         * config/obj-vms.c: Removed lots of extra semicolons after
3209         compound statements.
3210         (strchr): Don't declare here.
3211
3212         * config/ho-vax.h (realloc): Declare.
3213
3214         * config/ho-vms.h (strchr, strdup): Declare.
3215
3216         * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Accept and ignore
3217         option `-q'.
3218
3219         Wed May 18 20:50:35 1994  Pat Rankin  ([email protected])
3220
3221         * config/obj-vms.h (DBG_S_C_SQUAD, DBG_S_C_UQUAD): define these
3222         new VMS symbol-type macros; signed and unsigned quadword integers,
3223         for `long long' support.  Their values come from the existing
3224         DSC$K_DTYPE_QU and DSC$K_DTYPE_Q macros in <descrip.h>.  The
3225         VMS debugger now recognizes `long long' variables correctly.
3226         * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
3227         for gcc2's predefined types "long double" (same as double, as
3228         per gcc's current state), "long long int", "long long unsigned
3229         int", and final `otherwise' case (to avoid uninitialized type
3230         and size fields).  [caveat:  predefined types "complex int",
3231         "complex float", "complex double", and "complex long double" are
3232         still missing.]
3233
3234         * config/ho-vms.h (EXIT_FAILURE): define as 0x10000002 instead
3235         of 0, because the latter indicates success rather than failure
3236         when passed to `exit' or return from `main' compiled by gcc2.
3237
3238         * config/obj-vms.c (array_suffix, generate_suffix): replace two
3239         hardcoded `0xa3's with macro DBG_S_C_ADVANCED_TYPE from obj-vms.h.
3240         (VMS_typedef_parse): eliminate redundant if-then-else when
3241         allocating new symbol entry and linking it to VMS_Symbol_type_list.
3242
3243         Tue May 17 20:47:31 1994  Pat Rankin  ([email protected])
3244
3245         * config/obj-vms.c (Write_VMS_MHD_Records): don't try to interpret
3246         the contents of the GAS_VERSION string when falling back to it for
3247         language processor identification.
3248
3249         * make-gas.com, vmsconf.sh (ENVIRON): fix misspelling of
3250         `psect_attr' in linker options.
3251
3252         Wed May 11 22:32:00 1994  DJ Delorie ([email protected])
3253
3254         * configure.bat: update to latest makefile.in
3255         * config/te-go32.h: [new] go32's environment
3256
3257 Fri May 20 17:59:34 1994  Ian Lance Taylor  ([email protected])
3258
3259         * as.h: Don't declare parameters for strstr.
3260
3261 Thu May 19 15:40:13 1994  Ian Lance Taylor  ([email protected])
3262
3263         * config/tc-sparc.c (md_section_align): Don't change the size if
3264         OBJ_ELF.
3265
3266 Wed May 18 13:08:07 1994  Ian Lance Taylor  ([email protected])
3267
3268         * Makefile.in (install): Redirect ln output to /dev/null.  If ln
3269         fails on gasp, install gasp.new, not gasp.
3270
3271 Wed May 18 09:16:36 1994  Jeff Law  ([email protected])
3272
3273         * config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for
3274         absolute calls.
3275
3276 Tue May 17 12:50:46 1994  Jeff Law  ([email protected])
3277
3278         * config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error
3279         on a partial completer match.
3280
3281 Mon May 16 12:03:49 1994  Jeff Law  ([email protected])
3282
3283         * config/tc-hppa.c: Change .hppa_unwind to .PARISC.unwind
3284         throughout code.
3285         (is_complex): Delete definition and support for complex relocation
3286         types.
3287         (tc_gen_reloc): Delete special unwind crud for ELF.  Simplify and
3288         rewrite ELF code based on 94-02-02 PA ELF draft spec.
3289         (pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for
3290         the unwind descriptors.
3291
3292 Fri May  6 14:13:15 1994  Steve Chamberlain  ([email protected])
3293
3294         * config/go32.mh: New makefile fragment for go32 crossing.
3295         * configure.in (host==go32): Use new fragment.
3296
3297 Fri May  6 14:35:58 1994  Ian Lance Taylor  ([email protected])
3298
3299         * gasp.c: Include libiberty.h.
3300         (main): Remove unused variable i.
3301
3302         * config/tc-ppc.c (md_begin): When using -many, permit comparison
3303         instructions to appear multiple times in the opcode table.
3304
3305 Thu May  5 19:14:43 1994  Ken Raeburn  ([email protected])
3306
3307         * Makefile.in (VERSION): Update to 2.2.90.
3308
3309         * symbols.c (symbol_new) [BFD_ASSEMBLER]: Don't permit additions
3310         to the symbol table if it's already been set in the output bfd.
3311         (symbol_begin) [! EMIT_SECTION_SYMBOLS] [RELOC_REQUIRES_SYMBOL]:
3312         Don't use bfd_abs_section.symbol for gas absolute symbol.
3313
3314         * doc/Makefile.in (distclean, clean-dvi, clean-info): Delete gasp
3315         files too.
3316
3317 Thu May  5 18:12:51 1994  Ian Lance Taylor  ([email protected])
3318
3319         * config/tc-mips.c (mips_emit_delays): Make call to
3320         mips_no_prev_insn unconditional.
3321
3322 Thu May  5 17:25:38 1994  Ken Raeburn  ([email protected])
3323
3324         * config/obj-coff*.*: Merged coffbfd versions into coff versions,
3325         with a single "#ifdef BFD_ASSEMBLER" controlling most of it for
3326         now.  Deleted obj-coffbfd.* files.
3327         * configure.in: Always use obj-coff.* for COFF targets.
3328
3329 Wed May  4 13:34:11 1994  Ken Raeburn  ([email protected])
3330
3331         * config/te-dpx2.h (TARGET_FORMAT, REGISTER_PREFIX_OPTIONAL):
3332         Define.
3333         * configure.in (m68k-bull-sysv3*): Enable.
3334
3335         * config/coff_gnu.h: Deleted.
3336
3337 Wed May  4 11:29:17 1994  Ian Lance Taylor  ([email protected])
3338
3339         * config/tc-m68k.h (TARGET_FORMAT): If not TE_SUN3, define as
3340         "a.out-zero.big".
3341
3342         * config/obj-coffbfd.c (fixup_segment): Make common symbol and PC
3343         relative adjustments when TE_LYNX is defined as well as when
3344         TC_I386 is defined.
3345
3346 Wed May  4 02:29:21 1994  Ken Raeburn  ([email protected])
3347
3348         * as.h (strstr): Restore declaration.
3349         (subseg_get) [BFD_ASSEMBLER]: Declare.
3350
3351         * write.c (write_object_file): If obj_adjust_symtab is defined,
3352         invoke it.  Then call set_symtab, and finally invoke *_frob_file
3353         hooks.
3354         * config/obj-coff.c (coff_adjust_symtab): Renamed from
3355         coff_frob_file.
3356         * config/obj-coff.h (coff_adjust_symtab): Changed declaration
3357         accordingly.
3358         (obj_adjust_symtab): Macro also changed.
3359
3360         * configure.in (i386-*-gnu*): New target, handled like i386-mach.
3361
3362 Tue May  3 21:04:16 1994  Ken Raeburn  ([email protected])
3363
3364         * config/obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little
3365         endian version.
3366
3367         * config/obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto.
3368
3369         * config/obj-coff.c (coff_frob_section): Round up the size of
3370         every section to a multiple of the alignment, so that BFD doesn't
3371         surprise us.
3372
3373         Eliminate many simple differences between the two COFF back ends:
3374
3375         * config/obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID.
3376         Made minor stylistic changes, deleted some register declarations.
3377         (stack_top): Deleted.
3378         (symbol_to_chars): Use absolute_section and reg_section instead of
3379         the corresponding SEG_* symbols.
3380         (obj_coff_endef, tag_find_or_make, fixup_segment): Likewise.
3381         (stack typedef, stack_init, stack_delete, stack_push, stack_pop):
3382         Moved to just after pseudo-op table.  All functions now static.
3383         (stack_delete): Removed declaration.
3384         (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
3385         after stack functions.
3386         * config/obj-coffbfd.h: Reordered some declarations and macros.
3387         (stack_init, stack_delete, stack_push, stack_pop): Don't declare.
3388         (stack typedef): Deleted.
3389         (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
3390         (SYM_AUXENT): New macro.
3391         (SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible.
3392         (SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible.
3393         (SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX,
3394         SA_SET_SYM_ENDNDX, object_headers typedef, data_section_header,
3395         text_section_header): Delete non-BFD_HEADERS versions, since we
3396         always define that symbol now.
3397
3398         * config/obj-coff.c (stack_top): Deleted.
3399         (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
3400         obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Change
3401         argument name from "ignored" to "ignore".
3402         (obj_coff_val): Use frag_now_fix.
3403         (obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't
3404         get used.
3405         (stack typedef, stack_init, stack_delete, stack_push, stack_pop):
3406         Moved to just after pseudo-op table.  All functions now static.
3407         (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
3408         after stack functions.
3409         * config/obj-coff.h: Reordered some declarations and macros.
3410         Protected against multiple inclusions.
3411         (stack_init, stack_delete, stack_push, stack_pop): Don't declare.
3412         (stack typedef): Deleted.
3413         (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
3414         (stdoutput): Deleted declaration.
3415         (TARGET_FORMAT) [TC_I386]: Don't define if already defined.
3416
3417 Mon May  2 17:09:24 1994  Ian Lance Taylor  ([email protected])
3418
3419         * subsegs.h (segment_info_type): Use fix_tail field even if
3420         BFD_ASSEMBLER.
3421         * subsegs.c (subseg_change): Initialize fix_tail field.
3422         (subseg_get): Likewise.
3423         * write.c (frags_chained): New static variable.
3424         (fix_new_internal): If frags_chained is set, use fix_root and
3425         fix_tail from seg_info (now_seg), rather than frchain_now.
3426         (chain_frchains_together_1): Set fix_tail field.
3427         (chain_frchains_together): Set frags_chained.
3428
3429 Thu Apr 28 01:39:15 1994  Ken Raeburn  ([email protected])
3430
3431         * config/tc-mips.c (s_option): Only refer to g_switch_* variables
3432         if GPOPT is defined.
3433         (s_abicalls): Ditto.
3434         (md_apply_fix): Cast char* to unsigned char* to avoid pointer
3435         mismatch.
3436
3437 Wed Apr 27 11:06:32 1994  Steve Chamberlain  ([email protected])
3438
3439         * configure.in (i386-*-go32): Uses coff now.
3440         * gasp.c (main): Now takes -D on command line.  
3441         (show_usage): Describe new options.
3442
3443 Tue Apr 26 17:10:30 1994  Ken Raeburn  ([email protected])
3444
3445         * listing.c (list_symbol_table): Print "NO DEFINED SYMBOLS" and
3446         "NO UNDEFINED SYMBOLS" if there aren't any, instead of displaying
3447         the header with an empty list.
3448
3449         * config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM
3450         also before setting STYP_NOLOAD for .bss section.
3451
3452         * config/tc-m68k.c (flag_reg_prefix_optional): New variable.
3453         Initialized to value of REGISTER_PREFIX_OPTIONAL, if defined, or
3454         zero.
3455         (m68k_reg_parse): If flag_reg_prefix_optional is set, permit
3456         register prefix to be absent.
3457         (m68k_ip_op): Accept `&' also for immediate constants.
3458         (insert_reg): Don't bother with (two!?) sanity checks of the
3459         symbol table when inserting each register.
3460         (m68k_parse_long_option): New function.  Set
3461         flag_reg_prefix_optional if "register-prefix-optional" is passed.
3462         * config/tc-m68k.h (REGISTER_PREFIX): Always define if not already
3463         defined.
3464         (OPTIONAL_REGISTER_PREFIX): Don't define.
3465         (REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero
3466         or one depending on M68KCOFF.
3467
3468         Some changes to help Apollo support, from [email protected]:
3469         * config/tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC):
3470         Define as macros instead of enumerators, since the Apollo compiler
3471         can't handle "enumVal1, enumVal2 = enumVal1" when defining an enum
3472         type.
3473         (make_pcrel_absolute) [NO_PCREL_RELOCS]: New function.
3474         (tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE,
3475         R_DIR16, and R_DIR32 relocs.
3476         * config/tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC):
3477         Use Apollo versions.
3478         [TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine.  That is,
3479         do include the optional header for Apollo target.
3480         (COFF_MAGIC): Don't define as MC68MAGIC if it's already defined.
3481
3482         * config/tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%'
3483         can be used within a label name.
3484
3485         * config/tc-m68k.h (m68k_init_after_args): Declare.
3486         (tc_init_after_args): Define as m68k_init_after_args.
3487         * config/tc-m68k.c (m68k_init_after_args): New function,
3488         containing one-shot code from md_assemble.  Added warning for
3489         combination of 68040 and 68851.
3490         (md_assemble): Startup-time code deleted.
3491
3492 Mon Apr 25 16:19:17 1994  Ian Lance Taylor  ([email protected])
3493
3494         * doc/Makefile.in (clean, distclean): Remove asconfig.texi.
3495
3496 Sun Apr 24 00:13:08 1994  Jeffrey A. Law  ([email protected])
3497
3498         * config/tc-hppa.c (pa_ip): 13 bit immediate constant (for break
3499         instruction) is unsigned.
3500
3501 Fri Apr 22 17:58:22 1994  Ian Lance Taylor  ([email protected])
3502
3503         * config/obj-ecoff.c (ecoff_frob_file): Use bfd_ecoff_set_gp_value
3504         and bfd_ecoff_set_regmasks to set the GP value and the register
3505         masks, rather than using the now obsolete fake .reginfo section.
3506
3507 Fri Apr 22 15:17:06 1994  Ken Raeburn  ([email protected])
3508
3509         * listing.c (list_symbol_table): Don't print register symbols as
3510         undefined.
3511
3512         * config/obj-coff.c (obj_symbol_new_hook): Don't need to strip
3513         underscores, since symbol_new will already have done it.
3514         * config/obj-coffbfd.c (obj_symbol_new_hook): Ditto.
3515
3516         * as.c (main): If tc_init_after_args is defined, invoke it after
3517         all arguments have been processed.
3518
3519         Some changes to help Apollo support, from [email protected]:
3520         * as.c (perform_an_assembly_pass) [TE_APOLLO]: Create .wtext
3521         section instead of .text.  Call create_target_segments.
3522         * read.c (demand_copy_string): No longer static.
3523
3524 Thu Apr 21 15:50:04 1994  Ian Lance Taylor  ([email protected])
3525
3526         * config/tc-mips.c (append_insn): Permit branches to be switched
3527         with the preceding instruction even if .set nobopt has been seen.
3528         .set nobopt actually controls whether to bring up an instruction
3529         from the branch target, which gas does not currently support.
3530
3531 Wed Apr 20 18:46:14 1994  Ken Raeburn  ([email protected])
3532
3533         * config/obj-coff.h, config/obj-coff.c: Deleted all code used only
3534         when BFD_ASSEMBLER is not defined, and all conditionals relating
3535         to such code.  No such targets remain.
3536
3537         Fixes for stabs-in-coff:
3538         * config/obj-coff.c: Include subsegs.h.
3539         (coff_frob_section): New function.
3540         (obj_coff_init_stab_section): New function.
3541         * config/obj-coff.h (obj_coff_init_stab_section,
3542         coff_frob_section): Declare.
3543         (obj_frob_section): New macro; uses coff_frob_section.
3544         (INIT_STAB_SECTION): New macro; uses obj_coff_init_stab_section.
3545
3546         * config/tc-sparc.c (md_section_align): Always round up to
3547         multiple of alignment power specified in bfd target vector.
3548
3549         * gasp.c: Include ctype.h.
3550
3551 Mon Apr 18 21:08:01 1994  Ken Raeburn  ([email protected])
3552
3553         * doc/Makefile.in, doc/as.texinfo: Renamed asdoc-config.texi to
3554         asconfig.texi.
3555
3556         * doc/Makefile.in (install-info-as, install-info-gasp): Get file
3557         names from source directory without pathname.
3558
3559         * config/obj-vms.c (VMS_write_object_file): While looking for
3560         register mask, skip empty fill frags caused by enabling listing
3561         output.
3562
3563         * config/ho-sysv.h: Include string.h.
3564
3565         * doc/internals.texi: New (well, recently added) file.  Just added
3566         info on as_warn and friends.
3567
3568 Mon Apr 18 14:28:22 1994  Jeffrey A. Law  ([email protected])
3569
3570         * config/tc-hppa.c (pa_parse_space_stmt): Use the built-in
3571         defaults for defined, private, and spnum fields for the
3572         $TEXT$ and $PRIVATE$ spaces.  Do not clobber spnum.  Do
3573         not reset the segment if just updating a space.
3574         (pa_spaces_begin): Set BFD section flags for all built-in
3575         subspaces.
3576
3577 Fri Apr 15 10:51:51 1994  Ian Lance Taylor  ([email protected])
3578
3579         * ecoff.c (first_proc_ptr): New static variable.
3580         (add_procedure): Set first_proc_ptr if it hasn't been set.
3581         (ecoff_build_lineno): If the first procedure does not start at
3582         address zero, insert a dummy line to compensate.
3583
3584         * Makefile.in (bootstrap, bootstrap2, bootstrap3): Make gasp.new
3585         as well as as.new.
3586
3587 Thu Apr 14 15:12:36 1994  Ken Raeburn  ([email protected])
3588
3589         * expr.c (operand): Try to parse "0f" and "0b" sequences as
3590         floating point and binary numbers respectively; if it doesn't
3591         work, treat them as local labels.
3592
3593         * Makefile.in: Make $(OBJS) depend on $(ALL_OBJ_DEPS).
3594         * configure.in: Set ALL_OBJ_DEPS in output Makefile.
3595
3596         Based on suggestions from <[email protected]>
3597         (Charles Bailey):
3598         * vmsconf.sh: In generated file, get ".obj" suffix right, build
3599         source files from other directories into objects in the current
3600         directory, and specify PSECT attributes explicitly to linker.
3601         Also added missing label.
3602         * Makefile.in (stamp-mk.com): Reference new variable
3603         VMS_OTHER_OBJS for list of non-local object files, instead of
3604         listing them here.
3605         (VMS_OTHER_OBJS): New variable, added more libiberty files.
3606         * make-gas.com: Regenerated.
3607
3608         * config/ho-vms.h (unlink): Define as delete.
3609
3610         * config-gas.com: Fix quoting on TARGET_CANONICAL definition.
3611         Delete files before creating them.
3612
3613 Thu Apr 14 13:34:24 1994  Ian Lance Taylor  ([email protected])
3614
3615         * Makefile.in (de-stage1, de-stage2, de-stage3): Use rm -f.
3616
3617         * config/tc-mips.h (DIFF_EXPR_OK): Define.
3618         * config/tc-mips.c (macro_build): Permit BFD_RELOC_PCREL_LO16 for
3619         certain cases of 'i', 'j' and 'o'.  Change 'u' to take an
3620         argument, the reloc type.
3621         (load_register): Pass reloc type to macro_build for 'u'.
3622         (macro): Likewise.  For M_LA_AB permit a difference expression
3623         when generating embedded PIC code between an arbitrary symbol and
3624         a symbol in the .text section.
3625         (mips_force_relocation): Force BFD_RELOC_PCREL_HI16_S and
3626         BFD_RELOC_PCREL_LO16 to be emitted.
3627         (md_apply_fix): Check that most relocs are not PC relative.
3628         Handle BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
3629         (tc_gen_reloc): Change #error to as_fatal.  Handle
3630         BFD_RELOC_PCREL_LO16 and BFD_RELOC_PCREL_HI16_S.
3631
3632 Tue Apr 12 18:25:13 1994  Stan Shebs  ([email protected])
3633
3634         * subsegs.c (subsegs_begin): Call memset with args in the correct
3635         order.
3636         (subseg_get): Clear newly allocated seginfo, set its pointer slots
3637         to NULL instead of 0.
3638
3639 Mon Apr 11 09:00:57 1994  Jeffrey A. Law  ([email protected])
3640
3641         * config/tc-hppa.c (pa_procend): Handle case where label was
3642         defined after the .proc directive.
3643
3644         * config/tc-hppa.c (pa_procend): Give an error if we encounter a
3645         procend for a procedure without a name.
3646
3647 Thu Apr  7 14:28:30 1994  Ian Lance Taylor  ([email protected])
3648
3649         * config/tc-mips.c (macro): Pass NULL for expression argument to
3650         macro_build for nori case.
3651         (SWITCH_TABLE): Define.
3652         (mips_force_relocation): Force a relocation for a switch table
3653         entry.
3654         (md_apply_fix): Write switch table entry value into file.
3655         (tc_gen_reloc): Use BFD_RELOC_GPREL32 for a switch table entry,
3656         and set the addend to the difference between the reloc address and
3657         the subtrahend.
3658
3659 Thu Apr  7 10:38:18 1994  Jeffrey A. Law  ([email protected])
3660
3661         * config/tc-hppa.h (elf_tc_symbol): Delete.  No longer used.
3662         (elf_tc_make_sections): Likewise.
3663         (hppa_tc_make_sections, hppa_tc_symbol): Delete extern decls.
3664
3665         * config/tc-hppa.c (hppa_tc_make_sections): Delete function.
3666         (hppa_tc_symbol): Likewise.
3667
3668         * config/obj-elf.c (elf_frob_file): Delete elf_tc_symbol and
3669         elf_tc_make_sections stuff.  It was there to support PA braindamage
3670         which has been fixed, and in the case of elf_tc_make_sections is
3671         redundant with elf_tc_final_processing.
3672
3673 Wed Apr  6 20:48:30 1994  Jeffrey A. Law  ([email protected])
3674
3675         * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
3676         manufacturer.
3677
3678 Tue Apr  5 15:48:03 1994  Ian Lance Taylor  ([email protected])
3679
3680         * config/tc-mips.c (mips_ip): For case 'o', when generating
3681         embedded PIC code, accept the difference between two local symbols
3682         as being constant.
3683         (mips_force_relocation): Only force a reloc to be generated for a
3684         PC relative fixup.
3685         (md_apply_fix): For BFD_RELOC_32 and BFD_RELOC_LO16, put the fixup
3686         value into the file if the fixup will not generate a reloc.
3687
3688 Tue Apr  5 11:14:14 1994  Ken Raeburn  ([email protected])
3689
3690         * config/tc-sparc.c (s_reserve): If section passed isn't bss,
3691         don't spew remainder of input file in error message.
3692         (tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error
3693         message with reloc type and try to process remainder of file.
3694
3695         * doc/Makefile.in (install-info-as, install-info-gasp): New
3696         targets, now explicitly checking $(srcdir) for info files.
3697         (install-info): Depend on both of them; do nothing more.
3698
3699 Mon Apr  4 17:06:04 1994  Jeffrey A. Law  ([email protected])
3700
3701         * config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version.
3702
3703 Mon Apr  4 12:39:23 1994  Ian Lance Taylor  ([email protected])
3704
3705         * config/tc-ppc.c (ppc_insert_operand): Check PPC_OPERAND_SIGNED
3706         flag rather than signedp field.  Only permit extended range if
3707         PPC_OPERAND_SIGNOPT flag is set and assembling in 32 bit mode.
3708         Based on patch from David Edelsohn ([email protected]).
3709
3710         * config/tc-ppc.c (ppc_size): New static variable.
3711         (ppc_arch): Check for PPC_OPCODE_PPC before PPC_OPCODE_POWER.
3712         (md_begin): If an instruction has a size specific flag set, only
3713         add it if we are assembling that size.
3714
3715 Thu Mar 31 16:51:16 1994  Ian Lance Taylor  ([email protected])
3716
3717         * config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get
3718         cross section PC relative relocs right for COFF and ELF.
3719
3720 Mon Mar 28 14:38:23 1994  Ken Raeburn  ([email protected])
3721
3722         * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Always define.
3723         (OBJ_PROCESS_STAB): Don't define.
3724
3725 Mon Mar 28 12:40:25 1994  Ian Lance Taylor  ([email protected])
3726
3727         * config/obj-aout.c (obj_aout_frob_symbols): Don't let BFD clobber
3728         the type of symbol set symbols which happen to be in the absolute
3729         or undefined section.
3730
3731 Mon Mar 28 12:35:00 1994  David Edelsohn  ([email protected])
3732
3733         * config/tc-ppc.c (md_parse_option): Add -mpwrx (POWER/2 aka
3734         RIOS2), -mpwr (POWER aka RIOS1), -mppc (PowerPC aka MPC603/604),
3735         and -many (all architectures).
3736
3737 Sun Mar 27 14:04:19 1994  Jeffrey A. Law  ([email protected])
3738
3739         * config/tc-hppa.c (tc_gen_reloc): Set addend for relocation
3740         involving a function symbol which is not a plabel to zero.
3741         (md_apply_fix): Never pass a function symbol to field_adjust.
3742
3743 Fri Mar 25 17:35:49 1994  Ian Lance Taylor  ([email protected])
3744
3745         * config/obj-aout.c (obj_aout_frob_symbol): If N_EXT is set for an
3746         N_INDR symbol, set BSF_EXPORT and clear BSF_LOCAL.
3747
3748         * config/tc-mips.c (append_insn): If EMBEDDED_PIC, don't swap a
3749         branch with an instruction that uses $at, in case the branch is
3750         later expanded.
3751         (macro): If EMBEDDED_PIC, case M_JAL_A may use $at.
3752         (md_pcrel_from): If not OBJ_AOUT, return 4 for an undefined symbol
3753         to make it pcrel_offset.
3754         (tc_gen_reloc): If not OBJ_AOUT, set the reloc addend to
3755         reloc->address; another gruesome hack to get gas reloc handling to
3756         do the right thing.
3757
3758 Thu Mar 24 21:29:29 1994  Ken Raeburn  ([email protected])
3759
3760         * config/tc-alpha.c (alpha_ip): Only set GP prolog size if using
3761         PV register.
3762         (T12): New macro.
3763         (emit_insn): New function.
3764         (md_assemble): Call it.
3765         (alpha_force_relocation): Handle BFD_RELOC_26, for call_pal
3766         instructions.
3767         (lituse_pending): New variable.  Set by anything that generates a
3768         LITERAL reloc, cleared by anything that generates a LITUSE reloc,
3769         tested by code that might want to emit a LITUSE reloc.
3770         (emit_unaligned_io): New function.  Currently calls md_assemble,
3771         but it should eventually be converted to generate the insn itself
3772         and call emit_insn directly.
3773         (emit_load_unal, emit_store_unal, emit_byte_manip_r,
3774         emit_extract_r, emit_insert_r, emit_mask_r, emit_sign_extend,
3775         emit_bis_r): Likewise.
3776         (alpha_ip, case 'I'): Handle with BFD_RELOC_23.
3777         (alpha_ip, label get_macro): Don't emit the final instruction if
3778         the opcode is zero.
3779         (alpha_ip, case 'B', subcase 'd'): New case, for subword and
3780         unaligned memory access macros.
3781         (md_apply_fix): Handle BFD_RELOC_26.  Generate an error message if
3782         the value can't be resolved.
3783
3784 Wed Mar 23 16:06:08 1994  Ian Lance Taylor  ([email protected])
3785
3786         * config/tc-mips.c (md_parse_option): For -membedded-pic, force
3787         the -G value to 0x7fffffff.  For SVR4 PIC options, don't call
3788         bfd_set_gp_size here, it's done in md_begin.  Don't permit -G with
3789         -membedded-pic.
3790         (mips_force_relocation): New function.
3791         (md_apply_fix): Set fixP->fx_done appropriately.
3792         (s_change_sec): For EMBEDDED_PIC, change .data and .rdata to
3793         .sdata.
3794         * config/tc-mips.h (TC_FORCE_RELOCATION): Define.
3795         (mips_force_relocation): Declare.
3796         (TC_HANDLE_FX_DONE): Define.
3797
3798 Tue Mar 22 13:58:37 1994  Ian Lance Taylor  ([email protected])
3799
3800         * config/tc-mips.c (enum mips_pic_level): New enum.
3801         (mips_pic): Change from int to enum mips_pic_level.  Change all
3802         uses (0 becomes NO_PIC, 2 becomes SVR4_PIC).
3803         (load_address): Handle EMBEDDED_PIC.
3804         (macro): Handle EMBEDDED_PIC in all PIC cases.
3805         (md_parse_option): Accept -membedded-pic to use EMBEDDED_PIC.  If
3806         OBJ_ELF, accept -KPIC and -call_shared to use SVR4_PIC and accept
3807         -non_shared to use NO_PIC (this is how the Irix 5 assembler
3808         works).  Do not permit -G with SVR4_PIC.
3809         (s_abicalls): Warn if -G was used, and force -G 0.
3810         (tc_gen_reloc): Set reloc->addend to 0 for a PC relative reloc for
3811         anything but a.out, not just for ELF.  For ECOFF, don't generate a
3812         BFD_RELOC_16_PCREL_S2 reloc unless using EMBEDDED_PIC.
3813
3814         * config/obj-ecoff.h (obj_sec_sym_ok_for_reloc): Define to be 1.
3815
3816 Sun Mar 20 16:31:55 1994  Jeffrey A. Law  ([email protected])
3817
3818         * config/tc-hppa.c (create_new_space): Use ints, not chars as
3819         parameters to avoid losing when compiling with HP CC.
3820         (create_new_subspace, update_subspace, fix_new_hppa): Likewise.
3821
3822 Sun Mar 20 14:43:14 1994  Ken Raeburn  ([email protected])
3823
3824         * Makefile.in (config-stamp): If `defs' is defined, emit a
3825         preprocessor directive to create a macro named by this value into
3826         config.new; don't explicitly go for BFD_ASSEMBLER.
3827         * configure.in: Define `defs', not `BFDDEF'.  Set it to
3828         MANY_SEGMENTS for any obj-coffbfd target.
3829         * config/obj-coffbfd.h (BFD_HEADERS, BFD): Define.
3830         * config/i386coff.mt (TDEFINES): Don't define BFD, MANY_SEGMENTS,
3831         or BFD_HEADERS.
3832         (LOCAL_LOADLIBES): Deleted.
3833         * config/m68kcoff.mt (TDEFINES): Don't define those macros.
3834         * config/m88kcoff.mt (TDEFINES): Ditto.
3835         * config/ebmon29k.mt: Deleted.
3836         * config/h8300hds.mt: Deleted.
3837         * config/ic960coff.mt: Deleted.
3838         * config/sparc.mt: Deleted.
3839         * config/h8300.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
3840         * config/h8500.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
3841         * config/sh.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
3842         * config/z8k.mt (LOCAL_LOADLIBES): Deleted.
3843         (TDEFINES): Don't define the coffbfd macros.
3844
3845         * Makefile.in: Insert makefile fragments before OBJS definition.
3846         (OBJS): Add $(TE_OBJS).
3847
3848         * config/obj-coff.c (obj_pseudo_table): Supply "section"
3849         unconditionally.
3850
3851         * write.c (set_symtab): Define only if BFD_ASSEMBLER.
3852
3853 Sun Mar 20 12:06:05 1994  Jeffrey A. Law  ([email protected])
3854
3855         * Makefile.in (STAGESTUFF): Add gasp.new.
3856
3857 Fri Mar 18 20:09:16 1994  Ken Raeburn  ([email protected])
3858
3859         * write.c (symbol_table_frozen): New variable, to be set after
3860         bfd_set_symtab is called.
3861         (dump_section_relocs): Note whether a symbol is a section symbol
3862         or not.
3863         (adjust_reloc_syms): For now, always supply an absolute symbol for
3864         fixups without symbols but not yet `done'.  Use section_symbol to
3865         get the symbol, instead of going directly for abs_symbol.
3866         (write_relocs) [DEBUG4]: Abort if any symbol referred to by a
3867         reloc is not a section symbol and is not in the symbol table.
3868         (set_symtab): New function, broken out from write_object_file.
3869         Counts symbol table instead of relying on an earlier count.
3870         (write_object_file): Call set_symtab, but do it after potentially
3871         invoking the *_frob_file macros.  Don't bother counting symbols.
3872         Call symbol_remove, instead of expanding it in place.  Moved the
3873         conditionalized `object_file_size' declaration down to
3874         conditionalized block where it's used.  When using the absolute
3875         symbol for a fixup without a symbol, set sy_used_in_reloc.
3876         (write_object_file) [BFD_ASSEMBLER]: Call section_symbol to get
3877         the correct symbol for the absolute section.
3878
3879         * subsegs.c (section_symbol): Use symbol_new instead of
3880         symbol_make, since we may want it to go into the symbol table.
3881         Make the new symbol have internal linkage.  If
3882         obj_sec_sym_ok_for_reloc says it's okay, use the BFD section
3883         symbol with the newly created GAS symbol.
3884         (obj_sec_sym_ok_for_reloc): Default to always returning 0.
3885         * config/obj-aout.h (obj_sec_sym_ok_for_reloc) [BFD_ASSEMBLER]:
3886         New macro.
3887         * config/obj-elf.h (obj_sec_sym_ok_for_reloc): New macro.
3888
3889         * config/tc-sparc.c: Include subsegs.h.
3890         (in_signed_range): New function.
3891         (sparc_ip): Use it.
3892         (sparc_ip, case 'i'): Use BFD_RELOC_SPARC13, not _BASE13.
3893         (sparc_ip, label "immediate"): Reject constants for pcrel
3894         instructions only if the relocation type indicates a "call"
3895         instruction and the offset is within range of a "jmpl %g0".  If
3896         it's not in range, use the absolute section symbol plus an offset.
3897         (md_apply_fix): Use in_signed_range.  Combined _SPARC13 and
3898         _BASE13 cases.
3899         (tc_gen_reloc): Permit BFD_RELOC_SPARC13.
3900
3901         * config/ic960coff.mt (TDEFINES): Fixed typo (MANY_SECTIONS, not
3902         MANY_SEGMENTS).
3903
3904         * configure.in: Eliminated all targets using obj-coff but not
3905         defining BFD_ASSEMBLER; I think all such targets that are
3906         supported will be matched by real CPU-OS combinations earlier in
3907         the case statement.
3908         (targets *-*-coff*, *-sysv*, *-*-sco*, *-*-sysv32): Deleted.  Made
3909         some comments about the dpx2 configuration, but left it disabled,
3910         since it couldn't be reached before.
3911         (target a29k-amd-ebmonold): Deleted.
3912
3913 Thu Mar 17 13:36:09 1994  Jeffrey A. Law  ([email protected])
3914
3915         * config/tc-hppa.c (pa_import): Correctly handle importing of an
3916         already defined symbol.
3917
3918 Wed Mar 16 17:11:37 1994  Ian Lance Taylor  ([email protected])
3919
3920         * config/tc-mips.c (mips_ip): Only accept overly large values for
3921         the 'j' operand if there are no further alternatives for this
3922         instruction.
3923
3924         * config/obj-coffbfd.c (adjust_stab_section): Initialize
3925         stabstrseg to SEG_UNKNOWN, not -1.  After loop, check whether it
3926         is not SEG_UNKNOWN rather than checking whether it is >= 0.
3927
3928         * config/tc-mips.c (mips_align): Take new argument, label, and use
3929         it instead of global insn_label.
3930         (s_align, s_cons, s_float_cons, s_gpword): Save insn_label before
3931         call to mips_emit_delay and pass it to mips_align.
3932
3933 Wed Mar 16 11:54:12 1994  Jeffrey A. Law  ([email protected])
3934
3935         * config/tc-hppa.c (pa_equ): Handle both .reg and .equ correctly.
3936
3937         * config/tc-hppa.c (pa_callinfo): Accept "millicode" as an
3938         argument to a .callinfo directive.  Don't loop forever on errors.
3939
3940         * config/tc-hppa.c (pa_equ): Use pa_parse_number so that we can
3941         use pre-defined registers as arguments.
3942
3943 Mon Mar 14 14:29:45 1994  Ken Raeburn  ([email protected])
3944
3945         * write.c (write_object_file): Check both S_IS_LOCAL and
3946         S_IS_EXTERNAL when deciding whether to discard a symbol.
3947
3948         * config-gas.com: Scan Makefile.in, not version.c, for current
3949         version number.  Delete all versions of temp files when finished
3950         with them.  Create config.h.
3951
3952         * config/obj-vms.c (VMS_Initialized_Data_Size): Cache symbol
3953         values to reduce number of lookups with S_GET_VALUE.  Skip debug
3954         symbols to avoid "a really nasty bug".  (From Holger Teutsch,
3955         [email protected].)
3956         (VMS_write_object_file): For "__vt.*" symbols, set S_GET_OTHER
3957         field.  (Also from Holger Teutsch.)  Watch for a would-be register
3958         mask that spans frags.
3959
3960         * config/obj-coffbfd.c (obj_coff_line): Set symbol lnno field with
3961         this_base, not line_base.  (Patch from Andreas Arens,
3962         [email protected].)
3963
3964         * config/obj-aout.c (obj_crawl_symbol_chain): Retain symbols that
3965         look local if they're exported or undefined.  Used to be done for
3966         i960 only.
3967
3968         * read.c (s_lcomm, s_comm): Print symbol name being redefined.
3969         Get it from the looked-up symbol, instead of using the string from
3970         the input stream, which is no longer null-terminated.
3971         (LEX_PCT): New macro, defaults to 0.
3972         (lex_type): Use it for `%'.
3973
3974         * config/tc-vax.c (md_parse_option): Handle `-h#' option for VMS.
3975         (vip_op): Now static, and returns void.  Callers changed.  Added
3976         forward decl.
3977         (vip): Ditto.  Call as_fatal directly if a program bug is
3978         detected.
3979         (op_hash): Let default initialization suffice.
3980
3981         * Makefile.in (literal.o): Provide dependencies.
3982
3983         * configure.in: Set new makefile variable OPCODES_LIB.
3984         * Makefile.in (LIBS): Use it.
3985
3986         * Makefile.in (make-gas.com, stamp-mk.com): New targets.
3987         * vmsconf.sh: New file.
3988         * make-gas.com: Regenerated from new script.
3989
3990         * configure.in (sparc*-*-lynxos*): Handle any version number
3991         suffix after "lynxos".  Set emulation to lynx.
3992
3993 Mon Mar 14 11:30:49 1994  Ken Raeburn  ([email protected])
3994
3995         * config/obj-coff.c (obj_coff_section): Delete declaration.
3996
3997 Fri Mar 11 22:25:44 1994  Ian Lance Taylor  ([email protected])
3998
3999         * config/tc-ppc.c (md_pcrel_from): Return 0 for undefined ELF
4000         symbols.
4001         (ppc_is_toc_sym): Change .toc to .got.
4002         (md_apply_fix): Change handling of ELF relocs.
4003         (tc_gen_reloc): Likewise.
4004
4005 Fri Mar 11 17:42:20 1994  Ken Raeburn  ([email protected])
4006
4007         * config/obj-vms.c (Close_VMS_Object_File): Add comment pointing
4008         out some code that doesn't belong in this file.
4009
4010         * config/obj-vms.h: Include aout/stab_gnu.h.
4011         (N_GSYM, ..., N_LENG): Deleted.
4012         (NO_RELOC): Undefine before defining as part of enum reloc_type.
4013
4014         * config/tc-alpha.c: Add comment questioning need for all the
4015         characters in FLT_CHARS.
4016
4017         * as.c (main) [OBJ_VMS]: Don't call output_file_close.
4018
4019         * config/obj-ecoff.c (ecoff_frob_file): Set strict order for
4020         sections with recognized names, before computing VMA values.
4021
4022 Fri Mar 11 17:56:23 1994  Ian Lance Taylor  ([email protected])
4023
4024         * config/tc-mips.c (mips_ip): Accept numbers between 0x8000 and
4025         0xffff for 'j' to be compatible with MIPS assembler.  These
4026         numbers are actually treated as negative.
4027
4028 Thu Mar 10 13:36:29 1994  Doug Evans  ([email protected])
4029
4030         * config/tc-sparc.h (LOCAL_LABEL): Local labels are .Lfoo.
4031
4032 Tue Mar  8 21:17:12 1994  Ken Raeburn  ([email protected])
4033
4034         * config/obj-coff.c: Minor formatting/stylistic changes, plus:
4035         (obj_coff_section): Declare.
4036         (obj_pseudo_table): Make it available only if MANY_SECTIONS.
4037         (obj_symbol_to_chars) [CROSS_COMPILE]: Some attemps to make this
4038         work.  It still doesn't.  It now fails to compile, instead of
4039         silently compiling to do nothing.
4040         * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define only if
4041         MANY_SECTIONS.
4042         (OBJ_PROCESS_STAB) [! MANY_SECTIONS]: New macro, just emits
4043         warning.
4044
4045         Handle Alpha load-immediate-FP pseudo-instructions:
4046         * config/alpha-opcode.h (ldif, ldig, ldis, ldit): New patterns.
4047         * config/tc-alpha.c (lit8_sec, lit4_sec, lit8_sym, lit4_sym): New
4048         variables.
4049         (create_literal_section): New function.
4050         (create_lita_section): Now a macro.
4051         (get_lit8_offset, get_lit4_offset): New functions.
4052         (maybe_set_gp): New function.
4053         (select_gp_value): Call it.
4054         (load_expression): Preserve addend if symbol is a section symbol.
4055         (alpha_ip): Handle new operand type `F' for floating-point
4056         constants; store them in .lit{4,8} sections.
4057         (alpha_ip, case 'G'): Emit LITUSE relocations for symbol exprs.
4058
4059         * config/tc-i386.c (smallest_imm_type): Never return Imm1.
4060
4061 Tue Mar  8 14:18:15 1994  Steve Chamberlain  ([email protected])
4062
4063         * config/obj-coffbfd.c (w_strings): Only copy strings out if
4064         their symbols are going to be written.
4065
4066 Tue Mar  8 11:49:27 1994  Ian Lance Taylor  ([email protected])
4067
4068         * messages.c (as_perror): Declare arguments const.
4069         * as.h (as_perror): Change declaration.
4070
4071 Mon Mar  7 16:08:25 1994  Ian Lance Taylor  ([email protected])
4072
4073         * config/tc-mips.c (load_address): When calling frag_grow, allow
4074         for the (up to) two nops which may be inserted by append_insn if
4075         mips_optimize is 0.
4076         (macro): Likewise.
4077
4078 Thu Mar  3 11:37:55 1994  Doug Evans  ([email protected])
4079
4080         * config/atof-ieee.c (make_invalid_floating_point_number):
4081         Add cast to avoid warning from gcc.
4082
4083 Wed Mar  2 10:31:01 1994  Jeffrey A. Law  ([email protected])
4084
4085         * config/tc-hppa.c: Add a few casts to make HP C compiler happy.
4086
4087         * config/obj-som.c (obj_som_version, obj_som_copyright): Be
4088         prepared
4089         to handle an error from bfd_som_attach_aux_hdr.
4090
4091         * config/tc-hppa.h: Wrap ELF specific decls inside an ifdef.
4092
4093 Mon Feb 28 15:03:26 1994  Ken Raeburn  ([email protected])
4094
4095         * config/tc-alpha.c (md_atof): Omit warning about FP values.
4096         (line_comment_chars): Add ! to list.
4097         (md_apply_fix): Do process 32- and 64-bit relocations.
4098
4099         * config/obj-coffbfd.c (obj_coff_lcomm): Put "#if 0" around the
4100         unused parts (most of the function).
4101         (obj_coff_init_stab_section): Cast alloca result.
4102
4103         * configure.in (i960-*-coff, i960-*-vxworks5.*): Use coffbfd, and
4104         gas_target ic960coff.
4105         * config/ic960coff.mt: New file.
4106         * config/obj-coffbfd.h [TC_I960]: Include coff/i960.h.
4107         (TARGET_FORMAT) [TC_I960]: Use coff-Intel-little.
4108         * config/te-ic960.h (CROSS_COMPILE): Don't undef this.  We'll
4109         always build little-endian object files.
4110         * config/tc-i960.c (md_reloc_size): Don't define at all if BFD or
4111         BFD_ASSEMBLER is defined.
4112         (mem_fmt): Since COFF doesn't handle callx relocations yet, treat
4113         them like normal 32-bit relocations.
4114         (md_apply_fix): For callx relocations, store zero.
4115         (tc_bout_fix_to_chars): Store symbol index for all callx
4116         relocations, regardless of link-relax setting.
4117         (tc_coff_fix2rtype, tc_coff_sizemachdep): New functions.
4118         (i960_handle_align) [! OBJ_BOUT]: If link-relax option is
4119         selected, print an error message and clear it.
4120         * config/tc-i960.h (BFD_ARCH, COFF_FLAGS, COFF_MAGIC,
4121         TC_COUNT_RELOC, TC_COFF_FIX2RTYPE, TC_COFF_SIZEMACHDEP,
4122         tc_fix_adjustable): New macros.
4123         (tc_coff_fix2rtype, tc_coff_sizemachdep): Declare.
4124
4125 Fri Feb 25 20:56:57 1994  Jeffrey A. Law  ([email protected])
4126
4127         * config/tc-hppa.c (hppa_tc_symbol): Call PA ELF BFD version.
4128         (hppa_tc_make_sections): Likewise.
4129         (pa_build_symextn_section): Delete unused function.
4130         (hppa_tc_make_symextn_section): Likewise.
4131         (pa_export): Delete call to pa_build_symextn_section.
4132
4133         * config/tc-hppa.h (hppa_tc_symbol): Add extern decl.
4134         (elf_hppa_final_processing): Delete extern decl.
4135         (hppa_tc_symbol): Delete extern decl.
4136
4137 Fri Feb 25 13:15:31 1994  Ian Lance Taylor  ([email protected])
4138
4139         * config/obj-coffbfd.c (fill_section): Correct test for whether to
4140         fill a section (from Minh Tran-Le <[email protected]>).
4141
4142 Thu Feb 24 11:30:26 1994  Ken Raeburn  ([email protected])
4143
4144         * configure.in: Don't require version number for i386-*-mach.
4145
4146         * read.c (potable): Added ".this_GCC_requires_the_GNU_assembler",
4147         which is ignored by gas, but will cause other assemblers to choke.
4148         Intended for use by gcc ports that require gas instead of native
4149         assemblers.
4150
4151 Thu Feb 24 07:10:31 1994  Jeffrey A. Law  ([email protected])
4152
4153         * config/ho-hppaosf.h: Fix braino in test for ANSI-C.
4154
4155 Wed Feb 23 16:51:43 1994  Jeffrey A. Law  ([email protected])
4156
4157         * write.c (write_contents): Give the user a reasonable error
4158         message rather than "assertion failed" if bfd_set_section_contents
4159         fails.
4160
4161 Tue Feb 22 10:07:32 1994  Ken Raeburn  ([email protected])
4162
4163         * config/ho-mach3.h: New file.
4164
4165 Mon Feb 21 11:41:18 1994  Ian Lance Taylor  ([email protected])
4166
4167         * ecoff.c (ecoff_build_debug): Don't set hdr->magic here.  It is
4168         now set in bfd/ecofflink.c:ecoff_write_symhdr.
4169
4170         * config/obj-coffbfd.c (write_object_file): use bfd_get_error (),
4171         not bfd_error.
4172         * config/obj-elf.c (elf_frob_file): Likewise.
4173
4174         * read.c (s_lcomm): Use an alignment power of 3 for 8 byte .lcomm
4175         variables.
4176
4177         * config/ho-hpux.h (BROKEN_ASSERT): Define if not __GNUC__.
4178
4179         * read.c (read_a_source_file): Use correct arguments to memcpy
4180         (broken 19 Jul 1993).  From [email protected] (Kenneth
4181         Duda).
4182
4183 Sun Feb 20 18:01:54 1994  Ian Lance Taylor  ([email protected])
4184
4185         * config/obj-coff.h (obj_coff_section): Declare.
4186         * config/obj-coff.c (obj_pseudo_table): For "section", use
4187         obj_coff_section.
4188         (obj_coff_section): Rewrite.
4189
4190 Fri Feb 18 14:16:32 1994  Ken Raeburn  ([email protected])
4191
4192         * configure.in (i386-*-mach3*): New target; uses BFD.
4193         * config/te-mach.h: New file.
4194         * config/obj-aout.c (obj_aout_frob_file): New function.
4195         * config/obj-aout.h (obj_aout_frob_file): Declare it.
4196         (frob_file): New macro.
4197         * config/tc-i386.c (md_apply_fix_1) [TE_Mach]: Don't adjust
4198         pcrel32 relocations.
4199         * config/tc-i386.h (TARGET_FORMAT) [TE_Mach]: Use a.out-mach3.
4200
4201         * write.c (write_object_file): Removed register declarations.
4202
4203 Thu Feb 17 16:25:18 1994  Ian Lance Taylor  ([email protected])
4204
4205         Some support for PowerPC ELF.
4206         * configure.in: If cpu is powerpc*, use ppc.
4207         (ppc-*-sysv4*): Use object format elf.
4208         * config/tc-ppc.h: Only declare a number of things if OBJ_COFF is
4209         defined.
4210         (TARGET_ARCH): Make it call ppc_arch.
4211         (ppc_arch): Declare.
4212         (TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF.
4213         (NO_STRING_ESCAPES): Define.
4214         (LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF.
4215         * config/tc-ppc.c: Only define a number of functions of OBJ_COFF
4216         is defined.
4217         (md_pseudo_table): Most pseudo-ops are OBJ_COFF specific.  Added
4218         OBJ_COFF specific "bi" and "ei".
4219         (md_parse_option): Fix handling of -u.  Make -m601 set
4220         PPC_OPCODE_601.  If OBJ_ELF, accept -V and -Q.
4221         (ppc_set_cpu): New function.
4222         (ppc_arch): New function.
4223         (md_begin): Call ppc_set_cpu.
4224         (ppc_insert_operand): For a signed operand accept an unsigned
4225         value, for IBM compatibility.
4226         (ppc_byte): Don't call stringer for strings; instead, treat two
4227         double quotes as a single double quote.
4228         (ppc_comm): Set sy_tc.output for a .lcomm symbol.
4229         (ppc_biei): New function.
4230         (ppc_tc): If not OBJ_COFF, ignore first argument.
4231         (ppc_fix_adjustable): Call as_bad_where, not as_bad.
4232         (ppc_is_toc_sym): New function.
4233         (md_apply_fix): Use ppc_is_toc_sym.  Handle BFD_RELOC_16 and
4234         BFD_RELOC_8.
4235
4236 Thu Feb 17 09:29:37 1994  David J. Mackenzie  ([email protected])
4237
4238         * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_get_error and
4239         bfd_set_error and new error names. 
4240
4241 Tue Feb 15 20:23:20 1994  Ken Raeburn  ([email protected])
4242
4243         * configure.in: Support i960-vxworks versions > 5.0 as coff.
4244         Default is still bout if no version is specified.
4245
4246         * atof-generic.c (atof_generic): Use switch and strcasecmp instead
4247         of large number of compares when looking for inf/nan values.
4248
4249 Fri Feb 11 13:13:27 1994  Ian Lance Taylor  ([email protected])
4250
4251         * config/tc-mips.c (macro): Do unaligned loads and stores
4252         correctly when big endian, and give errors on overflow rather than
4253         generating incorrect code.
4254
4255 Thu Feb 10 11:24:20 1994  Ian Lance Taylor  ([email protected])
4256
4257         * as.c: Include libiberty.h.
4258
4259         * read.c (do_align): Don't define label just_record_alignment
4260         unless it might be used.
4261
4262         * as.c (main): If md_parse_long_option is defined, call it with a
4263         long option.
4264         * config/tc-mips.h (md_parse_long_option): Define.
4265         * config/tc-mips.c (mips_trap): New static variable.
4266         (md_begin): Report an error if mips_trap is set at ISA level 1.
4267         (macro): If mips_trap, use trap instructions instead of break
4268         instructions for overflow and divide by zero detection.
4269         (mips_parse_long_option): New function.  Support --trap,
4270         --no-break, --break and --no-trap.
4271         * doc/as.texinfo: Document new options.
4272
4273         * read.c (potable): Add "zero".
4274         * config/tc-i386.c (md_pseudo_table): Remove "zero".
4275         * config/tc-m88k.c (md_pseudo_table): Likewise.
4276
4277 Thu Feb 10 01:24:27 1994  Ken Raeburn  ([email protected])
4278
4279         * config/tc-sparc.c (sparc_ip): Reject integer values for
4280         pc-relative operand fields.  This forces "call 0" to become "jmpl
4281         %g0,%o7" with no relocations needed.
4282
4283 Wed Feb  9 13:08:32 1994  Ian Lance Taylor  ([email protected])
4284
4285         * as.h (xmalloc, xrealloc): Declare using PTR rather than char *.
4286         * xmalloc.c (xmalloc, xrealloc): Use PTR rather than char *.
4287
4288         * app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined,
4289         don't treat backslash specially inside strings.
4290         * read.c (next_char_of_string): Likewise.
4291
4292 Wed Feb  9 09:42:45 1994  Stan Shebs  ([email protected])
4293
4294         * config/obj-coffbfd.c (obj_coff_init_stab_section): Use memset
4295         instead of memcpy to zero the initial stab symbol, duh.
4296         * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
4297         * config/obj-som.c (obj_som_init_stab_section): Ditto.
4298
4299 Tue Feb  8 17:25:44 1994  Ian Lance Taylor  ([email protected])
4300
4301         * write.c (fixup_segment): Use as_bad_where, not as_bad.
4302
4303         * subsegs.c (subseg_set_rest): Call memset with the arguments in
4304         the right order.  Explicitly clear fix_root and fix_tail fields.
4305
4306 Tue Feb  8 16:00:25 1994  Ken Raeburn  ([email protected])
4307
4308         * config/obj-coff.c (coff_frob_symbol): For abs_symbol, set *punt
4309         and do nothing else.
4310
4311         * symbols.c (symbol_begin): Initialize value of abs_symbol
4312         properly.
4313
4314         * write.c (adjust_reloc_syms): Use abs_symbol instead of calling
4315         section_symbol.
4316
4317         * ecoff.c (ecoff_build_debug): Fix "/*" in comment to silence
4318         complaint from "gcc -Wall".
4319
4320         * configure.in (alpha-*-netware*): New target, like alpha-*-osf*.
4321
4322         * config/tc-alpha.c (GP_ADJUSTMENT): Move definition to start of
4323         file.
4324         (tc_gen_reloc): Remove uninitialized variable `code', and code
4325         that tried to use it (incorrectly).  For LITERAL reloc, set addend
4326         to negative of GP value.
4327         (load_symbol_address): Don't adjust return value by GP_ADJUSTMENT.
4328
4329         * write.c (write_relocs): Print some sensible error message if
4330         bfd_perform_relocation returns bfd_reloc_overflow.
4331
4332 Mon Feb  7 15:49:24 1994  Jeffrey A. Law  ([email protected])
4333
4334         * configure.in (hppa*-*elf*): New configuration for PA ELF.
4335         (hppa*-*-osf*): Default object format is SOM.
4336
4337 Mon Feb  7 16:07:35 1994  Ken Raeburn  ([email protected])
4338
4339         * config/tc-alpha.c (md_atof): Warn that floating-point values
4340         might not assemble properly.
4341
4342         * configure.in (target alpha-*-osf*): Don't set "dev=yes" any
4343         more.
4344
4345         * config/tc-alpha.c (load_expression): Parenthesize operations in
4346         range checking, to avoid precedence questions.
4347
4348         * config/tc-alpha.c (addr32): New static variable.
4349         (md_parse_option): Set it for "-32addr".
4350         (load_symbol_address): If addr32 is set, use ldl instead of ldq.
4351
4352         * atof-generic.c (atof_generic): Calculate maximum_useful_digits
4353         and more_than_enough_bits_for_digits in integer arithmetic, to
4354         eliminate the only sources of dependence on floating point
4355         support, which doesn't work yet on the Alpha.
4356
4357 Mon Feb  7 03:56:05 1994  Ken Raeburn  ([email protected])
4358
4359         * ecoff.c (ecoff_build_debug) [TC_ALPHA]: Specify version stamp as
4360         0x30b for Alpha for now, until ".verstamp" is handled.
4361
4362         * literal.c (add_to_literal_pool): Use seginfo->frchainP, which
4363         actually refers to the literal pool section, rather than
4364         frchain_now, which refers to whatever section the assembler was
4365         in.
4366
4367         * write.c (fixup_segment): Only do range checking if size of fixup
4368         is smaller than word size.  Otherwise, we always wind up with
4369         zeros.
4370
4371         * config/tc-alpha.c (md_section_align): Change second argument and
4372         return type to valueT, to agree with tc.h.
4373         (alpha_do_align): Local static array nop_pattern is now unsigned
4374         char, to avoid overflow warnings.
4375         * config/tc-alpha.h (md_section_align): Delete declaration.
4376
4377         * config/obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for
4378         output bfd is non-null before indirecting through it.
4379
4380         * config/tc-alpha.c (alpha_frob_ecoff_data): Renamed from
4381         alpha_frob_file.
4382         * config/tc-alpha.h (tc_frob_file): Macro deleted.
4383         * config/obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call
4384         alpha_frob_ecoff_data, then fill in optional-header info with gp
4385         value and register masks.
4386
4387 Sun Feb  6 16:13:47 1994  Jeffrey A. Law  ([email protected])
4388
4389         * configure.in (hiux): Fixes from [email protected].
4390
4391         * config/obj-som.c (obj_som_init_stab_section): Same change
4392         as coffbfd and elf below.  Zero the initial stab symbol after
4393         allocating it.
4394
4395 Sat Feb  5 12:30:32 1994  Stan Shebs  ([email protected])
4396
4397         * config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the
4398         initial stab symbol after allocating it.
4399         * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
4400
4401 Sat Feb  5 11:53:31 1994  Jeffrey A. Law  ([email protected])
4402
4403         * config/tc-hppa.c (pa_ip): addb[tf] should only accept
4404         non-negated condition completers.  Add support for addb pseudo-op
4405         which accepts both negated and non-negated completers.
4406
4407 Sat Feb  5 00:15:49 1994  Ian Lance Taylor  ([email protected])
4408
4409         * configure.in (rs6000*): Use cpu_type ppc.
4410         (ppc-*-aix*): New target; use coff and force bfd_gas.
4411         * config/tc-ppc.h, config/tc-ppc.c: New files for PowerPC/POWER
4412         (RS/6000) support.  At the moment, only XCOFF is supported.
4413
4414         * config/obj-coff.c (SA_SET_SYM_ENDNDX): Made non-static.
4415         (S_SET_DATA_TYPE): Likewise.
4416         (coff_last_function): Renamed from local static last_functionP in
4417         coff_frob_symbol and made externally visible.
4418         (coff_frob_symbol): New local static set_end; use it to try to
4419         avoid calling SA_SET_SYM_ENDNDX on a symbol that will be punted.
4420         * config/obj-coff.h (S_SET_DATA_TYPE): Declare.
4421         (SA_SET_SYM_ENDNDX): Declare.
4422         (coff_last_function): Declare.
4423
4424         * expr.c (operand): If DOLLAR_DOT is defined, accept `$' as
4425         equivalent to `.' to mean the current location.
4426
4427         * read.c (LEX_BR): If not defined, define as 0.
4428         (lex_type): Use LEX_BR as the type of `{',`}',`[',`]'.
4429
4430         * symbols.c (symbol_new): If tc_canonicalize_symbol_name is
4431         defined, call it with preserved_copy_of_name.  If
4432         tc_symbol_new_hook is defined, call it on the new symbol.
4433         (symbol_find_base): If tc_canonicalize_symbol_name is defined,
4434         call it on a copy of the name argument.
4435
4436         * write.c (write_object_file): Simplified usage of obj_frob_symbol
4437         and tc_frob_symbol.  Always call both if the symbol is going to be
4438         output.
4439
4440         * write.c (relax_segment): Use %ld rather than %d when printing
4441         fragP->fr_var, and cast it to long.
4442
4443         Changed relocs to be based on subsegments (when BFD_ASSEMBLER).
4444         * subsegs.h (struct frchain): If BFD_ASSEMBLER, added new fields
4445         fix_root and fix_tail.
4446         (segment_info_type): If BFD_ASSEMBLER, don't define fix_tail
4447         field.
4448         * write.c (fix_new_internal): If BFD_ASSEMBLER, set fix_rootP and
4449         fix_tailP based on frchain_now, not seg_info (now_seg).
4450         (chain_frchains_together_1): Chain the subsegment relocs together.
4451         * subsegs.c (subseg_change): Don't clear fix_tail field.
4452         (subseg_get): Likewise.
4453         * literal.c (add_to_literal_pool): Look through the relocs via
4454         frchain_now, not seginfo.
4455
4456 Thu Feb  3 23:07:30 1994  Ian Lance Taylor  ([email protected])
4457
4458         * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Changed
4459         ecoff_undefined to ecoff_extern_size.
4460         * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Likewise.
4461         * config/tc-mips.c (s_extern): Set ecoff_extern_size to the
4462         external symbol size, rathern than setting the symbol value.
4463         (md_estimate_size_before_relax): Check both ecoff_extern_size and
4464         symbol value to see if GP referencing can be used.
4465         * ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not
4466         ecoff_undefined.
4467         (ecoff_frob_symbol): Don't check ecoff_undefined.
4468         (ecoff_build_symbols): Get size of an undefined symbol from
4469         sym->ecoff_extern_size, not S_GET_VALUE (sym).
4470
4471 Wed Feb  2 13:55:08 1994  Jeffrey A. Law  ([email protected])
4472
4473         * Makefile.in:  Avoid bug in losing hpux sed.
4474
4475 Wed Feb  2 11:40:11 1994  Ian Lance Taylor  ([email protected])
4476
4477         * config/tc-mips.c (file_mips_isa): New static variable.
4478         (md_begin): Set it.
4479         (s_mipsset): Add support for .set mipN to set the ISA level.
4480
4481         * gasp.c (kinfo): Fully bracket initializer.
4482
4483 Tue Feb  1 19:28:12 1994  Ken Raeburn  ([email protected])
4484
4485         * gasp.c (malloc): Don't declare, since host.h or system header
4486         files may declare it differently.
4487
4488         * config/atof-ieee.c (int_to_gen): Now static.
4489
4490         * config/ho-i386aix.h: Include sys/types.h and stdlib.h, not
4491         ho-sysv.h.  Based loosely on a patch from Minh Tran-Le.
4492
4493 Tue Feb  1 10:50:17 1994  Steve Chamberlain  ([email protected])
4494
4495         * gasp.c: Include host.h.
4496
4497 Tue Feb  1 12:13:01 1994  Ian Lance Taylor  ([email protected])
4498
4499         * config/tc-mips.c (mips_ip): Make an unsupported instruction a
4500         warning, not an error.
4501
4502         * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
4503         dot_bss_symbol): Don't define if BFD_ASSEMBLER.
4504         (obj_symbol_to_chars): bfd_coff_swap_aux_out now takes more
4505         arguments.
4506         (coff_line_base): Renamed from line_base.  Changed all uses.
4507         (coff_add_linesym): Renamed from add_line_sym.  Made non-static.
4508         Changed all uses.
4509         * config/obj-coff.h: If TC_PPC, include coff/rs6000.h.
4510         (S_SET_STORAGE_CLASS, S_GET_STORAGE_CLASS): Declare if
4511         BFD_ASSEMBLER.
4512         (coff_line_base): Declare.
4513         (coff_add_linesym): Declare if BFD_ASSEMBLER.
4514         * config/obj-coffbfd.c (symbol_to_chars): bfd_coff_swap_aux_out
4515         now takes more arguments.
4516
4517 Mon Jan 31 17:55:14 1994  Stan Shebs  ([email protected])
4518
4519         * as.c (statistics_flag): Renamed from quiet_flag.
4520         (main): Get statistics with --statistics instead of -noquiet.
4521
4522 Mon Jan 31 07:19:30 1994  Steve Chamberlain  ([email protected])
4523
4524         * Makefile.in: Support for Gnu ASsembler Preprocessor.
4525         * gasp.c: New file.
4526         * read.c (s_lcomm): Align lcomm data.
4527         * config/tc-z8k.c (tc_reloc_mangle): Don't allow subtraction 
4528         from different sections.
4529
4530 Sun Jan 30 14:58:26 1994  Ken Raeburn  ([email protected])
4531
4532         * write.c (write_object_file): If tc_frob_file is defined, call it
4533         just before calling obj_frob_file.
4534         * config/tc-alpha.c (alpha_gp_value): Renamed from gp_value
4535         (references changed), and made non-static.
4536         (getExpression): Return void.
4537         (select_gp_value): Abort if gp_value is non-zero.  Delete call to
4538         non-existent bfd_set_gp_value.
4539         (alpha_validate_fix): Function deleted.
4540         (alpha_frob_symbol): Function deleted.
4541         (alpha_local_label): Function deleted.
4542         (alpha_frob_file): Renamed from alpha_end.
4543         * config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix,
4544         alpha_local_label, alpha_end): Declarations deleted.
4545         (alpha_gp_value, alpha_frob_file): Declare.
4546         (tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted.
4547         (LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label.
4548         (md_convert_frag): Simplified slightly.
4549         (tc_frob_file): New macro.
4550
4551         * read.c (do_align): New function, most of guts of s_align_*
4552         functions.  Look for md_do_align macro, give it a chance to bypass
4553         all but recording of section alignment.
4554         (s_align_bytes, s_align_ptwo): Call do_align.
4555         (s_lcomm) [TC_ALPHA]: Align object to largest power of two that
4556         divides object size.
4557
4558         * frags.c (frag_align_pattern): New function.
4559         (frag_align): Rewrite for clarity.
4560
4561         * config/tc-vax.c (md_assemble): Handle O_constant expression.
4562         (vip_begin): Returns pointer to const char.  Cast hash_insert arg
4563         to PTR to avoid compiler complaints about const.
4564         (md_begin): Local variable errtxt must point to const.
4565
4566         * configure.in: Handle host vax-*-ultrix* like vax-*-bsd*.  Don't
4567         bother with *-*-ultrix or *-*-sysv*, except *-*-sysv, since only
4568         the last has an existing host support file.  Do handle vax-bsd and
4569         vax-ultrix targets.
4570
4571 Fri Jan 28 11:26:40 1994  Ian Lance Taylor  ([email protected])
4572
4573         * config/obj-coff.c (obj_coff_section_header_append): Do not
4574         declare if BFD_ASSEMBLER.
4575         (stack_pop): Correct test for stack underflow.
4576         (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
4577         obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Declare
4578         type of ignored argument to avoid gcc warning.
4579         (align): Removed unused function.
4580
4581 Thu Jan 27 18:14:19 1994  Ken Raeburn  ([email protected])
4582
4583         * config/tc-alpha.c, config/tc-alpha.h, config/alpha-opcode.h: New
4584         files, based on port of gas-1.38 contributed by CMU, using a.out
4585         variant.  Updated for gas-2.x and ECOFF.  Floating-point constants
4586         are still broken, bootstrap testing incomplete.
4587
4588         * literal.c: Comment changes.
4589
4590         * listing.c (listing_source_file): Check for null listing_tail
4591         before indirecting through it.
4592
4593         * expr.h (struct expressionS): Added struct tag.
4594
4595         * as.h: If __GNUC__ and inline are both undefined, define inline
4596         away.
4597
4598         * write.c (cvt_frag_to_fill): Don't assume that fr_var for
4599         rs_align or rs_org frags will be 1.
4600         (relax_segment): For rs_align, if fr_var is not 1, complain if
4601         required padding is not a multiple of the size of the pad pattern.
4602         (fixup_segment): Leave gp-relative relocations alone.  For pcrel
4603         relocations referring to the same segment, clear fx_pcrel when
4604         clearing fx_addsy.
4605         * as.h: Adjust comments on rs_align.
4606
4607         * atof-generic.c: Some reformatting.
4608         (atof_generic): Be careful when mixing signed/unsigned values of
4609         different sizes.
4610
4611         * write.c, config/obj-{aout,bout,coff*}.c, config/tc-sparc.c:
4612         Query the fx_done field instead of fx_addsy to see if the fixup
4613         still needs to be applied.  Set fx_done and clear fx_addsy both,
4614         for now.  If TC_HANDLES_FX_DONE isn't defined, assume md_apply_fix
4615         will only clear fx_addsy, and set fx_done accordingly after
4616         returning.
4617         * config/tc-sparc.h (TC_HANDLES_FX_DONE): Define.
4618         * config/tc-sparc.c (md_apply_fix): Set fx_done for non-pcrel fix
4619         with no fx_addsy.
4620
4621         * symbols.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
4622         Deleted.
4623         (symbol_begin): Moved to end of file, so function inlining can
4624         work better.
4625         (fb_label_count, fb_label_max): Default C static initializers are
4626         sufficient.
4627         * symbols.h (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
4628         Declarations deleted.
4629         * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
4630         dot_bss_symbol): Defined here, static.
4631
4632         * config/obj-aout.c [BFD_ASSEMBLER]: Undef NO_RELOC before
4633         including aout/aout64.h.
4634
4635         * write.c (write_object_file): If EMIT_SECTION_SYMBOLS is false,
4636         don't write out a section symbol even if it's used in a
4637         relocation; assume relocations will handle section numbers
4638         somehow.  Rename "punt_it" label to "punt_it_if_unused" to reflect
4639         it's true use.
4640         (EMIT_SECTION_SYMBOLS): Default to 1.
4641         (adjust_reloc_syms): Don't create a new symbol for an absolute
4642         reference; just use the absolute section symbol.
4643         (write_relocs): Make printout of reloc values dependent on flag
4644         DEBUG3, not DEBUG2.
4645         * config/obj-aout.h (EMIT_SECTION_SYMBOLS): Define as 0.
4646         * config/obj-ecoff.h (EMIT_SECTION_SYMBOLS): Ditto.
4647
4648 Thu Jan 27 16:43:51 1994  Ian Lance Taylor  ([email protected])
4649
4650         * read.c (lex_type): No longer make '{' a valid character for
4651         symbol names.
4652
4653         * as.c (main): Print long values using %ld.
4654
4655         * messages.c (as_warn_internal): New static function.
4656         (as_warn, 3 versions): Use as_warn_internal.
4657         (as_warn_where, 3 versions): New function.
4658         * as.h (as_warn_where): Declare.
4659
4660 Tue Jan 25 18:30:34 1994  Stan Shebs  ([email protected])
4661
4662         * as.c (quiet_flag): New flag.
4663         (main): If -noquiet given, display execution time and memory used.
4664
4665 Tue Jan 25 15:53:11 1994  Jeffrey A. Law  ([email protected])
4666
4667         * doc/{all.texi,as.texinfo}: Add documentation for HPPA port.
4668
4669 Mon Jan 24 19:18:23 1994  Ian Lance Taylor  ([email protected])
4670
4671         * ecoff.c (ecoff_frob_symbol): New function.  Put undefined
4672         symbols of known size in the undefined section.  Put small common
4673         symbols in a .scommon section.
4674         * ecoff.h (ecoff_frob_symbol): Declare.
4675         * config/obj-ecoff.h (obj_frob_symbol): Define.
4676         * config/obj-elf.c (obj_elf_write_symbol_p, obj_elf_write_symbol,
4677         obj_elf_frob_symbol): Removed unused functions.
4678         * config/obj-elf.h (obj_frob_symbol, obj_write_symbol): Removed
4679         unused macros.
4680         (obj_elf_frob_symbol, obj_elf_write_symbol): Removed declarations
4681         of unused functions.
4682         (obj_frob_symbol): Define if ECOFF_DEBUGGING.
4683
4684         * tc-mips.c (g_switch_seen): New static variable.
4685         (md_parse_option): Set g_switch_seen for -G option.
4686         (s_option): If creating PIC code, force the GP size to be 0.  Warn
4687         if -G switch used with a non-zero value.
4688
4689         * symbols.c (S_IS_COMMON): Use bfd_is_com_section rather than
4690         comparing against bfd_com_section.
4691
4692 Mon Jan 24 14:12:25 1994  Ken Raeburn  ([email protected])
4693
4694         * read.c (s_lcomm): Treat Alpha like MIPS in handling of .sbss
4695         section.
4696
4697 Thu Jan 20 13:17:58 1994  Ken Raeburn  ([email protected])
4698
4699         * expr.c (operand): For floating point operand with unusual fp
4700         char from FLT_CHARS, preserve the character.  Patch from Lisa
4701         Repka.
4702
4703 Wed Jan 19 23:15:24 1994  Ian Lance Taylor  ([email protected])
4704
4705         * config/tc-mips.c (md_pseudo_table): Add all data allocation
4706         pseudo-ops: .hword, .int, .long, .octa, .quad, .short, .single.
4707
4708 Tue Jan 18 15:51:59 1994  Steve Chamberlain  ([email protected])
4709
4710         * config/obj-coffbfd.c (obj_coff_endef): For C_EFCN, C_BLOCK and
4711         C_FCN assume .val has been set to .
4712
4713 Tue Jan 18 16:19:58 1994  Jeffrey A. Law  ([email protected])
4714
4715         * config/tc-hppa.c: Disable multiple $CODE$ subspace code.  It
4716         confuses GDB for some unknown reason.
4717         * cofnig/obj-som.c: Likewise.
4718
4719 Tue Jan 18 19:05:32 1994  Ken Raeburn  ([email protected])
4720
4721         * literal.c (add_to_literal_pool): Handle duplicates of values
4722         already written to literal pool.
4723
4724 Tue Jan 18 17:23:52 1994  Ian Lance Taylor  ([email protected])
4725
4726         * config/obj-aout.c (obj_aout_frob_symbol): Try to get symbols
4727         with explicitly marked stabs through BFD: if a symbol marked
4728         N_UNDF | N_EXT is in the absolute section, move it to the
4729         undefined section; move a symbol marked N_INDR into
4730         bfd_ind_section and set the BSF_INDIRECT flag; set the
4731         BSF_WARNING flag for a symbol makred N_WARNING.
4732
4733 Mon Jan 17 15:40:23 1994  Ian Lance Taylor  ([email protected])
4734
4735         * ecoff.h (ecoff_set_gp_prolog_size): Declare.
4736         * ecoff.c (ecoff_set_gp_prolog_size): Return type is void.
4737
4738 Mon Jan 17 00:18:55 1994  Jeffrey A. Law  ([email protected])
4739
4740         * config/tc-hppa.c (pa_ip): Explicitly check for comma before 'u'
4741         and 'f' template operand.
4742
4743         * config/tc-hppa.c (pa_ip): Handle 'N', 'O', 'o', '0', '1', 'u',
4744         and '2' in copr and sfu instruction templates.
4745
4746 Sun Jan 16 16:44:23 1994  Jeffrey A. Law  ([email protected])
4747
4748         * as.h (subseg_force_new): Add prototype.
4749
4750 Sat Jan 15 09:20:55 1994  Doug Evans  ([email protected])
4751
4752         * app.c (do_scrub_next_char): Allow lines like " foolab :".
4753
4754         * read.c (emit_expr): Fix computation of mask.
4755         * config/obj-elf.c (obj_elf_section): Fix loop termination test.
4756
4757 Thu Jan 13 16:15:15 1994  Ken Raeburn  ([email protected])
4758
4759         * ecoff.c (ecoff_set_gp_prolog_size): New function.
4760         (current_file_idx): New static variable.
4761         (add_file): Use and increment current_file_idx instead of indx
4762         parameter.
4763
4764         * struc-symbol.h (struct symbol): Make all bitfields unsigned.
4765
4766         * config/tc-i960.c (i960_validate_fix): Added argument
4767         add_symbolPP.  Indirect through it to get "add_symbolP".
4768         * config/tc-i960.h (i960_validate_fix): Supply prototype.
4769         (TC_VALIDATE_FIX): Pass address of add_symbolP.
4770
4771         * configure.in (i386-*-netbsd*): New target, using te-netbsd.h.
4772         (i386-*-netbsd0.8): New target, like 386bsd.
4773
4774         * configure.in: Set BFDDEF in Makefile to "define" or "undef".
4775         * Makefile.in (config.h): Protect against multiple inclusions.
4776         Define or undef BFD_ASSEMBLER as specified by $(BFDDEF).
4777         (ALL_CFLAGS): Omit $(BFDDEF).
4778         * as.h: Include config.h.
4779         (struct symbol): Added forward declaration.
4780         (add_to_literal_pool): Fix declaration.
4781         * as.c: Don't include config.h.
4782
4783         * literal.c (add_to_literal_pool): Take symbol and addend as
4784         arguments, instead of expression, for now.  Fix calculation of
4785         offset to return.
4786
4787         * subsegs.h (segment_info_type) [NEED_LITERAL_POOL]: Add field
4788         literal_pool_size.
4789
4790 Thu Jan 13 12:14:21 1994  Jeffrey A. Law  ([email protected]
4791
4792         * subsegs.c (subseg_get): Accept new argument "force_new".  If
4793         set then a new segment is always created.  All callers changed.
4794         (subseg_force_new): New function.  Similar to subseg_new, but
4795         always force a new segment to be created.
4796
4797         * config/obj-som.c (som_frob_file): Call adjust_code_sections
4798         for each section.
4799         (adjust_code_sections): New function.  Adjusts the VMA for all the
4800         $CODE$ subspaces.
4801
4802         * config/tc-hppa.c (md_assemble): Also handle creating a fixup
4803         for the unwind descriptors if a function's label follows the
4804         .PROC and .ENTRY directives.
4805         (pa_entry): Don't set BSF_FUNCTION for the label symbol here; it
4806         is done elsewhere.  Don't create a fixup for the unwind
4807         descriptors if the function's label has not been defined yet.
4808         (pa_proc): For SOM, place each procedure within a new $CODE$
4809         subspace.  Adjust the segment and frag for the associated
4810         function label if it exists.
4811
4812 Wed Jan 12 22:05:33 1994  Jeffrey A. Law  ([email protected])
4813
4814         * config/tc-hppa.c (hppa_fix_struct): Add new "segment" field.
4815         (hppa_fix_new): Initialize segment field.
4816         (md_apply_fix): Do nothing for pc-relative fixup which involves
4817         crossing a segment boundary.
4818         (pa_procend): Undefine the current label after handling .PROC
4819         and .PROCEND directives.
4820         (dummy_symbol): Make type "symbolS *".  Change references as
4821         appropriate.
4822
4823 Wed Jan 12 13:29:31 1994  Ian Lance Taylor  ([email protected])
4824
4825         * read.c (read_a_source_file): Cast array argument to unsigned
4826         char.
4827         * write.c (adjust_reloc_syms): Remove unused variable symseginfo.
4828         (write_object_file): Don't define punt_it if it won't be used.
4829         (fixup_segment): Don't define skip if it won't be used.
4830
4831         * config/tc-mips.h (TARGET_FORMAT): Define as mips_target_format.
4832         (mips_target_format): Declare.
4833         * config/tc-mips.c (mips_target_format): Define with appropriate
4834         default definition.
4835         (md_parse_option): If -EL or -EB is used, change byte_order and
4836         mips_target_format as appropriate.
4837
4838 Tue Jan 11 21:52:36 1994  Jeffrey A. Law  ([email protected])
4839
4840         * app.c (do_scrub_next_char): Another attempt to fix bugs
4841         dealing with labels without colons (for HPPA and MRI).
4842
4843 Tue Jan 11 17:01:06 1994  Doug Evans  ([email protected])
4844
4845         * config/tc-sparc.c (sparc_ip): Truncate args to %hi/%lo to 32 bits.
4846
4847         * expr.c (integer_constant): Fix computation of too_many_digits.
4848         Variable digit_2 renamed to start.  Fix check for whether number
4849         will fit in 32 bits.
4850         * read.c (emit_expr): Use valueT instead of long.
4851
4852 Tue Jan 11 13:01:20 1994  Ian Lance Taylor  ([email protected])
4853
4854         * config/obj-elf.c: If TC_MIPS, include elf/mips.h.
4855         (special_sections): Define.
4856         (obj_elf_special_section): Get default types and attributes from
4857         list of special sections.
4858         * config/tc-mips.c (ELF_TC_SPECIAL_SECTIONS): Define.
4859
4860         * config/obj-ecoff.c (ecoff_frob_file): Force .sdata and .sbss
4861         sections to be close together.
4862
4863         * config/tc-mips.c (macro): Corrected $at warnings in a couple of
4864         spots.
4865
4866         * listing.c (listing_prev_line): New function.
4867         * listing.c: Include subsegs.h.
4868         (listing_prev_line): New function.
4869         (calc_hex): Reset byte_in_frag to zero for each new frag.
4870         * config/tc-mips.c (append_insn): Call listing_prev_line after
4871         emitting nop instructions.
4872         * Makefile.in (listing.o): Depends upon subsegs.h.
4873
4874 Mon Jan 10 09:52:23 1994  Jeffrey A. Law  ([email protected])
4875
4876         * config/tc-hppa.c (pa_ip): Put check for missing label on .PROC
4877         here.  Handle case where label may be defined after the .PROC.
4878         (pa_proc): It is not an error if the procedure's label isn't
4879         defined before the .PROC directive.
4880
4881 Sun Jan  9 04:43:30 1994  Ken Raeburn  ([email protected])
4882
4883         * config/te-netbsd.h: New file.
4884         * config/tc-i386.h (TARGET_FORMAT) [TE_NetBSD]: Use bfd target
4885         a.out-netbsd-386 for this configuration.
4886
4887 Fri Jan  7 17:38:28 1994  Ian Lance Taylor  ([email protected])
4888
4889         * ecoff.c (ecoff_stab): Don't clobber the ECOFF symbol information
4890         with the associated stabs information.
4891         (ecoff_build_symbols): Never set the type of stabs symbols to
4892         st_Global.  Don't update the symbol index or ifd if the gas symbol
4893         is not the same as the ECOFF symbol (which is now the case for
4894         stabs symbols).
4895
4896 Fri Jan  7 11:14:07 1994  Stan Shebs  ([email protected])
4897
4898         * config/tc-mips.c (macro): Add a LOSING_COMPILER ifdef that
4899         splits the function.
4900         (macro2): New function, if LOSING_COMPILER defined.
4901
4902 Fri Jan  7 09:38:25 1994  Steve Chamberlain  ([email protected])
4903
4904         * config/obj-coffbfd.c (fill_section):  Don't ever fill past the
4905         end of a section. (write_object_file): Temporary fix - setup
4906         stdoutput.
4907
4908 Thu Jan  6 18:05:21 1994  Ken Raeburn  ([email protected])
4909
4910         * config/tc-sparc.c (tc_gen_reloc): Fix handling of addends in
4911         non-pcrel_offset relocations.
4912
4913 Thu Jan  6 01:06:40 1994  Ian Lance Taylor  ([email protected])
4914
4915         * config/tc-mips.c (mips_ip): Warn about using $1 as well as $at
4916         without .set noat.
4917
4918 Wed Jan  5 14:22:22 1994  Ken Raeburn  ([email protected])
4919
4920         * literal.c: New file.
4921         * Makefile.in (REAL_SOURCES, OBJS): List it.
4922
4923         * as.h (DEBUG): Don't define.
4924         (struct expressionS, struct fix): Declare in case they're used in
4925         prototypes.
4926         (add_to_literal_pool) [BFD_ASSEMBLER]: Declare.
4927
4928         * config/tc-mips.h (TARGET_FORMAT) [OBJ_AOUT]: Fix for new names
4929         in bfd.
4930
4931         * subsegs.c (subseg_get): New function.  Creates segment if
4932         needed, returns pointer, but doesn't change current segment.
4933         (subseg_new): Use it.
4934
4935 Tue Jan  4 15:12:43 1994  Stan Shebs  ([email protected])
4936
4937         * Makefile.in (INCLUDES): Add $(srcdir)/.. to places to search.
4938         * config/obj-ecoff.c: Include files as "bfd/" instead of "../bfd/".
4939         * app.c, flonum.h, hex-value.c (const): Change #if to be more
4940         portable.
4941
4942 Tue Jan  4 22:11:34 1994  Rob Savoye  ([email protected])
4943
4944         * config/ho-vsta.h, configure.in, .Sanitize: Add support for VSTa
4945         micro-kernel.
4946
4947 Thu Dec 30 15:27:16 1993  Ian Lance Taylor  ([email protected])
4948
4949         * write.c (write_relocs): bfd_perform_relocation now takes an
4950         additional argument, to return an error string (which we ignore).
4951
4952 Wed Dec 29 14:37:26 1993  Ken Raeburn  ([email protected])
4953
4954         * write.h (struct fix): Field tc_fix_data should be type PTR, not
4955         void*, for compatibility with non-ANSI compilers.  Added
4956         single-bit field "fx_done".
4957
4958 Sun Dec 26 14:31:47 1993  Torbjorn Granlund  ([email protected])
4959
4960         * tc-hppa.c (pre_defined_registers): Convert to lower case.
4961         Delete spurious register names "%r4L", etc.
4962         (selector_table): Sort and convert to lower case.
4963         (cons_fix_new_hppa): `reloc_type' => `rel_type'.
4964         (pa_ip): Always use strcmp for non-text and strcasecmp for text.
4965         (reg_name_search): Rewrite to call strcasecmp only once per
4966         iteration.
4967         (pa_chk_field_selector): Rewrite to use binary search.
4968         (pa_parse_neg_add_cmpltr): Use strcasecmp for completer comparisons.
4969         (pa_parse_space_stmt): $TEXT$ and $PRIVATE$ are symbols; use case
4970         sensitive comparisons.
4971         (pa_parse_space_stmt): Canonicalize strncasecmp arg to lower case.
4972         (pa_space): "$text$" => "$TEXT$"; "$private$" => "$PRIVATE$".  Use
4973         case sensitive comparison for all symbolic names.
4974         (pa_subspace): Canonicalize strncasecmp arg to lower case.
4975         (pa_subspace_start): Use case sensitive comparison for symbolic names.
4976
4977 Mon Dec 20 10:37:48 1993  Ken Raeburn  ([email protected])
4978
4979         * write.c (adjust_reloc_syms) [RELOC_REQUIRES_SYMBOL]: If no
4980         symbol is present (i.e., relocation against absolute), create a
4981         phony local symbol, and use it in the reloc.
4982         (fixup_segment): When adjusting a reloc with an absolute symbol,
4983         have TC_FORCE_RELOCATION control clearing add_symbolP too.
4984         * config/tc-sparc.h (RELOC_REQUIRES_SYMBOL): Define, for OBJ_COFF.
4985
4986         * symbols.c (S_IS_EXTERNAL, S_IS_LOCAL): Don't use both BSF_EXPORT
4987         and BSF_GLOBAL, since they're the same.
4988
4989         * as.c (main): Only invoke md_end if it's defined as a macro.
4990         * tc.h (md_end): Don't declare it.
4991         * config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do
4992         anything.
4993         * config/tc-vax.c (vip_end): Deleted null function.
4994         * config/tc-mips.c (md_mips_end): Renamed from md_end.
4995         * config/tc-mips.h (md_mips_end): Declare.
4996         (md_end): New macro, calls md_mips_end.
4997
4998         * write.c (write_object_file): Don't close output file.
4999         * as.c (main): Close output file (if needed) after calling
5000         listing_print, which should be after calling write_object_file,
5001         which sets the frag addresses.
5002
5003         * config/obj-coff.c (obj_coff_dim, obj_coff_endef, obj_coff_line,
5004         obj_coff_scl, obj_coff_size, obj_coff_tag, obj_coff_type,
5005         obj_coff_val): Add unused int argument to satisfy prototypes; goes
5006         with Ian's 10 Sep changes.
5007         (S_GET_DATA_TYPE, S_SET_DATA_TYPE, S_GET_STORAGE_CLASS,
5008         S_SET_STORAGE_CLASS): Now function instead of macros.
5009         (obj_emit_lineno) [BFD_ASSEMBLER]: Deleted.
5010         (tag_insert): Local var ERROR_STRING is const.  Use "const" not
5011         "CONST" for argument NAME.  Fixed prototype.
5012         (coff_frob_symbol): Removed explicit "#if 1" directive.  If
5013         S_IS_EXTERNAL, set storage class to C_EXT.
5014         (s_get_name): Use "const" not "CONST".
5015         * config/obj-coff.h (S_GET_DATA_TYPE, S_SET_DATA_TYPE,
5016         S_GET_STORAGE_CLASS, S_SET_STORAGE_CLASS): Deleted.
5017         (obj_emit_lineno): Declare only for non-BFD_ASSEMBLER.  For
5018         BFD_ASSEMBLER, define as macro that aborts.
5019         (obj_extra_stuff, tc_headers_hook): Declare only for
5020         non-BFD_ASSEMBLER.
5021         (coff_frob_symbol): Fix prototype.
5022
5023 Sun Dec 19 00:37:20 1993  Ken Raeburn  ([email protected])
5024
5025         * config/tc-sparc.c (tc_gen_reloc): Test of pcrel_offset had sense
5026         reversed.
5027
5028 Thu Dec 16 21:13:11 1993  Jeffrey A. Law  ([email protected])
5029
5030         * config/tc-hppa.c (md_begin): Initialize "dummy_label".
5031         (tc_gen_reloc, SOM version): For relocations which have no symbol,
5032         set sym_ptr_ptr to dummy_label.  Avoids lossage in generic BFD code.
5033
5034 Thu Dec 16 16:07:56 1993  Ken Raeburn  ([email protected])
5035
5036         * read.c (lex_type): No longer make '[' a valid character for
5037         symbol names.
5038
5039         * config/tc-vax.c (tc_aout_fix_to_chars): Local variable
5040         NBYTES_R_LENGTH now const.
5041
5042         * config/obj-*.c, config/tc-*.c: Omit superfluous "return"
5043         statements at ends of functions.  Don't check for null return from
5044         hash_new, since it won't return at all if there's no memory
5045         available.  Also, check for null return from hash_insert, rather
5046         than zero-length string, as success indicator.
5047
5048         * subsegs.c (section_symbol): New function.
5049         * subsegs.h (section_symbol): Declare.
5050         * write.c (adjust_reloc_syms): Use it.
5051
5052 Wed Dec 15 15:39:53 1993  Ken Raeburn  ([email protected])
5053
5054         * Makefile.in (RUNTEST): New variable.
5055         (CHECKFLAGS): Pass it down.
5056
5057         * ecoff.c (ecoff_directive_frame): Permit extra trailing operands;
5058         unused for now, but supplied by Alpha OSF1 compiler.
5059
5060         * as.h: Protect against multiple inclusions.
5061         (int_to_gen): Don't declare.
5062
5063         * config/atof-vax.c (atof_vax): NULL is not a valid character
5064         constant.
5065
5066 Tue Dec 14 21:38:25 1993  Jeffrey A. Law  ([email protected])
5067
5068         * configure.in (hppa*-*-osf*): Do not consider this a developmental
5069         configuration.
5070
5071         * config/tc-hppa.c (md_apply_fix): Handle cases where no
5072         relocation will be emitted for 32bit formats.
5073
5074 Mon Dec 13 23:33:40 1993  Jeffrey A. Law  ([email protected])
5075
5076         * config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust
5077         for any of the 'T' field selectors.
5078
5079 Sat Dec 11 11:23:12 1993  Steve Chamberlain  ([email protected])
5080
5081         * config/tc-h8500.c (build_bytes): Get reloc type right for a
5082         %page operation. (md_assemble): Don't modify input_line_pointer.
5083         (mdcoff_sizemachdep): New function.
5084         * config/tc-h8500.h (TC_COFF_SIZEMACHDEP): New macro.
5085         * config/tc-z8k.c (get_operand): Delete bogus check.
5086
5087 Wed Dec  8 16:31:51 1993  Ken Raeburn  ([email protected])
5088
5089         * write.c (number_to_chars_*): Delete bogus range check.
5090
5091         * output-file.c (TARGET_ARCH): No default.
5092
5093 Tue Dec  7 16:02:53 1993  Steve Chamberlain  ([email protected])
5094
5095         * config/tc-sh.c (md_convert_frag): Truncate disps before calling
5096         md_number_to_chars.  (md_assemble): Don't modify
5097         input_line_pointer.
5098
5099 Mon Dec  6 11:49:03 1993  Doug Evans  ([email protected])
5100
5101         * config/tc-h8300.c (md_assemble): Don't update input_line_pointer.
5102
5103 Mon Dec  6 11:20:02 1993  Jeffrey A. Law  ([email protected])
5104
5105         * config/obj-som.[ch] (obj_read_begin_hook): Remove last change.
5106         Breaks with the HP compilers.
5107
5108         * config/tc-hppa.c (struct call_info): Remove fields which were
5109         set but never used.  Remove all code which sets those fields.
5110         (struct subspace_dictionary_chain): Likewise.
5111         (struct space_dictionary_chain): Likewise.
5112         (pa_desc): Delete useless function.  Delete all references.
5113         (hppa_tc_make_sections): No need to count the number of symbols for
5114         the symbol extension section. 
5115
5116 Sun Dec  5 17:05:29 1993  Jeffrey A. Law  ([email protected])
5117
5118         * config/obj-som.c (obj_som_version): Pass version string to
5119         SOM BFD backend.
5120         (obj_som_copyright): New function.  Much like obj_som_version.
5121
5122         * config/tc-hppa.c (obj_copyright): Define as appropriate for
5123         SOM and ELF.  
5124         (pa_copyright): Just a stub now.
5125
5126         * config/obj-som.c (obj_read_begin_hook): Delete unused function.
5127         * config/obj-som.h (obj_read_begin_hook): Provide dummy definition.
5128         (TARGET_SYMBOL_FIELDS): Delete.  SOM isn't making use of them.
5129
5130         * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation
5131         expansion due to rounding mode selectors.  Handle R_[RDSN]_MODE
5132         relocations for selecting the current rounding mode.
5133
5134         * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
5135         e_rlsel field selectors.
5136
5137 Fri Dec  3 18:33:24 1993  Ian Lance Taylor  ([email protected])
5138
5139         * config/obj-elf.h: If ECOFF_DEBUGGING, undef
5140         SEPARATE_STAB_SECTIONS and INIT_STAB_SECTION, and define
5141         OBJ_PROCESS_STAB to call ecoff_stab.
5142         * config/obj-elf.c: Don't compile obj_elf_init_stab_section if
5143         INIT_STAB_SECTION is not defined.
5144
5145 Fri Dec  3 10:56:40 1993  Jeffrey A. Law  ([email protected])
5146
5147         * config/tc-hppa.c (md_apply_fix): Delete old wrapper function.
5148         (md_apply_fix_1): Rename to md_apply_fix.  Fix argument decls.
5149         Fix comments in various places.  Always return a value.
5150         Avoid dereferencing a NULL fx_addsy.
5151         (hppa_force_relocation): Avoid dereferencing a NULL fx_addsy.
5152
5153         Fri Dec  3 09:47:30 1993  Pete Hoogenboom  ([email protected])
5154
5155         * tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should
5156         be either 0 or 2 (no static link or static link required).  Always
5157         assume no static link.
5158
5159 Thu Dec  2 11:52:21 1993  Ken Raeburn  ([email protected])
5160
5161         * config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be
5162         dependent on howto fields, not on format flavour.
5163
5164         * struc-symbol.h (struct symbol): New fields sy_obj and sy_tc,
5165         defined as types OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those
5166         macros are defined.
5167         * config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define.
5168         (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define.
5169         (sy_tc, sy_obj): Define so that the fields look like they used to,
5170         until all references get changed.
5171
5172         * write.c (fixup_segment): Lots of variables no longer register.
5173         Reordered some code for easier reading.
5174         * config/obj-coff.c (obj_coff_dim): dim_index no longer register.
5175         Deleted superfluous return statement.
5176         (obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type,
5177         obj_coff_val, tag_init, tag_insert): Deleted superfluous return
5178         statement.
5179         (align, obj_coff_section): Deleted debugging printfs.
5180         * config/tc-i386.c (md_assemble): Discard some register decls.
5181         Use assignment rather than memcpy to copy template.
5182         (op_hash, reg_hash, prefix_hash): Default C initialization of
5183         statics is sufficient.
5184         * config/tc-sparc.c (print_insn): Array Reloc is now const, and
5185         points to const.
5186
5187         * config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if
5188         TE_LYNX; use coff-sparc otherwise.
5189         [USE_NATIVE_HEADERS]: Delete this code; it isn't used.
5190
5191         * write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined,
5192         before processing a fixup.  Call TC_ADJUST_RELOC_COUNT just before
5193         returning.  Remove some i960-coff-specific code.
5194         (TC_ADJUST_RELOC_COUNT): Default to doing nothing.
5195         * config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define.
5196         (i960_validate_fix): Declare.
5197         (TC_VALIDATE_FIX): Define.
5198         * config/tc-i960.c (i960_validate_fix): New function.
5199
5200         * write.c (number_to_chars_littleendian): New function.  Write out
5201         bytes in little endian order, doing size and range checking.
5202         (number_to_chars_bigendian): New function, similar.
5203         * write.h: Declare them.
5204         * config/tc-*.c (md_number_to_chars): Use them.
5205         * config/tc-vax.c (md_apply_fix): Ditto.
5206         * config/tc-i386.c (md_apply_fix): Ditto.
5207
5208         * config/obj-coff.c: Rearranged code for handling line number
5209         data.
5210         (line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case,
5211         since the usage is different from non-BFD_ASSEMBLER case.
5212         (in_function, clear_function, set_function): New macros, to
5213         combine some of the functionality implemented in differnet ways in
5214         BFD_ASSEMBLER and non-... code.  Used in other functions that used
5215         to check function_lineoff &c.
5216         (obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER,
5217         one for not.  Non-BFD_ASSEMBLER version now has temporary variable
5218         to contain char* pointer pointed to by char** argument.  Always
5219         follow CROSS_COMPILE code; easier to read that way.
5220         (obj_coff_ln): Don't call add_lineno or c_line_new if appline is
5221         set.
5222         (obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for
5223         ".bf", it's been done elsewhere.
5224         (coff_frob_symbol): If ilne number data is pending, call
5225         add_linesym to flush it.
5226         (coff_frob_file): Don't do that here.
5227         * config/obj-coff.h (coff_frob_file): Declare.
5228         (obj_frob_file): Define, to call it.
5229
5230         * config/tc-sparc.h (md_create_short_jump, md_create_long_jump,
5231         md_estimate_size_before_relax: Define them as macros calling
5232         as_fatal.
5233         * config/tc-sparc.c: Don't define them as functions.
5234
5235         * configure.in: Handle target alpha-*-osf*.  (No cpu files yet.)
5236
5237 Wed Dec  1 23:37:14 1993  Jeffrey A. Law  ([email protected])
5238
5239         * Makefile (clean): Depend on clean-here.
5240
5241 Wed Dec  1 11:35:21 1993  Ken Raeburn  ([email protected])
5242
5243         * config/ho-go32.h: Include fopen-bin.h.
5244         * as.h: If FOPEN_WB isn't defined, include fopen-same.h.
5245         * output-file.c (output_file_create): Use FOPEN_WB instead of "w".
5246         * input-file.c (input_file_open): Use FOPEN_RT instead of "r".
5247         * listing.c (file_info): Use FOPEN_RB instead of "rb".
5248         * read.c (s_include): Use FOPEN_RT instead of "r".
5249
5250         * stabs.c: Include obstack.h.
5251
5252         * tc.h (md_create_long_jump): Don't declare if it's already
5253         defined as a macro.
5254         (md_create_short_jump, md_estimate_size_before_relax): Ditto.
5255
5256         * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_errmsg instead
5257         of strerror.  Clear bfd_error.
5258
5259         * config/te-lynx.h (LOCAL_LABELS_FB): Define, if not already
5260         defined.
5261
5262 Wed Dec  1 10:41:56 1993  Jeffrey A. Law  ([email protected])
5263
5264         * config/tc-hppa.c (hppa_elf_mark_end_of_function): New function.
5265         (pa_process_exit, pa_procend): Call it for ELF objects.
5266
5267 Wed Dec  1 12:10:41 1993  Ian Lance Taylor  ([email protected])
5268
5269         * config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d
5270         case.  See comment.  From [email protected]: for M_L_DAB, set
5271         coproc before doing goto ld.
5272
5273 Tue Nov 30 13:40:30 1993  Jeffrey A. Law  ([email protected])
5274
5275         * write.c (TC_FORCE_RELOCATION): Provide a default definition.
5276         (fixup_segment): Allow the target machine to specify that a 
5277         relocation must be generated for a particular fixup.  Remove
5278         #ifndef TC_HPPA hack.
5279
5280         * config/tc-hppa.h (TC_FORCE_RELOCATION): Define.
5281
5282         * config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to
5283         be NULL.  Only fixup_segment is supposed to do that.
5284         (hppa_force_relocation): New function.
5285
5286 Tue Nov 30 11:21:41 1993  Ian Lance Taylor  ([email protected])
5287
5288         * Makefile.in (stabs.o): Added dependencies.
5289
5290         * config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab.
5291
5292 Sun Nov 28 12:11:40 1993  Jeffrey A. Law  ([email protected])
5293
5294         * app.c (do_scrub_next_char): Output a TAB before any
5295         .app* directive.
5296
5297         * config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol
5298         exists before trying to peek at its name.
5299         (pa_space): Do not call pa_align_subseg.  See hppa/unsorted/align3.s
5300         for testcase.
5301         (pa_align_subseg): Delete unused/unwanted function.
5302
5303 Sat Nov 27 22:49:07 1993  Jeffrey A. Law  ([email protected])
5304
5305         * read.c (read_a_source_file): Fix test for when to stick a colon
5306         on the end of a label.  Make code conditional on either MRI or
5307         LABELS_WITHOUT_COLONS.
5308
5309         * app.c (do_scrub_next_char): If a line begins with whitespace, leave
5310         the single whitespace character alone.  Eat all others.
5311
5312         * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define.
5313
5314 Wed Nov 24 01:22:54 1993  Jeffrey A. Law  ([email protected])
5315
5316         * config/tc-hppa.c (pa_procend): Do not call process_exit.
5317         (exit_processing_complete): Delete unwanted variable and all
5318         references.
5319
5320 Wed Nov 24 02:31:38 1993  Ian Lance Taylor  ([email protected])
5321
5322         * ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext.
5323         Changed to not actually build the external symbol information, as
5324         that is now done by the ECOFF back end.
5325         (ecoff_build_debug): Changed accordingly.
5326         * ecoff.h (obj_ecoff_set_ext): Declare.   obj-format.c function
5327         called by ecoff_setup_ext.
5328         * config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0,
5329         set corresponding pointer to NULL.  Don't set raw_size and
5330         raw_syments.
5331         (obj_ecoff_set_sym_index): Removed.
5332         (obj_ecoff_set_ext): New function.
5333         * config/obj-ecoff.h (obj_set_sym_index): Don't define.
5334         (obj_ecoff_set_sym_index): Don't declare.
5335         * config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr,
5336         elf_set_index): New functions used for ECOFF_DEBUGGING.
5337         (elf_frob_file): Reworked ECOFF debug generation to use
5338         new functions in bfd/ecofflink.c.
5339
5340 Sun Nov 21 23:54:52 1993  Jeffrey A. Law  ([email protected])
5341
5342         * config/tc-hppa.c (pa_def_subspaces): Only create the unwind
5343         subspace for ELF.  In the SOM world, the linker is responsible
5344         for creating the unwind subspaces.
5345
5346 Fri Nov 19 16:25:09 1993  Ian Lance Taylor  ([email protected])
5347
5348         * config/obj-coffbfd.c: Use PARAMS rather than EXFUN.
5349         (yank_symbols): Don't call S_SET_EXTERNAL if the storage class is
5350         already set.  Fixes .def var; .val external_var; .scl 3; .endef.
5351         (adjust_stab_section): Make static.  Declare return type.  Remove
5352         unused variables.
5353
5354         * config/tc-i386.h: Declare tc_coff_fix2rtype and
5355         tc_coff_sizemachdep.
5356
5357 Fri Nov 19 04:33:59 1993  Ken Raeburn  ([email protected])
5358
5359         * write.c (write_object_file): Disable obj_check_file_symbols
5360         hook; only back end using it wasn't using it correctly.
5361         (write_object_file): Always call obj_frob_symbol and
5362         tc_frob_symbol; always retain symbol if it's used by a relocation,
5363         regardless of what these routines indicate.
5364         * config/obj-coff.c (coff_frob_symbol): Renamed from
5365         coff_check_file_symbols.
5366         * config/obj-coff.h (obj_check_file_symbols): Deleted.
5367         (coff_frob_symbol): Declare.
5368         (obj_frob_symbol): Call it.
5369
5370         * config/obj-coff.c (obj_crawl_symbol_chain, obj_emit_strings,
5371         obj_pre_write_hook): Don't define for BFD_ASSEMBLER.
5372         (c_section_header): Ditto.  Delete superfluous return at end of
5373         function.
5374
5375         * config/obj-coff.h [TC_SPARC]: Include coff/sparc.h, and specify
5376         coff-sparc-lynx.
5377         (SA_GET_SYM_TAGNDX): Use BFD_HEADERS version for BFD_ASSEMBLER
5378         too.
5379         (c_section_header): Rewrite prototype so that it contains no
5380         preprocessing directives.  Don't declare it at all if
5381         BFD_ASSEMBLER.
5382
5383         * configure.in (sparc*-*-lynxos): New target, using coff and
5384         BFD_ASSEMBLER.
5385
5386         * stabs.c: New file.
5387         * Makefile.in (REAL_SOURCES, OBJS): List it.
5388         * read.c (STAB_SECTION_NAME, STAB_STRING_SECTION_NAME,
5389         get_stab_string_offset, s_stab_generic, s_stab, s_xstab, s_desc):
5390         Moved to new file.
5391
5392         * config/tc-sparc.c (tc_gen_reloc): Handle coff files like elf
5393         files.
5394
5395 Wed Nov 17 17:23:53 1993  Ian Lance Taylor  ([email protected])
5396
5397         * configure.in (mips-*-irix5*): New target.  Use elf and mips-big.
5398         * config/obj-elf.c: If ECOFF_DEBUGGING, include ecoff.h.
5399         (obj_pseudo_table): If ECOFF_DEBUGGING, define ECOFF
5400         pseudo-ops.
5401         (obj_read_begin_hook): If ECOFF_DEBUGGING, call
5402         ecoff_read_begin_hook.
5403         (obj_symbol_new_hook): If ECOFF_DEBUGGING, call
5404         ecoff_symbol_new_hook.
5405         (obj_elf_init_stab_section): Cast alloca result.
5406         (elf_frob_file): If ECOFF_DEBUGGING, finish up ECOFF debugging
5407         information and write it out into .mdebug section.
5408         * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): New macro.
5409         (TARGET_SYMBOL_FIELDS): Use ELF_TARGET_SYMBOL_FIELDS.
5410         (ECOFF_DEBUGGING): Define if TC_MIPS.
5411         (TARGET_SYMBOL_FIELDS): If ECOFF_DEBUGGING, override to add
5412         fields required by ECOFF.
5413         * config/tc-mips.c: Check ECOFF_DEBUGGING rather than
5414         OBJ_ECOFF in many cases.
5415         (mips_any_noreorder): New variable.
5416         (mips_cprestore_offset): Initialize to -1.
5417         (mips_frame_reg): New variable.
5418         (RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1,
5419         RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros.
5420         (md_pseudo_table): Handle "gpword" and "cpadd".
5421         (md_begin): Initialize ok to false.  If OBJ_ELF, set alignment
5422         of text, data and bss sections to 4.  Set alignment of
5423         .reginfo section to 2.  If ECOFF_DEBUGGING, create .mdebug
5424         section.
5425         (ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment
5426         check.
5427         (append_insn, macro_build, macro_build_lui): Take place
5428         argument.  Changed all callers.
5429         (append_insn): If appending a nop, don't emit one.
5430         (macro_build): Changed assertion for 'i', 'j', 'o' case.
5431         (gp_reference): Removed.
5432         (load_address): New function.
5433         (macro): If mips_noreorder is used, set mips_any_noreorder.
5434         Extensive changes to handle GP and PIC symbols differently.
5435         Build both possible code choices using a variant frag, and
5436         make a final decision at the end of assembly when all
5437         information is known.  Added PIC support for all symbol
5438         references.
5439         (mips_ip): Don't permit anything but a number after $ for a
5440         coprocessor register.  Don't use .lit4 or .lit8 sections when
5441         generating PIC code.  If OBJ_ELF, set alignment of .lit4 or
5442         .lit8 section to 4.
5443         (md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs.
5444         (s_change_sec): Set alignment of ELF .rodata or .sdata section
5445         to 4.
5446         (s_mipsset): If .set noreorder, set mips_any_noreorder.
5447         (s_cpload): Ignore .cpload if not generating PIC code.  Warn
5448         if .cpload is not in noreorder section.
5449         (s_cprestore): Ignore .cprestore if not generating PIC code.
5450         (s_gpword, s_cpadd): New functions.
5451         (tc_get_register): Added frame argument; if true, set
5452         mips_frame_reg to return value.  Changed all callers.
5453         (md_estimate_size_before_relax): Don't error out, but instead
5454         determine how much a frag should grow.
5455         (tc_gen_reloc): Return multiple relocs if appropriate, as
5456         determined by md_estimate_size_before_relax.
5457         (md_convert_frag): New function.
5458         (mips_elf_final_processing): Set ELF header flags based on
5459         mips_any_noreorder and mips_pic.
5460         * config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define.
5461         (MAX_RELOC_EXPANSION): Define to be 3.
5462         (md_relax_frag): Define to be 0.
5463         (md_convert_frag): Don't define.
5464         (tc_get_register): Changed declaration.
5465
5466         * ecoff.h, ecoff.c: New files pulled out of config/obj-ecoff.c to
5467         support generating ECOFF debugging information for MIPS ELF
5468         targets.  Compiled only if ECOFF_DEBUGGING is defined.  Changed
5469         handling of external symbols: it now always generates exactly
5470         those external symbols that are defined in the global symbol list.
5471         * Makefile.in (REAL_SOURCES): Added ecoff.c.
5472         (REAL_HEADERS): Added ecoff.h.
5473         (OBJS): Added ecoff.o.
5474         (ecoff.o): New target.
5475         * config/obj-ecoff.c: Almost entirely moved into ecoff.c.
5476         Remaining code mostly just calls ecoff.c code.
5477         * config/obj-ecoff.h: Define ECOFF_DEBUGGING.
5478         (TARGET_SYMBOL_FIELDS): Make ecoff_symbol a pointer to a
5479         struct localsym.
5480         (obj_read_begin_hook, obj_symbol_new_hook): Define to call
5481         functions in ecoff.c.
5482         (ecoff_stab): Don't declare (now declared in ecoff.h).
5483         (obj_set_sym_index): Define.
5484         (obj_ecoff_set_sym_index): Declare.
5485
5486         * frags.h (frag_grow): Declare.
5487         * frags.c (frag_grow): Made non-static.
5488
5489         * write.c (is_dnrange): Do not define if md_relax_frag is defined.
5490         (relax_segment): If md_relax_frag is defined, use it to handle a
5491         frag of type rs_machine_dependent rather than looking through
5492         md_relax_table.
5493
5494         * read.c (read_a_source_file): If we find a bad pseudo-op,
5495         do a continue to go on to the next line rather than a break.
5496         Removed duplicate bad pseudo-op code which was never executed.
5497
5498         * read.c (s_lcomm): Do not require a comma after the name.
5499
5500         * subsegs.h (segment_info_type): Changed hadone field to bitfield.
5501         Added bss bitfield.
5502         * as.c (perform_an_assembly_pass): Set bss flag for bss_section.
5503         * read.c (s_lcomm): Set bss flag for .sbss section if used.
5504         * write.c (relax_and_size_seg): Don't set SEC_HAS_CONTENTS for a
5505         bss section.  Set SEC_RELOC if there are any relocations, even for
5506         a zero size section.
5507
5508         * write.c (write_relocs): In RELOC_EXPANSION_POSSIBLE case, base
5509         data offset on reloc[0]->address rather than reloc[j]->address, so
5510         that multiple relocs can affect different memory locations.
5511
5512         * write.c (chain_frchains_together, relax_and_size_seg,
5513         adjust_reloc_syms, write_relocs): Make third argument PTR, not
5514         char *, to match definition of bfd_map_over_sections.
5515
5516         * app.c (do_scrub_next_char): Don't interpret a comment character
5517         as starting a CPP line directive unless it is a '#' and is the
5518         very first characters on the line (i.e., do not permit leading
5519         whitespace).
5520
5521         * messages.c (identify): Make file argument non-const, to match
5522         callers.
5523
5524 Tue Nov 16 20:38:21 1993  Jeffrey A. Law  ([email protected])
5525
5526         * config/tc-hppa.c (pa_ip): Fix thinko in 21bit range check.
5527
5528 Sat Nov 13 18:22:48 1993  Steve Chamberlain  ([email protected])
5529
5530         * config/tc-sh.c (md_apply_fix): Cope with IMM16 type too.
5531         * config/tc-z8k.c (build_bytes, md_apply_fix): Understand nDISP7
5532         relocs.
5533
5534 Fri Nov 12 16:51:47 1993  Jeffrey A. Law  ([email protected])
5535
5536         * config/tc-hppa.[ch]: Fix assorted trivial indention problems.
5537         * config/obj-som.c (obj_som_version): Add missing ';'.
5538         (som_frob_file): Delete whitespace at EOL.
5539
5540 Fri Nov 12 15:26:21 1993  Ken Raeburn  ([email protected])
5541
5542         * Makefile.in (VERSION): Updated following 2.2 release.
5543
5544 Fri Nov 12 14:52:17 1993  Jeffrey A. Law  ([email protected])
5545
5546         * config/tc-hppa.c (hppa_fix_struct): Use a real type for the
5547         field selector, rather than an int.  All uses of field selectors
5548         fixed.
5549         (tc_gen_reloc): For SOM PLABELs, always set addend to zero for now.
5550         (md_apply_fix_1): Do not call hppa_field_adjust for any PLABEL
5551         field.
5552
5553         Thu Nov 11 15:49:08 1993  Jeffrey A. Law  ([email protected])
5554
5555         * config/tc-hppa.c (pa_type_args): For .import statements,
5556         silently ignore attempt to change the symbol type for a function
5557         from ST_ENTRY to ST_CODE on .import.
5558
5559 Wed Nov 10 16:19:13 1993  Ian Lance Taylor  ([email protected])
5560
5561         * write.h (fixS): Rename fx_callj field to fx_tcbit.
5562         * write.c, config/obj-coff.c, config/obj-coffbfd.c,
5563         config/tc-i960.c: Corresponding changes.
5564
5565 Tue Nov  9 00:49:01 1993  Jeffrey A. Law  ([email protected])
5566
5567         * Makefile.in (distclean): Delete config-stamp and config.h
5568
5569         * config/tc-hppa.c (evaluate_absolute): Avoid relying on
5570         ANSI-C features.
5571
5572         * config/tc-hppa.c (pa_type_args): Renamed from pa_export_args.
5573         Accept new argument "is_export".  All callers changed.  When
5574         processing a .export directive for a function, do not allow
5575         the user to set the type to "CODE", instead warn and set the
5576         type to "ENTRY".
5577
5578 Mon Nov  8 12:05:07 1993  Ian Lance Taylor  ([email protected])
5579
5580         * config/tc-mips.c (mips_ip, printInsn): Handle 'k' (from Ted
5581         Lemon <[email protected]>).
5582         (mips_ip): Permit odd numbered floating point registers if -mips3.
5583         (macro): Use BFD_RELOC_MIPS_LITERAL relocation for M_LI_SS.
5584
5585 Mon Nov  8 07:45:01 1993  Doug Evans  ([email protected])
5586
5587         * configure.in: Remove h8300h, we have multilib now.
5588
5589 Mon Nov  8 06:09:18 1993  D. V. Henkel-Wallace  ([email protected])
5590
5591         * configure.in: Support generic netware as being ELF format.
5592                         Recognise unixware if the user supplies it.
5593
5594 Sun Nov  7 01:02:08 1993  Jeffrey A. Law  ([email protected])
5595
5596         * First cut at cleaning up PA instruction parsing.
5597         * config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to
5598         insn structure as an argument, and a pointer to a string.  All
5599         callers changed.  Always read any field selector here.  Call
5600         evaluate absolute to get a return value.
5601         (evaluate_absolute): Addept pointer to insn structure as its
5602         argument.  All callers changed.
5603         (INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield
5604         into an instruction and continuing the main pa_ip loop.
5605         (CHECK_FIELD): New macro for simple range checking of fields.
5606         (pa_ip): Delete unused variables.  Use INSERT_FIELD_AND_CONTINUE
5607         and CHECK_FIELD.  All immediate fields now pass through
5608         pa_get_absolute_expression which will also handle field selectors.
5609         Delete dead code.  Simplify.
5610         (md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are
5611         applied are in range.  Use bfd_put_32 rather than inserting each
5612         byte of the fixed instrution into the buffer ourselves.
5613
5614         * write.c (fixup_segment): Delete {SEG,GLOBAL}_DIFF_ALLOWED code,
5615         it was PA specific and is no longer needed (it's now handled 
5616         within the PA backend).
5617         * config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition.
5618         * config/tc-hppa.c (fix_new_hppa): If the subtract symbol for
5619         a fixup is $global$ change it to NULL as $global$ is really only
5620         needed long enough to determine the base type of relocation to use.
5621
5622         * config/tc-hppa.c (create_new_subspace): Initialize subspace_defined.
5623
5624         * config/tc-hppa.c (pa-ip, case 'z'): Make field selectors work
5625         for 'z' operands (target of ble branch).
5626
5627 Sat Nov  6 22:41:57 1993  Jeffrey A. Law  ([email protected])
5628
5629         * config/tc-hppa.c: (update_subspace): Fix type and name of last
5630         parameter.  All callers fixed.
5631         (md_begin, pa_chk_field_selector, pa_entry): Lint.
5632
5633         * config/tc-hppa.c (cons_fix_new_hppa): Reset field selector
5634         to default state after it's been used.
5635
5636 Fri Nov  5 12:08:21 1993  Jeffrey A. Law  ([email protected])
5637
5638         * config/obj-som.c (obj_som_init_stab_section): Change
5639         space/subspace sort keys for the stab sections so as to avoid
5640         bugs in the hp linker and pxdb.
5641
5642 Thu Nov  4 17:00:05 1993  Jeffrey A. Law  ([email protected])
5643
5644         * write.c (chain_frchains_together): Update pointer to last
5645         frag for a segment in the seginfo structure.
5646
5647 Thu Nov 04 09:09:35 1993  Jeffrey Wheat  ([email protected])
5648
5649         *  Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS
5650
5651 Wed Nov  3 12:16:27 1993  Ken Raeburn  ([email protected])
5652
5653         * write.c (fixup_segment): Handle conversion of subtraction to
5654         pc-relative addressing even if pc-relative flag is already set.
5655
5656         * config/tc-m68k.c (m68k_ip_op): Use strchr, not index.  Don't
5657         declare either.
5658
5659         * doc/Makefile.in (distclean): Delete intermediate files from dvi
5660         build, but not the dvi or info files.
5661         * Makefile.in (clean-here): New target; cleans up current
5662         directory only.
5663         (distclean): Use it instead of clean.
5664
5665         * read.c (s_xstab): Don't use alloca.
5666
5667         * messages.c (identify): New routine; print message identifying
5668         following messages as coming from assembler.
5669         (as_show_where, as_bad_internal, as_bad_where): Call it.
5670         (as_fatal): Don't need to identify program any more.
5671
5672 Tue Nov  2 18:04:11 1993  Ian Lance Taylor  ([email protected])
5673
5674         * config/tc-sparc.c (sparc_ip): Add default case to reloc switch.
5675
5676         * read.c (s_lcomm): Put small objects in .sbss for MIPS ELF as
5677         well as MIPS ECOFF.
5678         (get_stab_string_offset): Remove unused variable aligned.
5679
5680 Tue Nov  2 15:07:07 1993  Jeffrey A. Law  ([email protected])
5681
5682         * tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the
5683         predefined register table.
5684         (pa_parse_number): Handle %rp in common register shortcut code.
5685         Consistently set return value to -1 for an error.  Clean up error
5686         messages and only print them when "print_errors" is true.  Handle
5687         empty string case like the HP assembler -- assume a value of
5688         zero.
5689  
5690         * config/ho-hpux.h: Do not include ho-sysv.h.  Instead include
5691         standard hpux include files to pick up various function decls.
5692
5693         * config/ho-hppaosf.h: Delete _IO* macros.  They are defined in
5694         stdio.h.  Delete bogus declaration of free.  Get path to
5695         alloca-conf.h right.
5696
5697 Tue Nov  2 13:57:30 1993  Ken Raeburn  ([email protected])
5698
5699         * expr.c (operand): Fix checks for characters following "0b" or
5700         "0f".
5701
5702 Mon Nov  1 21:37:04 1993  Jeffrey A. Law  ([email protected])
5703
5704         * config/obj-som.h (obj_attach_unwind_info): Define as a hook
5705         so GAS can attach unwind descriptor information to a BFD symbol.
5706         * config/tc-hppa.c (fix_new_hppa): If necessary attach unwind
5707         descriptor information to the BFD symbol.
5708         (md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied",
5709         they are simply markers.  Make R_HPPA_UNWIND_* handling OBJ_ELF
5710         dependent.
5711         (pa_build_unwind_subspace): Whole function is OBJ_ELF dependent.
5712         (pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM.
5713         (pa_exit): Likewise, but built a R_HPPA_EXIT relocation.  Do not
5714         build "end-of-function" symbols for SOM, they are not needed.
5715
5716         * config/tc-hppa.c (process_exit): Create temporary symbols with
5717         correct prefixes so they can be eliminated later.
5718
5719         * config/tc-hppa.c (call_info struct): Delete unused "frame" field.
5720         (pa_callinfo): Insert framesize into the unwind information as 
5721         soon as it's available.
5722         (pa_build_unwind_subspace): Do not insert framesize into the unwind
5723         information here.
5724
5725         * Add support for marker type relocations.  These mark areas
5726         of interest to the linker.  ENTRY/EXIT relocations for SOM are
5727         an example of marker relocations.
5728         * write.c (write_relocs): Instead of assuming size of a relocation
5729         is 4 bytes, pick up the size from relocation itself.
5730         (fixup_segment): Do not complain that a value is too small for 
5731         marker relocations.
5732
5733         * struc-symbol.h: Add new "sy_used" field to the symbol structure.
5734         * expr.c (operand): Set sy_used for any symbol used as an operand.
5735         (expr): Likewise for any symbol used in an expression.
5736         * config/tc-hppa.h (tc_frob_symbol): Define.  Punt imported
5737         symbols which are never used and absolute symbols which local scope.
5738
5739         * config/obj-som.h (obj_frob_file): Define.
5740         * config/obj-som.c (obj_som_init_stab_section): Set alignment
5741         of stab sections.  Make space for the special stab entry.
5742         (adjust_stab_sections): Adjust the special entry in the 
5743         stabs section.
5744         (som_frob_file): New function.  Simply calls adjust_stab_sections
5745         for each section.
5746
5747 Mon Nov  1 17:54:29 1993  Ian Lance Taylor  ([email protected])
5748
5749         * config/tc-mips.c (PIC_CALL_REG, SP, FP): Define.
5750         (mips_pic, mips_cprestore_offset): New static variables.
5751         (md_pseudo_table): Handle .abicalls, .cpload, and .cprestore.
5752         Ignore .bgnb and .endb.
5753         (gp_reference): _gp_disp is never addressed off GP.
5754         (macro_build): Ignore macros while searching for insn.  For cases
5755         i, j, and o, accept the reloc type as an argument rather than
5756         assuming BFD_RELOC_LO16.  Don't try to convert BFD_RELOC_LO16 to
5757         BFD_RELOC_MIPS_GPREL.  Added new case a.
5758         (set_at, load_register, macro): Changed calls to macro_build to
5759         pass new argument for i, j and o cases.
5760         (macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A.  These require
5761         special handling when generating SVR4 PIC code.
5762         (mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT
5763         rather than hard coded constants.
5764         (md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and
5765         BFD_RELOC_MIPS_CALL16.
5766         (s_option): Set mips_pic based on .option picN.
5767         (s_abicalls): New function; set mips_pic to 2.
5768         (s_cpload): New function; handle .cpload.
5769         (s_cprestore): New function; handle .cprestore.
5770
5771         * config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb,
5772         .endb and .verstamp, setting them to s_ignore.
5773
5774 Sun Oct 31 00:36:40 1993  Jeffrey A. Law  ([email protected])
5775
5776         * config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined
5777         field.  Define SUBSPACE_DEFINED accessor macro.
5778         (pa_subspace): Allow user to override subspace attributes for
5779         built-in subspaces.  Set ssd_defined at the end of fcn -- that
5780         way the attributes can only be changed once.  Pass newly allocated
5781         name to is_defined_subspace, not a pointer to the input line.
5782         Fix typo in space/subspace rework.
5783         (is_defined_subspace): Delete unused 2nd arg.  All callers changed.
5784
5785         * config/tc-hppa.c (pa_import): If currently in the text segment
5786         and a symbol is imported without type information, set BSF_FUNCTION
5787         for the symbol.
5788         * write.c (relax_and_size_seg): Correct test to determine if
5789         the section's size was rounded up.
5790
5791         * config/obj-som.h (obj_set_symbol_type): Define a hook so GAS
5792         can properly set all the SOM symbol types.
5793         * config/tc-hppa.c (pa_symbol_type): New enum to represent the 
5794         symbol types which can be set from an IMPORT/EXPORT statement.
5795         (pa_export_args): Set the pa_symbol_type type based on arguments.
5796         If defined, call obj_set_symbol_type to pass this information on
5797         to the BFD backend.
5798
5799         * read.c (get_stab_string_offset): Set SEC_DEBUGGING for any 
5800         stab section we make.
5801         (s_stab_generic): Likewise.
5802
5803 Sat Oct 30 14:26:20 1993  Jeffrey A. Law  ([email protected])
5804
5805         * Allow backends to override the value of the fake label.
5806         * write.h (LOCAL_LABEL): Delete DOT_LABEL_PREFIX code.  Instead
5807         assume backends will define LOCAL_LABEL if anything other than
5808         'L' is used to denote a local label.
5809         (FAKE_LABEL_NAME): New macro.  Defines the default name used for
5810         the "fake" label.
5811         * expr.c (make_expr_symbol): Delete DOT_LABEL_PREFIX code
5812         and instead simply use the string defined by FAKE_LABEL_NAME.
5813         (operand): Likewise.
5814         * read.c (s_stab_generic): Likewise.
5815         * config/tc-hppa.h (FAKE_LABEL_NAME): Define as L$0\001 so it's
5816         known to be a local label.
5817         * config/tc-i386.h (DOT_LABEL_PREFIX): Delete.
5818         (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
5819         * config/tc-m68k.h (DOT_LABEL_PREFIX): Delete.
5820         (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
5821         * config/te-sco386.h (DOT_LABEL_PREFIX): Delete.
5822         (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
5823
5824         Rework space/subspace handling in PA code to fully support
5825         SOM spaces/subspaces.
5826         * config/tc-hppa.c (USE_ALIASES): New object-format dependent define
5827         to control the use of space/subspace name aliases.
5828         (update_subspace): Accept space chain entry for containing space
5829         as a new parameter.  All callers changed.
5830         (pa_get_label): Use current_space rather than pa_segment_to_space.
5831         (pa_define_label): Likewise.
5832         (pa_undefine_label): Likewise.
5833         (md_begin): Change into the (possibly modified) text_section.
5834         (pa_parse_space_stmt): Create a new segment/space if create_flag
5835         is true, and the space name is not one of the two predefined spaces.
5836         (pa_subspace): Use current_space rather than a lookup via 
5837         pa_segment_to_space.  Reset BFD section flags as required by 
5838         the .subspace directive.  Likewise for the section alignment.
5839         Pass the current space to update_subspace and create_new_subspace.
5840         (pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES
5841         is true.  When not using aliases, create a BFD section for each
5842         subspace encountered.  When not using aliases replace the default
5843         text, data, and bss segments with new ones.
5844         (create_new_subspace): When not using aliases each subspace has a 
5845         section/segment and subsegments are not needed, so set the subsegment
5846         to zero. 
5847
5848         * config/tc-hppa.c (pa_parse_space_stmt): If needed, call
5849         obj_set_section_attributes to pass space attributes to the 
5850         BFD backend.
5851         (create_new_space): Likewise.
5852         (create_new_subspace): Likewise for subspace attributes using 
5853         obj_set_subsection_attributes.
5854         (update_subspace): Likewise for subspace attributes using
5855         obj_set_subsection_attributes.
5856
5857         * config/tc-hppa.c (pa_parse_space_stmt): Get segment and sort key
5858         for $TEXT$ and $PRIVATE$ from the default space structure.
5859
5860         * config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION
5861         as appropriate for the given type.
5862
5863         * config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling
5864         SOM relocations.
5865
5866         * config/tc-hppa.c (pa_comm): Delete incorrect check for symbol
5867         redefinition.
5868
5869         * config/obj-som.[ch]: New files for SOM support.  Note SOM
5870         support is not yet complete in GAS or BFD.
5871
5872         * config/ho-hppabsd.h:  Delete IO* macros, they are defined in 
5873         stdio.h.  Delete declaration of free.  Include stdlib.h, unistd.h,
5874         and string.h.
5875
5876 Fri Oct 29 13:26:12 1993  Jeffrey A. Law  ([email protected])
5877
5878         * Allow backends to override the section names used for embedded
5879         stabs support.  Needed for SOM.
5880         * read.c (STAB_SECTION_NAME): Default the name of the stab section
5881         to ".stab".  
5882         (STAB_STRING_SECTION_NAME): Likewise for the stab strings section.
5883         (get_stab_string_offset): Is now passed the full name for the
5884         stab string section rather than a name prefix.  All references
5885         changed.
5886         (s_stab_generic): New argument for the stab string section name.
5887         all references changed.
5888         (s_xstab): Append "str" to the stab section name to get the
5889         stab string section name.
5890         * config/obj-coffbfd.c (obj_coff_init_stab_section): Append "str"
5891         to stab section name to get the stab string section name.  Pass
5892         the full name of the stab string section to get_stab_string_offset.
5893         * config/obj-elf.c (obj_elf_init_stab_section): Likewise.
5894         
5895         * config/tc-hppa.c (md_begin): Disable "-R" option to fold
5896         textand data segments.  Warn user "-R" is unsupported on the
5897         PA.
5898
5899 Thu Oct 28 12:36:13 1993  Jeffrey A. Law  ([email protected])
5900
5901         * config/tc-hppa.c (md_pseudo_table): Default alignment is 8 for
5902         .align and .ALIGN directives.
5903
5904         * config/tc-hppa.c (pa_space): Do not report an error for a .space
5905         directive which does not define a "well-known" space and does
5906         not include a space number as an argument.
5907         
5908         * config/tc-hppa.c (pa_def_subspaces): Correct initialization of the
5909         "defined", "loadable", "code_only" and "space_index" fields.
5910         (pa_def_spaces): Correct initialization of the "spnum", "defined",
5911         and "private" fields.
5912
5913         * write.h (struct fix): Add new tc_fix_data field for the various
5914         backends to attach machine dependent fixup information to.
5915         * write.c (fix_new_internal): Initialize new tc_fix_data field.
5916         * config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and
5917         fx_next fields.
5918         (hppa_find_hppa_fix): Delete unnecessary function.  Fix all
5919         callers to get HPPA fixup information from the tc_fix_data field
5920         in the GAS fixup.
5921         (hppa_fix_root): Delete unnecessary variable.
5922         (fix_new_hppa): Attach HPPA fixup data to the GAS fixup.
5923
5924         * config/tc-hppa.c (pa_set_start_symbol); Delete unwanted
5925         function.  Fix all callers.
5926         (subspace_dictionary_chain): Delete unused ssd_start_sym field.
5927
5928         * config/tc-hppa.c (hppa_fix_adjustable): New function to determine
5929         if a particular fixup is adjustable.
5930         * config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to
5931         perform the real work.
5932
5933         * config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out
5934         of OBJ_XXX conditionals.
5935         (MAX_RELOC_EXPANSION): Likewise.
5936
5937         * config/tc-hppa.c (log2): Renamed from is_power_of_2.  Fix all
5938         callers. Now returns log2 (N) for positive N which are an exact
5939         power of two or -1 for an error.
5940
5941         * config/tc-hppa.c (pa_callinfo): Range check values provided for 
5942         ENTRY_GR, ENTRY_FR and ENTRY_SR.  Properly adjust vaues before
5943         inserting them into the unwind table.
5944
5945         * config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references.
5946         (hppa_gen_reloc_type): New object format dependent macro.
5947         (pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF
5948         conditional.  The code can (and will) be shared between SOM & ELF
5949         formats in the near future.
5950         (cons_fix_new_hppa, md_apply_fix_1): Likewise.
5951         (pa_build_unwind_subspace, process_exit, pa_exit): Likewise.
5952         (tc_gen_reloc): Use hppa_gen_reloc rather than an object format
5953         specific call.
5954
5955         * config/tc-hppa.c (pa_comm): Set the segment for a common symbol
5956         to bfd_und_section.
5957
5958         * config/obj-elf.h (obj_elf_version): Add extern prototype.
5959
5960         * configure.in (hppa-*-bsd*): New configuration.
5961         BFD is always used for GAS generating SOM objects.
5962
5963         * write.c (adjust_reloc_syms): Set sy_used_in_reloc if an
5964         adjustment is rejected by the target machine.
5965
5966         * config/tc-hppa.c (pa_big_cons): Delete function and its
5967         declaration.  All callers changed to use pa_cons.
5968
5969         * write.c (fixup_segment): Fix indention and open/close brace
5970         problem.
5971
5972         From Pete Hoogenboom:
5973         * config/tc-hppa.c (md_atof): Return a NULL on success rather than
5974         an empty string.
5975
5976         * config/tc-hppa.c (pa_parse_space_stmt): Advance
5977         input_line_poitner when an invalid argument is encountered.
5978
5979 Thu Oct 28 13:09:26 1993  Ian Lance Taylor  ([email protected])
5980
5981         * config/tc-a29k.c (md_begin): When opcodes are mashed together in
5982         the table, require that the one without bit 0x1000000 set come
5983         first.  Require further that it be case 'b' or 'P'.  The a29k
5984         opcode table already meets these constraints.
5985         (machine_ip): When handling case 'i' or 'A', make sure that the
5986         appropriate opcode really exists by looking at the next entry in
5987         the opcode table.
5988
5989 Wed Oct 27 11:48:56 1993  Ian Lance Taylor  ([email protected])
5990
5991         * config/tc-m68k.c (m68k_ip): Adjust offsets for PC relative
5992         fixups.  Add 6 for long 7.3 case, 2 for short 7.2 case.
5993
5994         * config/obj-ecoff.c (obj_ecoff_ent): Ignore an optional number
5995         after a .ent directive.
5996
5997         * config/tc-mips.c (mips_ip): Handle '>' case (shift amount
5998         between 32 and 63 for double shift instruction).  Do & 0x1f rather
5999         than % 32.
6000         (printInsn): Handle '>'.
6001
6002 Tue Oct 26 16:58:36 1993  Ian Lance Taylor  ([email protected])
6003
6004         * config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol
6005         number in the right place.  Untested.  Probably does not work for
6006         cross assembly.  From [email protected] (Andrew Cagney).
6007
6008         * config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses
6009         an illegal offset of 0 or -1.
6010
6011         * config/obj-elf.c (obj_elf_init_stab_section): Align .stab
6012         section to a longword boundary.
6013
6014 Tue Oct 26 10:24:31 1993  Ken Raeburn  ([email protected])
6015
6016         * Makefile.in (CHECKFLAGS): Pass down RUNTESTFLAGS.
6017
6018         From Jeff Law:
6019         * config/tc-hppa.c (tc_gen_reloc): ELF32_HPPA_R_ADDEND ->
6020         HPPA_R_ADDEND.
6021
6022 Mon Oct 25 14:06:17 1993  Ian Lance Taylor  ([email protected])
6023
6024         * config/tc-sparc.c (sparc_ip): Fix up membar argument handling.
6025
6026 Mon Oct 25 11:17:58 1993  Steve Chamberlain  ([email protected])
6027
6028         * config/tc-sh.c (build_Mbytes): Write the relocs to the correct
6029         address. (md_assemble): Make error handling a bit more graceful.
6030         (md_apply_fix):  Don't warn on non aligned displacement.
6031
6032         * config/tc-z8k.c (get_specific, built_bytes):  Understand all the
6033         aspects of lda.
6034
6035 Mon Oct 25 10:20:31 1993  Ken Raeburn  ([email protected])
6036
6037         * doc/Makefile.in (install-info): Use "$<*" so VPATH will find
6038         as.info* even if they're in $(srcdir) (e.g., for FSF
6039         distributions).
6040
6041         * write.c (write_relocs): For relocs that are pc_relative and
6042         pcrel_offset and not partial_inplace, adjust reloc->addend to
6043         compensate for a bfd_perform_relocation bug.
6044
6045         * config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code.
6046         * config/tc-sparc.c: Ditto.
6047         (tc_gen_reloc): Include fx_offset for pcrel fixups.
6048
6049 Sun Oct 24 16:49:00 1993  Jim Wilson  ([email protected])
6050
6051         * tc-mips.c (md_pseudo_table): Add dword pseudo op.
6052
6053 Fri Oct 22 20:40:56 1993  david d `zoo' zuhn  ([email protected])
6054
6055         * messages.c: replaced all variables called Format with 'format',
6056           for consistency throughout
6057
6058         * configure.in: handle mips*- instead of mips, mips*el for little
6059         endian configurations
6060
6061 Fri Oct 22 14:45:49 1993  Ian Lance Taylor  ([email protected])
6062
6063         * input-scrub.c (physical_input_file, logical_input_file,
6064         physical_input_line, logical_input_line): Made static.
6065         (as_where): Return current file name and line number, don't print
6066         them out.
6067         * messages.c (as_show_where): New static function.  Other
6068         functions use it instead of as_where.
6069         (as_bad_internal): New static function.
6070         (as_bad): Use as_bad_internal.
6071         (as_bad_where): New function, like as_bad but taking a file name
6072         and line number.
6073         * as.h (as_bad_where): Declare.
6074         (as_where): Change prototype for new arguments.
6075         * write.h (fixS): Added fields fx_file and fx_line.
6076         * write.c (fix_new_internal): Save file and line number in fix.
6077         (fixup_segment): Use as_bad_where, not as_bad.
6078         * input-file.c (f_in, file_name): Made static.
6079         * cond.c (struct file_line): Just use file and line fields.
6080         (s_else): Use as_where and as_bad_where, not get_file_line and
6081         set_file_line.
6082         (get_file_line, set_file_line): Removed.
6083         * listing.c (listing_newline): Use as_where.
6084         * config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where.
6085         * config/obj-ecoff.c (add_file): Use as_where.
6086         * config/obj-elf.c (obj_elf_init_stab_section): Use as_where.
6087         * config/tc-m68k.c (md_apply_fix_2): Use as_bad_where.
6088         * config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert.
6089
6090 Thu Oct 21 12:52:01 1993  Ken Raeburn  ([email protected])
6091
6092         * config/tc-m68k.h: Don't define REGISTER_PREFIX or
6093         OPTIONAL_REGISTER_PREFIX if either is already defined.
6094
6095         * config/tc-m68k.c (m68k_ip): Delete some code in "#if 0".
6096
6097         * configure.in: Set bfd_gas for all sparc targets.  Added facility
6098         for keeping or rejecting configurations still under development;
6099         default is to assume production environment, and reject configs
6100         still being worked on.  Mark Elf configurations (except sparc and
6101         i386) as developmental.  Deleted cases matching some generic names
6102         in favor of more specific names.  (E.g., when we get Alpha
6103         support, we'll still only support VMS for Vax.)
6104
6105         * config/tc-sparc.h (md_end): New macro.
6106         * config/tc-sparc.c (md_end): Function deleted.
6107         (BFD_RELOC_*): Delete macros that used to help keep the non-bfd
6108         version compiling.  All sparc targets will use bfd now.
6109         * tc.h (md_end): Don't declare if it's defined as a macro.
6110
6111         Changes from Jeff Law and Peter Hoogenboom:
6112
6113         * read.c (next_char_of_string): Limit octal character constants to
6114         three digits.
6115
6116         * config/tc-hppa.h: Major cleanup.  Use GNU-style comments.  Warn
6117         against placing additional object-file dependent code here.  Warn
6118         against contaminating all of GAS with the internals of tc-hppa.c
6119         through inclusion of tc-hppa.h.  Delete all forward declarations
6120         for functions only used within tc-hppa.c, likewise for structures,
6121         variables, and #defines.  Try to group OBJ_ELF and OBJ_SOM
6122         conditional code in a few small places.
6123
6124         * config/tc-hppa.c: Major cleanup.  Use GNU-style comments.  Group
6125         structures, global variables, forward declarations together.
6126         Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM
6127         conditional code -- try to group conditional code together
6128         into a few places.   Make all functions and variables which
6129         are only used within tc-hppa.c static.  PARAMize all functions.
6130         Add comments to functions.  Delete unused functions, variables,
6131         #defines, etc.  Delete unused members within structures.  Delete
6132         ldil;ble hacks -- it is believed they were installed to work
6133         around old gas bugs.   Avoid using mixed case for local
6134         functions, variables, and structures.  Fix formatting problems
6135         not found by GNU-indent.  Add FIXME notices for things which
6136         should be worked on the near future.  Delete lots of old
6137         useless (1.36 PA-SOM) code.  
6138
6139         * config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type
6140         field of the fixS structure.  Needed to build unwind
6141         descriptors correctly.
6142
6143         * write.c: (fixup_segment): Allow expressions such as
6144         sym1-sym2+const as long as sym2 is $global$.
6145
6146         * write.c (adjust_reloc_syms): Provide a hook so that a target
6147         cpu configuration can reject certain relocation reductions.
6148         * tc-hppa.h (tc_fix_adjustable): New macro.  Only accept relocations
6149         which do not involve function symbols.
6150
6151         * config/tc-hppa.h: Reindent with GNU-indent.  Delete references
6152         to OBJ_OSFROSE.  Fix typos (OBJ_SOME -> OBJ_SOM).  Delete unused
6153         STAB_FIXUP macro.
6154         * config/tc-hppa.c: Likewise.
6155
6156         * config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead
6157         of elf32_symbol_type.
6158         (pa_export_args): Likewise.
6159         (elf_hppa_final_processing): Likewise.
6160         (pa_desc): Do not call obj_elf_desc.  (Is pa_desc even needed
6161         anymore?)
6162         (hppa_tc_make_sections): Do not declare elf_get_symtab_map any
6163         ore.
6164
6165         * config/tc-hppa.c: (md_section_align): Align all sections to
6166         a multiple of the section alignment rather than always a
6167         multiple of 8.
6168
6169         * config/tc-hppa.c (hppa_tc_symbol): If the argument relocation
6170         bits are zero (eg they specify no relocations), then do not even
6171         bother adding their entries to thesymextn section.
6172
6173 Thu Oct 21 15:44:55 1993  Ian Lance Taylor  ([email protected])
6174
6175         * config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
6176         option, which is used by the SunOS make default .s.o rule.
6177
6178 Wed Oct 20 12:26:33 1993  Ken Raeburn  ([email protected])
6179
6180         * config/tc-sparc.c (sparc_ip, label "immediate"): Convert relocs
6181         operating on upper 32 bits of immediate constants to lower-half
6182         relocs with adjusted constants.
6183
6184 Tue Oct 19 18:13:26 1993  Ian Lance Taylor  ([email protected])
6185
6186         * config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable
6187         m68k_aout_machtype.
6188         * config/tc-m68k.c (omagic): Remove obsolete and unused variable.
6189         (m68k_aout_machtype): New variable, if OBJ_AOUT.
6190         (md_assemble): Initialize m68k_aout_machtype based on
6191         current_architecture, if OBJ_AOUT.
6192         (md_parse_option): Remove obsolete reference to omagic.
6193
6194 Thu Oct 14 16:51:00 1993  Ian Lance Taylor  ([email protected])
6195
6196         * config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op.
6197         (s_option): Ignore .option O* and .option pic*.
6198         (s_ent): Skip whitespace between symbol and optional digit.
6199         (my_getSmallExpression): Handle ($xx) correctly: assume 0($xx).
6200
6201         * app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape
6202         characters in state 6.
6203         * read.c (next_char_of_string): Accept \Xh* and \xh* where h* are
6204         hexidecimal digits.
6205
6206         * config/tc-i386.c (md_apply_fix_1): Make cross segment calls work
6207         for ELF by hacking around bizarre bfd_perform_relocation behaviour
6208         that I don't dare change.
6209
6210 Thu Oct 14 11:33:25 1993  Michael Meissner  ([email protected])
6211
6212         * config/tc-i386.c: (md_begin): Do not zero static arrays.  Don't
6213         call strchr for each character to see if it is a special char,
6214         instead add a second loop over special_chars.  Set alignment
6215         of text, data and bss sections to 4.
6216         (pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be
6217         used again.
6218         (reloc): Don't return 8 and 16 bit non-PC relative relocations on
6219         ELF, since the ELF object format does not have these type of
6220         relocations.  Change the abort into as as_bad and return
6221         BFD_RELOC_NONE to silence compiler warnings.
6222         (md_assemble): Keep track of the instruction size.  Allow white
6223         space between the $ and the constant for compatibility with older
6224         gases and other assemblers.
6225         (i386_operand): Skip spaces between $ and expression.
6226         (tc_gen_reloc): Don't allow anything but 32 bit relocations on
6227         ELF.  Convert abort into an as_bad and assert into as_fatal.
6228
6229 Wed Oct 13 16:50:55 1993  Ken Raeburn  ([email protected])
6230
6231         * config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If
6232         sub_symbolP is in the current segment, convert to a PC-relative
6233         fixup and discard the symbol.
6234
6235 Wed Oct 13 14:00:02 1993  Ian Lance Taylor  ([email protected])
6236
6237         * config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol
6238         for st_StaticProc just like st_Proc.
6239
6240         * write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT
6241         so that OBJ_BOUT doesn't forget to adjust all the fragments in the
6242         .bss section.
6243
6244 Tue Oct 12 17:26:15 1993  Ian Lance Taylor  ([email protected])
6245
6246         * config/tc-mips.c: If OBJ_ELF, include elf/mips.h.
6247         (mips_regmask_frag): New static variable, if OBJ_ELF.
6248         (md_begin): If OBJ_ELF, create .reginfo section and set
6249         mips_regmask_frag to a frag.
6250         (mips_elf_final_processing): New function, if OBJ_ELF.  Set
6251         mips_regmask_frag to register mask information.
6252         * config/tc-mips.h (elf_tc_final_processing): New macro, defined
6253         if OBJ_ELF.
6254
6255 Tue Oct 12 03:33:26 1993  Ken Raeburn  ([email protected])
6256
6257         * messages.c (as_fatal): Use myname when printing messages.
6258
6259         * config/tc-i960.c (md_begin): Use null pointer, not empty string,
6260         as initial "return" value in case hashing isn't needed.
6261
6262         * config/tc-a29k.c (md_atof): Return null, not empty string, on
6263         success.
6264         * config/tc-h8300.c (md_atof), config/tc-h8500.c (md_atof),
6265         config/tc-hppa.c (md_atof), config/tc-i860.c (md_atof),
6266         config/tc-i960.c (md_atof), config/tc-m88k.c (md_atof),
6267         config/tc-ns32k.c (md_atof), config/tc-sh.c (md_atof): Ditto.
6268
6269 Mon Oct 11 16:46:31 1993  Steve Chamberlain  ([email protected])
6270
6271         fix for pr 3571
6272         * config/tc-h8300.c (get_specific): Special action if 8 bit
6273         address seen. (check_operand): Don't complain if truncating top
6274         bits of an 8 bit address.  (build_bytes): Allow an immediate and
6275         an absolute in the same insn.
6276
6277 Mon Oct 11 17:18:51 1993  Ian Lance Taylor  ([email protected])
6278
6279         * write.c (write_contents): Don't crash if seginfo is NULL.
6280
6281         * config/obj-ecoff.c (ecoff_frob_file): Write out register masks
6282         by modifying .reginfo section, not by directly modifying BFD
6283         backend data.
6284
6285 Mon Oct 11 14:11:32 1993  david d `zoo' zuhn  ([email protected])
6286
6287         * config/ho-sunos.h: remove extern time declaration
6288
6289 Mon Oct 11 16:14:43 1993  Ken Raeburn  ([email protected])
6290
6291         * messages.c (as_fatal): Do mention that it's the assembler that
6292         got the fatal error.
6293
6294 Fri Oct  8 14:09:35 1993  Ian Lance Taylor  ([email protected])
6295
6296         * config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
6297         hold register masks.
6298         (md_begin): Initialize them to zero.
6299         (append_insn): Update mips_gprmask and mips_cprmask.  Also add
6300         register variables pinfo and prev_pinfo.
6301         * config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
6302         * config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
6303         and cprmask from mips_gprmask and mips_cprmask.
6304
6305         * config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
6306         * config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
6307         (various): Change all references to GP references to apply if
6308         GPOPT, not if OBJ_ECOFF.
6309         (s_change_sec): Rearrange somewhat.  If OBJ_ELF, use .rodata
6310         instead of .rdata.  If OBJ_ELF, set section flags for .rodata and
6311         .sdata sections.
6312         (s_frame, s_loc, s_mask): Comment out entire functions, rather
6313         than just body.  They're not used anyhow.
6314         * configure.in: Set cpu_type to mips for mips*.  Accept
6315         mips-*-elfl* and mips-*-elf*.
6316
6317 Thu Oct  7 18:36:29 1993  Michael Meissner  ([email protected])
6318
6319         * config/obj-elf.c (obj_elf_common): Allow the alignment field to
6320         not be specified.
6321
6322 Wed Oct  6 13:01:34 1993  Ian Lance Taylor  ([email protected])
6323
6324         * config/tc-mips.c (cons_fix_new_mips): New function.  Turn
6325         BFD_RELOC_64 into BFD_RELOC_32.
6326         * config/tc-mips.h (TC_CONS_FIX_NEW): Define.
6327         (cons_fix_new_mips): Declare.
6328
6329         Changes to let cons handle bignums like general expressions.
6330         * expr.h (expressionS): New field X_unsigned.
6331         * expr.c (operand): Initialize X_unsigned to 1.  Set it to 0 for
6332         unary minus case.
6333         (expr) Fix typo resultP to right if missing operand.  Set
6334         X_unsigned to 1 when building new expression.
6335         * read.c (potable): Make "octa" and "quad" call cons, not
6336         big_cons.
6337         (cons): Handle bignums.  If given an O_constant (small integer) to
6338         fill a big space, turn it into a bignum.
6339         (parse_bitfield_cons): Set X_unsigned field.
6340         (bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
6341         Removed.
6342         * read.h (big_cons): Remove prototype.
6343         * symbols.c (resolve_symbol_value): Don't give a warning if a
6344         symbol in expr_section can not be resolved.
6345         (S_SET_VALUE): Clear X_unsigned.
6346         * write.c (write_object_file): If resolve_symbol_value failed on a
6347         symbol we are writing out, give a warning.
6348         * config/tc-h8500.c (parse_reglist): Set X_unsigned.
6349         * config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
6350         call pa_cons, not pa_big_cons.
6351         (pa_big_cons): Remove.
6352         * config/tc-hppa.h (pa_big_cons): Remove declaration.
6353         * config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
6354         not big_cons.
6355
6356 Tue Oct  5 10:53:36 1993  david d `zoo' zuhn  ([email protected])
6357
6358         * doc/as.texinfo (Copying): new node, to handle the recent changes
6359         in the texinfo/gpl.texinfo file
6360
6361 Mon Oct  4 17:10:15 1993  Ian Lance Taylor  ([email protected])
6362
6363         * read.c (big_cons): Handle "0" correctly.
6364
6365         * config/tc-mips.c (md_begin): Set target_big_endian correctly.
6366
6367 Mon Oct  4 15:37:57 1993  Ken Raeburn  ([email protected])
6368
6369         * config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should
6370         have pc-relative fixup.
6371         (md_parse_option): Move "-k" case down near "-pic" case.
6372
6373         * configure.in: Alphabetize list of cpu type alternatives.  Enable
6374         OS values of "linux*elf*" and "linux*coff*" to select those
6375         formats, with linux emulation.  Don't bother checking for upper-
6376         or mixed-case versions of "ose".
6377
6378 Thu Sep 30 11:05:35 1993  Steve Chamberlain  ([email protected])
6379
6380         * config/z8k.c (md_pseudo_table): add "unseg".
6381
6382 Wed Sep 29 16:15:11 1993  K. Richard Pixley  ([email protected])
6383
6384         * config/m88k-opcode.h (m88k_opcodes): correct a few mistakes
6385           found while extending the dissassembler.
6386
6387 Tue Sep 28 12:02:04 1993  Stan Shebs  ([email protected])
6388
6389         * configure.in: Split i386 LynxOS out from other coff targets,
6390         add a specific Lynx emulation.
6391         Add m68k LynxOS target.
6392         * config/tc-i386.c: Define specific Lynx target format.
6393         * config/tc-m68k.c: Define specific Lynx target format.
6394         * config/te-lynx.h: New file.
6395
6396         * config/obj-coffbfd.h: Don't set TARGET_FORMAT to be
6397         "coff-{i386,m68k}" if TARGET_FORMAT already defined.
6398         (INIT_STAB_SECTION): Define.
6399         * config/obj-coffbfd.c: Include <time.h>.
6400         (write_object_file): Look for .stab sections and call
6401         adjust_stab_section.
6402         (adjust_stab_section): New function, fills in the first symbol
6403         of a stab section with number of symbols and string table size.
6404         (obj_coff_init_stab_section): New function, creates the initial
6405         symbol for a stab section.
6406
6407 Mon Sep 27 15:21:55 1993  Ken Raeburn  ([email protected])
6408
6409         * config/atof-vax.c (md_atof): Return null on success instead of
6410         empty string.
6411         * config/atof-tahoe.c (md_atof): Ditto.
6412         * read.c (float_cons): Expect a null pointer for success, not an
6413         empty string.
6414
6415         * hash.c (hash_insert, hash_jam, hash_grow): Return null pointer
6416         on success, instead of empty string.  All callers changed.
6417
6418         * config/tc-vax.c: Use PARAMS in declarations.
6419         (vip_op): Use NULL instead of empty string for success in error
6420         and warning fields.
6421
6422 Sun Sep 26 23:45:29 1993  Ken Raeburn  ([email protected])
6423
6424         * expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols
6425         in different defined segments.
6426
6427         * write.c (relax_segment): Localize "aim" variable.  If
6428         DIFF_EXPR_OK, don't impose checks on symbol segment types.
6429         (fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current
6430         segment, convert to a PC-relative fixup and discard the symbol.
6431
6432         * config/tc-m68k.c (flag_want_pic): New variable, mostly ignored.
6433         (md_parse_option) [TE_SUN3]: Set it for "-k".
6434         (m68k_ip): Generate proper fixup for mode 7.3.
6435         * config/tc-m68k.h (DIFF_EXPR_OK): Define.
6436
6437 Sat Sep 25 05:08:19 1993  Ken Raeburn  ([email protected])
6438
6439         * config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved
6440         earlier in the file.
6441         (insop, add_exp): Now defined as functions, for readability.
6442         (insop): Now takes two arguments; callers changed.
6443
6444 Fri Sep 24 12:37:59 1993  K. Richard Pixley  ([email protected])
6445
6446         * config/tc-m88k.c (get_o6): new function.
6447           (get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
6448           get_vec9, getval, get_pcr, calcop, match_name): make static and
6449           prototype.
6450           (s_file): remove extraneous forward decl.
6451           (md_begin): add const to retval decl.
6452           (calcop): cope with instructions without arguments.  Handle 'o'
6453           type argument, the o6 field of the prot insn.
6454           (md_estimate_size_before_relax): return a dummy value.
6455
6456         * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
6457           in bits 10 through 7.  flt.[dxs]s requires an r register in the
6458           second argument.  New instruction lda.x.  New instruction muls
6459           (alias for mul).
6460
6461 Fri Sep 24 13:43:30 1993  Ian Lance Taylor  ([email protected])
6462
6463         * Makefile.in (distclean): Recurse like clean.
6464         * doc/Makefile.in (distclean): New target.
6465
6466         * config/tc-mips.c (md_begin): Set BFD architecture and machine
6467         based on MIPS ISA level.
6468
6469 Thu Sep 23 17:58:58 1993  Ian Lance Taylor  ([email protected])
6470
6471         * as.c (main): "exhausted", not "exhuasted".
6472
6473         * struc-symbol.h (struct symbol): Add sy_used_in_reloc field.
6474         * write.c (adjust_reloc_syms): Set sy_used_in_reloc.
6475         (write_object_file): Never strip symbols with sy_used_in_reloc
6476         set.
6477
6478         * config/obj-elf.c (obj_elf_section): Rewrote to handle both
6479         Solaris and SVR4 style .section pseudo-ops.
6480         (obj_elf_ident): Set SEC_READONLY for .comment section.
6481         * config/tc-sparc.c (md_apply_fix): If this is ELF, and we're
6482         generating a reloc, don't apply a fix.
6483
6484 Thu Sep 23 13:16:58 1993  Ken Raeburn  ([email protected])
6485
6486         * config/obj-coffbfd.c (relax_align): Now static.
6487
6488 Mon Sep 20 19:23:35 1993  Ian Lance Taylor  ([email protected])
6489
6490         * read.c (get_stab_string_offset): Make non-static.  Make
6491         arguments const.  Don't align strings to 4 byte boundaries.
6492         * read.h: Declare get_stab_string_offset.
6493         * config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
6494         SEC_LOAD for progbits section.
6495         (obj_elf_init_stab_section): New function.
6496         (adjust_stab_sections): Add casts to avoid warnings.
6497         * config/obj-elf.h (INIT_STAB_SECTION): Call
6498         obj_elf_init_stab_section.
6499         (OBJ_PROCESS_STAB): Removed definition.
6500
6501 Fri Sep 17 18:12:34 1993  Ian Lance Taylor  ([email protected])
6502
6503         * config/obj-elf.h (S_GET_SIZE): Define.
6504         (obj_frob_forward_symbol): Define.
6505         * config/tc-i386.c (line_comment_chars): Initialize in all cases.
6506
6507 Thu Sep 16 14:23:08 1993  Ian Lance Taylor  ([email protected])
6508
6509         * tc.h: Declare tc_gen_reloc differently depending upon
6510         RELOC_EXPANSION_POSSIBLE.
6511         * config/obj-elf.c (obj_elf_section): Only set flags when first
6512         creating the section.
6513
6514 Wed Sep 15 12:15:53 1993  Ian Lance Taylor  ([email protected])
6515
6516         * config/tc-mips.c (append_insn): Don't swap a trap instruction
6517         with a branch.
6518
6519 Tue Sep 14 13:31:04 1993  Ian Lance Taylor  ([email protected])
6520
6521         * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
6522         set previous_section and previous_subsection and then call s_data
6523         and s_text, respectively.
6524         (obj_pseudo_table): Add data and text.
6525         (obj_elf_section): Add SEC_LOAD to default initialization of
6526         flags.  Treat .rodata1 like .rodata.  Set SEC_LOAD as well as
6527         SEC_ALLOC for "alloc" string.  Don't bother trying to find the
6528         section; just use subseg_new.
6529
6530         * read.c (change_to_section): Removed.  This is now done by
6531         subseg_new.
6532         (get_stab_string_offset): Rearranged somewhat.  Create the section
6533         using subseg_new.  Store the string index in seg_info, rather than
6534         in a static variable.  Force the first string to be empty.  Use
6535         frag_more rather than FRAG_APPEND_1_CHAR.
6536         (s_stab_generic): Rewrote.
6537         * subsegs.h (segment_info_type): Added stabu union.
6538         * subsegs.c (subseg_new): Initialize stab_string_size to 0.
6539         * config/obj-aout.c: Don't include aout/stab_gnu.h.
6540         (obj_aout_stab, obj_aout_desc): Removed.
6541         (obj_pseudo_table): Removed desc and stabX entries.
6542         * config/obj-bout.c: Same changes as config/obj-aout.c.
6543         * config/obj-bout.h (S_SET_TYPE): Define.
6544         (tc_bout_fix_to_chars): Declare.
6545         * config/obj-coff.c (obj_coff_stab): Removed.
6546         (obj_pseudo_table): Removed desc and stabX entries.
6547         * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
6548         * config/obj-coffbfd.c (current_stab_symbol): Removed.
6549         * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
6550         n_other, n_desc and n_value fields.
6551         (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
6552         (MAKE_STAB_SYMBOL): Removed.
6553         * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
6554         Changed arguments and removed parsing code.
6555         (obj_pseudo_table): Removed stabX entries.
6556         * config/obj-ecoff.h (ecoff_stab): Declare.
6557         (OBJ_PROCESS_STAB): Define.
6558         * config/obj-elf.c: Don't include aout/stab_gnu.h.
6559         (obj_elf_stab, obj_elf_xstab, obj_elf_desc,
6560         elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
6561         Removed.
6562         (obj_pseudo_table): Removed desc, stabX and xstabs entries.
6563         (obj_elf_version): Use subseg_new, not bfd_make_section.  Don't
6564         set SEC_LOAD for .note section.
6565         (adjust_stab_sections): Get frag pointer from seg_info, rather
6566         than looking through frags.
6567         * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
6568         (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
6569         Define.
6570         * config/obj-vms.c (obj_aout_stab): Removed.
6571         (obj_pseudo_table): Removed stabX entries.
6572         * config/obj-vms.h (S_SET_TYPE): Define.
6573
6574         * as.h: Declare listing.
6575         * read.c: Don't declare listing.
6576         (emit_expr): Cast fix_new_exp argument.
6577         (parse_bitfield_cons): Correct printf format.
6578         * symbols.c (symbol_new): Add cast to avoid warning.
6579         * write.h: Declare text_last_frag and data_last_frag.
6580         * config/obj-bout.c (obj_bout_line): Added dummy argument.
6581         * config/obj-coffbfd.c: Add some casts to avoid warnings.
6582         * config/tc-a29k.c: Likewise.
6583         * config/tc-i960.c: Likewise.  Also fully bracket structure
6584         initializations, fix printf formats, and remove unused variables.
6585
6586 Mon Sep 13 16:48:38 1993  Ian Lance Taylor  ([email protected])
6587
6588         * read.c (s_desc): Only compile and use if S_SET_DESC is defined.
6589         * struc-symbol.h: Declare verify_symbol_chain and
6590         verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS.
6591         * symbols.c (verify_symbol_chain): Removed useless expression.
6592         * write.c (headers, the_object_file): Only use if not
6593         BFD_ASSEMBLER and not BFD.
6594         (fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or
6595         not BFD.
6596         (merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and
6597         not OBJ_AOUT).
6598         * write.h: Declare relax_segment.
6599         * config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made
6600         static.
6601         (stack_top): Commented out, since it's not used.
6602         Fixed up pseudo-op functions to take an ignored int argument.
6603         (size_section): Added default BAD_CASE to switch.
6604         Changed bzero calls to memset.
6605         * config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME
6606         (s), not on s itself.
6607         * config/tc-a29k.c (s_use): Take ignored int argument.  Only
6608         define if OBJ_COFF is not defined.
6609         * config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make
6610         argument signed again.
6611         * config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int
6612         argument.
6613         (m68k_ip): Fully bracket initialization of archs.
6614         Correct several formats for __LINE__ to be %d rather than %s.
6615         (init_table): Fully bracket initialization.
6616         Cast values larger than 0x7f assigned to fr_opcode to char.
6617
6618         * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
6619         Wrote non-BFD_ASSEMBLER subseg_new.  Now subseg_new always takes a
6620         section name, and subseg_set always takes a segT.  Changed all
6621         callers as appropriate.
6622         * config/obj-coffbfd.c  (change_to_section): Renamed to
6623         obj_coff_add_segment.  Corrected.  Made callers use subseg_new.
6624         * config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
6625         Define.
6626
6627 Mon Sep 13 13:15:03 1993  Doug Evans  ([email protected])
6628
6629         * config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'.
6630
6631 Fri Sep 10 11:22:08 1993  Ian Lance Taylor  ([email protected])
6632
6633         * config/obj-elf.h (S_SET_SIZE): Actually set the size.
6634
6635         Gcc lint.
6636         * Added a number of casts to function calls.
6637         * app.c (do_scrub_begin), as.c (main), expr.c (integer_constant,
6638         operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY,
6639         read_a_source_file, s_align_bytes, demand_empty_rest_of_line,
6640         ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore),
6641         read.h (is_name_beginner, is_part_of_name), config/obj-elf.c
6642         (obj_elf_section), config/tc-i386.c (parse_register),
6643         config/tc-sparc.c (isoctal, s_proc): Cast char
6644         array indices to unsigned char.
6645         * app.c (process_escape): Make static.  Add prototype.  Change
6646         argument from char to int.
6647         * as.c: Include output-file.h for prototypes.  Comment out unused
6648         function got_sig.
6649         * Makefile.in (as.o): Depend on output-file.h.
6650         * as.h (BAD_CASE): Cast val argument to long, and use %ld.
6651         (pseudo_typeS): Add prototype to poc_handler field.
6652         (print_version_id): Add prototype.
6653         (xmalloc, xrealloc): Change size arguments to unsigned long.
6654         (do_scrub_next_char): Add prototypes for function arguments.
6655         (had_errors, had_warnings, scrub_from_file): Remove duplicate
6656         declarations.
6657         * atof-generic.c (atof_generic): Make size variables unsigned.
6658         * cond.c (ignore_input): Removed unused local variable ptr.
6659         * expr.c (floating_constant, integer_constant): Make static.  Add
6660         prototypes.
6661         * flonum-copy.c (flonum_copy): Make size variables unsigned.
6662         * frags.h: Add prototype for frag_init.
6663         * hash.h, hash.c: Change hash values from char * to PTR, make hash
6664         strings const, make returned error strings const char *.  Added
6665         prototypes for functions.
6666         * input-file.h, input-file.c (input_file_buffer_size): Return
6667         unsigned int.
6668         * input-scrub.c (buffer_length): Make unsigned.
6669         (input_scrub_push, input_scrub_pop): Make static.
6670         * listing.c (list_symbol_table): Cast sprintf argument to unsigned
6671         long and use %lx.  Print name of segment rather than address of
6672         structure.
6673         (listing_list, listing_title): Change argument to int.
6674         (listing_eject, listing_flags, listing_psize): Add int argument.
6675         * listing.h: Corresponding declaration changes.
6676         * obj.h (obj_emit_symbols): Rename prototype argument to avoid
6677         shadowing.
6678         * read.h: Change get_absolute_expression prototype to return
6679         offsetT.  Add prototype for next_char_of_string.  Various
6680         prototype changes.
6681         * read.c: Remove prototype for next_char_of_string.
6682         (pobegin): Make errtxt const.  Make new_length, tmp_len and num
6683         unsigned.
6684         (s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill,
6685         s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument.
6686         Change all callers.
6687         (s_comm): Change temp from valueT to offsetT.  Cast to long when
6688         printing and use %ld (only for error messages anyhow).
6689         (s_long, s_int): Remove unused functions.
6690         (cons): Change argument to int.
6691         (emit_expr): Use %lx when printing longs.
6692         (get_absolute_expression): Return offsetT, not long.
6693         (get_stab_string_offset): Comment out unless
6694         SEPARATE_STAB_SECTIONS.
6695         (s_stab_generic): Remove unused offset.  Define seg_is_new only
6696         if SEPARATE_STAB_SECTIONS.  Use toP only in local block.
6697         * struc-symbol.h (verify_symbol_chain_2): Add prototype.
6698         * symbols.c: Remove nested comment.
6699         (symbol_new): Rename value to valu.
6700         (colon): Use %ld and cast to long in error message.
6701         * symbols.h: Remove duplicate verify_symbol_chain declaration.
6702         * tc.h: Remove unused md_emit_relocations declaration.
6703         (tc_gen_reloc): Add declaration.
6704         * write.c (cvt_frag_to_fill): Change first argument name depending
6705         on BFD_ASSEMBLER.
6706         (write_relocs): Remove unused offset, frags.  Remove tc_gen_reloc
6707         declarations.  Make n unsigned.
6708         (write_contents): Remove unused i, n, relocs, fixp.  Rename frags
6709         to f to avoid shadowing.
6710         (write_object_file): Define fragP only if not BFD_ASSEMBLER or not
6711         WORKING_DOT_WORD.  Remove unused keep.  Only declare punt and
6712         punt_it if they will be used.  Make i and n unsigned.
6713         (fixup_segment): Cast to long and use %ld in error message.
6714         * xmalloc.c (xmalloc, xrealloc): Make size argument unsigned.
6715         * config/obj-aout.h: Remove nested comment.  Add prototype for
6716         obj_aout_frob_symbol.
6717         (obj_aout_line, obj_aout_desc): Add int argument.
6718         * config/obj-ecoff.c: Changed build routines to use an unsigned
6719         offset.
6720         (add_string): Make len unsigned long.
6721         (obj_ecoff_stab): Use %lu in error message.
6722         * config/obj-elf.c (obj_elf_common): Comment out unused label
6723         allocate_bss.
6724         (obj_elf_frob_symbol): Return 0 (currently broken).
6725         (obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type,
6726         obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common,
6727         obj_elf_line, obj_elf_previous): Add int argument.
6728         (obj_elf_write_symbol_p): Make static.
6729         * config/obj-elf.h (obj_elf_write_symbol): Add prototype.
6730         * config/tc-hppa.h: Remove declarations of functions declared in
6731         read.h.
6732         * config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT.
6733         (s_bss): Add int argument.
6734         (fits_in_signed_byte, smallest_imm_type): Make argument unsigned.
6735         (dummy): Remove unused function.
6736         (md_assemble): Rename local o to op to avoid shadowing.
6737         (tc_gen_reloc): Rename local reloc to rel to avoid shadowing.
6738         * config/tc-m68k.c (s_data1, s_data2): Add int argument.
6739         * config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use
6740         %ld in error messages.
6741         * config/tc-sparc.c: Remove duplicate declarations.
6742         (getExpression): Rewrite condition to avoid empty conditional
6743         body.
6744         (s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int
6745         argument.
6746
6747 Thu Sep  9 17:10:00 1993  Ken Raeburn  ([email protected])
6748
6749         Changes from Jeff Law:
6750
6751         * config/tc-hppa.c (md_assemble): Fix typo.
6752         (pa_ip): Delete unused variables and labels.  Do not check for
6753         unsigned values being < 0, it can't happen.
6754         (is_same_frag): Return a value in recursive call case.
6755         (pa_callinfo): Delete unused variables and labels.
6756         (pa_comm): Likewise.
6757         (pa_copyright): Likewise.
6758         (pa_export): Likewise.
6759         (pa_import): Likewise.
6760         (pa_param): Likewise.
6761         (pa_space): Likewise.
6762         (pa_subspace): Likewise.
6763
6764 Thu Sep  9 15:05:34 1993  Ian Lance Taylor  ([email protected])
6765
6766         * read.c (get_stab_string_offset, s_stab_generic): If
6767         BFD_ASSEMBLER, call subseg_set rather than subseg_new.
6768
6769 Wed Sep  8 15:09:17 1993  Ian Lance Taylor  ([email protected])
6770
6771         * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
6772         default flag values.
6773
6774 Tue Sep  7 10:22:52 1993  Stan Shebs  ([email protected])
6775
6776         * read.c: (change_to_section): Don't include body if not MANY_SECTIONS.
6777
6778         * read.c: (s_stab, s_xstab, s_desc): New functions to parse
6779         various stab-related directives.
6780         * read.h: (s_stab, s_xstab, s_desc): New function prototypes.
6781         * write.c: (merge_data_into_text): Fix ifdef tangle.
6782         * config/obj-coffbfd.c (current_stab_symbol): Fake symbol
6783         for stab reader to use.
6784         * config/obj-coffbfdh.h (obj_symbol_type): Added fields for
6785         stab reader, macros to access.
6786
6787 Fri Sep  3 16:44:03 1993  Ken Raeburn  ([email protected])
6788
6789         * config/obj-elf.h (elf_symbol): No longer special-cased on
6790         sparcv9, since elf_symbol_type is now independent of size.
6791
6792         * config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type.
6793
6794         * config/tc-hppa.h (struct default_subspace_dict, struct
6795         default_space_dict): Field "sort" is now unsigned char.
6796
6797         * config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align
6798         columns for easier reading.
6799         (bcmp, index): Deleted USG-specific definitions.  Should be dealt
6800         with in ho-*.h, or in libiberty.  Changed mention of index to
6801         strchr.
6802         (label_symbolP, label_symbol_defined, callinfo_found,
6803         within_entry_exit, exit_processing_complete, within_procedure,
6804         pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc,
6805         label_symbols_rootP, pa_get_label, pa_label_is_defined,
6806         pa_undefine_label): Now static.
6807         (movers): Now const, in addition to pointing to const data.
6808         * config/tc-hppa.h (label_symbolS_rootP, pa_get_label,
6809         pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc):
6810         Delete declarations.
6811
6812         Merged more changes from Jeff Law and Pete Hoogenboom:
6813
6814         * config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove
6815         entries for .stab and .stabstr.
6816
6817         * config/obj-elf.c: (elf_stab_symbol_string):  Set the
6818         SEC_LOAD attribute for the .stabstr section.
6819         (obj_elf_stab_generic):  Set the SEC_LOAD attribute for the
6820         .stab section.
6821         (obj_elf_stab_generic):  Change '#if 1' to '#if 0'.
6822         (obj_elf_stab_generic):  Incorrect byte count on call to
6823         md_number_to_chars function.
6824
6825         * config/tc-hppa.c (hppa_tc_symbol): Static functions need
6826         argument relocation bits too.
6827
6828         * config/tc-hppa.c (pa_stringer): Correctly handle escaping
6829         characters which should appear unaltered in the output string (for
6830         example an escaped double-quote).
6831
6832         * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always
6833         initialize name.
6834         (pa_parse_neg_cmpsub_cmpltr): Likewise.
6835         (pa_parse_nonneg_add_cmpltr): Likewise.
6836         (pa_parse_neg_add_cmpltr): Likewise.
6837
6838         * config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype
6839         for now.
6840         (cons_fix_new_hppa): Likewise.
6841         * config/tc-hppa.c (md_apply_fix): Fix type of valp to match
6842         prototype.
6843
6844         * config/tc-hppa.c: Include libhppa.h.
6845
6846         * config/tc-hppa.h: Delete extern declarations of functions
6847         found in libhppa.h.
6848
6849         * config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef
6850         OBJ_ELF conditionals.
6851         * config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels
6852         on the PA.
6853
6854 Thu Sep  2 10:43:57 1993  Ian Lance Taylor  ([email protected])
6855
6856         * config/tc-mips.c (macro_build): Accept 'z', and ignore it.
6857         (macro): Use "z,s,t" for div instructions to match corresponding
6858         change in opcode table.
6859         (mips_ip): Added 'z'--must be zero register.
6860
6861 Wed Sep  1 15:56:42 1993  Ken Raeburn  ([email protected])
6862
6863         * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare
6864         tc_gen_reloc correctly.
6865
6866         * configure.in: Use "case" instead of "if" when possible.  Rewrote
6867         Makefile editing to reduce work done.  Treat "hppa*" as "hppa".
6868
6869 Wed Sep  1 12:19:07 1993  K. Richard Pixley  ([email protected])
6870
6871         * config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for
6872           section type of data.  'd' seems to be used for m88k.
6873
6874 Wed Aug 25 22:33:22 1993  Ian Lance Taylor  ([email protected])
6875
6876         * config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons,
6877         s_mips_space): Set insn_label to NULL to avoid changing it at the
6878         next .align statement.
6879         (append_insn): Don't swap jal with instruction that sets the
6880         register that jal sets.
6881
6882 Wed Aug 25 16:15:57 1993  K. Richard Pixley  ([email protected])
6883
6884         * configure.in: recognize m88110.
6885
6886 Wed Aug 25 13:37:46 1993  Ken Raeburn  ([email protected])
6887
6888         Merged changes from Pete Hoogenboom and Jeff Law at Utah:
6889         * config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should
6890         not be on for .hppa_unwind.
6891         (md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS.
6892         (pa_param): New function to handle .PARAM directives.
6893         (pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr
6894         functions.  Handle '|' for movb; allow movb,n.
6895         (pa_parse_nonneg_cmpsub_cmpltr): Delete old useless
6896         version.  Handle cases where no completer exists for
6897         comb,n or addb,n.
6898         (pa_parse_neg_cmpsub_cmpltr): Handle cases where no
6899         completer exists for comb,n or addb,n.  Make logic
6900         mirror that of pa_parse_nonneg_cmpsub_cmpltr.
6901         (pa_parse_nonneg_add_cmpltr): Likewise.
6902         (pa_parse_neg_add_cmpltr): Likewise.
6903         * tc-hppa.h (pa_param): Declare.
6904
6905 Tue Aug 24 15:41:35 1993  Ken Raeburn  ([email protected])
6906
6907         * config/tc-hppa.c (hppa_tc_make_symextn_section): Now static.
6908         Added forward declaration.
6909
6910         Merged changes from Pete Hoogenboom and Jeff Law at Utah:
6911
6912         * config/obj-elf.c (elf_frob_file): Arguments were incorrect on
6913         call to elf_tc_make_sections.
6914         (obj_elf_version): A .note section shouldn't have the SEC_ALLOC
6915         attribute.
6916
6917         * config/tc-hppa.c (hppa_tc_make_sections): Add some processing to
6918         handle symbol extension sections.
6919
6920         * config/tc-hppa.c (pa_build_symextn_section): New function to
6921         create a symbol extension section.
6922         (pa_export_args): Make call to pa_build_symextn_section.
6923         (hppa_tc_symbol, hppa_tc_make_sections,
6924         hppa_tc_make_symextn_section): New functions.
6925         * config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections
6926         macros.
6927
6928         * read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the
6929         BFD_ASSEMBLER branch as well.
6930
6931         * config/tc-hppa.h: If ELF is the target object format, define
6932         some ELF- and hppa-specific types and constants.
6933
6934         * config/tc-hppa.c (getExpression): Fix a typo.
6935
6936         * read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine
6937         if a `=' is part of an instruction.
6938         (read_a_source_file): Handle case where end-of-line markers are
6939         also used within instructions.
6940         * config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define.
6941
6942         * config/tc-hppa.c (md_apply_fix_1): Keep relocations for
6943         out-of-range branches/'calls using "bl" or calls which may need
6944         argument relocation stubs.  Do not need/keep relocations for
6945         conditional branches.
6946         (elf_hppa_final_processing): Fix calculation of function size.
6947
6948         * config/obj-elf.c (obj_elf_version): Mark .note section as
6949         READONLY.
6950
6951         * config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the
6952         address of exp, to expression.
6953         (pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on.
6954         (md_apply_fix_1): Delete unwanted comments.
6955         (process_exit): Symbols marking the end of a function are always
6956         BSF_LOCAL.
6957
6958         * config/tc-hppa.c: Include elf32-hppa.h from BFD tree.
6959         (pa_space): Declare and initialize gdb_section.
6960
6961         * config/obj-elf.c (elf_frob_file): Change
6962         elf_tc_final_processing_hook to elf_tc_final_processing.
6963
6964         * config/tc-hppa.c (fix_new_hppa): Fix argument list to match
6965         argument type declarations.
6966         (getExpression): Fix typo.
6967         (pa_export_args): Change elf_symbol_type to elf32_symbol_type.
6968         (elf_hppa_final_processing): Likewise.  Name changed from
6969         elf_hppa_final_processing_hook.
6970         (start_symbol_root, start_symbol_last): Deleted.
6971
6972         * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo.
6973
6974         * config/tc-hppa.h: Replace "symbolS" with "struct symbol" to
6975         avoid changing include ordering.
6976
6977         * config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'.
6978
6979 Mon Aug 23 12:47:58 1993  Ian Lance Taylor  ([email protected])
6980
6981         * config/tc-mips.c (set_at): Added unsignedp argument.  Use
6982         load_register.
6983         (set_at_unsigned): Removed; changed callers to use set_at.
6984         (load_register): Removed unused ip argument.  Changed callers.
6985         (append_insn): Don't swap branch and branch likely.
6986         (macro_build): Handle 'u'.
6987         (load_register): Handle 64 bit constants.
6988         (macro): Added M_DABS, removed M_ABSU.  Numerous changes to
6989         support 64 bit constants.
6990         (mips_ip): Use hex constants in range checks for clarity.
6991         (md_number_to_chars): Support 8 byte values.
6992
6993 Fri Aug 20 16:50:59 1993  K. Richard Pixley  ([email protected])
6994
6995         * config/tc-m88k.h: updated copyrights.
6996           (TC_CONS_RELOC): declare to be RELOC_32.
6997
6998 Fri Aug 20 11:16:44 1993  Ian Lance Taylor  ([email protected])
6999
7000         * config/tc-mips.c (mips_isa): New static variable.
7001         (md_begin): Initialize mips_isa based on TARGET_CPU.  Don't sanity
7002         check macros.  Set text alignment and GP size here.
7003         (md_assemble): Don't set text alignment and GP size here.
7004         (append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
7005         Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S.  Add
7006         a NOP after a branch likely.
7007         (mips_emit_delays): Don't insert NOPS for load delays if mips_isa
7008         >= 2.
7009         (macro): Support r6000 and r4000 macros.
7010         (mips_ip): Check insn ISA level against mips_isa before using it.
7011         Added 'x' case for ignored register.
7012         (md_parse_option): Handle -mipsN and -mcpu=XX.
7013
7014 Fri Aug 20 01:26:52 1993  Ken Raeburn  ([email protected])
7015
7016         * config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero".
7017
7018 Thu Aug 19 12:15:18 1993  Ken Raeburn  ([email protected])
7019
7020         * config/tc-sparc.c (s_local): Function moved and renamed...
7021         * config/obj-elf.c (obj_elf_local): ...to here.
7022         * config/tc-sparc.c (md_pseudo_table), config/obj-elf.c
7023         (obj_pseudo_table): Move handling of ".local".
7024
7025         * tc.h (md_parse_option): Don't declare if defined as a macro.
7026
7027         * config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as
7028         BFD_RELOC_NONE.
7029         (md_parse_option): New macro, converted from function.
7030         * config/tc-i386.c (md_parse_option): Function deleted.
7031         (comment_chars) [OBJ_ELF]: Include "/".
7032         (line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
7033         (md_assemble): Cast 0xe9 to char explicitly, to avoid compiler
7034         warning.
7035         (md_assemble, md_estimate_size_before_relax, md_create_long_jump):
7036         Call reloc for fix_new type, or use correct enumerator, instead of
7037         always using NO_RELOC.
7038         (i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
7039         tests for valid section.
7040         (md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start
7041         address.
7042         (md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
7043         symbol, compensate for location of reloc.
7044         (reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define
7045         to return zero.
7046
7047 Wed Aug 18 16:51:29 1993  Ken Raeburn  ([email protected])
7048
7049         * config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h.
7050         (obj_elf_weak): New function.
7051         (obj_pseudo_table): Handle ".weak".
7052         (obj_elf_section): If section directive includes a string, ignore
7053         it for now.  Accept "progbits" flag.
7054         (obj_elf_type): Accept `@' before flag name.
7055
7056         * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)'
7057         condition.
7058         (fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather
7059         than checking for bfd_com_section directly.
7060         (fixup_segment): Simplify range check.
7061         (fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition
7062         test.
7063
7064         * symbols.h (S_SET_WEAK): Declare.
7065         * symbols.c (S_SET_WEAK): New function.
7066         (S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT,
7067         it's not a separate flag any more.  Clear BSF_WEAK.
7068
7069         * read.c (potable): Treat "string" like "asciz".
7070
7071 Wed Aug 18 15:30:29 1993  Ian Lance Taylor  ([email protected])
7072
7073         * config/tc-mips.c (append_insn): Don't swap branch instructions
7074         if .set nobopt or .set volatile.
7075         (gp_reference): .lit8 and .lit4 are accessed via the GP register.
7076         (macro): Added cases M_LI_S, M_LI_SS.  Fixed M_LI_D and M_LI_DD.
7077         (mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
7078         * config/obj-ecoff.c: Renamed some variables to avoid shadow
7079         warnings.
7080
7081 Mon Aug 16 14:16:02 1993  david d `zoo' zuhn  ([email protected])
7082
7083         * config/obj-coff.h (S_IS_COMMON): add missing backslash
7084
7085         * configure.in (z8k-*-{coff,sim}): use coffbfd for this target
7086
7087 Thu Aug 12 11:47:58 1993  Ian Lance Taylor  ([email protected])
7088
7089         * config/tc-mips.c (mips_ip): Suggested by
7090         [email protected] (David Johnson): Don't accept symbolic
7091         names for 'E' and 'G' argument types (coprocessor registers) and
7092         don't warn if $1 is used on the coprocessor.
7093         (macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
7094
7095 Mon Aug  9 12:09:14 1993  Doug Evans  ([email protected])
7096
7097         * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
7098         * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
7099         BFD_RELOC_16.
7100         * config/tc-sparc.h (WORKING_DOT_WORD): Define.
7101
7102 Mon Aug  9 13:36:22 1993  Ken Raeburn  ([email protected])
7103
7104         * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
7105         defined or BFD is not.
7106         (relax_and_size_all_segments): Declare local variable fragP.
7107
7108 Fri Aug  6 15:22:53 1993  Ken Raeburn  ([email protected])
7109
7110         * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
7111         bytes with real values, not zeros.
7112
7113 Fri Aug  6 10:57:59 1993  Ian Lance Taylor  ([email protected])
7114
7115         * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
7116         targets, using ecoff and mips-big.
7117
7118         * config/tc-mips.c (mips_ip): From [email protected] (David
7119         Johnson): Added case for 'C' for coprocessor instruction codes.
7120
7121 Thu Aug  5 13:08:56 1993  Ken Raeburn  ([email protected])
7122
7123         * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): Fill in
7124         bytes with real values, not zeros.
7125         (md_pseudo_table): Call cons for .uaxword.
7126
7127         * config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
7128
7129         * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
7130
7131         * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
7132         for verifying symbol chain.
7133         (merge_data_into_text, relax_and_size_all_segments): New
7134         functions, split out from write_object_file.
7135
7136 Tue Aug  3 15:43:55 1993  Ken Raeburn  ([email protected])
7137
7138         * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
7139         debug section is new, allocate an extra 12 bytes at its start.  If
7140         ".stabs" type is N_SO, fill in filename symbol field of that first
7141         entry.  Return early if "goof", to simplify later code slightly.
7142         (adjust_stab_sections): New function.
7143         (elf_frob_file): Apply adjust_stab_sections to each section.
7144
7145         * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
7146         static.
7147         * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
7148         * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
7149         and "popsection", and call cons for "uaword" and "uahalf".
7150
7151         * config/obj-elf.c (obj_elf_version): Use English in error
7152         messages.
7153
7154 Tue Aug  3 11:29:06 1993  Ian Lance Taylor  ([email protected])
7155
7156         * config/obj-ecoff.c: Updated for BFD ECOFF changes.  Now gets the
7157         swapping routines and external structure sizes via the
7158         ecoff_backend information.  No longer includes coff/mips.h.
7159
7160 Mon Aug  2 17:35:48 1993  Ian Lance Taylor  ([email protected])
7161
7162         * config/obj-ecoff.c (get_tag): Save tag name in permanent memory
7163         and in hash_ptr->string.
7164
7165         * app.c (do_scrub_next_char): Reset state to 0 after .appline if
7166         file name is not seen.
7167
7168 Mon Aug  2 11:51:41 1993  Ken Raeburn  ([email protected])
7169
7170         * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): New case,
7171         parallel to BFD_RELOC_32.
7172         (tc_gen_reloc): Accept BFD_RELOC_64.
7173
7174 Thu Jul 29 22:21:28 1993  Ian Lance Taylor  ([email protected])
7175
7176         * write.c: Don't use short int in a prototype.
7177
7178         * expr.c (operand): Make return value simply depend on contents of
7179         returned expression.
7180
7181 Thu Jul 29 18:38:37 1993  david d `zoo' zuhn  ([email protected])
7182
7183         * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
7184
7185 Thu Jul 29 18:38:37 1993  david d `zoo' zuhn  ([email protected])
7186
7187         * config/ho-sunos.h: remove some old function decls that conflict
7188         w/ ANSI, and which weren't needed anyway
7189
7190 Wed Jul 28 16:34:55 1993  Ken Raeburn  ([email protected])
7191
7192         * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
7193         and disabled since it breaks Ian's new symbol-value code.
7194
7195         * expr.c (integer_constant): Accept more digits if BFD64.
7196
7197 Wed Jul 28 11:30:05 1993  Ian Lance Taylor  ([email protected])
7198
7199         * config/tc-m68k.c (m68k_ip): If we have a normal constant when we
7200         expect a bignum, turn it into a bignum.  Output extra zeroes
7201         before a short bignum, rather than after.
7202
7203 Tue Jul 27 15:54:27 1993  Ken Raeburn  ([email protected])
7204
7205         * symbols.c (symbol_new): Conditionalize verify_symbol_chain call
7206         on DEBUG_SYMS, not DEBUG.
7207         (symbol_remove): Likewise.
7208         (symbol_insert): Likewise.
7209
7210 Tue Jul 27 08:45:05 1993  Ian Lance Taylor  ([email protected])
7211
7212         * config/tc-mips.c (mips_optimize): New static variable.
7213         (append_insn): If mips_optimize == 0, always insert NOP
7214         instructions.  If mips_optimize < 2, don't swap branches.
7215         (md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
7216
7217 Mon Jul 26 18:02:43 1993  K. Richard Pixley  ([email protected])
7218
7219         * Makefile.in (clean): if testsuite does not exist, then skip it.
7220
7221 Fri Jul 23 14:13:25 1993  Ian Lance Taylor  ([email protected])
7222
7223         * config/tc-mips.c (prev_insn_unreordered,
7224         prev_prev_insn_unreordered): New static variables.
7225         (append_insn): Don't swap branch instruction if
7226         prev_prev_insn_unreordered (see comment).
7227         (mips_no_prev_insn): Clear the unreordered variables.
7228         (s_mipsset): When turning on reordering, set the unreordered
7229         variables.
7230
7231 Fri Jul 23 13:09:44 1993  Ken Raeburn  ([email protected])
7232
7233         * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
7234         are also magic, and have special default flag settings.
7235         (obj_elf_frob_symbol): Since the return value from this function
7236         isn't used, don't bother calling obj_elf_write_symbol_p, since it
7237         doesn't accomplish anything else.
7238
7239         * config/tc-sparc.c (md_section_align): Round up section size only
7240         for a.out format.
7241
7242         * symbols.c: Don't define DEBUG by default.
7243
7244 Thu Jul 22 12:09:41 1993  Ian Lance Taylor  ([email protected])
7245
7246         * write.c (fix_new_exp): Handle a O_uminus expression.
7247
7248         * expr.c (expr): Don't let absolute_section override
7249         undefined_section for the return value.
7250
7251         * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
7252         pseudo-op with a poc_handler field of NULL, ignore it and treat it
7253         as an instruction instead.
7254         * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
7255         poc_handler field.
7256
7257         * config/tc-h8500.c (md_begin): Use a local variable when
7258         initializing md_relax_table to avoid warnings about modifying a
7259         supposedly const data structure.
7260
7261 Thu Jul 22 10:58:51 1993  Brendan Kehoe  ([email protected])
7262
7263         * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
7264         is defined.
7265
7266 Wed Jul 21 17:32:02 1993  Fred Fish  ([email protected])
7267
7268         * configure.in (case ${host}):  Map *-*-sysv4* to gas_host=sysv.
7269         * configure.in (case ${generic_target}):  Add i[34]86-*-sysv4*
7270         case to set obj_format=elf.  Must go before i386-*-sysv* case that
7271         sets obj_format=coffbsd.  Add *-*-sysv4* to *-*-elf and
7272         *-*-solaris case, and move to before *-sysv* case that wants to
7273         set obj_format to coff.
7274         * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
7275         'exp->X_op'.
7276         * config/tc-i386.c (md_apply_fix):  Fix valp to be 'valueT *' for
7277         BFD_ASSEMBLER case.
7278
7279 Wed Jul 21 12:47:51 1993  Ian Lance Taylor  ([email protected])
7280
7281         * config/obj-aout.c: Include aout/aout64.h.
7282         (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
7283         symbol, so that BFD doesn't tamper with the type.
7284
7285         * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
7286         up opcodes as pseudo-ops even if they don't start with '.'.
7287         * config/tc-m88k.h (NO_PSEUDO_DOT): Define.
7288         * config/tc-m88k.c (md_assemble): Removed special pseudo-op
7289         handling.
7290         (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
7291         Output the low 16 bits for RELOC_HI16, not the high 16 bits.
7292         * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
7293         r_offset field of the reloc to the fixup offset.
7294         (fixup_segments): If TC_M88K, don't warn about fixup overflows.
7295         * doc/as.texinfo: Minor updates.
7296
7297 Tue Jul 20 19:28:56 1993  Ian Lance Taylor  ([email protected])
7298
7299         * Extensive changes to permit symbols to contain any expression
7300         type and to delay the computation of the expression until the
7301         value is actually needed.  This permits setting symbols to values
7302         calculated based on object code size.  Expressions were changed to
7303         no longer be in a section, to stop the overloading of segment and
7304         expression type that previously occurred.
7305
7306         * as.c (big_section, pass1_section, diff_section, absent_section):
7307         Removed.
7308         (expr_section): Added (used for dummy symbols which hold
7309         intermediate expression values).
7310         (perform_an_assembly_pass): Create expr_section, do not create the
7311         sections now removed.
7312         * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
7313         SEG_DIFFERENCE.  Added SEG_EXPR.
7314         (SEG_NORMAL): Corresponding changes.
7315         * subsegs.c (seg_name, subsegs_begin): Changed accordingly.
7316         * write.c (write_object_file): Ditto.
7317         * config/obj-aout.c (seg_N_TYPE): Ditto.
7318         * config/obj-bout.c (seg_N_TYPE): Ditto.
7319         * config/obj-coff.c (seg_N_TYPE): Ditto.
7320         * config/obj-coffbfd.c (seg_N_TYPE): Ditto.
7321         * config/obj-vms.c (seg_N_TYPE): Ditto.
7322
7323         * expr.h (operatorT): Moved in from expr.c, added some values.
7324         (expressionS): Added X_op field, removed X_seg field; renamed
7325         X_subtract_symbol to X_op_symbol.
7326         * expr.c: Extensive changes to assign expression types rather than
7327         sections and to simplify the parsing.
7328         * write.c (fix_new_internal): New static function.
7329         (fix_new): Removed sub_symbol argument.
7330         (fix_new_exp): New function, takes expression argument.
7331         * write.h: Prototype changes for fix_new and fix_new_exp.
7332         * cond.c (s_if): Changed accordingly.
7333         * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
7334         parse_repeat_cons, get_segmented_expression,
7335         get_known_segmented_expression, get_absolute_expression): Ditto.
7336         * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
7337         Ditto.
7338         * write.c (write_object_file): Ditto.
7339         * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
7340         * config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
7341         obj_coff_endef, yank_symbols): Ditto.
7342         * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
7343         * config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
7344         print_insn, md_operand): Ditto.
7345         * config/tc-h8300.c (parse_exp, colonmod24, check_operand,
7346         do_a_fix_imm, build_bytes): Ditto.
7347         * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
7348         get_specific, check, insert, md_convert_frag): Ditto.
7349         * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
7350         md_assemble, pa_ip, getExpression, getAbsoluteExpression,
7351         evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
7352         process_exit): Ditto.
7353         * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
7354         is_complex): Ditto.
7355         * config/tc-i386.c (pe, md_assemble, i386_operand,
7356         md_estimate_size_before_relax, md_create_long_jump): Ditto.
7357         * config/tc-i860.c (md_assemble, getExpression, print_insn):
7358         Ditto.
7359         * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
7360         get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
7361         i960_handle_align): Ditto.
7362         * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
7363         subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
7364         md_estimate_size_before_relax, md_create_long_jump, get_num):
7365         Ditto.
7366         * config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
7367         md_create_short_jump, md_create_long_jump): Ditto.
7368         * config/tc-mips.c (md_assemble, append_insn, gp_reference,
7369         macro_build, macro, my_getExpression): Ditto.  Also removed
7370         get_optional_absolute_expression; just use get_absolute_expression
7371         instead.
7372         * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
7373         fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
7374         * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
7375         * config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
7376         Ditto.
7377         * config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
7378         print_insn): Ditto.
7379         * config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
7380         tip_op, md_assemble): Ditto.
7381         * config/tc-vax.c (seg_of_operand, md_assemble,
7382         md_estimate_size_before_relax, md_create_long_jump): Ditto.
7383         * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
7384
7385 Tue Jul 20 12:17:16 1993  david d `zoo' zuhn  ([email protected])
7386
7387         * configure.in: i386-lynx is the same as i386-coff
7388
7389 Mon Jul 19 15:21:20 1993  Ken Raeburn  ([email protected])
7390
7391         * config/obj-elf.c (obj_elf_previous): New function.
7392         (previous_section, previous_subsection): New vars.
7393         (obj_elf_section): Save current place in case DWARF code wants us
7394         to pop back to it.  Handle unquoted section name as well as quoted
7395         section name.  Don't crash on invalid strings.
7396         (obj_pseudo_table): Handle new pseudos "previous", "2byte", and
7397         "4byte".
7398
7399         * config/obj-elf.h: Don't include struc-symbol.h.
7400         (obj_elf_frob_symbol): Declare arg as struct symbol *.
7401
7402         * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
7403         "L" or "_.L_".
7404
7405         * write.c (write_relocs): New function, split off from
7406         write_contents.  Use memset instead of bzero.
7407         (write_object_file): Apply write_relocs to each section before
7408         applying write_contents.
7409
7410         * read.c (read_begin): Call obstack_begin with values closer to 1K
7411         multiples.
7412         (read_a_source_file, big_cons, float_cons): Use memcpy instead of
7413         bcopy.
7414
7415 Mon Jul 19 14:30:00 1993  Ian Lance Taylor  ([email protected])
7416
7417         * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
7418         calculating opP->isiz; this permits the expression size to be
7419         determined as well, later on.
7420
7421         * expr.c (clean_up_expression): Don't cancel the subtraction of
7422         undefined symbols.
7423
7424         * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
7425         switch to text section rather than data section.
7426
7427 Mon Jul 19 12:35:39 1993  Ken Raeburn  ([email protected])
7428
7429         * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
7430         expression (to take the pc-rel instruction itself into account)
7431         before using the expression, instead of after.
7432
7433 Fri Jul 16 08:56:04 1993  Ian Lance Taylor  ([email protected])
7434
7435         * read.c (float_cons): Simplified parsing logic.  If
7436         REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
7437
7438         * symbols.c (colon): Rather than a special case for TC_HPPA,
7439         use new macro tc_frob_label.
7440         * config/tc-hppa.h (tc_frob_label): Define.
7441
7442         * config/tc-mips.c: Many changes to support simple assembler
7443         optimization.
7444         (insn_label, prev_insn, prev_prev_insn, dummy_opcode,
7445         prev_insn_valid, prev_insn_frag, prev_insn_where,
7446         prev_insn_fixp, prev_insn_is_delay_slot): New static
7447         variables.
7448         (insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
7449         mips_align, s_stringer, s_mips_space): New static functions.
7450         (mips_define_label): New global function.
7451         (md_pseudo_table): For "ascii", "asciz", "asciiz", call
7452         s_stringer.  Changed argument to float_cons from 0 or 1 to 'f'
7453         or 'd'.  For "space" call s_mips_space.
7454         (md_begin): Call mips_no_prev_insn.
7455         (append_insn): Only insert necessary NOP instructions.
7456         (macro): Call mips_emit_delays before setting mips_noreorder.
7457         Increment and decrement mips_noreorder rather than using
7458         save_reorder_condition.  Don't bother to use noreorder in
7459         M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
7460         (md_atof): Handle floating point numbers correctly for both
7461         big and little endian targets.
7462         (s_align, s_cons): Call mips_align rather than frag_align.
7463         (s_change_seg, s_cons): Call mips_emit_delays.
7464         (s_float_cons): Let float_cons do the work.
7465         (s_mipsset): Call mips_emit_delays when setting noreorder.
7466         * config/tc-mips.h (tc_frob_label): Define to be
7467         mips_define_label.
7468
7469         * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
7470         ecoff_frob_files): Consistently use S_GET_VALUE rather than
7471         bfd_asymbol_value.  Warn if taking difference of symbols in
7472         different segments.
7473
7474 Thu Jul 15 11:51:03 1993  Ian Lance Taylor  ([email protected])
7475
7476         * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
7477         with a warning.
7478
7479         * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
7480         by md_pcrel_from if we are relocating against a symbol (we still
7481         need md_pcrel_from for a PC relative relocation within the same
7482         file).
7483         * config/tc-m88k.c (md_pcrel_from): Corrected return value.
7484         (omagic): Removed unused variable.
7485
7486         * Preliminary support for m88k-coff.
7487         * configure.in (m88k-*-coff*): New target.  Use coffbfd and
7488         m88kcoff.
7489         * config/m88kcoff.mt: New file.
7490         * read.c (lex_type): New macro LEX_AT to set lex type of '@'.
7491         (pseudo_set): Handle difference of symbols in different fragments
7492         by saving the entire expression as the value of the symbol.
7493         * symbols.c (resolve_symbol_value): Resolve difference
7494         expressions.
7495         * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
7496         "sdef" as a synonym for "def".
7497         * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
7498         TARGET_FORMAT.
7499         (S_IS_LOCAL): Any symbol which includes \001 in the name is local.
7500         * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
7501         m88k port up to date, and to add COFF support.
7502
7503 Wed Jul 14 15:09:32 1993  Ian Lance Taylor  ([email protected])
7504
7505         * Removed sy_forward and replaced it with an undefined expression
7506         as the value of a symbol.
7507         * struc-symbol.h (struct symbol): Removed sy_forward field.  Added
7508         sy_resolved and sy_resolving single bit fields.
7509         * symbols.c (symbol_new): Don't initialize sy_forward field.
7510         (resolve_symbol_value): New function to adjust symbol value by
7511         fragment address, using recursion to resolve forward symbols.
7512         * symbols.h: Added prototype for new function.
7513         * read.c (pseudo_set): Set symbolP->sy_value to an undefined
7514         expression rather than setting symbolP->sy_forward.
7515         * write.c (write_object_file): Use resolve_symbol_value on
7516         symbols, keeping the common case (the old behaviour) inline.
7517         * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
7518         handling (subsumed by write.c change).
7519         * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
7520         sy_value rather than sy_forward.
7521         * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
7522         expression segment rather than sy_forward.
7523         (yank_symbols): Use resolve_symbol_value.
7524         (crawl_symbols): Removed extra pass over symbols.
7525         * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
7526         config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
7527         symbols which handled sy_forward; use resolve_symbol_value
7528         instead.
7529         * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
7530         Define.
7531         * config/obj-elf.c (obj_elf_stab_generic): Check expression
7532         segment rather than sy_forward.
7533         * config/obj-vms.c (VMS_Check_For_Main): Don't initialize
7534         sy_forward; do initialize sy_resolved and sy_resolving.
7535         * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
7536
7537         * Changes to keep a full expression as the value of a symbol, not
7538         just a longword:
7539         * struc-symbol.h: New field sy_value.
7540         * as.h: Include expr.h before struc-symbol.h.
7541         * expr.h: Use struct symbol rather than symbolS.
7542         * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
7543         of sy_value field; compile unconditionally, not just if
7544         BFD_ASSEMBLER.
7545         * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
7546         * write.c (write_object_file): Set BFD symbol value to gas symbol
7547         value.
7548         * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
7549         config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
7550         (S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
7551         * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
7552         * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
7553         S_GET_VALUE rather than ost_entry.n_value.
7554         * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
7555         (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
7556         config/obj-coffbfd.c (symbol_to_chars): Get value to write out
7557         using S_GET_VALUE--don't assume it is already set.
7558         * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
7559         symbol value.
7560         * config/obj-vms.c (various): Don't assign directly to
7561         S_GET_VALUE; use S_SET_VALUE instead.
7562
7563 Wed Jul 14 09:35:23 1993  Doug Evans  ([email protected])
7564
7565         * configure.in: Make sparc64-*-aout* use bfd gas.
7566
7567         * configure.in: Recognize h8300h.
7568
7569 Tue Jul 13 12:09:44 1993  Steve Chamberlain  ([email protected])
7570
7571         * config/tc-h8500.c (line_comment_chars): Add hash.
7572         (parse_exp, skip_colonthing, build_bytes): Add support for
7573         R_H8500_HIGH16 relocation type.
7574
7575 Mon Jul 12 11:15:34 1993  Ken Raeburn  ([email protected])
7576
7577         * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
7578         attribute name.  Handle `execinstr' attribute.
7579
7580 Mon Jul 12 07:22:28 1993  Ian Lance Taylor  ([email protected])
7581
7582         * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
7583         there is another alternative for the instruction.
7584
7585 Fri Jul  9 17:31:34 1993  Roland H. Pesch  ([email protected])
7586
7587         * doc/as.texinfo: updates for H8/300H
7588
7589 Thu Jul  8 14:41:43 1993  Mark Eichin  ([email protected])
7590
7591         * config/tc-i960.c (md_create_short_jump, md_create_long_jump,
7592         md_number_to_chars, md_section_align): Adjusted to use valueT,
7593         addressT, to match tc.h.
7594
7595 Thu Jul  8 14:15:05 1993  Ken Raeburn  ([email protected])
7596
7597         * config/tc-sparc.c (s_common): Revamp to handle both syntaxes,
7598         independent of format.
7599
7600 Thu Jul  8 07:25:25 1993  Doug Evans  ([email protected])
7601
7602         * config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h.
7603
7604 Wed Jul  7 18:11:07 1993  david d `zoo' zuhn  (zoo at rtl.cygnus.com)
7605
7606         * configure.in: define CROSS=-DCROSS_COMPILE if it is a cross
7607         build; also recognize h8300-*-coff
7608
7609 Wed Jul  7 10:21:24 1993  Ian Lance Taylor  ([email protected])
7610
7611         * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
7612         core just because somebody uses a label before it is defined.
7613
7614         * config/mips-opcode.h: Moved to opcode/mips.h.
7615         * config/tc-mips.c: Include opcode/mips.h rather than
7616         mips-opcode.h.
7617         (append_insn): An extra NOP is only needed after instructions
7618         which set HI or LO, not after instructions which read it.
7619         (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
7620         (macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
7621         * config/tc-mips.h (struct mips_opcode): Don't define.
7622         * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
7623         Set to $(srcdir)/../include/opcode/mips.h.
7624
7625         Get the MIPS assembler up to speed with other gas changes:
7626
7627         * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
7628         Removed; don't change the symbol value.
7629         (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
7630         bfd_asymbol_value rather than S_GET_VALUE to include section
7631         vma in symbol value.
7632         (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
7633         doesn't output them.  Set the vma of sections.
7634         * config/obj-ecoff.h: Don't define obj_frob_symbol.
7635         * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
7636         longer necessary.
7637         (various): use valueT rather than long.
7638
7639 Wed Jul  7 08:33:30 1993  Ken Raeburn  ([email protected])
7640
7641         * config/tc-sparc.h (ENV64): Define for v9.
7642
7643         * config/tc-sparc.c (s_xword): For numbers, call big_cons.
7644         (sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64
7645         relocation types.
7646         (md_number_to_chars): Handle 8-byte value.
7647
7648         * config/obj-elf.h (elf_symbol): For v9, use 64-bit symbol type.
7649
7650         * as.h (valueT): Typedef moved here.
7651         * struc-symbol.h (valueT): ...from here.
7652         * write.c (write_object_file): Locals from_addr, to_addr,
7653         table_addr are now addressT.  Supply prototype for bfd_alloc for
7654         now.
7655         (fixup_segment): Local add_number is now valueT.  Correct some
7656         range-checking bugs.
7657         (relax_align): Type `int' should be sufficient for the exponent.
7658         (fix_new): Argument offset is type offsetT.  Locals size and
7659         newsize are type valueT.
7660         * write.h (struct fix): Fields fx_offset and fx_addnumber are now
7661         type valueT.
7662         (fix_new): Fix prototype.
7663         * symbols.c (symbol_new): Symbol value is type valueT.
7664         (S_SET_VALUE, S_GET_VALUE): Likewise.
7665         (S_IS_*): Specify int return type explicitly.
7666         * symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed
7667         prototypes.
7668         * read.c (s_comm): Values read are type valueT.
7669         * expr.h (expressionS): Field X_add_number is an offsetT.
7670         * tc.h (md_create_long_jump, md_create_short_jump,
7671         md_section_align): Addresses are now type addressT.
7672         (md_number_to_chars, md_apply_fix): Pass value as valueT.
7673         * config/tc-i386.c (md_create_short_jump, md_create_long_jump,
7674         md_number_to_chars, md_section_align): Adjusted.
7675         * config/tc-sparc.c (sparc_ip): Initialize `len' variable to make
7676         gcc shut up.
7677         (md_create_short_jump, md_create_long_jump, md_number_to_chars,
7678         md_section_align): Adjusted.
7679
7680         * config/tc-sparc.c (s_reserve): Permit use for other than a.out
7681         format.
7682         (s_common): Handle Solaris-2 version.
7683
7684         * config/ho-generic.h (free): Returns void if __STDC__.
7685
7686         * config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file,
7687         elf_file_symbol): Declare.
7688
7689         * expr.c (floating_constant, integer_constant): Now return void.
7690
7691 Thu Jul  1 12:13:43 1993  Ian Lance Taylor  ([email protected])
7692
7693         * configure.in: Match on sparc*-fujitsu-none rather than
7694         sparclite*-fujitsu-none.
7695
7696 Wed Jun 30 11:12:02 1993  Ian Lance Taylor  ([email protected])
7697
7698         * read.c (cons): Conditionalize parsing of expression.  Move
7699         putting value into object file into separate function.  Separate
7700         out MRI and WANT_BITFIELDS cases into separate functions.
7701         (emit_expr): New function to write data into object file.
7702         Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
7703         processor types.
7704         (parse_bitfield_cons): New function to parse bitfield expressions
7705         as used by i960 assemblers.  Only compiled if
7706         BITFIELD_CONS_EXPRESSIONS is defined.
7707         (parse_mri_cons): New function to parse MRI style strings.  Only
7708         compiled if MRI is defined.
7709         (parse_repeat_cons): New function to parse repeat counts.  Only
7710         compiled if REPEAT_CONS_EXPRESSIONS is defined.
7711         * read.h (emit_expr): Added declaration of new function.
7712         * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
7713         * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
7714         * config/tc-hppa.c (parse_cons_expression_hppa): New function to
7715         parse a HPPA expression, rather than special case in cons
7716         function.
7717         (cons_fix_new_hppa): New function to emit an HPPA fixup, rather
7718         than special case in emit_expr function.
7719         * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
7720         Define to use new functions from tc-hppa.c.
7721         * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
7722         (WANT_BITFIELDS): Removed; now obsolete.
7723         * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
7724         * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
7725         NS32K fixup, rather than special case in emit_expr function.
7726         * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
7727         cons_fix_new_ns32k.  Also use PARAMS rather than checking
7728         __STDC__.
7729         * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.
7730
7731         * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
7732         Don't core dump if gas has no information about a section.
7733
7734 Wed Jun 30 06:21:27 1993  Ken Raeburn  ([email protected])
7735
7736         * config/tc-sparc.c (md_begin): If sparcv9 is defined, reset
7737         current_architecture to v9 automatically.
7738
7739         * config/tc-sparc.h (TARGET_FORMAT): Use elf64-sparc for v9.
7740
7741         * config/tc-sparc64.h, config/tc-sparc64.c: New files.
7742         * configure.in: Use sparc64 cpu files for v9, and default to elf
7743         format.
7744
7745         * write.c (relax_and_size_seg): Always fully process a section.
7746         Section size is last frag's (vm)address plus its size.  If no
7747         relocations are present, force SEC_RELOC flag clear.
7748         (dump_section_relocs): New debugging routine.
7749         (adjust_reloc_syms): New routine, broken out from write_contents.
7750         Don't adjust relocs that are already relative to section symbol.
7751         Look for obj_fix_adjustable macro to know what else to skip,
7752         instead of obj_write_symbol.  Look for section symbol stored in
7753         section information.
7754         (write_object_file): Map adjust_reloc_syms over all sections.
7755         (write_contents): Clear SEC_RELOC flag if no relocations are
7756         found.
7757
7758         * as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to
7759         keep it quiet.
7760
7761         * write.c (remove_subsegs): Don't define for BFD_ASSEMBLER.
7762
7763 Fri Jun 25 14:42:53 1993  K. Richard Pixley  ([email protected])
7764
7765         * Makefile.in (all, dvi, info, install-info, clean-info): do not
7766           echo recursion lines.
7767           (install-info, clean-info): collapse into the dvi and info rule.
7768
7769 Fri Jun 25 10:47:24 1993  Doug Evans  ([email protected])
7770
7771         * config/tc-sparc.c (sparc_ip): Remove support for %d/%q fp regs.
7772         All fp regs are now specified as %f.
7773         (priv_reg_table): fpq -> fq.
7774
7775 Fri Jun 25 03:43:06 1993  Ken Raeburn  ([email protected])
7776
7777         * as.h (strstr): Disable declaration for now.
7778         (fprint_value, sprint_value): Declare.
7779
7780         * subsegs.c (subseg_new_rest): Use memset to clear new frag.
7781         (subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields.
7782
7783         * expr.c (expr_part): Made sanity checks a.out-specific.
7784         (expr): Disabled sanity checks.
7785
7786         * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for
7787         section symbol.
7788         * subsegs.c (subseg_change): Initialize section symbol pointer
7789         when setting up a new section.
7790
7791         * symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata
7792         field back at gas symbol structure.
7793
7794         * symbols.c (colon): Cast obstack_next_free value to char* before
7795         doing arithmetic on it.
7796         * subsegs.c (subseg_new_rest): Likewise.
7797         * as.h (frag_now_fix): Likewise.
7798
7799         * config/obj-elf.c (elf_file_symbol): Use subseg_new instead of
7800         calling bfd_make_section_old_way directly, and call subseg_set
7801         instead of subseg_change.  Now returns void.
7802         (obj_elf_write_symbol): Only check local symbols for now.
7803         (elf_stab_symbol): Now static and void, and disabled until it
7804         works completely.
7805         (obj_elf_size): For expression values, fail silently for now.
7806         (obj_symbol_new_hook): Do nothing.
7807
7808         * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22
7809         relocation.
7810         (s_local) [OBJ_ELF]: New function.
7811         (md_pseudo_table) [OBJ_ELF]: Call it for "local".
7812         (s_common): Rearrange to handle Solaris .common pseudo, which may
7813         sometimes use bss space instead of common.
7814         * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field.
7815
7816 Thu Jun 24 16:33:53 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
7817
7818         * configure.in: set host config to hpux for hppa*-hp-hpux
7819
7820 Thu Jun 24 13:35:06 1993  Ken Raeburn  ([email protected])
7821
7822         * app.c (app_pop, app_push): Fix bug reported by Chris Arthur.
7823
7824 Tue Jun 22 01:04:23 1993  Ken Raeburn  ([email protected])
7825
7826         * subsegs.c (subseg_new): Don't special-case a.out -R flag here.
7827         * config/obj-aout.c (s_sect): Do it here.
7828
7829         * as.h (BAD_CASE): Don't make some lame compilers think we want
7830         substitution inside strings.
7831
7832         * as.c (print_version_id): New function, split off from main.
7833         (main): Call it.
7834         * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id
7835         for -V.  Ignore -Q and -s options for now.
7836
7837 Mon Jun 21 17:37:59 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
7838
7839         * Makefile.in: make installation & builds work again for crosses
7840
7841 Sun Jun 20 18:18:26 1993  Ken Raeburn  ([email protected])
7842
7843         * listing.c (list_symbol_table): Rewrite to print wide (>32 bits)
7844         symbol values correctly.
7845
7846         * write.c (write_object_file): Deleted unused variables.
7847         (fixup_segment): Use sprint_value.
7848
7849         * messages.c (sprint_value, fprint_value): New routines.
7850
7851         * config/obj-elf.c (elf_stab_symbol): Now returns void.
7852         (obj_elf_stab_generic): Fix typo in logic.
7853
7854         * Makefile.in (INCLUDES): Look in ../bfd for bfd.h.
7855
7856         * as.h (addressT, offsetT): New types, using BFD types if
7857         available.
7858         (relax_addressT, struct frag): Use them.
7859         * struc-symbol.h (valueT, struct broken_word): Likewise.
7860
7861         * as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
7862         * subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
7863
7864 Thu Jun 17 16:53:56 1993  david d `zoo' zuhn ([email protected])
7865
7866         * Makefile.in: canonicalize install.sh; for use within
7867         this directory (and subdirs)
7868
7869 Sun Jun 20 02:34:04 1993  Ashley Saulsbury ([email protected])
7870
7871         * m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
7872         specified, should have both S1 and S2 fields identical
7873         If only finding the problem was as fast as fixing the bug !!!!
7874
7875 Tue Jun 15 16:01:57 1993  Ken Raeburn  ([email protected])
7876
7877         * write.c (write_contents): Do write out non-loadable sections.
7878         Debug sections can fall in this category.
7879
7880         * read.c (s_app_file): Call elf_file_symbol for ELF files.
7881         * config/obj-elf.c (elf_file_symbol): New function.
7882
7883         * config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_...,
7884         added argument to specify section base name.
7885         (obj_elf_stab_generic): Renamed from ..._stab.  New argument
7886         specifies section base name.
7887         (obj_elf_stab): New function, calls obj_elf_stab_generic with
7888         ".stab" as section base name.
7889         (obj_elf_xstab): New function, calls obj_elf_stab_generic.
7890         (obj_elf_type): Handle "object".  Use bitwise-or to merge in
7891         symbol flags rather than simply replacing, so global/local flags
7892         are preserved.
7893         (obj_elf_ident): Rewrite.
7894
7895 Tue Jun 15 17:03:25 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
7896
7897         * Makefile.in: remove parentdir support; use INSTALL_XFORM
7898
7899 Wed Jun  9 11:26:07 1993  Ian Lance Taylor  ([email protected])
7900
7901         * config/tc-i386.c (md_pseudo_table): .align uses a power of two
7902         for any a.out target, not just Linux and 386BSD.
7903         * config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out
7904         target.
7905
7906 Mon Jun  7 13:33:19 1993  Ken Raeburn  ([email protected])
7907
7908         * config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h.  They
7909         don't exist or duplicate other inclusions.
7910
7911         * config/tc-vax.h (NO_RELOC): Define.
7912
7913 Mon Jun  7 09:55:03 1993  Doug Evans  ([email protected])
7914
7915         * config/tc-sparc.c (sparc_ip): Fix parsing of asi number.
7916         Fix error message.
7917
7918 Sat Jun  5 19:32:52 1993  Torbjorn Granlund  ([email protected])
7919
7920         * gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions.
7921         * gas/config/tc-m88k.c (get_reg): New arg reg_prefix.  Compare first
7922         char to reg_prefix instead of to 'r'.
7923         (calcop): Change calls to get_reg.
7924         (calcop): Handle new case 'x' to set reg_prefix.
7925         (calcop): Set reg_prefix to 'r' after each call to get_reg.
7926         (cmpslot): Add 88110 conditions.
7927
7928         * gas/config/m88k-opcode.h: Swap cases for "rot" for consistency.
7929
7930         * gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer
7931         before returning.
7932
7933         * gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics
7934         adjacent; mov.s and mov.d swapped.
7935         (m88k_opcodes): Fix typo `r2' -> `2'.
7936
7937 Fri Jun  4 15:59:31 1993  Steve Chamberlain  ([email protected])
7938
7939         * config/h8300.c: Support for H8/300-H opcodes.
7940
7941         * config/obj-coffbfd.c (w_strings): String table length is 4
7942         bytes, no matter what the host int size is.
7943
7944         * configure.in (alpha-*-osf*): New.
7945
7946 Fri Jun  4 07:51:18 1993  Ian Lance Taylor  ([email protected])
7947
7948         * configure.in (mips-*-ecoffl*): New target; use ecoff and
7949         mips-lit.
7950         (mips-*-ecoff*): Added trailing '*'.
7951
7952         * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
7953         first FDR in a file to be zero.
7954
7955 Thu Jun  3 14:09:59 1993  Ken Raeburn  ([email protected])
7956
7957         * Makefile.in (VERSION): Jump to 2.1.4.
7958
7959         * config/ho-hppabsd.h: New file, from Peter Hoogenboom.
7960
7961         * config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for
7962         ECOFF format.
7963
7964 Tue Jun  1 15:21:57 1993  Ken Raeburn  ([email protected])
7965
7966         * config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a
7967         separate '851 mmu.
7968
7969         * config/obj-elf.c, config/obj-elf.h: Update for new type, macro,
7970         and routine names.  Assuming 32 bits for now.
7971
7972         * config/obj-elf.c (elf_frob_file): Look for macro
7973         elf_tc_final_processing_hook, instead of assuming a function
7974         always exists.
7975         * config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from
7976         tc_final_processing_hook.
7977         * config/tc-hppa.h (elf_tc_final_processing_hook): Use it.
7978
7979         * config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros
7980         moved here from obj-elf.h.
7981         * config/obj-elf.h: Don't include CPU-specific header files.
7982
7983 Sun May 30 16:49:37 1993  Peter Hoogenboom  ([email protected])
7984
7985         * configure.in: configurations should match on 'hppa*' not 'hppa'.
7986
7987         * read.c: Add support for HPPA assembly language syntax (denoted
7988         with '#ifdef TC_HPPA').
7989
7990         * symbols.c: Add support for HPPA assembly language syntax (denoted
7991         with '#ifdef TC_HPPA').
7992
7993         * write.c (write_contents):  Add support for HPPA-style
7994         relocations.
7995
7996         * config/obj-elf.c: Stab symbols weren't written properly.
7997         (obj_elf_version):
7998         (obj_elf_desc):
7999         (obj_elf_write_symbol):
8000         (obj_elf_write_symbol_p):
8001         (obj_elf_frob_symbol):
8002         (elf_stab_symbol):
8003         (elf_frob_file):
8004
8005         * config/tc-hppa.c: Support for HPPA symbol extension sections.
8006         Remove some unused code.  Support for HPPA assembly language
8007         syntax.
8008
8009         * app.c:
8010
8011         * symbols.c:
8012
8013         * config/obj-elf.h:
8014         (obj_write_symbol):
8015         (obj_frob_file):
8016         (elf_tc_symbol):
8017         (elf_tc_make_sections):
8018
8019         * config/tc-hppa.h:
8020
8021 Sun May 30 21:44:45 1993  Ken Raeburn  ([email protected])
8022
8023         * config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume
8024         hash_new will have succeeded if it returns.
8025         * config/tc-a29k.c (md_begin): Likewise.
8026
8027         * config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is
8028         const.
8029         (mode_from_disp_size, opcode_suffic_to_type): Now inline under
8030         gcc.
8031         (fits_in_{signed,unsigned}_{byte,word}): Likewise.
8032
8033         * expr.c: Delete register declarations; gcc ignores them anyways.
8034
8035 Fri May 28 19:03:32 1993  Ken Raeburn  ([email protected])
8036
8037         * hash.c (hash_new): Use xmalloc, since many callers don't check
8038         for failure.
8039
8040 Thu May 27 13:02:15 1993  Ken Raeburn  ([email protected])
8041
8042         * frags.c (zero_address_frag, bss_address_frag): These are
8043         external.
8044
8045         * tc.h (md_reloc_size): This is const.
8046         * config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c
8047         (md_reloc_size): Now const.
8048
8049         * config/aout_gnu.h (enum machine_type, enum reloc_type): Delete
8050         trailing commas.
8051         * as.h (enum _segT): Ditto.
8052
8053         * struc-symbol.h (N_TYPE_seg): This should be const.
8054
8055 Thu May 27 11:43:59 1993  Michael Meissner  ([email protected])
8056
8057         * config/obj-ecoff.c (add_file): Cast file_name to char * in
8058         listing_source_file call.
8059
8060         * config/obj-elf.c (elf_stab_symbol_string): Cast first argument
8061         of subseg_new call to eliminate const attribute.
8062         (obj_elf_stab): Ditto.
8063         (obj_symbol_new_hook): Cast first argument of bzero call to char *.
8064
8065         * read.c (s_align_bytes): Properly record alignment.
8066
8067         * expr.c (__): Undefine __ macro before use, since OSF/1 uses it
8068         for the prototype/no prototype macro.
8069
8070         * as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be
8071         void.
8072
8073         * as.h (relax_stateT enum): Delete trailing comma.
8074
8075 Thu May 27 11:07:50 1993  Ian Lance Taylor  ([email protected])
8076
8077         * app.c (do_scrub_begin): Let line_comment_chars override
8078         comment_chars.
8079         (do_scrub_next_char): If a line comment character is not at the
8080         start of a line, treat it as a comment character if it is one.
8081         For a CPP line comment use pseudo-op .appline rather than .line.
8082         * input-scrub.c (logical_input_line): Make int rather than
8083         unsigned.
8084         (input_scrub_push, input_scrub_begin): Initialize
8085         logical_input_line to -1 rather than 0.
8086         (bump_line_counters): Increment logical_input_line.
8087         (new_logical_line): If line_number is -2, decrement
8088         logical_input_line.
8089         (as_where): Use logical_input_line even if it is 0.
8090         * read.h (s_app_file prototype): Now takes an int argument.
8091         * read.c (potable): Make .appfile call s_app_file with 1.  New
8092         .appline pseudo-op calls s_app_line.
8093         (s_app_file): If .appfile, call new_logical_line with -2 to
8094         account for newline inserted by do_scrub_next_char.  If listing,
8095         call listing_source_file.
8096         (s_app_line): New function to handle fake pseudo-op .appline.
8097         * config/obj-coff.c (obj_pseudo_table): Make .appline call
8098         obj_coff_ln.
8099         (obj_coff_ln): Added argument to indicate whether .appline.
8100         * config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
8101         obj_coff_ln.
8102         (obj_coff_ln): Added argument to indicate whether .appline.
8103         * config/tc-mips.c (s_file): Pass argument to s_app_file.
8104
8105 Tue May 25 11:59:07 1993  Ian Lance Taylor  ([email protected])
8106
8107         * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast.
8108
8109 Thu May 20 19:14:24 1993  Ken Raeburn  ([email protected])
8110
8111         * config/tc-m68k.c (md_apply_fix_2): Straighten out check for
8112         invalid values.
8113
8114 Wed May 19 07:33:17 1993  Steve Chamberlain  ([email protected])
8115
8116         * config/tc-h5000.c (build_bytes): Understand @rd mode and build
8117         relocations correctly.
8118
8119 Mon May 17 15:06:26 1993  Ken Raeburn  ([email protected])
8120
8121         * Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because
8122         it's wrong.
8123
8124         * config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn
8125         if value is out of range.
8126
8127         Patch from Minh Tran-Le:
8128         * config/tc-i386.c (i386_operand): For in/out port register used
8129         as base reg, include InOutPortReg in operand type.
8130         (MATCH): Accept overlap value of InOutPortReg.
8131
8132 Mon May 17 09:29:34 1993  Ian Lance Taylor  ([email protected])
8133
8134         * config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab):
8135         Add calls to listing routines to produce combined source/assembler
8136         listings.
8137         (obj_ecoff_stab): Create a file pointer if none used yet.
8138         (ecoff_frob_file): Set symcount to correct value.
8139
8140 Fri May 14 06:53:33 1993  Ken Raeburn  ([email protected])
8141
8142         * Makefile.in (VERSION): Bump to version 2.1, in preparation for
8143         release.
8144
8145         * config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE):
8146         Define in terms of constants, not C structure sizes.
8147
8148         * config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files.
8149
8150 Thu May 13 17:01:55 1993  Ken Raeburn  ([email protected])
8151
8152         * config/obj-aout.c (obj_header_append): Don't define if it's
8153         defined as a macro.
8154         * config/obj-hp300.h (obj_header_append): Define it as a macro.
8155         * config/obj-hp300.c (hp300_header_append): New function.
8156
8157         * Makefile.in (distclean): Don't bother cleaning up doc files;
8158         they aren't going to be in this directory.
8159
8160 Thu May 13 07:51:35 1993  Ian Lance Taylor  ([email protected])
8161
8162         * config/obj-ecoff.c (ecoff_build_symbols): Handle absolute
8163         symbols.
8164
8165         * tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
8166         * config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
8167
8168 Mon May 10 06:01:12 1993  Ken Raeburn  ([email protected])
8169
8170         * config/obj-vms.c (VMS_Symbol_type_list): Don't bother with
8171         initialization.
8172
8173         * configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff.
8174
8175 Wed May  5 14:00:49 1993  Ian Lance Taylor  ([email protected])
8176
8177         * config/tc-mips.c (macro): Correct floating point double word
8178         loads and stores for big endian target.
8179
8180 Wed May  5 08:39:21 1993  Ken Raeburn  ([email protected])
8181
8182         * config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_*
8183         calls.  Deleted some unused code.
8184         * config/obj-coff.c: Likewise.
8185
8186         ELF support, mostly contributed by Utah:
8187         * config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line,
8188         obj_elf_type): Rewrite.
8189         (obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol,
8190         obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size):
8191         New functions.
8192         (obj_elf_ident): Dummy.
8193         * config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol,
8194         TARGET_SYMBOL_FIELDS): New macros.
8195         (gdb_section): New variable decl.
8196
8197         * config/tc-i386.c (md_atof): Return zero, not empty string, on
8198         success.
8199
8200         BFD_ASSEMBLER conditional changes:
8201         * config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header):
8202         Don't define these.
8203         (SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions.
8204         (fetch_coff_debug_section): Ditto.
8205         (obj_coff_endef): Call fetch_coff_debug_section.
8206         (struct line_no): New type.
8207         (c_symbol_merge): New way for copying aux fields.
8208         (c_dot_file_symbol): Put symbol in absolute section, and set flag
8209         BSF_DEBUGGING.
8210         (function_lineoff): New symbol.
8211         (function_lineoff, text_lineno_number, our_lineno_number,
8212         lineno_lastP): Don't define.
8213         (c_line_new): Don't define.
8214         (obj_emit_lineno, obj_coff_endef): Use abort calls as, uh,
8215         placeholders, until
8216         line-number recording gets implemented.
8217         (obj_new_symbol_hook): New code for handling aux fields.
8218         (add_lineno, add_linesym): New functions.
8219         (obj_coff_ln): Call add_lineno, not c_line_new.
8220         (obj_coff_endef): New code for handling symbol names.  New lineno
8221         code.  Look for section name "*DEBUG*" for debugging section.
8222         (align, coff_check_file_symbols, obj_coff_section,
8223         coff_frob_file): New functions.
8224         * config/obj-coff.h: Reordered some includes.
8225         (BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg,
8226         DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't
8227         define these.
8228         (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros.
8229         (SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing
8230         aux entries.  Most SA_* macros now use it unconditionally.
8231         (S_*): Use `bsym' field, and access BFD private data.
8232         (SF_*): Use `sy_flags' symbol field for most of these.
8233         (H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't
8234         define.
8235         (*_section_header): Don't define.
8236         * config/tc-i386.c (md_convert_frag, md_apply_fix): Changed
8237         interface.
8238         (tc_gen_reloc) [I386COFF]: New function.
8239         (tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define.
8240         * config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New
8241         macros.
8242
8243         * config/obj-coff.c (stack_init): Don't do assignments inside
8244         conditions.
8245         (obj_coff_def): Simplified handling of symbol name a bit.
8246         (tag_insert): Name argument is now pointer to CONST.
8247         (obj_crawl_symbol_chain): Commented out.
8248
8249         * config/obj-coff.h: Use PARAMS macro in prototypes.
8250
8251         * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect
8252         through frchainP pointer if it is null.
8253
8254         * configure.in: Warn if BFD mode is explicitly turned off but is
8255         required by specified target.
8256         (mips ecoff targets): Don't need to set bfd_gas here; it gets
8257         taken care of later.
8258
8259         * config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward
8260         field.
8261         (yank_symbols): Merge symbols only if sy_forward is null.
8262
8263         * config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already
8264         defined.
8265
8266         * tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not
8267         pointer.
8268         * config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto.
8269
8270         * config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting
8271         with "." is a local label.
8272
8273         * config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config
8274         files.
8275
8276         * config/te-linux.h, config/te-386bsd.h: New config files.
8277         * configure.in (i386-*-linux, i386-*-bsd): Use them.
8278         * config/tc-i386.h (TARGET_FORMAT): Select format based on target
8279         environment.
8280         (DOT_LABEL_PREFIX): Don't define for 386bsd or Linux.
8281
8282 Wed May  5 13:14:01 1993  Ian Lance Taylor  ([email protected])
8283
8284         * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
8285         to want it that way.
8286         (ecoff_build_symbols): Turn local st_Proc symbols into
8287         st_StaticProc symbols.  Set index field of external st_Proc and
8288         st_staticProc symbols correctly.
8289         * config/tc-mips.h (NO_LISTING): Don't define.  People might want
8290         listings.
8291
8292 Tue May  4 21:22:54 1993  Ken Raeburn  ([email protected])
8293
8294         * config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New
8295         files.
8296         * configure.in (m68k-*-hpux): Use them.
8297
8298         * config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if
8299         defined, otherwise zero.
8300
8301         * config/aout_gnu.h (OMAGIC): Don't define if already defined.
8302
8303 Mon May  3 15:59:32 1993  Steve Chamberlain  ([email protected])
8304
8305         * config/tc-sparc.c (sparc_ip): Allow any abs expression as an
8306         address space number.
8307
8308 Wed Apr 28 19:11:22 1993  Ken Raeburn  ([email protected])
8309
8310         * config/obj-aout.h (TARGET_DEFAULT): Don't default this at all.
8311
8312         * config/tc-a29k.c: Include ctype.h.
8313         (define_some_regs): Added special-purpose registers for 29050.
8314
8315         * config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/".
8316
8317         * config/obj-coffbfd.c (fill_section): Don't set STYP_REG here.
8318         (change_to_section): Set it here instead.
8319
8320 Wed Apr 28 13:40:29 1993  Ian Lance Taylor  ([email protected])
8321
8322         * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
8323         hasn't been seen yet.
8324         (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
8325
8326 Mon Apr 26 18:29:05 1993  Steve Chamberlain  ([email protected])
8327
8328         * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi
8329         SH.
8330
8331 Mon Apr 26 12:28:27 1993  Ian Lance Taylor  ([email protected])
8332
8333         * expr.c (operand): Fix unary plus operator (previously was the
8334         same as '~' operator!).
8335
8336 Wed Apr 21 00:20:11 1993  Ken Raeburn  ([email protected])
8337
8338         * write.c (cvt_frag_to_fill): Define even if BFD is defined.
8339         (write_object_file): Do define if BFD_ASSEMBLER.  Invoke
8340         obj_check_file_symbols if defined.  Call verify_symbol_chain_2
8341         instead of open-coding it.  Fix some bugs in patching up symbol
8342         chain.
8343         (relax_segment): Make some code we "ought to be able to" use for
8344         all targets no longer conditionalized on ns32k target; instead, do
8345         it always, and if the appropriate conditions fail, abort.
8346
8347         * symbols.c (DEBUG): Enabled.
8348         (symbol_new): Make sure bfd_make_empty_symbol works.
8349         (verify_symbol_chain_2): New funcion; takes one symbol as
8350         argument, anywhere in the chain.
8351         (dollar_label*): Use default initializers.
8352
8353         * as.c (perform_an_assembly_pass): Call md_begin here...
8354         (main): ...and not here.
8355
8356         * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
8357         (tc_frob_symbol): New macro: Get rid of symbols in reg_section.
8358
8359         * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
8360         (add_fix, add_frag): Now functions instead of macros.
8361         (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
8362         s_data1, s_data2, s_bss): Use new *_section names, for
8363         compatibility with BFD_ASSEMBLER mode; rewrite switch statements
8364         to handle non-integral segT.
8365         (tc_coff_fix2rtype, tc_aout_fix_to_chars,
8366         tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
8367         (tc_gen_reloc): New routine for BFD_ASSEMBLER.
8368         (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
8369         md_apply_fix_2; new md_apply_fix definition varies interface
8370         depending on BFD_ASSEMBLER.
8371         (md_convert_frag, md_convert_frag_1): Likewise.  Use new *_section
8372         names.
8373
8374         * config/obj-vms.c: Include config.h.
8375         (version_string): Delete declaration.
8376         (Write_VMS_MHD_Records): Use GAS_VERSION instead.
8377         (vms_resolve_symbol_redef): New function, taken from VMS code in
8378         symbols.c.
8379         (_doprnt): Deleted.
8380         (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
8381         VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
8382         VMS_Psect_Spec): Fixed to compiler under traditional C.
8383         * config/obj-vms.h: Use PARAMS macro.
8384         (vms_resolve_symbol_redef): Declare.
8385         (RESOLVE_SYMBOL_REDEFINITION): New macro.
8386         * symbols.c (colon): Remove some VMS-specific code, look for
8387         RESOLVE_SYMBOL_REDEFINITION macro instead.
8388
8389         * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
8390         instructions.
8391
8392         * config/tc-i386.c: Reordered some functions so inlining might
8393         work.  Use PARAMS in function declarations.
8394         (reloc): New routine.
8395         (md_assemble): Rearrange switch statements to work with
8396         non-integral segT.
8397
8398         * struc-symbol.h [BFD_ASSEMBLER]: Undefine
8399         SYMBOLS_NEED_BACKPOINTERS before defining it.
8400
8401         * subsegs.c (subseg_new_rest): Now static.
8402
8403         * read.c (pseudo_set): Better error message for difference of
8404         symbols in different frags.
8405
8406         * Makefile.in (check): Pass down some new variables, indicating
8407         pathname or program name for cc, nm, objdump.
8408
8409         * as.h (OUTPUT_FLAVOR): New macro.
8410         * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
8411
8412         * configure.in: Initialize bfd_gas properly.  Warn that ELF
8413         support is incomplete.
8414
8415 Thu Apr 15 22:39:05 1993  Ken Raeburn  ([email protected])
8416
8417         * read.c (float_cons): Accept null pointer return from md_atof.
8418         * config/tc-m68k.c (md_atof): Return null for success.
8419         * config/tc-sparc.c (md_atof): Ditto.
8420
8421 Thu Apr 15 16:04:39 1993  Roland H. Pesch  ([email protected])
8422
8423         * doc/as.texinfo: formatting and comment cleanups; show SPARC
8424         alternative options in same style as other machines; simplify some
8425         conditional use; include GPL as separate file (from texinfo dir)
8426
8427         * doc/Makefile.in: (as.info) include directory containing GPL in
8428         makeinfo search path
8429
8430         * doc/h8.texi: new file; conditional settings for GAS manual
8431         on Hitachi chips
8432
8433 Tue Apr 13 15:31:40 1993  Roland H. Pesch  ([email protected])
8434
8435         * doc/as.texinfo: mention SPARC architecture options.
8436
8437 Fri Apr  9 17:43:11 1993  Ken Raeburn  ([email protected])
8438
8439         * configure.in: Rearranged whitespace in per-host/per-target
8440         sections.  Added hooks for dropping in HPPA support (not included
8441         yet).  Separate out overrides of variables based on target format
8442         and bfd-gas selection from actual target-specific commands.  Add
8443         error message for recognized but unsupported format name.
8444
8445 Fri Apr  9 09:05:47 1993  Ian Lance Taylor  ([email protected])
8446
8447         * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
8448         symbolic header match cline in FDR; the native linker seems to
8449         want that.
8450
8451 Thu Apr  8 15:51:28 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8452
8453         * doc/Makefile.in: as.texinfo is in $(srcdir).  Use
8454         $(srcdir)/as.texinfo explicitly in several places
8455
8456 Thu Apr  8 15:15:02 1993  Roland H. Pesch  ([email protected])
8457
8458         * doc/Makefile.in: update dvi, clean targets for new source
8459                            file structure
8460
8461 Thu Apr  8 12:52:46 1993  Ian Lance Taylor  ([email protected])
8462
8463         * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
8464         rather than undefining know.
8465         * configure.in: Match ultrix*, not just ultrix.
8466
8467 Wed Apr  7 20:18:10 1993  Roland H. Pesch  ([email protected])
8468
8469         * doc/as.texinfo: converted conditional markup to use new
8470         Texinfo facilities, avoiding m4.
8471
8472         * doc/as-all.texinfo, all.m4, pretex.m4: deleted.
8473
8474         * doc/Makefile.in: recast doc configuration to use a link to an
8475         included texinfo file.
8476
8477         * doc/all.texi: settings for generic form of documentation.
8478
8479 Tue Apr  6 11:56:21 1993  Ian Lance Taylor  ([email protected])
8480
8481         * read.c (cons): Zero out frag when creating reloc.
8482
8483 Mon Apr  5 09:41:58 1993  Ian Lance Taylor  ([email protected])
8484
8485         * config/tc-mips.c (gp_reference): Certain magic symbols can never
8486         be referenced off the GP register.
8487
8488         * app.c (do_scrub_next_char): Handle states 9 and 10 correctly
8489         when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
8490         LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
8491
8492         * config/te-irix.h: New file; irix needs a different LOCAL_LABEL
8493         definition from other MIPS targets.
8494         * configure.in (mips-*-irix): Use emulation irix.
8495
8496 Sun Apr  4 15:21:09 1993  Steve Chamberlain  ([email protected])
8497
8498         * config/tc-h8500.c: Get relax size of branch instructions right,
8499         (get_operand): Parse @sp+ correctly.
8500
8501 Fri Apr  2 15:59:49 1993  Ken Raeburn  ([email protected])
8502
8503         * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
8504         COFF section header field.
8505
8506         * configure.in: Print error message if host or target is not
8507         supported.
8508
8509         * configure.in: If with-bfd-assembler, use obj-coff instead of
8510         obj-coffbfd.
8511
8512         * config/ho-generic.h: Include string.h.
8513
8514 Fri Apr  2 08:54:57 1993  Ian Lance Taylor  ([email protected])
8515
8516         * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
8517         '$' as local, for any object file format.
8518
8519         * config/tc-mips.c (macro): Optimizations to branching code and a
8520         couple of bug fixes from [email protected] (Ralph
8521         Campbell).
8522
8523         * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
8524         * configure.in (mips-sgi-irix*): Set gas_host to irix.
8525
8526 Wed Mar 31 17:53:54 1993  Ian Lance Taylor  ([email protected])
8527
8528         * subsegs.c (subseg_new): Set output_section of new section.
8529         * as.c (perform_an_assemly_pass): Don't set output_section here.
8530         * expr.c (expr_part, expr): Turn off section assertions for ECOFF,
8531         since it has additional sections.
8532         * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
8533         not bss_section.
8534         * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
8535         ecoff_undefined field.
8536         * config/obj-ecoff.c (obj_symbol_new_hook): Initialize
8537         ecoff_undefined field.
8538         (add_file): If using stabs, just output a stabs symbol rather than
8539         creating a new fdr.
8540         (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
8541         it with get_absolute_expression, rather than skipping it by hand.
8542         (obj_ecoff_loc): If using stabs, just output a stabs symbol rather
8543         than ECOFF line number information.
8544         (obj_ecoff_stab): Accept non-zero values for stabs line number.
8545         (ecoff_build_symbols): Set ifilesym correctly.  Set storage class
8546         to small, undefined and/or readonly sections if appropriate.
8547         Don't output symbol names containing \001 characters.
8548         (ecoff_frob_file): Make sure at least one fdr is output.
8549         * config/tc-mips.h: Define TC_MIPS.
8550         * config/tc-mips.c (g_switch_value): New static variable.
8551         (md_assemble): Set gp size of output BFD.
8552         (gp_reference): New function; returns 1 if expression can be
8553         accesssed via gp.  Always returns 0 if not using ECOFF.
8554         (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
8555         possible.
8556         (macro): Generate sequences using gp if possible.
8557         (md_parse_option): Ignore -EL and -EB.  Parse -G.
8558         (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
8559         (s_change_sec): Handle .rdata and .sdata for ECOFF.
8560         (s_extern): Mark symbol as external.  Set ecoff_undefined field.
8561
8562 Tue Mar 30 10:11:41 1993  Ken Raeburn  ([email protected])
8563
8564         * output-file.c (output_file_create): Don't call as_perror for
8565         filename rejected by application.
8566
8567         * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
8568         the output file.
8569
8570         * doc/as.texinfo: Don't use @value in node names for the moment;
8571         references don't appear to work right.
8572
8573         * as.h (const, volatile): Put these definitions back, and use
8574         them.
8575
8576         * doc/as.texinfo: First pass at using new texinfo features --
8577         variables, conditional tests.  Far from complete.
8578
8579 Mon Mar 29 16:05:40 1993  Ken Raeburn  ([email protected])
8580
8581         * read.c: Temporary hack to handle some 64-bit constants.  This
8582         should be redone later.
8583         (target_big_endian): Declare.
8584         (big_cons): If it's set, reverse order of bytes being copied.
8585         * config/tc-sparc.c (md_begin): Set target_big_endian.
8586
8587         * read.c (s_ignore): Delete declaration of is_end_of_line.
8588
8589         * config/obj-coffbfd.c (yank_symbols): Build list of file symbol
8590         forward pointers properly.
8591
8592 Mon Mar 29 13:47:33 1993  Steve Chamberlain  ([email protected])
8593
8594         * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
8595         wasn't being stored into scnhdr.
8596         * config/obj-coffbfd.h: Add prototype of s_get_segment.
8597         * read.c (TC_START_LABEL): Default definition.
8598         (read_a_source_file): Use TC_START_LABEL macro to work out
8599         if a label has been seen.
8600
8601 Mon Mar 29 12:56:56 1993  Ian Lance Taylor  ([email protected])
8602
8603         * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
8604         the bottom (make expands variables in dependencies when the
8605         dependencies are read, not when they are used).
8606
8607         * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
8608         a29k .bss section; the mondfe program doesn't like it.
8609
8610 Sun Mar 28 08:12:53 1993  Ken Raeburn  ([email protected])
8611
8612         * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
8613         const.
8614         (current_architecture): Don't need initializer.
8615
8616 Fri Mar 26 08:12:48 1993  Ken Raeburn  ([email protected])
8617
8618         * doc/none.m4: Define Z8000.
8619         * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir).  Remove the
8620         texinfo file before recreating it.
8621         (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
8622         this directory.
8623         (srcdir): Delete second, bogus definition.
8624         (as.info): Look for as-*.texinfo in current directory rather than
8625         in $(srcdir).
8626         (as.dvi): Ditto.
8627         (dvi): New rule.
8628         * doc/configure.in: Create links to all as-*.texinfo files in the
8629         source directory, if that's not the current directory.
8630
8631         * configure.in (per-host):  Accept MIPS host with BSD version
8632         number.
8633         (per-target): Classify i486 as i386.  Use generic cpu_type instead
8634         of target_cpu in selecting format etc.
8635
8636         * app.c (do_scrub_next_char): Use .appfile, not .app-file.
8637         * read.c (potable): Change .app-file to .appfile.
8638
8639         * config/ho-decstatn.h: Renamed from ho-decstation.h.
8640         * configure.in: Adjusted.
8641
8642         * config/obj-bfd-sunos.*: Unused; deleted.
8643
8644         * Makefile.in (version.c, vers-stamp): Deleted.
8645         (config.h): Define GAS_VERSION.
8646         * as.c (version_string): Deleted declaration.
8647         (main): Look for GAS_VERSION instead.
8648
8649         * doc/as.texinfo: Updated description of -a* (listing) options,
8650         and describe how to pass them through from gcc.
8651
8652         * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
8653         process relocs if there aren't any relocs to process.  Avoids
8654         malloc/free bug on SCO too.
8655
8656         * as.h: Move local include files below system include files, to
8657         avoid some redefinition complaints on some systems.
8658         (const, volatile): Don't need these conditionally defined if we
8659         use CONST and VOLATILE from ansidecl.h.
8660         (seg_name): Use CONST, not const.
8661
8662 Fri Mar 26 10:22:04 1993  Ian Lance Taylor  ([email protected])
8663
8664         * config/tc-mips.c: Reindented to GNU standards.
8665
8666 Thu Mar 25 08:59:14 1993  Ian Lance Taylor  ([email protected])
8667
8668         * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
8669         (fixup_segment): Add a29k special case; the linker is not prepared
8670         to see a segment offset here.
8671
8672         * app.c (do_scrub_next_char): Added new state, 10, modifying state
8673         9 to only keep a space in between identifier characters.
8674
8675 Wed Mar 24 02:16:22 1993  david d `zoo' zuhn  (zoo at poseidon.cygnus.com)
8676
8677         * Makefile.in: add dvi target; as-$(config).texinfo might live in
8678         srcdir, might be in objdir.
8679
8680         * doc/Makefile.in: dvi depends on as.dvi
8681
8682 Mon Mar 22 23:59:13 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8683
8684         * Makefile.in: add installcheck target
8685
8686 Mon Mar 22 16:25:57 1993  Jim Wilson  ([email protected])
8687
8688         * config/tc-sparc.c (sparc_ip): Add support for membar mask names.
8689         Add missing colons in prefetch error messages.  Add support for
8690         ASI names.
8691
8692 Mon Mar 22 10:19:00 1993  Ian Lance Taylor  ([email protected])
8693
8694         * config/tc-mips.c (macro): Use $AT for any floating point load.
8695
8696 Sat Mar 20 12:50:51 1993  Ken Raeburn  ([email protected])
8697
8698         * config/tc-m68k.c (m68k_ip): For operand type 'M', reject
8699         bignums, but don't emit error message.
8700
8701 Fri Mar 19 21:02:19 1993  Jim Wilson  ([email protected])
8702
8703         * Makefile.in (targ-cpu.o): Depend on config.h.
8704
8705 Wed Mar 17 16:44:06 1993  Ian Lance Taylor  ([email protected])
8706
8707         * app.c (do_scrub_next_char): Added new state, 9, to avoid
8708         dropping a space immediately following an identifier.
8709         * expr.c, write.c: Rewrote assert expressions to not use multiple
8710         lines; I don't think that can be done portably.
8711         * config/tc-mips.c (macro): Use $AT if target register is zero in
8712         load instruction, which it can be for a floating point load.
8713
8714 Mon Mar 15 12:17:28 1993  Ian Lance Taylor  ([email protected])
8715
8716         * write.c (write_contents): Compute the relocs before writing out
8717         the section contents.
8718         * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
8719         symbol table and values right.
8720         * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
8721         with $L is local.
8722         * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
8723         by the section vma.
8724
8725         * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
8726         z8k-opc.h, not z8k.h.
8727
8728         * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
8729         symbol.
8730
8731 Fri Mar 12 18:33:36 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8732
8733         * configure.in: recognize sparc-sun-solaris2* instead of -solaris2
8734
8735 Fri Mar 12 12:00:07 1993  Ian Lance Taylor  ([email protected])
8736
8737         * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
8738         to be on a single line.
8739
8740 Thu Mar 11 17:56:22 1993  Ken Raeburn  ([email protected])
8741
8742         * Makefile.in (config.h): Create file, writing out definitions of
8743         target cpu, alias, and canonical name.
8744         (ALL_CFLAGS): No longer define TARGET_CPU.
8745
8746         * Makefile.in (check): Print a message, instead of quitting
8747         silently.
8748
8749         * as.c (main): Don't catch any signals, for now.
8750
8751         * version.c: Deleted.
8752         * Makefile.in: Generate it, putting in only the version number
8753         itself.
8754         (VERSION): New variable.
8755         * as.c: Include config.h.
8756         (main): Reformatted version string.  Include target alias.  Don't
8757         print if not requested (i.e., unknown -v argument).
8758
8759         * as.c (stralloc): Deleted.
8760         (main): Call strdup instead.
8761
8762         * configure.in: Handle all 68300 series chips.
8763         * config/tc-m68k.c: Include config.h.
8764         (md_assemble): Assume TARGET_CPU is defined.  Accept some 68300
8765         series cpus as defaults.
8766         (md_parse_option): Accept some m68300 series CPUs as defaults.
8767
8768 Wed Mar 10 17:41:16 1993  Ken Raeburn  ([email protected])
8769
8770         * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
8771         not already defined.
8772         (main, got_sig): Use them.
8773         * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
8774         values.
8775
8776 Tue Mar  9 07:40:06 1993  Ian Lance Taylor  ([email protected])
8777
8778         * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
8779         support.
8780
8781         * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
8782         OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
8783         (struct loc, struct proc, struct file): Moved to tc-mips.c within
8784         #ifndef OBJ_ECOFF block, since ECOFF uses different versions.
8785         * config/tc-mips.c: Rearranged for ECOFF support.  Added
8786         prototypes for all static functions.  Moved existing minimal
8787         debugging format support info #ifndef OBJ_ECOFF blocks.
8788         (macro_build_lui): Eliminated sign_extend argument, because ECOFF
8789         does not support a non sign extended high 16 bits reloc.  Adjusted
8790         all callers accordingly.
8791         (tc_get_register): Renamed from get_register, and made non-static.
8792
8793         * config/mips-big.mt, config/mips-lit.mt: New files.  Define
8794         TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
8795         respectively.
8796         * configure.in (mips-*-bsd*): Use gas_target mips-lit.
8797         (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
8798         obj_format ecoff and gas_target mips-lit or mips-big.
8799
8800 Tue Mar  9 07:43:01 1993  Ken Raeburn  ([email protected])
8801
8802         * version.c: Bump to version 2.0.1.
8803
8804 Tue Mar  9 07:40:06 1993  Ian Lance Taylor  ([email protected])
8805
8806         * write.c (chain_frchains_together): Check that seg_info (section)
8807         is not NULL.
8808         (write_object_file): Call obj_frob_file after setting the symbols,
8809         not before.
8810
8811 Tue Mar  9 00:00:00 1993  Ken Raeburn  ([email protected])
8812
8813         * Version 2.0 released.
8814
8815 Mon Mar  8 14:57:10 1993  Ken Raeburn  ([email protected])
8816
8817         * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
8818
8819 Fri Mar  5 09:05:55 1993  Ian Lance Taylor  ([email protected])
8820
8821         * read.h: Define stringer here.
8822         read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
8823         places.
8824
8825 Thu Mar  4 11:52:23 1993  Steve Chamberlain  ([email protected])
8826
8827         * read.c (s_space): Multiply repeat count by mult, not fill.
8828
8829 Thu Mar  4 05:20:42 1993  Ken Raeburn  ([email protected])
8830
8831         * read.c: Include ctype.h.
8832
8833 Wed Mar  3 10:41:46 1993  Ken Raeburn  ([email protected])
8834
8835         Patches from Eric Youngdale:
8836         * make-gas.com: Find obstack.obj if it's not in the current
8837         directory.
8838         * read.c (s_ignore): Don't declare is_end_of_line.  It's
8839         redundant, and triggers a VMS gcc compiler bug.
8840
8841         * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
8842         current segment as an argument.  (Ignored in all cases but VMS.)
8843         All callers and definitions changed.
8844
8845 Tue Mar  2 11:56:19 1993  Ian Lance Taylor  ([email protected])
8846
8847         * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
8848         case compile again.
8849
8850 Tue Mar  2 08:53:34 1993  Ken Raeburn  ([email protected])
8851
8852         * config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
8853         so "~0x80" won't be rejected.
8854
8855         * config/obj-elf.c: No longer include elf/reloc.h.
8856         (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
8857         (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
8858         routines.
8859         (obj_elf_xstab): New routine.
8860         (obj_elf_set_size): Call as_warn, not fprintf.  Pass desired
8861         argument to s_ignore.  Put "#if 0" around unused code.
8862         (obj_pseudo_table): Use s_ignore instead of do-nothing routines.
8863         Call elf_xstabs for .stabs and .xstabs operators.
8864
8865         * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
8866
8867         * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
8868         present.
8869
8870         * configure.in: mips-bsd configuration was missing format spec.
8871         Should use aout.
8872
8873         * Makefile.in (Makefile): Depends on configure.in.
8874
8875         * config/tc-mips.c (append_insn): Don't check for alignment of
8876         frag in memory; alignment of instructions in section is a separate
8877         matter.
8878
8879         * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
8880         C availability.
8881
8882         * listing.h: Always provide function declarations, not macros, so
8883         pcc won't lose.
8884
8885 Tue Mar  2 00:50:43 1993  John Gilmore  ([email protected])
8886
8887         * CONTRIBUTORS:  Update Gilmore entry.
8888
8889 Mon Mar  1 12:03:16 1993  Jim Wilson  ([email protected])
8890
8891         * config/tc-sparc.c (sparc_ip):  Correctly assemble prefetch
8892         instructions.  Accept integer prefetch function numbers.
8893
8894 Wed Feb 24 14:58:19 1993  Ken Raeburn  ([email protected])
8895
8896         * config/tc-sparc.c (s_xword): Now call big_cons, so large
8897         constants are accepted, but symbolic values are not.  GCC will not
8898         generate the latter currently.
8899
8900         * frags.c (frag_init): New function.
8901         (zero_address_frag, bss_address_frag): Now initialized at run
8902         time.
8903         * as.c (main): Call frag_init.
8904
8905 Wed Feb 24 10:32:42 1993  Ian Lance Taylor  ([email protected])
8906
8907         * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
8908         Don't unget ch2 if we didn't get it.
8909
8910 Wed Feb 24 04:14:07 1993  Ken Raeburn  ([email protected])
8911
8912         * doc/Makefile.in (TEXIDIR): Updated for new layout.
8913
8914         * config/tc-sparc.c (s_common): Add support for ELF version.
8915         (tc_gen_reloc) [BFD_ASSEMBLER]: New function.
8916         * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
8917         New macros.
8918         (md_convert_frag): New macro.
8919
8920         * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
8921         symbol, fix the offset so "+2" isn't required.
8922
8923         * config/tc-i960.c (line_comment_chars, line_separator_chars):
8924         Define as common/bss.
8925         (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
8926         initializers are sufficient.
8927
8928         * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
8929         (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
8930         (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
8931         (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
8932         * config/obj-aout.c: Use PARAMS macro for declarations.  Remove
8933         "IGNORE_DEBUG" conditional, since both branches are identical.
8934         Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
8935         referencing symbol structure members.
8936         (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
8937
8938         * as.h (struct frag): Reordered a couple of fields for better
8939         packing.
8940
8941         * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
8942         section info.
8943         (write_contents) [BFD_ASSEMBLER]: New function.
8944         (write_object_file) [BFD_ASSEMBLER]: Always handle -R here.  Call
8945         fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC.  Call
8946         obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
8947         (fixup_segment): Make sure common-section symbols get treated the
8948         same as undefined symbols.
8949         (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
8950         bfd_reloc_code_real_type.  Use seg_fix_{root,tail}P derived from
8951         section info.
8952         * write.h (fix_new): Update prototype.
8953
8954         * tc.h (md_operand, md_convert_frag, tc_headers_hook,
8955         md_section_align, md_undefined_symbol): Don't provide prototypes
8956         if these are defined as macros.
8957         (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
8958         section passed.
8959
8960         * symbols.c (symbol_new): Argument NAME is now pointer to const.
8961         Simplified STRIP_UNDERSCORE code.  Remove assumptions about null
8962         pointers in freshly allocated storage.  [BFD_ASSEMBLER]: Get new
8963         BFD symbol.
8964         (colon): Display other/desc fields of redefined symbol only if
8965         S_GET_OTHER and S_GET_DESC are defined.
8966         (symbol_make): Argument NAME is now pointer to const.
8967         (symbol_find, symbol_find_base): Likewise.
8968         (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
8969         * symbols.h: Fix prototypes for new const arguments.  Add
8970         prototypes for BFD_ASSEMBLER S_* functions.
8971
8972         * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
8973         for changing to an existing section.
8974         (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
8975         called by subseg_new and subseg_set.
8976         (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
8977         given section name and subseg number.
8978         (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
8979         new section/subsection.
8980
8981         * read.c: Don't include ctype.h.
8982         (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
8983         for now; should be machine-dependent.
8984
8985         * configure.in: Accept *-*-elf and *-*-solaris* as ELF format
8986         targets, forcing BFD use.
8987
8988 Wed Feb 17 18:59:03 1993  Ken Raeburn  ([email protected])
8989
8990         * config/tc-sparc.c: Use PARAMS macro for static function
8991         declarations.  Use BFD_RELOC_ macros everywhere, with
8992         compatibility macros declared for non-BFD mode.
8993         (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
8994         instead of enum reloc_type.
8995         (emit_sparc_reloc): Commented-out function deleted.
8996         (md_convert_frag): Deleted.
8997         (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
8998         (md_apply_fix): Changed calling sequence (conditionally) for BFD
8999         version.
9000         * config/tc-sparc.h (md_convert_frag): New macro.
9001
9002         * config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
9003         not SEG_UNKNOWN.  Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
9004         of referencing fields directly.
9005
9006         * write.c (cvt_frag_to_fill): New function; extracted from
9007         write_object_file.
9008         (write_object_file) [! BFD_ASSEMBLER]: Call it.
9009         (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
9010         and set its size and flags.
9011
9012         * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
9013         fields with BFD equivalents.  Turn on back-pointers, and add
9014         target-specific fields at end.
9015
9016 Thu Feb 11 09:20:37 1993  Ian Lance Taylor  ([email protected])
9017
9018         * config/obj-coffbfd.c (fill_section): Don't set vaddr here.
9019         (write_object_file): Set it here instead, so that fixup_segment
9020         can see the correct value.
9021
9022 Mon Feb  8 13:56:17 1993  Ken Raeburn  ([email protected])
9023
9024         * write.c (write_object_file): Check for errors and warnings and
9025         bail out before processing contents.
9026         (chain_frchains_together_1): New function, does most of the work
9027         of remove_subsegs.
9028         (chain_frchains_together) [BFD_ASSEMBLER]: New function.
9029         (remove_subsegs) [! BFD]: Call it.
9030         (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
9031         structures and routines.
9032
9033         * config/obj-elf.*: New files.
9034
9035         * config/mips.mt, config/rs6000.mt: Deleted.
9036
9037         * config/h8300.mt: Don't specify compiler here.
9038
9039         * config/z8k.mt: The z8k code depends on the z8k opcode table,
9040         not the h8300 one.
9041         * config/tc-z8k.h: Comment fix.
9042
9043         * write.c: Reordered some functions for better inlining.
9044         (fixup_segment): Linkrelax code is no longer conditional on
9045         TC_I960.
9046
9047 Thu Feb  4 12:45:16 1993  Steve Chamberlain  ([email protected])
9048
9049         * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
9050         obj-coffbfd.h}: support for the H8/500
9051
9052 Wed Feb  3 19:28:18 1993  Ken Raeburn  ([email protected])
9053
9054         * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
9055         * write.c (write_object_file): Not here.
9056         (fix_new): Initialize fx_addnumber.
9057
9058         * listing.c: Don't include target-cpu.h explicitly, since as.h
9059         includes it.
9060
9061 Thu Jan 28 00:35:40 1993  Ken Raeburn  ([email protected])
9062
9063         * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
9064         *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
9065         (struct fix): Reordered fields for compactness and efficiency.
9066         Converted some logical fields to 1-bit fields.
9067
9068         * config/obj-aout.h: Use PARAMS.
9069         [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
9070         N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
9071
9072         * read.c: Don't include listing.h; as.h includes it.  Removed
9073         DONTDEF code.
9074         [BFD_ASSEMBLER]: Include subsegs.h.
9075         (old_buffer, new_broken_words): Default initialization is
9076         sufficient.
9077
9078         * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
9079         to 0, define stdoutput.
9080         (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
9081         Call bfd_set_arch_mach.
9082         (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
9083         bfd_close_all_done.  Call bfd_perror on failure.
9084         (output_file_append) [BFD_ASSEMBLER]: Don't define.
9085
9086         * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
9087
9088         * subsegs.h (segment_info_type): Always define.  Omit field scnhdr
9089         if not MANY_SEGMENTS.  Define new field bfd_section if
9090         BFD_ASSEMBLER.
9091         (seg_info): New macro.
9092
9093         * expr.c, input-scrub.c: Use PARAMS macro.  Deleted unused
9094         variables, and some irrelevant comments.
9095
9096         * Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
9097         (LIBS): Include $(BFDLIB).  Don't bother with $(CLIB).
9098         * configure.in:  Permit --with-bfd-assembler now, with a warning.
9099         Variable need_bfd is now a boolean, as is new variable bfd_gas.
9100         Set BFDDEF and BFDLIB in Makefile when appropriate.
9101
9102         * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
9103         (main): Refer to flag_always_generate_output instead of
9104         flagseen['Z'].
9105
9106         * as.c (main) [BFD_ASSEMBLER]: Open output bfd.
9107         (*_section) [BFD_ASSEMBLER]: Define them.
9108         (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
9109         set section flags when appropriate.
9110         * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
9111         section is not absolute, undefined, or an assembler internal one.
9112         (absolute_section, undefined_section): Always define.
9113         * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
9114         switch statements into if-else trees.
9115         * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
9116         SEG_BSS and SEG_DATA.
9117
9118         * as.h (frag_now_fix): New macro.
9119         * symbols.c (colon): Use it.
9120
9121 Wed Jan 27 21:43:53 PST 1993  Ralph Campbell  ([email protected])
9122
9123         * config/tc-mips.c:  Added mips support for mips-dec-bsd.
9124         * config/tc-mips.h:  Added mips support for mips-dec-bsd.
9125         * config/ho-mipsbsd.h:  Added mips support for mips-dec-bsd.
9126         * config/mips-opcode.h:  Added mips support for mips-dec-bsd.
9127         * configure.in:  Added mips support for mips-dec-bsd.
9128         * atof-generic.c:  Define TRUE and FALSE if not defined.
9129
9130 Thu Jan 21 12:48:19 1993  Ken Raeburn  ([email protected])
9131
9132         * version.c: Bumped version number to 1.93.05.
9133
9134 Wed Jan 20 17:11:53 1993  Ken Raeburn  ([email protected])
9135
9136         * config/obj-coff.c (obj_emit_relocations): Don't use #elif.
9137         (obj_emit_lineno): Don't need return at end of void function.
9138         (obj_symbol_new_hook): Ditto.
9139
9140         * config/tc-m68k.c: Removed some unused code.
9141         (tc_aout_fix_to_chars): Array nbytes_r_length is now const.
9142
9143         * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
9144         offset field is set.
9145
9146 Fri Jan  8 05:44:49 1993  Ken Raeburn  ([email protected])
9147
9148         * config/tc-sparc.c (sparc_ip): For %uhi and %ulo, if not
9149         ENV64, emit no reloc.
9150         (md_pseudo_table): For ".xword", call s_xword.
9151         (s_xword): New function.
9152
9153         * config/tc-sparc.c (architecture_requested, warn_on_bump,
9154         md_relax_table): Use default zero initialization.
9155         (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
9156         latter, instead of selecting with preprocessor conditionals.
9157
9158 Thu Jan  7 08:58:21 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
9159
9160         * configure.in: recognise all sparclite variants
9161
9162 Thu Jan  7 05:25:25 1993  Ken Raeburn  ([email protected])
9163
9164         * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
9165         accidentally changed to use subseg_change where it should have
9166         been subseg_new.
9167
9168 Tue Jan  5 08:42:16 1993  Ken Raeburn  ([email protected])
9169
9170         * expr.c (operand): If character other than comma or newline is a
9171         logical end-of-line character, use the newline case.
9172         From Eric Youngdale:
9173         (operand): Set X_add_number field for floating-point numbers.
9174         (operand): Treat zero byte as end-of-operand.
9175
9176         * configure.in (per-target): Look for with_bfd_assembler option.
9177         For now, only accept "no", until the merge is done.
9178
9179         Merged changes from Eric Youngdale ([email protected]):
9180         * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
9181           config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
9182         * read.c: Finish conversion to S_* macros in the VMS only
9183           parts of the program. Add "const" modifier to hex_value.
9184         * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
9185           "ifdef OBJ_VMS".
9186         * expr.c: Add "const" modifier to hex_value.
9187         * symbols.c: Finish conversion to S_* macros in the VMS only
9188           parts of the program.  Add "const" modifier to
9189           md_[long,short]_jump_size. Remove declaration of const_flag
9190           (which will be declared in obj-vms.h).
9191         * write.c: Add "const" modifier to md_[long,short]_jump_size.
9192           Fix arguments to VMS_write_object_file.
9193         * config-gas.com: New file.  Script for VMS systems to set up the
9194           configuration to build gas for VMS, and create config.status.
9195         * make-gas.com: Redone to work with new scheme.
9196         * obj-vms.c: Patch to fix bug where we were not correctly parsing the
9197           stabs directives.
9198         * obj-vms.c:  Define macros COPY_LONG and COPY_SHORT which
9199           will swap bytes if needed on a big endian system.  Use throughout
9200           as needed.
9201         * obj-vms.c (obj_aout_stab):  Add code to generate listing file.
9202         * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
9203           types of malformed stabs.  Change parsing algorithm so that we are
9204           more certain of having all of the information that we need on hand.
9205         * obj-vms.c (final_forward_reference):  New function, used to help
9206           resolve the data types of as many struct elements as possible
9207           when some part of the struct is not fully defined by the compiler.
9208         * obj-vms.c (VMS_LSYM_Parse):  Correctly handle case of continuation
9209           stabs directives.
9210         * obj-vms.c (VMS_write_object_file): Define all vtable psects
9211           as symbols as well in the object file.  Look for external functions
9212           that start with "__vt.", and turn them into variables, since the
9213           g++ compiler is incapable of doing this.
9214         * tc-vax.c: Add '1' option for backward compatibility with older GCC
9215           versions.
9216         * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
9217         * input-scrub.c (as_where): Fix bug where as would crash if we did not
9218           have the name of the source file yet.
9219         * config/ho-vms.h: define HO_VMS, not HO_VAX.
9220
9221 Mon Jan  4 05:17:26 1993  Ken Raeburn  ([email protected])
9222
9223         * read.c (s_data): Always use "data_section", since it'll map to
9224         SEG_DATA or SEG_E1 if needed.
9225         (s_lcomm): Likewise with bss_section.
9226         (s_fill): Use memset, not bzero.
9227
9228 Thu Dec 31 04:29:27 1992  Ken Raeburn  ([email protected])
9229
9230         * read.c: Deleted some code under "#ifdef DONTDEF" that was for
9231         handling GDB symbol table data.
9232
9233         * config/obj-aout.h (segment_name): Delete definition.
9234         (seg_name): Delete declaration.
9235         * config/obj-bout.h (segment_name, seg_name): Ditto.
9236         * config/obj-vms.h (segment_name, seg_name): Ditto.
9237         * config/obj-coff.h (segment_name): Ditto.
9238         * config/obj-coffbfd.h (segment_name): Ditto.
9239
9240         * Changes for BFD_ASSEMBLER:
9241         * obj.h (obj_crawl_symbol_chain): Declare only if not
9242         BFD_ASSEMBLER.
9243         (obj_header_append, obj_pre_write_hook): Ditto.
9244         * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
9245         (segT) [BFD_ASSEMBLER]: New typedef for "asection *".
9246         (segment_name) If BFD_ASSEMBLER, look up BFD section name;
9247         otherwise, use seg_name array.
9248         (seg_name): Declare only if not BFD_ASSEMBLER.
9249         (section_alignment): Declare only if not BFD_ASSEMBLER.
9250         (big_section, reg_section, pass1_section, diff_section,
9251         absent_section, text_section, data_section, bss_section): If
9252         BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
9253         mapping to segT enum values.
9254         (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
9255         if these are used or defined, if BFD_ASSEMBLER.
9256         (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
9257         subseg_new split into two functions.
9258         (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
9259
9260         * as.h (volatile): Don't define if already defined.
9261         (had_errors, had_warnings): Provide prototypes for ANSI C even if
9262         NO_STDARG.
9263         (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
9264         declare with format attribute for -Wformat checking.
9265
9266 Wed Dec 30 10:18:57 1992  Ian Lance Taylor  ([email protected])
9267
9268         * app.c, config/tc-*.c: Don't include read.h, since it is already
9269         included by as.h.
9270
9271         * These are based on patches from Minh Tran-le
9272         <[email protected]>.
9273         * configure.in (i[34]86-ibm-aix*): Accept i486 for host.  Use
9274         obj_format coffbfd and gas_target i386coff for target.
9275         (i[34]86-*-isc*): New host (uses sysv).
9276         * config/i386aix.mt: Removed (no longer used).
9277         * config/mh-i386aix (RANLIB): Use true rather than /bin/true.
9278         (MINUS_G): Removed.
9279         (LDFLAGS): Added, defined as -shlib.
9280         * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
9281         * config/te-sco386.h (LOCAL_LABEL): Don't define.
9282         (DOT_LABEL_PREFIX): Define.
9283         * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
9284         name rather than L0\001.
9285         * read.c (s_lcomm): Make a frag in SEG_BSS rather than using
9286         local_bss_counter.
9287         * symbols.c, symbols.h (local_bss_counter): Removed.
9288         * write.c (write_object_file): bss no longer uses
9289         local_bss_counter.  Pass correct data and bss size to
9290         VMS_write_object_file.
9291         * config/obj-vms.c (VMS_write_object_file): Accept bss size as
9292         argument, rather than using local_bss_counter.
9293         * config/tc-m88k.c (s_bss): Don't use local_bss_counter.
9294         * config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
9295         * config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
9296         (size_section): Restored sanity check.
9297         (do_relocs_for): Base section address on s_paddr rather than
9298         computing it.  Adjust a29k R_IHIHALF special case to account for
9299         section paddr (used to require paddr to be zero).  If there are no
9300         reclos, set s_relptr to 0.  Set relocation size in object_headers.
9301         (fill_section): Always set s_vaddr here, removing
9302         ZERO_BASED_SEGMENTS case.  Force s_scnptr for bss to 0.  Don't set
9303         NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
9304         Set STYP_INFO for .comment.
9305         (coff_header_append): Use object headers and H_{SET,GET}_* macros.
9306         Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
9307         (crawl_symbols): Handle 8 character section name correctly.  Use
9308         H_{SET,GET}_* macros.
9309         (do_linenos_for): Set lineno size in object_headers.
9310         (write_object_file): Use H_{SET,GET}_* macros.  Don't bother to
9311         set s_vaddr here.  If string_byte_count remains 4, set it back to
9312         0, and only write strings out if there are some.  Call
9313         fill_section before do_relocs_for and do_linenos_for.
9314         (obj_coff_section): Handle optional quoted second argument giving
9315         section characteristics.
9316         (obj_coff_bss): Added to handle .bss.
9317         (obj_coff_ident): Added to handle .ident (puts string in .comment
9318         section).
9319         (obj_coff_lcomm): Put common symbols in .bss, not .data.
9320         (fixup_mdeps): Change to segment.  Call frag_wane after
9321         md_convert_frag.
9322         (fixup_segment): Explicitly check S_IS_COMMON before making 386
9323         adjustment (already happened only for common symbols, but this is
9324         clearer).
9325         * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
9326         * config/tc-i386.c (s_bss): Don't use if I386COFF.
9327         (md_pseudo_table): Ignore .optim and .noopt.
9328         (tc_coff_sizemachdep): New function.
9329         * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
9330         compatibility.
9331         (LOCAL_LABEL): Removed definition.
9332         (DOT_LABEL_PREFIX): Defined.
9333
9334 Mon Dec 28 10:32:05 1992  Ken Raeburn  ([email protected])
9335
9336         * app.c (app_push): Use memcpy, not bcopy.
9337         (do_scrub_next_char): For \", return " not '.
9338         (symbol_chars): Now const.
9339
9340         * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
9341         and "0b".  If LOCAL_LABELS_DOLLAR, check for "0$".
9342
9343         * config/obj-coff.h: Don't use #elif.
9344
9345         * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
9346         have it.  (Reported by Noah Friedman, [email protected].)
9347
9348 Wed Dec 16 12:12:33 1992  Ian Lance Taylor  ([email protected])
9349
9350         * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
9351         already defined.
9352
9353 Tue Dec 15 12:40:11 1992  Steve Chamberlain  ([email protected])
9354
9355         * app.c (do_scrub_begin): allow single quote strings if so
9356         configured.
9357
9358         * config/*z8k*: checkpoint
9359
9360 Sun Dec 13 00:04:38 1992  Ian Lance Taylor  ([email protected])
9361
9362         * read.c (read_a_source_file): avoid calling xmalloc (0).
9363
9364 Sat Dec 12 15:26:34 1992  Ian Lance Taylor  ([email protected])
9365
9366         * listing.c: Call xmalloc, not malloc; don't declare malloc.
9367
9368         * Changes to support SCO 3.2v4:
9369         * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
9370         SEG_BSS, fill with NOP_OPCODE.
9371         * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
9372         * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
9373         using ZERO_BASED_SEGMENTS.
9374         (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
9375         never set segment address for SEG_E2 (.bss) and don't write out
9376         SEG_E2 contents.  Set .init and .fini sections to STYP_TEXT.
9377         (obj_coff_endef): Don't merge labels or symbols awaiting forward
9378         definitions, and don't merge tags with non-tags.  Check for .bf
9379         rather than just checking whether the second character is b and
9380         the third character is f.
9381         (obj_coff_val): gcc can generate values which we don't handle
9382         correctly; discard information for now, since it only affects the
9383         debugging information.
9384         (tag_find_or_name): Don't insert tags in the symbol table.
9385         (yank_symbols): Don't merge labels.
9386         (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
9387         already defined.  Fill subsegments with NOP_OPCODE, not 0.  Don't
9388         set segment address if ZERO_BASED_SEGMENTS.
9389         (obj_coff_section): Accept and ignore a trailing quoted string, as
9390         used in AT&T i386 syntax.
9391         (fixup_segment): Take segment as argument.  On the i386, adjust PC
9392         relative addends by the segment vaddr.
9393         * tc-i386.h: Define SUB_SEGMENT_ALIGN.
9394         * tc-a29k.h: Define ZERO_BASED_SEGMENTS.
9395         * tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
9396
9397 Tue Dec  8 00:06:48 1992  Ken Raeburn  ([email protected])
9398
9399         * config/obj-coffbfd.c: Include libcoff.h.
9400
9401         * version.c: Now version 1.93.
9402
9403 Mon Dec  7 00:39:09 1992  Ken Raeburn  ([email protected])
9404
9405         * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
9406         power-of-two alignment for .align.
9407
9408         * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
9409         and leave everything else alone.
9410
9411 Fri Dec  4 16:58:42 1992  Ken Raeburn  ([email protected])
9412
9413         * Makefile.in (as.new): Don't bother saving as.old.
9414
9415         * write.c: Conditionalize on OBJ_VMS, not VMS.
9416         (magic_number_for_object_file): Don't define if OBJ_VMS.
9417
9418         * config/obj-vms.c: Changes for traditional C.
9419
9420 Thu Dec  3 01:24:07 1992  Ken Raeburn  ([email protected])
9421
9422         * config/ho-generic.h (malloc, realloc): Declare.
9423
9424         * Lots of comment/whitespace changes.
9425
9426         * write.h (struct fix): Some fields reordered, narrowed.
9427
9428         * read.c (MASK_CHAR): Define using C types, not magic number.
9429
9430         * as.c, input-file.c: Deleted some unused code.
9431
9432         * app.c, as.h: Doc fix.
9433
9434         * flonum-konst.c, flonum-mult.c: Include ansidecl.h.
9435
9436         * as.h (xmalloc): Argument is long.
9437
9438         * xmalloc.c (error): Remove declaration; as.h takes care of it.
9439
9440         * doc/as.texinfo: Regrouped documentation of some command-line
9441         options.  Updated options documentation for m68k.  Some minor
9442         wording/punctuation changes.
9443
9444 Mon Nov 30 11:42:11 1992  Ken Raeburn  ([email protected])
9445
9446         * configure.in: Accept target OS "vms".
9447
9448         * symbols.c:  Merged ANSI and non-ANSI function decls, using
9449         PARAMS macro.
9450
9451         * xmalloc.c: Just include as.h, don't bother trying to figure out
9452         other header files.
9453
9454         * strstr.c, strerror.c: Deleted.
9455         * Makefile.in: Deleted references.
9456
9457         * config/tc-ns32k.c: Don't include header file for string
9458         declarations; leave that to ho-*.h.
9459
9460 Fri Nov 27 04:11:36 1992  Ken Raeburn  (raeburn at cambridge-laptop.cygnus.com)
9461
9462         * config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
9463         imported from FSF sources.
9464
9465         * messages.c (strerror): Declare unconditionally.
9466
9467         * as.h: Delete alloca and register definitions.
9468
9469         * config/atof-ieee.c (mask): Now const.
9470
9471         * obstack.c, obstack.h: Deleted.
9472
9473         * as.h (flag_readonly_data_in_text): New flag.
9474         * as.c (main): Set it for -R.
9475
9476         * as.h (flag_suppress_warnings): New flag.
9477         * as.c (main): Set it for -W.
9478         * messages.c (as_warn): Check it instead of flagseen['W'].
9479
9480         * as.h (flag_always_generate_output): New flag.
9481         * as.c (main): Set it for -Z.
9482
9483         * config/tc-sparc.h: Define NEED_FX_R_TYPE.
9484         * config/tc-a29k.h: Ditto.
9485         * write.h (struct fix): Don't conditionalize fx_r_type field on TC
9486         macros.
9487
9488         * as.h: Merged ANSI and non-ANSI function decls, using PARAMS
9489         macro.
9490         * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
9491         obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
9492         write.h: Likewise.
9493         * read.c: Likewise.
9494
9495         * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG.  Fold in
9496         xrealloc from xrealloc.c.
9497         * xrealloc.c: Deleted.
9498         * Makefile.in (REAL_SOURCES, OBJS): Adjusted.
9499
9500         * configure.in: For host CPU a29k, rs6000, vax, consider using bsd
9501         or vms ho- files.
9502
9503         * config/ho-sysv.h (setbuffer, HO_USG): Deleted.
9504
9505         * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
9506         don't initialize it with NULL.
9507
9508         * config/ho-vax.h (M_VAX): Deleted; was unused.
9509
9510         * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
9511         New files imported from FSF version, contributed by Eric Youngdale.
9512         * README-vms-dbg, config/vms: Deleted.
9513
9514         * ChangeLog, config/ChangeLog: Merged.
9515
9516         * config/*tahoe*, configure.in: Tahoe support brought in from FSF
9517         version.
9518
9519         * input-file.c (input_file_open): Eliminate call to setvbuf.
9520         [USG] (setbuffer): Deleted macro.
9521
9522 Mon Nov 23 11:00:16 1992  Ken Raeburn  ([email protected])
9523
9524         * all files: Whitespace changes for GNU indentation style, done by
9525         GNU `indent'.  Some cleanup still needed, especially of comments.
9526
9527         * configure.in: No te-386bsd.h file exists; don't try to use it.
9528
9529         * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
9530
9531         * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
9532         could be doing emulation.
9533
9534 Thu Nov 19 11:47:19 1992  Steve Chamberlain  ([email protected])
9535
9536         z8000 documentation
9537         * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
9538         all modified.
9539
9540 Tue Nov 10 09:49:24 1992  Ian Lance Taylor  ([email protected])
9541
9542         * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
9543
9544         * subsegs.h: add extern to segment_info declaration.
9545
9546         * read.h: added extern declarations for comment_chars,
9547         line_comment_chars, and line_separator_chars.
9548         read.c, app.c: removed definitions of comment_chars,
9549         line_comment_chars, and line_separator_chars.
9550
9551         * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
9552         still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
9553         the register name.
9554         (insert_reg): put REGISTER_PREFIX before register names before
9555         putting them in the symbol table.
9556         * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
9557         M68KCOFF.
9558
9559         * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
9560         section.
9561
9562         * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
9563         comment_chars, line_comment_chars and line_seperator_chars
9564         consistently const, and always initialized them.  Included read.h.
9565
9566 Thu Nov  5 17:55:41 1992  Jim Wilson  ([email protected])
9567
9568         * tc-sparc.c (sparc_ip): Add code to flag error if an absolute
9569         constant will not fit in an immediate field.
9570         (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
9571
9572 Wed Nov  4 07:50:46 1992  Ken Raeburn  ([email protected])
9573
9574         * obj-coff.c (callj_table): Delete global variable.
9575         (obj_emit_relocations): Define it locally here, and only if
9576         TC_I960 is defined.
9577
9578         * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
9579         (m68k_ip): Don't warn about bignum used as float bit-pattern.
9580
9581         * obj-coff.c: Replaced ANSI and non-ANSI function declarations
9582         with a single set using PARAMS macro.
9583
9584         * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
9585         of 2.
9586
9587         * tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
9588
9589         * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
9590         so widening works consistently.
9591
9592 Wed Oct 28 08:52:34 1992  Ken Raeburn  ([email protected])
9593
9594         * version.c: Put conditional "const" before version_string, not
9595         before dummy function for VMS.  Now version 1.91.03.
9596
9597         * app.c (do_scrub_next_char): Need double-\ before `000' to show
9598         printed rep of null character.
9599
9600 Fri Oct 23 14:40:38 1992  Ian Lance Taylor  ([email protected])
9601
9602         * obj-coffbfd.c (write_object_file): check return value of
9603         bfd_close_all_done.
9604
9605 Tue Oct 20 12:18:08 1992  Ian Lance Taylor  ([email protected])
9606
9607         * Support for i386-sysv.
9608         obj-coffbfd.c (do_relocs_for, write_object_file): set segment
9609         addresses to reasonable sizes.  New define ZERO_BASED_SEGMENTS can
9610         be used to set them all to zero as was done before.
9611         (fill_section): segment addresses now set in write_object_file.
9612         (fill_section): Don't set STYP_NOLOAD for .bss section.
9613         (fixup_segment): 386 uses strange common symbol format.
9614         tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
9615         compatibility with SVR3.2 linker.
9616         * configure.in: i386-sysv and i386-sco use coffbfd.
9617
9618         * app.c (do_scrub_next_char): discard whitespace after a label.
9619
9620 Sat Oct 10 12:33:45 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
9621
9622         * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
9623         hosts, use the sysv configuration for solaris2
9624
9625 Mon Oct  5 09:28:57 1992  Steve Chamberlain  ([email protected])
9626
9627          fix i960+non-bfd coff bit rot.
9628         * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
9629         support for C source listings. (obj_coff_endef): look in the right
9630         part of the symbol for the symbol name
9631
9632         * tc-m68k.c (get_num): make it work for all segments, not just the
9633         first three.
9634
9635 Mon Oct  5 03:30:36 1992  Mark Eichin  (eichin at tweedledumber.cygnus.com)
9636
9637         * configure.in: recognize i386-*-bsd emulation.
9638
9639 Thu Oct  1 23:05:12 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
9640
9641         * configure.in: use the cpu-vendor-os triple for host and target
9642
9643 Tue Sep 29 12:22:52 1992  Steve Chamberlain  ([email protected])
9644
9645         * obj-coffbfd.c (write_object_file): don't fixup for the z8k
9646         * tc-z8k.c: lots of bug fixes
9647
9648 Tue Sep 29 10:51:55 1992  Ian Lance Taylor  ([email protected])
9649
9650         * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
9651         #elif, since it is not supported by old compilers.
9652         ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
9653         couple of expressions in tc-m68k.c.
9654
9655 Mon Sep 28 21:18:24 1992  Ken Raeburn  ([email protected])
9656
9657         * read.c (cons): If NO_RELOC is defined, use it.
9658
9659         * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
9660
9661 Fri Sep 25 18:18:52 1992  Ian Lance Taylor  ([email protected])
9662
9663         * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
9664         local labels to start with a .) and set REGISTER_PREFIX to %.
9665         tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
9666
9667 Fri Sep 25 17:53:43 1992  John Gilmore  ([email protected])
9668
9669         * messages.c:  Comment changes.
9670
9671 Fri Sep 25 14:12:58 1992  Ken Raeburn  ([email protected])
9672
9673         * as.h: Test if __STDC__ is defined only, don't test its value.
9674         * messages.c: If __STDC__ is not defined, define NO_STDARG.
9675
9676 Thu Sep 24 12:42:32 1992  Brendan Kehoe  ([email protected])
9677
9678         * listing.c (debugging_pseudo): Add stabs and stabn as things to
9679         ignore.
9680
9681 Tue Sep 22 13:02:07 1992  Sean Eric Fagan  ([email protected])
9682
9683         * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
9684         sections starting from zero, rather than making them consecutive.
9685         This makes subsequent reloc calculations easier, esp if the object
9686         format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
9687         allocate lcomm in .data rather than in .bss.  It seems that some
9688         tools can't cope with a non-zero sized bss before linkage.
9689
9690 Tue Sep 22 15:10:51 1992  Ken Raeburn  ([email protected])
9691
9692         * tc-m68k.c: Replace "enum m68k_architecture" with "int"
9693         throughout.  That enum no longer means what we thought it meant.
9694
9695         * tc-m68k.c (md_assemble, md_parse_option): Handle new
9696         "-mno-688[58]1" options.
9697
9698         * tc-m68k.c: Added CPU32 support.
9699
9700 Fri Sep 18 08:02:18 1992  Steve Chamberlain  ([email protected])
9701
9702         * tc-m68k.c (m68k_ip): An(disp) is not pc relative.
9703
9704 Tue Sep 15 17:25:05 1992  Jim Wilson  ([email protected])
9705
9706         * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
9707         Change LIBDEPS dependence to LIBS.
9708
9709 Tue Sep 15 15:32:02 1992  Ian Lance Taylor  ([email protected])
9710
9711         * Makefile.in (install): if $(tooldir) exists, install as in
9712         $(tooldir)/bin.
9713
9714 Sun Sep 13 20:30:10 1992  Ian Lance Taylor  ([email protected])
9715
9716         * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
9717         .word is < -32768 or > 32767.  The -J flag causes the error to be
9718         ignored.  This is to catch over-sized switches generated by gcc on
9719         systems which don't support the broken .word hack.
9720         as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
9721         write.c (fixup_segment): check for signed .word overflow if
9722         WARN_SIGNED_OVERFLOW_WORD.
9723
9724         * write.c (fixup_segment): fixed missing parens in expression
9725         checking for byte or word overflow.
9726
9727         * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
9728         obj-coffbfd.c (fixup_segment): check for signed .word overflow if
9729         WARN_SIGNED_OVERFLOW_WORD.
9730
9731         * obj-coffbfd.c (fixup_segment): fixed missing parens in
9732         expression checking for byte or word overflow.
9733
9734 Fri Sep 11 10:21:04 1992  Steve Chamberlain  ([email protected])
9735
9736         Support for i386 coff
9737         * obj-coffbfd.h : added stuff
9738         * tc-i386.c (tc_coff_fix2rtype): new function
9739         * tc-i386.h : new coff defines
9740
9741 Thu Sep 10 09:23:15 1992  Ian Lance Taylor  ([email protected])
9742
9743         * input-scrub.c (input_scrub_push): call input_file_begin, not
9744         input_scrub_begin.
9745         messages.c (as_perror): print ": " between the passed in error and
9746         the strerror, like perror does.
9747
9748 Wed Sep  9 11:06:25 1992  Ian Lance Taylor  ([email protected])
9749
9750         * Makefile.in: use gas_target instead of modifying target_cpu.
9751         From Steve Chamberlain:
9752         Makefile.in: Handle m68*-*-coff*.
9753         read.c, read.h: add mult argument to s_space
9754
9755         * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
9756          Motorola and MIT syntax; gas can now assemble either type of
9757          file.
9758         tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
9759         From Steve Chamberlain:
9760         m68kcoff.mt: for m68k COFF.
9761         obj-coffbfd.c: (fixup_mdeps) added
9762          (size_section) removed bad sanity check
9763          (fill_section) added rs_machine_dependent case
9764          (write_object_file) call fixup_mdeps
9765          (fixup_segment) set fx_subsy to 0.
9766         obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
9767          handle m68k.
9768         tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
9769          pseudo ops.
9770
9771 Tue Sep  8 17:10:58 1992  Ken Raeburn  ([email protected])
9772
9773         * Makefile.in (LIBS): Include opcode library.
9774
9775 Fri Sep  4 18:20:56 1992  Ken Raeburn  ([email protected])
9776
9777         * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
9778         including zero are accepted, pass +0.0.
9779
9780 Sun Aug 30 21:24:46 1992  Ian Lance Taylor  ([email protected])
9781
9782         * Makefile.in: map "as" through program_transform_name when
9783         installing.
9784
9785         * doc/Makefile.in: map "as" through program_transform_name when
9786         installing.
9787
9788 Sat Aug 29 12:11:12 1992  Jim Wilson  ([email protected])
9789
9790         * Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
9791
9792 Fri Aug 28 16:25:22 1992  Ian Lance Taylor  ([email protected])
9793
9794         * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
9795         tc-i960.c (md_ri_to_chars): Always output bout object file in
9796         little endian byte order (used to use endianness of host).
9797
9798 Tue Aug 25 15:50:48 1992  Ken Raeburn  ([email protected])
9799
9800         * config/tc-m68k.c (init_table): Now const.  Always include 68851
9801         data, so that "bc" is available to 68040 cache instructions.
9802         Added "tt0", "tt1", and 68ec030 variants.
9803         (md_assemble): Complain if 68000 (only) and 68881 are specified.
9804         (enum _register): Added TT0, TT1.
9805         (m68k_ip, cases '3' and 't'): Handle new operand type codes.  Pass
9806         line number correctly in "internal error" messages.  Don't print
9807         architecture-mismatch message for operand errors.
9808
9809         From Colin Smith ([email protected]):
9810         * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
9811         than install_operand.
9812
9813 Tue Aug 25 15:13:48 1992  Steve Chamberlain  ([email protected])
9814
9815         * listing.c (buffer_line): rewind to the start of include
9816         files, they might be included twice.
9817
9818         * z8k.c, z8k.h, z8k.mt: z8000 support stuff
9819
9820 Mon Aug 24 12:45:43 1992  Ian Lance Taylor  ([email protected])
9821
9822         * Makefile.in: defined TARGET_CPU for C code so that it can choose
9823         one element of a family.
9824
9825         * tc-m68k.c: use TARGET_CPU to choose default cpu type.
9826
9827         * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
9828         so that we can assemble hand-written libgcc code.
9829
9830 Fri Aug 21 14:38:44 1992  Ken Raeburn  ([email protected])
9831
9832         * messages.c (as_warn): Use fputs, not fprintf, with a buffer that
9833         has already been formatted (but may still contain %-characters).
9834         (as_bad): Likewise.
9835
9836 Wed Aug 19 11:20:59 1992  Ian Lance Taylor  ([email protected])
9837
9838         * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
9839         written with indirection on the last two operands, which can be
9840         either data or address registers.  Added a new operand type 'r'
9841         which accepts either register type.  Added '(' to notend stuff in
9842         tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
9843
9844 Wed Aug 19 09:25:09 1992  Ken Raeburn  ([email protected])
9845
9846         * as.h (enum _relax_state): Start off at one, not zero, to better
9847         catch uninitialized-variable errors.
9848         (linkrelax): Declare new variable.
9849
9850         * messages.c (warning_count, error_count): Default initializer is
9851         sufficient.
9852
9853         * write.c: Merged some declarations, using PARMS macro.
9854         (text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
9855         data_last_frag): No longer static.
9856         (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
9857         defined, call it.  Change segments before calling fixup_segment.
9858         (relax_align): If linkrelax, provide extra padding.
9859
9860         * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
9861         their not having symbols associated.
9862
9863         * tc-i960.c (norelax, instrument_branches): Default initializer is
9864         sufficient.
9865         (linkrelax): Delete variable definition.
9866         (mem_fmt): Call fix_new with NO_RELOC.
9867         (tc_bout_fix_to_chars): Handle alignment relocs.
9868         (i960_handle_align): New function.
9869         * tc-i960.h (linkrelax): Delete declaration.
9870         (HANDLE_ALIGN): New macro; calls i960_handle_align.
9871         (NEED_FX_R_TYPE, NO_RELOC): New macros.
9872
9873 Tue Aug 18 14:59:21 1992  Ken Raeburn  ([email protected])
9874
9875         * config/sparc.mt: New file.  Grab sparc opcode table from bfd
9876         library.
9877
9878 Tue Aug 18 14:16:38 1992  Ian Lance Taylor  ([email protected])
9879
9880         * Makefile.in: always create installation directories.  Removed
9881         MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
9882         FLAGS_TO_PASS to recursive makes.
9883
9884         * doc/Makefile.in: always create installation directories.
9885
9886 Mon Aug 17 15:09:56 1992  Steve Chamberlain  ([email protected])
9887
9888         * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
9889         being used with args swapped, causing occasional lossage when
9890         refilling buffers after an include file.
9891
9892 Mon Aug 17 13:18:51 1992  Ken Raeburn  ([email protected])
9893
9894         * messages.c (as_tsktsk): Use correct ANSI form for stdarg
9895         version.  Discard bogus DONTDEF version.
9896         (as_warn, as_bad, as_fatal): Likewise.
9897
9898 Fri Aug 14 18:31:14 1992  Ken Raeburn  ([email protected])
9899
9900         * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
9901         selected architecture, print a message saying so and listing what
9902         processors support it, rather than saying "operands mismatch".
9903
9904 Thu Aug 13 13:53:19 1992  Ken Raeburn  ([email protected])
9905
9906         * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
9907
9908         * config/ho-rs6000.h (M_RS6000): Don't define it.
9909         (free): Declare it.
9910         (BROKEN_ASSERT): Define it if not __STDC__.
9911
9912 Tue Aug 11 12:58:14 1992  Ken Raeburn  ([email protected])
9913
9914         * sparc.mt: New file.
9915
9916 Mon Aug 10 14:37:08 1992  Per Bothner  ([email protected])
9917
9918         * tc-m68k.c: ".align N" means align to N-byte boundary *only*
9919         if TN_SUN3; otherwise align to 2**N-byte bounary.
9920
9921 Thu Aug  6 12:10:39 1992  Steve Chamberlain  ([email protected])
9922
9923         * read.c (s_fill): make the .fill size clamped error a warn and
9924         fix bug where 0's were always placed.
9925
9926         * config/tc-h8300.c: if a :8 is seen after an operand, fill top
9927         two bytes of any constant with 0xff:
9928
9929 Wed Aug  5 12:02:40 1992  Steve Chamberlain  ([email protected])
9930
9931         * config/tc-m68k.c (md_pseudo_table): fix the .align thing
9932         the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
9933
9934 Wed Aug  5 01:54:34 1992  John Gilmore  (gnu at cygnus.com)
9935
9936         * tc-m68k.c (try_index):  Error if index scaling specified and
9937         assembling for an older CPU than a 68020.
9938
9939 Sat Aug  1 19:10:13 1992  Ken Raeburn  ([email protected])
9940
9941         * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
9942         fx_offset into account.
9943
9944 Fri Jul 31 21:53:28 1992  Ken Raeburn  ([email protected])
9945
9946         * configure.in (mips host): Accept "ultrix" with version number.
9947
9948         * expr.c (floating_constant): Separate "=-" to avoid confusing
9949         ancient or broken compilers.
9950
9951         * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
9952         processor/opcode mismatch, so reword the error message.
9953         (md_assemble): If no CPU has been set (even if FPU/PMMU
9954         characteristics have been), default to 68020.  Don't need extra
9955         quotes around error string.
9956
9957 Fri Jul 31 12:26:34 1992  Jim Wilson  ([email protected])
9958
9959         * read.c (potable): Revert sac's incorrect change made Jul 13.
9960         Align really is supposed to be ptwo not nbytes.
9961
9962 Mon Jul 20 02:51:59 1992  D. V. Henkel-Wallace  ([email protected])
9963
9964         * Makefile.in: _Do_ include libiberty.  (from sef)
9965
9966 Fri Jul 17 15:15:28 1992  Ken Raeburn  ([email protected])
9967
9968         * expr.c (integer_constant): Handle "0f" and "0b" label references
9969         properly.
9970
9971 Thu Jul 16 08:20:17 1992  Steve Chamberlain  ([email protected])
9972
9973         * write.c (fixup_segment): if relaxing, don't do anything.
9974         * config/obj-bout.[ch] : maintain the a_relaxable file header info
9975         * config/tc-i960.c: new option -linkrelax
9976
9977 Mon Jul 13 14:11:36 1992  Steve Chamberlain  ([email protected])
9978
9979         * expr.c (expr): allow SEG_BSS in expressions
9980         * read.c (potable): align should be nbytes, not ptwo!
9981         * write.c (write_object_file): extra glue for new bss attributes
9982         (relax_segment): SEG_BSS is ok now
9983         * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
9984
9985 Mon Jul  6 17:09:32 1992  Steve Chamberlain  ([email protected])
9986
9987         * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
9988
9989 Mon Jun  1 16:20:22 1992  Michael Tiemann  ([email protected])
9990
9991         * configure.in: recognize m680x0 as having sun3 emulation mode for
9992         vxworks environment.
9993
9994
9995 Tue Jun 30 20:25:54 1992  D. V. Henkel-Wallace  ([email protected])
9996
9997         * Makefile.in: Add program_suffix (parallel to program_prefix)
9998
9999 Wed Jun 24 10:57:54 1992  Steve Chamberlain  ([email protected])
10000
10001         * app.c (process_escape): new function to handle escapes the right
10002         way, (do_scrub_next_char): use new function
10003         * cond.c (s_ifdef): do ifdef/ifndef right
10004         * read.c (s_fill): make the , expressions optional like the doc
10005         says
10006         * config/tc-h8300.[ch]: better warnings
10007
10008 Tue Jun  9 07:54:54 1992  Steve Chamberlain  ([email protected])
10009
10010         * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
10011         as data0_frchainP
10012
10013         * write.c (write_object_file): various changes to handle data in
10014         the BSS segment in much the same was as stuff in the DATA segment.
10015
10016         * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
10017         pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
10018         68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
10019         the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
10020         it into SEG_BSS
10021
10022 Thu Jun  4 11:59:13 1992  Steve Chamberlain  ([email protected])
10023
10024         * expr.c(expr): allow SEG_REGISTER in expressions.
10025         * read.c(pseudo_set): register expressions can be the source of a
10026         set.
10027         * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
10028         goto SEG_TEXT (if a.out)
10029         * write.c (write_object_file): If a.out don't use the old way for
10030         -R.
10031         * config/obj-a.out (s_sect): complain if the user tries to use a
10032         subsegment with a value which might interfere with out -R hackery.
10033         * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
10034         rather than use ugly if tree. (init_regtable): insert register
10035         names into symbol table.
10036
10037 Tue Jun  2 16:47:09 1992  Steve Chamberlain ([email protected])
10038
10039         * write.c (write_object_file): keep the fix_tail clean, which
10040         fixes a bug in -R where relocations were being lost.
10041
10042 Mon Jun  1 16:20:22 1992  Michael Tiemann  ([email protected])
10043
10044         * configure.in: recognize m680x0 as having sun3 emulation mode for
10045         vxworks environment.
10046
10047 Sun May 31 05:33:00 1992  david d `zoo' zuhn ([email protected])
10048
10049         * configure.in: recognize m680x0 as an m68k
10050
10051 Thu May 28 11:22:02 1992  Jim Wilson  ([email protected])
10052
10053         * configure.in: Recognize sparclite as a sparc variant.
10054
10055         * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro.  Mention new
10056         -Asparclite flag.
10057
10058 Tue May 26 16:47:56 1992  Steve Chamberlain  ([email protected])
10059
10060         * config/tc-a29k.c: lint
10061         * listing.c, expr.c: patches from Andrew Smith
10062
10063 Thu May 14 17:22:48 1992  K. Richard Pixley  ([email protected])
10064
10065         * doc/Makefile.in: use m4 rather than gm4.
10066
10067 Mon May  4 18:56:19 1992  Steve Chamberlain  ([email protected])
10068
10069         * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
10070         calc the base of relocs correctly.
10071         * tc-a29k.c (parse_operand): allow expressions to be in any section.
10072
10073 Mon Apr 27 13:13:31 1992  K. Richard Pixley  ([email protected])
10074
10075         * as.c, write.c: use -K rather than -k for the broken word warning
10076           option.
10077
10078 Tue Apr 21 13:35:30 1992  K. Richard Pixley  ([email protected])
10079
10080         * Makefile.in: do not print recursion lines.
10081
10082 Wed Apr 15 21:19:31 1992  K. Richard Pixley  ([email protected])
10083
10084         * Makefile.in: the tooldir copy of gas goes directly in tooldir.
10085
10086 Tue Apr 14 14:50:22 1992  Ken Raeburn  ([email protected])
10087
10088         * write.c (write_object_file): For b.out format, round up section
10089         start addresses to match required alignment.
10090
10091 Thu Apr  9 05:45:29 1992  Ken Raeburn  ([email protected])
10092
10093         * Makefile.in (install): Install into $(tooldir)/bin, since that's
10094         where gcc looks for it.
10095
10096 Tue Apr  7 15:12:15 1992  Sean Eric Fagan  ([email protected])
10097
10098         * Makefile.in:  Changed some lines to be less confusing for some
10099         makes.
10100
10101         * input-file.c:  Conditionalize on _IOFBF, not VMS.
10102
10103         * read.c, write.c:  Change a series of ifdef/elif to
10104         ifdef/else/ifdef etc.
10105
10106 Fri Mar 27 12:21:16 1992  K. Richard Pixley  ([email protected])
10107
10108         * symbols.c (fb_label_init): fix sizeof to memset.
10109
10110 Fri Mar 13 15:45:44 1992  K. Richard Pixley  ([email protected])
10111
10112         * Makefile.in: install the man page.
10113
10114         * Makefile.in: pass down MAKEINFO explicitly on info.
10115
10116         * doc/Makefile.in: use $(MAKEINFO) not makeinfo.
10117
10118 Fri Mar 13 08:03:03 1992  Steve Chamberlain  ([email protected])
10119
10120         * flonum-const.c: renamed flonum-konst.c to stop dos name
10121         conflict.
10122
10123 Thu Mar 12 04:42:38 1992  K. Richard Pixley  ([email protected])
10124
10125         * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
10126           tc-m68k.h to te-sun3.h.
10127
10128 Wed Mar 11 23:32:42 1992  K. Richard Pixley  ([email protected])
10129
10130         * configure.in: vxworks68 gets te-sun3.h.
10131
10132         * expr.c: remove limitation that local_labels_dollar or
10133           local_labels_fb must be < 10.
10134
10135         * symbols.c: remove local_labels_dollar, replace with a function
10136           interface for a sparse array.  All users adjusted.
10137
10138         * te-sun3.h: add LOCAL_LABELS_DOLLAR.
10139
10140 Sat Mar  7 00:06:25 1992  K. Richard Pixley  ([email protected])
10141
10142         * doc/Makefile.in: commented out line for building as-all.texinfo.
10143           This is temporary.
10144
10145         * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
10146
10147 Fri Mar  6 21:57:18 1992  K. Richard Pixley  ([email protected])
10148
10149         * Makefile.in: added check target.
10150
10151 Tue Mar  3 15:45:56 1992  K. Richard Pixley  ([email protected])
10152
10153         * Makefile.in: added tooldir and program_prefix.
10154
10155 Sun Mar  1 04:43:19 1992  Michael Tiemann  ([email protected])
10156
10157         * write.{c,h} (fix_new): Make these declarations consistent.
10158
10159 Sat Feb 29 13:59:10 1992  Michael Tiemann  ([email protected])
10160
10161         * Makefile.in (strerror.o): Add rule so that broken Sun make can
10162         work in subdirs.
10163
10164 Wed Feb 26 19:26:28 1992  Steve Chamberlain  (sac at thepub.cygnus.com)
10165
10166         * read.c, obj-coffbfd.c : fix h8300 specific bit rot
10167
10168         * expr.c (operand): if can't work out what sort of operand it is,
10169         then look through FLT_CHARS for a hint.
10170
10171 Wed Feb 26 18:04:40 1992  K. Richard Pixley  ([email protected])
10172
10173         * Makefile.in, configure.in: removed traces of namesubdir,
10174           -subdirs, $(subdir), $(unsubdir), some rcs triggers.  Forced
10175           copyrights to '92, changed some from Cygnus to FSF.
10176
10177         * doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
10178           -subdirs, $(subdir), $(unsubdir), some rcs triggers.  Forced
10179           copyrights to '92, changed some from Cygnus to FSF.
10180
10181 Tue Feb 25 14:17:15 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
10182
10183         * expr.c: If an expression is single comma, then return with
10184         SEG_ABSENT rather than an error - since the sparc front end does
10185         really strange things with things like fbge,a
10186
10187         * as.h: include bfd.h if using many sections
10188         * expr.c: LOCAL_LABELS_FB had been changed to lower case - so
10189         local labels didn't work.
10190         * listing.c (list_symbol_table): don't core dump when there's no
10191         symbol there.
10192         * write.c, write.h: call fix_new with the right number of args on
10193         the H8.
10194         * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
10195         errors nices
10196
10197 Sat Feb 22 12:26:28 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
10198
10199         * app.c: MRI compatibility - allow single quote to start a string.
10200         * as.c: fix typo recently introduced.
10201         * as.h : Don't include aout/reloc.h - it's not right for COFF!
10202         * expr.c: Much rewriting, to accomodate MRI syntax for
10203         expressions. Also easier to read now.
10204         * listing.c: Put back defuns
10205         * read.c: modified to accept MRI syntax, put back listing pseudo
10206         ops so that an assembler built with NO_LISTING ignores list ops
10207         rather than pukes.
10208         * write.c, write.h: fixs - only keep a reloc type in a fix if the target
10209         machine is a SPARC or a 29K.
10210         * config/obj-aout.c: added s_sect pseudo op
10211         * config/obj-coffbfd.c: lints, set the filehdr flags right and
10212         fill in the timestamp.
10213         * config/obj-coffbfd.h: Since we don't include aout/reloc.h
10214         anymore, define all the relocs which the tc-<x> bit will use so we
10215         can translate from them to the coff types.
10216         * config/tc-a29k.c: reloc_type isn't ane enum any more
10217         * config/tc-m68k.c: Added NO_RELOC definition.
10218
10219 Fri Feb 21 06:21:07 1992  K. Richard Pixley  ([email protected])
10220
10221         * Makefile.in: put header files before C source for TAGS; remove
10222           references to non-existent syscalls.h.
10223
10224         * read.c, write.c subsegs.c: back out the .bss changes.
10225
10226         * obj-aout.c: do not include stab.gnu.h if NO_LISTING.
10227
10228         * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
10229
10230         * a.out.h: removed.
10231
10232 Fri Feb 21 01:08:48 1992  Minh Tran-Le ([email protected])
10233
10234         * symbols.c (local_label_name): symbols now start with ^A.
10235
10236         * read.c, subsegs.c, write.c obj-coff.c: added handling of
10237           `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
10238           generate these sections.  .align: will use NOP_OPCODE or 0
10239           for padding. This is just for being nice to the
10240           disassembler.
10241
10242         * expr.c (operand): changed to generate local label "\001L0"
10243           starting with a ^A so that it is recognized as a local label.
10244
10245         * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
10246
10247         * tc-i386.c: tc-i386.c: added handling of the following opcodes:
10248           i/o opcodes - inb, inw, outb and outw.  string manipulation with
10249           att syntax - scmp, slod, smov, ssca, ssto.
10250
10251         * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
10252           to just after .file .
10253
10254           In obj_crawl_symbol_chain() where it tries to put the external
10255           symbols apart, with the condition:
10256             (!S_IS_DEFINED(symbolP) &&
10257              !S_IS_DEBUG(symbolP) &&
10258              !SF_GET_STATICS(symbolP))
10259           it was moving too many symbols out. So I switch it back to the
10260           condition:
10261             (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
10262
10263           In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
10264           so that we don't use the F_RELFLG which make the linker complain
10265           that somebody has stripped the relocation info.
10266
10267           Also, the AIX ld program require that the relocation table
10268           is sorted by r_vaddr like the standard ATT assembler does.
10269
10270           [he also changed the sizeof(struct ...)'s into the coff
10271           style FOOSZ macros.  I'm not sure this is right, but I can't
10272           remember why.  xoxorich.]
10273
10274 Fri Feb 21 01:08:48 1992  K. Richard Pixley  ([email protected])
10275
10276         * Makefile.in, configure.in, doc: use the doc.  Build it, install
10277           it, clean it, etc.
10278
10279 Tue Feb 18 02:21:25 1992  K. Richard Pixley  (rich at cygnus.com)
10280
10281         * read.c: white space and comments only.
10282
10283         * configure.in: use the new atof-ns32.c for ns32k.
10284
10285         * write.c: comment change only.
10286
10287         * tc-m88k.[hc]: pulled in from hack's unfinished work.  These
10288           aren't yet integrated.
10289
10290         * tc-i860.[hc]: blew off the dust.  Something must still be done
10291           about conflicting relocation types.
10292
10293         * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
10294           real thing.
10295
10296         * tc-i960.c, tc-sparc.c: white space and comments only.
10297
10298         * tc-a29k.h: delete duplicate macro definition.
10299
10300         * new file atof-ns32k.c copied from hack's last unreleased gas.
10301
10302 Mon Feb 17 07:51:06 1992  K. Richard Pixley  (rich at cygnus.com)
10303
10304         * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
10305           rather than abort.
10306
10307         * nearly everything.  flush ChangeLog, package as gas-1.92.1.
10308           ChangeLog's prior to this are sketchy at best.  I have logs.
10309           They just aren't ChangeLogs.
10310
10311 \f
10312 Local Variables:
10313 mode: indented-text
10314 left-margin: 8
10315 fill-column: 74
10316 version-control: never
10317 End:
This page took 0.629742 seconds and 4 git commands to generate.