0108caa0a514b1808f0d4c72e4a4d8ffd7b72c7c
[external/binutils.git] / gas / ChangeLog
1 Wed Jul 13 14:49:05 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
2
3         * config/tc-m68k.c (m68k_ip): Change rp to be a const pointer.
4         (md_parse_option): Clear cpu field of current_architecture before
5         setting a new cpu type.  Clear no_68881 for m68881 or m68882.
6         Clear no_68851 for m68851.
7
8 Tue Jul 12 21:27:05 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
9
10         * config/ho-sysv.h (realloc): Declare.
11
12         * symbols.c (symbol_create): New function, most of the guts of the
13         old symbol_new function.
14         (symbol_new): Now just checks symbol_table_frozen, calls
15         symbol_create, and enters the symbol into the symbol table.
16         * subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true,
17         and the symbol table is frozen, call symbol_create instead of
18         symbol_new.
19         * symbols.h (symbol_create, symbol_table_frozen): Declare.
20
21         * symbols.c (symbol_clear_list_pointers): Always a function now.
22         * struc-symbol.h (symbol_clear_list_pointers): Deleted macro
23         version.
24
25         * symbols.c (debug_verify_symchain): New macro, defined to be
26         verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
27         (many functions): Invoke debug_verify_symchain unconditionally.
28
29 Tue Jul 12 12:06:42 1994  Kung Hsu  (kung@x1.cygnus.com)
30
31         * config/obj-ecoff.h: change calling interface of
32         OBJ_GENERATE_ASM_LINE_STAB.
33         * config/obj-elf.h: ditto.
34         * read.c (read_a_source_file): ditto.
35         * ecoff.h: change calling interface of
36         ecoff_generate_asm_line_stab.
37         * ecoff.c (add_file): record of filename to handle case of include
38         files, also change default built-in type from int to void for
39         asm file.
40         * ecoff.c (ecoff_generate_asm_line_stab): handle case of include
41         files.
42
43 Mon Jul 11 17:20:23 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
44
45         * config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large
46         constant, and case ldd_std, set mips_optimize to 2 temporarily to
47         avoid inserting an unexpected nop instruction.
48
49 Sat Jul  9 00:05:12 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
50
51         * ecoff.c (ecoff_build_lineno): Handle count correctly for last
52         line number.
53
54 Fri Jul  8 15:22:07 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
55
56         * (process_pseudo_op): Pass right are do do_aif.
57         (get_any_string): New arg 'pretend_quote'.
58         (get_and_process, do_formals, macro_expand, do_sdata,
59         process_pseudo_op): Use new arg.
60
61 Fri Jul  8 12:23:44 1994  Kung Hsu  (kung@mexican.cygnus.com)
62
63         * config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB.
64         * config/obj-elf.h: ditto.
65         * read.c (read_a_source_file): generate line stabs for asm file.
66         * read.h: add extern generate_asm_line_stab.
67         * ecoff.h : add prototype for ecoff_generate_asm_line_stab().
68         * ecoff.c (add_file): if there's no filename provided, set switch
69         to generate line stabs for .s file.
70         * ecoff.c (add_procedure): add stabs symbol for .ent directive.
71         * ecoff.c (generate_ecoff_stab): creates an artificial stabs.
72         * ecoff.c (generate_asm_line_stab): generate a artifitial label
73         for each line and generate a stabn for the line.
74
75 Thu Jul  7 17:04:03 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
76
77         * gasp.c (get_any_string): Cope with getting a string with an
78         alternate base specifier.
79         (do_aif, do_aelse): Only enable output if expression is true and previous
80         level was on.
81         (chartype_init):  Add BASEBIT chartype.
82         (process_pseudo_op):  Notice nesteed AIFs.
83
84 Thu Jul  7 12:30:22 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
85
86         * h8300.c (do_a_fix_imm): Code for 2 bit reloc type using in trapa
87         insn.  (fix pr 5165, 5174)
88
89 Thu Jul  7 11:31:32 1994  Jeff Law  (law@snake.cs.utah.edu)
90
91         * config/tc-hppa.c (R_DLT_REL): If it isn't defined, then define
92         to an appropriate value to avoid losing on old hpux systems.
93
94         * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for
95         symbols in DLT relative relocs.
96         (tc_gen_reloc): Zero out the addend field for DLT relative relocs.
97
98 Wed Jul  6 01:07:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
99
100         * config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to
101         align to a four byte boundary.
102
103 Tue Jul  5 15:42:09 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
104
105         * config/tc-alpha.c (load_expression): Handle 32-bit addends.
106         (gpdisp_hi16_howto): Now points to const.
107         (load_insn_table, alpha_ip): Fix uses of const.
108
109         * doc/internals.texi: Updates to COFF description.  Added "@end
110         defmac" as needed, and some extra heading and "@bye" so it'll
111         format as a separate document.
112
113 Tue Jul  5 13:54:00 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
114
115         * config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define.
116         * config/obj-elf.c (obj_elf_common): Set alignment of common
117         symbol.
118         * config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of
119         common symbol.
120
121 Mon Jul  4 18:29:43 1994  Jeff Law  (law@snake.cs.utah.edu)
122
123         * config/tc-hppa.c (is_complex): New macro.
124         (cons_fix_new_hppa): "Handle" complex expressions.
125
126 Fri Jul  1 00:48:12 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
127
128         * config/obj-coff.c (write_object_file): Set s_align field from
129         section_alignment array.
130
131 Thu Jun 30 15:05:28 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
132
133         * write.c (write_object_file): Use bfd_com_section_ptr.
134         * as.h (absolute_section, undefined_section): Use new BFD macros
135         bfd_abs_section_ptr and bfd_und_section_ptr.
136
137 Thu Jun 30 14:36:37 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
138
139         * config/tc-mips.c (macro): For M_LI_SS, decide how to handle it
140         based on contents of imm_expr and offset_expr, rather than
141         mips_pic.  For M_LI_DD, decide how to handle it based on segment
142         name of offset_expr, rather than mips_pic.
143         (mips_ip): If g_switch_value < 4, use immediate values for 'l'.
144         If g_switch_value < 8, use .rdata rather than .lit for 'L'.
145
146 Wed Jun 29 17:30:46 1994  Stan Shebs  (shebs@andros.cygnus.com)
147
148         * as.c (show_usage): Break long string into shorter ones.
149         (parse_args): Add -v, prints version id and continues.
150         * config/tc-mips.c (md_show_usage): Break long string.
151
152 Mon Jun 27 09:47:16 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
153
154         *  config/tc-i386.c (md_parse_option): Handle "-V" and "-Q" if
155         OBJ_ELF is defined.
156
157 Sun Jun 26 16:30:48 1994  Stan Shebs  (shebs@andros.cygnus.com)
158
159         * as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific
160         initialization.
161
162 Wed Jun 22 00:24:55 1994  Jeff Law  (law@snake.cs.utah.edu)
163
164         * config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF.
165         More gas/bfd lossage exposed by the new linker code.
166
167 Tue Jun 21 11:32:18 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
168
169         * subsegs.c (subseg_change): Clear seginfo after allocating it.
170         (subseg_get): Pass actual size of seginfo to memset.
171
172         * subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER.
173         (subseg_change): Store seg_info for bfd_abs_section_ptr in
174         abs_seg_info, and store seg_info for bfd_und_section_ptr in
175         und_seg_info.
176         (subseg_get): Likewise.  Also, don't set output_section if it is
177         already set.
178         (seg_info): Define as function.
179         * subsegs.h (seg_info): Declare as function rather than defining
180         as macro.
181         * write.c (relax_and_size_seg): Call seg_info rather than
182         bfd_get_section_userdata.
183
184 Mon Jun 20 16:30:54 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
185
186         * configure.in (ppc-*-elf*): New target, like -sysv4*.
187
188         * expr.c (operand): If "0f" is followed by '\0', don't do eol
189         checks.
190
191 Mon Jun 20 15:17:43 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
192
193         * ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out
194         via backend pointer, not directly.
195
196 Fri Jun 17 18:05:06 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
197
198         * Makefile.in (config-stamp): Make sure there is at least one
199         element in the for loop.
200
201 Fri Jun 17 11:01:04 1994  Jeff Law  (law@snake.cs.utah.edu)
202
203         * config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy.
204
205         * config/tc-hppa.h (elf_hppa_final_processing): Declare.
206
207 Wed Jun 15 20:44:46 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
208
209         * as.c (parse_args): Cast xmalloc return value.
210
211         * Makefile.in (config-stamp): If $(defs) contains multiple words,
212         emit a #define line for each.
213         * configure.in: For sparc64 target, use sparc cpu files and add
214         sparcv9 to extra_defs.  No longer treat sparc64-*-aout* specially.
215
216         * config/tc-sparc.c (membar_masks): Now static and const.
217         (md_show_usage) [!NO_V9]: Add -Av9 to usage message.
218         (current_architecture) [sparcv9]: Initialize to v9.
219         (md_begin) [sparcv9]: Don't bother changing it unconditionally
220         here.
221         (s_reserve): Don't pass unexpected argument to as_bad with
222         bad-segment message.
223
224         * as.h (bfd_alloc_by_size_t) [BFD_ASSEMBLER]: Declare.
225
226         * config/atof-ieee.c (int_to_gen): Commented out unused routine.
227
228         * config/tc-vax.c (md_assemble): Removed check of operand section.
229
230         Fri Jun  3 17:25:08 1994  Pat Rankin  (rankin@eql.caltech.edu)
231
232         * config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define
233         these new VMS symbol-type macros for `complex float' and
234         `complex double' support.  Their values come from the existing
235         DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in <descrip.h>.
236         (DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of
237         REAL8 and COMPLX8; not used yet, because gcc outputs the same
238         .stabs for `double' regardless of whether `-mg' is used.
239         * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
240         for gcc2's predefined types "complex float", "complex double",
241         and "complex long double" (identical to complex double).
242
243 Wed Jun 15 12:32:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
244
245         * config/obj-coff.c (coff_frob_symbol): Use C_STAT for the .text
246         section symbol, not C_LABEL.
247
248         * config/tc-mips.c (mips_ip): Permit a modifier in 'o' case, and
249         permit non constant expressions in 'u' case.  Lets ``lui
250         $8,%hi(foo); lw $8,%lo(foo)($8)'' work correctly.
251
252 Mon Jun 13 12:08:52 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
253
254         * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
255         to put a common symbol in a set.
256
257 Sat Jun 11 16:41:21 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
258
259         Add weak symbols as an extension to a.out.
260         * read.c (pseudo_set): Only preserve external bit for OBJ_AOUT and
261         OBJ_BOUT if not BFD_ASSEMBLER.
262         * config/aout_gnu.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB):
263         Define as in ../include/aout/aout64.h.
264         * config/obj-aout.h (OBJ_SYMFIELD_TYPE): If not BFD_ASSEMBLER,
265         define as char.
266         (S_GET_WEAK, S_SET_WEAK): Define if not BFD_ASSEMBLER.
267         * config/obj-aout.c (obj_pseudo_table): Add "weak".
268         (obj_emit_symbols): Adjust type of weak symbols.
269         (obj_aout_weak): New static function.
270
271 Fri Jun 10 13:48:49 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
272
273         * config/obj-elf.c (obj_elf_section): Don't set any flags based on
274         the type of a special section.
275
276         * config/ho-sunos.h: Include <stdlib.h>.  Don't declare malloc,
277         realloc, free, or atol.
278
279 Wed Jun  8 06:28:37 1994  Bill Cox  (bill@cygnus.com)
280
281         * Makefile.in (check): Delete as.new dependency, so that
282         regression test doesn't trigger an assembler build.
283
284 Tue Jun  7 13:33:18 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
285
286         * Makefile.in (mostlyclean, realclean): New targets.
287         * doc/Makefile.in, testsuite/Makefile.in: Likewise.
288
289 Mon Jun  6 13:10:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
290
291         * config/tc-mips.c (RDATA_SECTION_NAME): Define.
292         (macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case.  After M_LI_D
293         or M_L_DOB or label dob, force a new frag to avoid getting
294         confused in tc_gen_reloc.
295         (mips_ip): Use RDATA_SECTION_NAME, not .rdata.
296         (s_change_sec): Likewise.
297
298 Fri Jun  3 23:35:36 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
299
300         * read.c (emit_expr): Use memset to zero out memory, rather than
301         going through md_number_to_chars.  This permits handling symbolic
302         arguments when the size is larger than sizeof (valueT), if
303         TC_CONS_FIX_NEW is prepared to handle the case (as it is on MIPS).
304
305 Fri Jun  3 12:50:13 1994  David J. MacKenzie  (djm@rtl.cygnus.com)
306
307         * as.c (show_usage), config/tc-alpha.c (md_show_usage),
308         config/tc-mips.c (md_show_usage): Fix up messages.
309
310         * as.h: Replace flagseen with separate variables.
311         * as.c (parse_args): Set them.  Don't accept -1 option, or -v
312         explicitly (it's a synonym for --version).
313         * as.c, input-scrub.c, messages.c, read.c, symbols.c, write.c, 
314         config/obj-aout.c, config/obj-aout.h, config/obj-bout.c,
315         config/obj-bout.h, config/obj-coff.c, config/obj-coff.h,
316         config/obj-vms.c, config/tc-hppa.c, config/tc-i386.c,
317         config/tc-i960.c, config/tc-m68k.c, config/tc-mips.c,
318         config/tc-vax.c: Use the new flag variables instead of flagseen.
319         * config/tc-vax.c [OBJ_VMS]: Recognize -+, -1, -v, and document in
320         usage. 
321
322         * as.c (show_usage): Remove target specific messages;
323         instead, call md_show_usage.
324         (parse_args): Use getopt_long_only.  Take pointers to argc and
325         argv.
326         (main): Pass parse_args pointers.
327         * as.h: Remove 3 variables that are redundant with flagseen.
328         * as.c, messages.c: Change their users to use flagseen.
329         Define getopt stuff.
330         * tc.h: Update md_parse_option decl.  Add md_show_usage decl.
331         * config/tc-*.c: Add md_shortopts, md_longopts,
332         md_longopts_size, md_show_usage.  Change calling convention for
333         md_parse_option.  Remove md_parse_long_option.
334         * config/tc-ns32k.c: Rename `struct option' to `struct ns32k_option'.
335         * config/tc-i386.h: Don't define md_parse_option.
336
337 Thu Jun  2 13:54:46 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
338
339         * as.c (show_usage): New function.
340         (parse_args): Code moved from main.
341         Recognize --help and --version.
342         * config/tc-ns32k.h: Define TC_NS32K.
343         * doc/as.texinfo: Document all of the target-independent command
344         line options.
345
346 Thu Jun  2 12:07:25 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
347
348         * gasp.c (hash_new_table): Clear newly allocated table.
349
350         * config/tc-m68k.c (enum _register): Add 68060 control registers
351         BUSCR and PCR.
352         (last_movec_reg): New macro.
353         (m68000_control_regs, m68010_control_regs, m68020_control_regs,
354         m68040_control_regs, m68060_control_regs): New arrays.
355         (control_regs): New pointer.
356         (m68k_ip): Use control_regs instead of testing CPU every time.
357         Use last_movec_reg too.  In error messages, handle 68060, and
358         print 68060 for mfloat, too.
359         (m68k_init_after_args): Handle "68060".  Use m68040up for making
360         m68851 choice.  Set control_regs.
361         (md_parse_option): Handle "68060".
362         * configure.in: Setting cpu_type, recognize m68060 too.
363
364         * config/obj-coff.c (fixup_segment) [!BFD_ASSEMBLER]
365         [DIFF_EXPR_OK]: Do conversion to pc-relative for difference, even
366         if pcrel is already set.
367
368         * read.c (potable): Add this_gcc_requires_the_gnu_assembler in all
369         lower-case, in case we're ignoring case of opcodes in the input
370         file.
371
372         * doc/as.texinfo (.section): Document as unavailable for a.out
373         type formats.
374
375         * config/tc-alpha.c (machine): New variable.
376         (load_insn): New macro.
377         (load_insn_table): New function.
378         (md_begin): Call load_insn_table, once for basic instructions and
379         once for appropriate PAL instruction table.
380         (md_parse_option): Set `machine' based on -m##### arguments.
381         * config/alpha-opcode.h (alpha_pal21064_opcodes): Split out from
382         alpha_opcodes.
383         (alpha_pal21164_opcodes): New table.
384         (NUM21064OPCODES, NUM21164OPCODES): New macros.
385
386         * configure.in (target i386-*-netbsd0.8): Use 386bsd emulation.
387
388         * doc/Makefile.in (install-info-gasp): Use $$dir when installing
389         file.
390
391 Wed Jun  1 10:48:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
392
393         * config/tc-mips.c (mips_ip): Force floating point values to be
394         aligned correctly.
395
396 Fri May 27 10:05:53 1994  Ken Raeburn  (raeburn@cygnus.com)
397
398         Merged in changes from gas-2.3 net release:
399
400         * Makefile.in (VERSION): Updated to cygnus-2.3.1.
401
402         * config/obj-vms.c: Replaced unchecked uses of malloc with
403         xmalloc.
404
405         * listing.c (list_symbol_table): Only test BFD64, not
406         BFD_ASSEMBLER too.
407
408         * config/obj-coff.c (fixup_segment) [BFD_ASSEMBLER]
409         [DIFF_EXPR_OK]: Don't check pcrel, just convert it.
410
411         * config/obj-vms.c: Removed lots of extra semicolons after
412         compound statements.
413         (strchr): Don't declare here.
414
415         * config/ho-vax.h (realloc): Declare.
416
417         * config/ho-vms.h (strchr, strdup): Declare.
418
419         * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Accept and ignore
420         option `-q'.
421
422         Wed May 18 20:50:35 1994  Pat Rankin  (rankin@eql.caltech.edu)
423
424         * config/obj-vms.h (DBG_S_C_SQUAD, DBG_S_C_UQUAD): define these
425         new VMS symbol-type macros; signed and unsigned quadword integers,
426         for `long long' support.  Their values come from the existing
427         DSC$K_DTYPE_QU and DSC$K_DTYPE_Q macros in <descrip.h>.  The
428         VMS debugger now recognizes `long long' variables correctly.
429         * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
430         for gcc2's predefined types "long double" (same as double, as
431         per gcc's current state), "long long int", "long long unsigned
432         int", and final `otherwise' case (to avoid uninitialized type
433         and size fields).  [caveat:  predefined types "complex int",
434         "complex float", "complex double", and "complex long double" are
435         still missing.]
436
437         * config/ho-vms.h (EXIT_FAILURE): define as 0x10000002 instead
438         of 0, because the latter indicates success rather than failure
439         when passed to `exit' or return from `main' compiled by gcc2.
440
441         * config/obj-vms.c (array_suffix, generate_suffix): replace two
442         hardcoded `0xa3's with macro DBG_S_C_ADVANCED_TYPE from obj-vms.h.
443         (VMS_typedef_parse): eliminate redundant if-then-else when
444         allocating new symbol entry and linking it to VMS_Symbol_type_list.
445
446         Tue May 17 20:47:31 1994  Pat Rankin  (rankin@eql.caltech.edu)
447
448         * config/obj-vms.c (Write_VMS_MHD_Records): don't try to interpret
449         the contents of the GAS_VERSION string when falling back to it for
450         language processor identification.
451
452         * make-gas.com, vmsconf.sh (ENVIRON): fix misspelling of
453         `psect_attr' in linker options.
454
455         Wed May 11 22:32:00 1994  DJ Delorie (dj@ctron.com)
456
457         * configure.bat: update to latest makefile.in
458         * config/te-go32.h: [new] go32's environment
459
460 Fri May 20 17:59:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
461
462         * as.h: Don't declare parameters for strstr.
463
464 Thu May 19 15:40:13 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
465
466         * config/tc-sparc.c (md_section_align): Don't change the size if
467         OBJ_ELF.
468
469 Wed May 18 13:08:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
470
471         * Makefile.in (install): Redirect ln output to /dev/null.  If ln
472         fails on gasp, install gasp.new, not gasp.
473
474 Wed May 18 09:16:36 1994  Jeff Law  (law@snake.cs.utah.edu)
475
476         * config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for
477         absolute calls.
478
479 Tue May 17 12:50:46 1994  Jeff Law  (law@snake.cs.utah.edu)
480
481         * config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error
482         on a partial completer match.
483
484 Mon May 16 12:03:49 1994  Jeff Law  (law@snake.cs.utah.edu)
485
486         * config/tc-hppa.c: Change .hppa_unwind to .PARISC.unwind
487         throughout code.
488         (is_complex): Delete definition and support for complex relocation
489         types.
490         (tc_gen_reloc): Delete special unwind crud for ELF.  Simplify and
491         rewrite ELF code based on 94-02-02 PA ELF draft spec.
492         (pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for
493         the unwind descriptors.
494
495 Fri May  6 14:13:15 1994  Steve Chamberlain  (sac@cygnus.com)
496
497         * config/go32.mh: New makefile fragment for go32 crossing.
498         * configure.in (host==go32): Use new fragment.
499
500 Fri May  6 14:35:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
501
502         * gasp.c: Include libiberty.h.
503         (main): Remove unused variable i.
504
505         * config/tc-ppc.c (md_begin): When using -many, permit comparison
506         instructions to appear multiple times in the opcode table.
507
508 Thu May  5 19:14:43 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
509
510         * Makefile.in (VERSION): Update to 2.2.90.
511
512         * symbols.c (symbol_new) [BFD_ASSEMBLER]: Don't permit additions
513         to the symbol table if it's already been set in the output bfd.
514         (symbol_begin) [! EMIT_SECTION_SYMBOLS] [RELOC_REQUIRES_SYMBOL]:
515         Don't use bfd_abs_section.symbol for gas absolute symbol.
516
517         * doc/Makefile.in (distclean, clean-dvi, clean-info): Delete gasp
518         files too.
519
520 Thu May  5 18:12:51 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
521
522         * config/tc-mips.c (mips_emit_delays): Make call to
523         mips_no_prev_insn unconditional.
524
525 Thu May  5 17:25:38 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
526
527         * config/obj-coff*.*: Merged coffbfd versions into coff versions,
528         with a single "#ifdef BFD_ASSEMBLER" controlling most of it for
529         now.  Deleted obj-coffbfd.* files.
530         * configure.in: Always use obj-coff.* for COFF targets.
531
532 Wed May  4 13:34:11 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
533
534         * config/te-dpx2.h (TARGET_FORMAT, REGISTER_PREFIX_OPTIONAL):
535         Define.
536         * configure.in (m68k-bull-sysv3*): Enable.
537
538         * config/coff_gnu.h: Deleted.
539
540 Wed May  4 11:29:17 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
541
542         * config/tc-m68k.h (TARGET_FORMAT): If not TE_SUN3, define as
543         "a.out-zero.big".
544
545         * config/obj-coffbfd.c (fixup_segment): Make common symbol and PC
546         relative adjustments when TE_LYNX is defined as well as when
547         TC_I386 is defined.
548
549 Wed May  4 02:29:21 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
550
551         * as.h (strstr): Restore declaration.
552         (subseg_get) [BFD_ASSEMBLER]: Declare.
553
554         * write.c (write_object_file): If obj_adjust_symtab is defined,
555         invoke it.  Then call set_symtab, and finally invoke *_frob_file
556         hooks.
557         * config/obj-coff.c (coff_adjust_symtab): Renamed from
558         coff_frob_file.
559         * config/obj-coff.h (coff_adjust_symtab): Changed declaration
560         accordingly.
561         (obj_adjust_symtab): Macro also changed.
562
563         * configure.in (i386-*-gnu*): New target, handled like i386-mach.
564
565 Tue May  3 21:04:16 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
566
567         * config/obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little
568         endian version.
569
570         * config/obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto.
571
572         * config/obj-coff.c (coff_frob_section): Round up the size of
573         every section to a multiple of the alignment, so that BFD doesn't
574         surprise us.
575
576         Eliminate many simple differences between the two COFF back ends:
577
578         * config/obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID.
579         Made minor stylistic changes, deleted some register declarations.
580         (stack_top): Deleted.
581         (symbol_to_chars): Use absolute_section and reg_section instead of
582         the corresponding SEG_* symbols.
583         (obj_coff_endef, tag_find_or_make, fixup_segment): Likewise.
584         (stack typedef, stack_init, stack_delete, stack_push, stack_pop):
585         Moved to just after pseudo-op table.  All functions now static.
586         (stack_delete): Removed declaration.
587         (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
588         after stack functions.
589         * config/obj-coffbfd.h: Reordered some declarations and macros.
590         (stack_init, stack_delete, stack_push, stack_pop): Don't declare.
591         (stack typedef): Deleted.
592         (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
593         (SYM_AUXENT): New macro.
594         (SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible.
595         (SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible.
596         (SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX,
597         SA_SET_SYM_ENDNDX, object_headers typedef, data_section_header,
598         text_section_header): Delete non-BFD_HEADERS versions, since we
599         always define that symbol now.
600
601         * config/obj-coff.c (stack_top): Deleted.
602         (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
603         obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Change
604         argument name from "ignored" to "ignore".
605         (obj_coff_val): Use frag_now_fix.
606         (obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't
607         get used.
608         (stack typedef, stack_init, stack_delete, stack_push, stack_pop):
609         Moved to just after pseudo-op table.  All functions now static.
610         (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
611         after stack functions.
612         * config/obj-coff.h: Reordered some declarations and macros.
613         Protected against multiple inclusions.
614         (stack_init, stack_delete, stack_push, stack_pop): Don't declare.
615         (stack typedef): Deleted.
616         (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
617         (stdoutput): Deleted declaration.
618         (TARGET_FORMAT) [TC_I386]: Don't define if already defined.
619
620 Mon May  2 17:09:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
621
622         * subsegs.h (segment_info_type): Use fix_tail field even if
623         BFD_ASSEMBLER.
624         * subsegs.c (subseg_change): Initialize fix_tail field.
625         (subseg_get): Likewise.
626         * write.c (frags_chained): New static variable.
627         (fix_new_internal): If frags_chained is set, use fix_root and
628         fix_tail from seg_info (now_seg), rather than frchain_now.
629         (chain_frchains_together_1): Set fix_tail field.
630         (chain_frchains_together): Set frags_chained.
631
632 Thu Apr 28 01:39:15 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
633
634         * config/tc-mips.c (s_option): Only refer to g_switch_* variables
635         if GPOPT is defined.
636         (s_abicalls): Ditto.
637         (md_apply_fix): Cast char* to unsigned char* to avoid pointer
638         mismatch.
639
640 Wed Apr 27 11:06:32 1994  Steve Chamberlain  (sac@cygnus.com)
641
642         * configure.in (i386-*-go32): Uses coff now.
643         * gasp.c (main): Now takes -D on command line.  
644         (show_usage): Describe new options.
645
646 Tue Apr 26 17:10:30 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
647
648         * listing.c (list_symbol_table): Print "NO DEFINED SYMBOLS" and
649         "NO UNDEFINED SYMBOLS" if there aren't any, instead of displaying
650         the header with an empty list.
651
652         * config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM
653         also before setting STYP_NOLOAD for .bss section.
654
655         * config/tc-m68k.c (flag_reg_prefix_optional): New variable.
656         Initialized to value of REGISTER_PREFIX_OPTIONAL, if defined, or
657         zero.
658         (m68k_reg_parse): If flag_reg_prefix_optional is set, permit
659         register prefix to be absent.
660         (m68k_ip_op): Accept `&' also for immediate constants.
661         (insert_reg): Don't bother with (two!?) sanity checks of the
662         symbol table when inserting each register.
663         (m68k_parse_long_option): New function.  Set
664         flag_reg_prefix_optional if "register-prefix-optional" is passed.
665         * config/tc-m68k.h (REGISTER_PREFIX): Always define if not already
666         defined.
667         (OPTIONAL_REGISTER_PREFIX): Don't define.
668         (REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero
669         or one depending on M68KCOFF.
670
671         Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
672         * config/tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC):
673         Define as macros instead of enumerators, since the Apollo compiler
674         can't handle "enumVal1, enumVal2 = enumVal1" when defining an enum
675         type.
676         (make_pcrel_absolute) [NO_PCREL_RELOCS]: New function.
677         (tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE,
678         R_DIR16, and R_DIR32 relocs.
679         * config/tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC):
680         Use Apollo versions.
681         [TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine.  That is,
682         do include the optional header for Apollo target.
683         (COFF_MAGIC): Don't define as MC68MAGIC if it's already defined.
684
685         * config/tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%'
686         can be used within a label name.
687
688         * config/tc-m68k.h (m68k_init_after_args): Declare.
689         (tc_init_after_args): Define as m68k_init_after_args.
690         * config/tc-m68k.c (m68k_init_after_args): New function,
691         containing one-shot code from md_assemble.  Added warning for
692         combination of 68040 and 68851.
693         (md_assemble): Startup-time code deleted.
694
695 Mon Apr 25 16:19:17 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
696
697         * doc/Makefile.in (clean, distclean): Remove asconfig.texi.
698
699 Sun Apr 24 00:13:08 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
700
701         * config/tc-hppa.c (pa_ip): 13 bit immediate constant (for break
702         instruction) is unsigned.
703
704 Fri Apr 22 17:58:22 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
705
706         * config/obj-ecoff.c (ecoff_frob_file): Use bfd_ecoff_set_gp_value
707         and bfd_ecoff_set_regmasks to set the GP value and the register
708         masks, rather than using the now obsolete fake .reginfo section.
709
710 Fri Apr 22 15:17:06 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
711
712         * listing.c (list_symbol_table): Don't print register symbols as
713         undefined.
714
715         * config/obj-coff.c (obj_symbol_new_hook): Don't need to strip
716         underscores, since symbol_new will already have done it.
717         * config/obj-coffbfd.c (obj_symbol_new_hook): Ditto.
718
719         * as.c (main): If tc_init_after_args is defined, invoke it after
720         all arguments have been processed.
721
722         Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
723         * as.c (perform_an_assembly_pass) [TE_APOLLO]: Create .wtext
724         section instead of .text.  Call create_target_segments.
725         * read.c (demand_copy_string): No longer static.
726
727 Thu Apr 21 15:50:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
728
729         * config/tc-mips.c (append_insn): Permit branches to be switched
730         with the preceding instruction even if .set nobopt has been seen.
731         .set nobopt actually controls whether to bring up an instruction
732         from the branch target, which gas does not currently support.
733
734 Wed Apr 20 18:46:14 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
735
736         * config/obj-coff.h, config/obj-coff.c: Deleted all code used only
737         when BFD_ASSEMBLER is not defined, and all conditionals relating
738         to such code.  No such targets remain.
739
740         Fixes for stabs-in-coff:
741         * config/obj-coff.c: Include subsegs.h.
742         (coff_frob_section): New function.
743         (obj_coff_init_stab_section): New function.
744         * config/obj-coff.h (obj_coff_init_stab_section,
745         coff_frob_section): Declare.
746         (obj_frob_section): New macro; uses coff_frob_section.
747         (INIT_STAB_SECTION): New macro; uses obj_coff_init_stab_section.
748
749         * config/tc-sparc.c (md_section_align): Always round up to
750         multiple of alignment power specified in bfd target vector.
751
752         * gasp.c: Include ctype.h.
753
754 Mon Apr 18 21:08:01 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
755
756         * doc/Makefile.in, doc/as.texinfo: Renamed asdoc-config.texi to
757         asconfig.texi.
758
759         * doc/Makefile.in (install-info-as, install-info-gasp): Get file
760         names from source directory without pathname.
761
762         * config/obj-vms.c (VMS_write_object_file): While looking for
763         register mask, skip empty fill frags caused by enabling listing
764         output.
765
766         * config/ho-sysv.h: Include string.h.
767
768         * doc/internals.texi: New (well, recently added) file.  Just added
769         info on as_warn and friends.
770
771 Mon Apr 18 14:28:22 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
772
773         * config/tc-hppa.c (pa_parse_space_stmt): Use the built-in
774         defaults for defined, private, and spnum fields for the
775         $TEXT$ and $PRIVATE$ spaces.  Do not clobber spnum.  Do
776         not reset the segment if just updating a space.
777         (pa_spaces_begin): Set BFD section flags for all built-in
778         subspaces.
779
780 Fri Apr 15 10:51:51 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
781
782         * ecoff.c (first_proc_ptr): New static variable.
783         (add_procedure): Set first_proc_ptr if it hasn't been set.
784         (ecoff_build_lineno): If the first procedure does not start at
785         address zero, insert a dummy line to compensate.
786
787         * Makefile.in (bootstrap, bootstrap2, bootstrap3): Make gasp.new
788         as well as as.new.
789
790 Thu Apr 14 15:12:36 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
791
792         * expr.c (operand): Try to parse "0f" and "0b" sequences as
793         floating point and binary numbers respectively; if it doesn't
794         work, treat them as local labels.
795
796         * Makefile.in: Make $(OBJS) depend on $(ALL_OBJ_DEPS).
797         * configure.in: Set ALL_OBJ_DEPS in output Makefile.
798
799         Based on suggestions from <BAILEY@hmivax.humgen.upenn.edu>
800         (Charles Bailey):
801         * vmsconf.sh: In generated file, get ".obj" suffix right, build
802         source files from other directories into objects in the current
803         directory, and specify PSECT attributes explicitly to linker.
804         Also added missing label.
805         * Makefile.in (stamp-mk.com): Reference new variable
806         VMS_OTHER_OBJS for list of non-local object files, instead of
807         listing them here.
808         (VMS_OTHER_OBJS): New variable, added more libiberty files.
809         * make-gas.com: Regenerated.
810
811         * config/ho-vms.h (unlink): Define as delete.
812
813         * config-gas.com: Fix quoting on TARGET_CANONICAL definition.
814         Delete files before creating them.
815
816 Thu Apr 14 13:34:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
817
818         * Makefile.in (de-stage1, de-stage2, de-stage3): Use rm -f.
819
820         * config/tc-mips.h (DIFF_EXPR_OK): Define.
821         * config/tc-mips.c (macro_build): Permit BFD_RELOC_PCREL_LO16 for
822         certain cases of 'i', 'j' and 'o'.  Change 'u' to take an
823         argument, the reloc type.
824         (load_register): Pass reloc type to macro_build for 'u'.
825         (macro): Likewise.  For M_LA_AB permit a difference expression
826         when generating embedded PIC code between an arbitrary symbol and
827         a symbol in the .text section.
828         (mips_force_relocation): Force BFD_RELOC_PCREL_HI16_S and
829         BFD_RELOC_PCREL_LO16 to be emitted.
830         (md_apply_fix): Check that most relocs are not PC relative.
831         Handle BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
832         (tc_gen_reloc): Change #error to as_fatal.  Handle
833         BFD_RELOC_PCREL_LO16 and BFD_RELOC_PCREL_HI16_S.
834
835 Tue Apr 12 18:25:13 1994  Stan Shebs  (shebs@andros.cygnus.com)
836
837         * subsegs.c (subsegs_begin): Call memset with args in the correct
838         order.
839         (subseg_get): Clear newly allocated seginfo, set its pointer slots
840         to NULL instead of 0.
841
842 Mon Apr 11 09:00:57 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
843
844         * config/tc-hppa.c (pa_procend): Handle case where label was
845         defined after the .proc directive.
846
847         * config/tc-hppa.c (pa_procend): Give an error if we encounter a
848         procend for a procedure without a name.
849
850 Thu Apr  7 14:28:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
851
852         * config/tc-mips.c (macro): Pass NULL for expression argument to
853         macro_build for nori case.
854         (SWITCH_TABLE): Define.
855         (mips_force_relocation): Force a relocation for a switch table
856         entry.
857         (md_apply_fix): Write switch table entry value into file.
858         (tc_gen_reloc): Use BFD_RELOC_GPREL32 for a switch table entry,
859         and set the addend to the difference between the reloc address and
860         the subtrahend.
861
862 Thu Apr  7 10:38:18 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
863
864         * config/tc-hppa.h (elf_tc_symbol): Delete.  No longer used.
865         (elf_tc_make_sections): Likewise.
866         (hppa_tc_make_sections, hppa_tc_symbol): Delete extern decls.
867
868         * config/tc-hppa.c (hppa_tc_make_sections): Delete function.
869         (hppa_tc_symbol): Likewise.
870
871         * config/obj-elf.c (elf_frob_file): Delete elf_tc_symbol and
872         elf_tc_make_sections stuff.  It was there to support PA braindamage
873         which has been fixed, and in the case of elf_tc_make_sections is
874         redundant with elf_tc_final_processing.
875
876 Wed Apr  6 20:48:30 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
877
878         * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
879         manufacturer.
880
881 Tue Apr  5 15:48:03 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
882
883         * config/tc-mips.c (mips_ip): For case 'o', when generating
884         embedded PIC code, accept the difference between two local symbols
885         as being constant.
886         (mips_force_relocation): Only force a reloc to be generated for a
887         PC relative fixup.
888         (md_apply_fix): For BFD_RELOC_32 and BFD_RELOC_LO16, put the fixup
889         value into the file if the fixup will not generate a reloc.
890
891 Tue Apr  5 11:14:14 1994  Ken Raeburn  (raeburn@rtl.cygnus.com)
892
893         * config/tc-sparc.c (s_reserve): If section passed isn't bss,
894         don't spew remainder of input file in error message.
895         (tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error
896         message with reloc type and try to process remainder of file.
897
898         * doc/Makefile.in (install-info-as, install-info-gasp): New
899         targets, now explicitly checking $(srcdir) for info files.
900         (install-info): Depend on both of them; do nothing more.
901
902 Mon Apr  4 17:06:04 1994  Jeffrey A. Law  (law@cygnus.com)
903
904         * config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version.
905
906 Mon Apr  4 12:39:23 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
907
908         * config/tc-ppc.c (ppc_insert_operand): Check PPC_OPERAND_SIGNED
909         flag rather than signedp field.  Only permit extended range if
910         PPC_OPERAND_SIGNOPT flag is set and assembling in 32 bit mode.
911         Based on patch from David Edelsohn (edelsohn@npac.syr.edu).
912
913         * config/tc-ppc.c (ppc_size): New static variable.
914         (ppc_arch): Check for PPC_OPCODE_PPC before PPC_OPCODE_POWER.
915         (md_begin): If an instruction has a size specific flag set, only
916         add it if we are assembling that size.
917
918 Thu Mar 31 16:51:16 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
919
920         * config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get
921         cross section PC relative relocs right for COFF and ELF.
922
923 Mon Mar 28 14:38:23 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
924
925         * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Always define.
926         (OBJ_PROCESS_STAB): Don't define.
927
928 Mon Mar 28 12:40:25 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
929
930         * config/obj-aout.c (obj_aout_frob_symbols): Don't let BFD clobber
931         the type of symbol set symbols which happen to be in the absolute
932         or undefined section.
933
934 Mon Mar 28 12:35:00 1994  David Edelsohn  (edelsohn@npac.syr.edu)
935
936         * config/tc-ppc.c (md_parse_option): Add -mpwrx (POWER/2 aka
937         RIOS2), -mpwr (POWER aka RIOS1), -mppc (PowerPC aka MPC603/604),
938         and -many (all architectures).
939
940 Sun Mar 27 14:04:19 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
941
942         * config/tc-hppa.c (tc_gen_reloc): Set addend for relocation
943         involving a function symbol which is not a plabel to zero.
944         (md_apply_fix): Never pass a function symbol to field_adjust.
945
946 Fri Mar 25 17:35:49 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
947
948         * config/obj-aout.c (obj_aout_frob_symbol): If N_EXT is set for an
949         N_INDR symbol, set BSF_EXPORT and clear BSF_LOCAL.
950
951         * config/tc-mips.c (append_insn): If EMBEDDED_PIC, don't swap a
952         branch with an instruction that uses $at, in case the branch is
953         later expanded.
954         (macro): If EMBEDDED_PIC, case M_JAL_A may use $at.
955         (md_pcrel_from): If not OBJ_AOUT, return 4 for an undefined symbol
956         to make it pcrel_offset.
957         (tc_gen_reloc): If not OBJ_AOUT, set the reloc addend to
958         reloc->address; another gruesome hack to get gas reloc handling to
959         do the right thing.
960
961 Thu Mar 24 21:29:29 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
962
963         * config/tc-alpha.c (alpha_ip): Only set GP prolog size if using
964         PV register.
965         (T12): New macro.
966         (emit_insn): New function.
967         (md_assemble): Call it.
968         (alpha_force_relocation): Handle BFD_RELOC_26, for call_pal
969         instructions.
970         (lituse_pending): New variable.  Set by anything that generates a
971         LITERAL reloc, cleared by anything that generates a LITUSE reloc,
972         tested by code that might want to emit a LITUSE reloc.
973         (emit_unaligned_io): New function.  Currently calls md_assemble,
974         but it should eventually be converted to generate the insn itself
975         and call emit_insn directly.
976         (emit_load_unal, emit_store_unal, emit_byte_manip_r,
977         emit_extract_r, emit_insert_r, emit_mask_r, emit_sign_extend,
978         emit_bis_r): Likewise.
979         (alpha_ip, case 'I'): Handle with BFD_RELOC_23.
980         (alpha_ip, label get_macro): Don't emit the final instruction if
981         the opcode is zero.
982         (alpha_ip, case 'B', subcase 'd'): New case, for subword and
983         unaligned memory access macros.
984         (md_apply_fix): Handle BFD_RELOC_26.  Generate an error message if
985         the value can't be resolved.
986
987 Wed Mar 23 16:06:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
988
989         * config/tc-mips.c (md_parse_option): For -membedded-pic, force
990         the -G value to 0x7fffffff.  For SVR4 PIC options, don't call
991         bfd_set_gp_size here, it's done in md_begin.  Don't permit -G with
992         -membedded-pic.
993         (mips_force_relocation): New function.
994         (md_apply_fix): Set fixP->fx_done appropriately.
995         (s_change_sec): For EMBEDDED_PIC, change .data and .rdata to
996         .sdata.
997         * config/tc-mips.h (TC_FORCE_RELOCATION): Define.
998         (mips_force_relocation): Declare.
999         (TC_HANDLE_FX_DONE): Define.
1000
1001 Tue Mar 22 13:58:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1002
1003         * config/tc-mips.c (enum mips_pic_level): New enum.
1004         (mips_pic): Change from int to enum mips_pic_level.  Change all
1005         uses (0 becomes NO_PIC, 2 becomes SVR4_PIC).
1006         (load_address): Handle EMBEDDED_PIC.
1007         (macro): Handle EMBEDDED_PIC in all PIC cases.
1008         (md_parse_option): Accept -membedded-pic to use EMBEDDED_PIC.  If
1009         OBJ_ELF, accept -KPIC and -call_shared to use SVR4_PIC and accept
1010         -non_shared to use NO_PIC (this is how the Irix 5 assembler
1011         works).  Do not permit -G with SVR4_PIC.
1012         (s_abicalls): Warn if -G was used, and force -G 0.
1013         (tc_gen_reloc): Set reloc->addend to 0 for a PC relative reloc for
1014         anything but a.out, not just for ELF.  For ECOFF, don't generate a
1015         BFD_RELOC_16_PCREL_S2 reloc unless using EMBEDDED_PIC.
1016
1017         * config/obj-ecoff.h (obj_sec_sym_ok_for_reloc): Define to be 1.
1018
1019 Sun Mar 20 16:31:55 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1020
1021         * config/tc-hppa.c (create_new_space): Use ints, not chars as
1022         parameters to avoid losing when compiling with HP CC.
1023         (create_new_subspace, update_subspace, fix_new_hppa): Likewise.
1024
1025 Sun Mar 20 14:43:14 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1026
1027         * Makefile.in (config-stamp): If `defs' is defined, emit a
1028         preprocessor directive to create a macro named by this value into
1029         config.new; don't explicitly go for BFD_ASSEMBLER.
1030         * configure.in: Define `defs', not `BFDDEF'.  Set it to
1031         MANY_SEGMENTS for any obj-coffbfd target.
1032         * config/obj-coffbfd.h (BFD_HEADERS, BFD): Define.
1033         * config/i386coff.mt (TDEFINES): Don't define BFD, MANY_SEGMENTS,
1034         or BFD_HEADERS.
1035         (LOCAL_LOADLIBES): Deleted.
1036         * config/m68kcoff.mt (TDEFINES): Don't define those macros.
1037         * config/m88kcoff.mt (TDEFINES): Ditto.
1038         * config/ebmon29k.mt: Deleted.
1039         * config/h8300hds.mt: Deleted.
1040         * config/ic960coff.mt: Deleted.
1041         * config/sparc.mt: Deleted.
1042         * config/h8300.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
1043         * config/h8500.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
1044         * config/sh.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
1045         * config/z8k.mt (LOCAL_LOADLIBES): Deleted.
1046         (TDEFINES): Don't define the coffbfd macros.
1047
1048         * Makefile.in: Insert makefile fragments before OBJS definition.
1049         (OBJS): Add $(TE_OBJS).
1050
1051         * config/obj-coff.c (obj_pseudo_table): Supply "section"
1052         unconditionally.
1053
1054         * write.c (set_symtab): Define only if BFD_ASSEMBLER.
1055
1056 Sun Mar 20 12:06:05 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1057
1058         * Makefile.in (STAGESTUFF): Add gasp.new.
1059
1060 Fri Mar 18 20:09:16 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1061
1062         * write.c (symbol_table_frozen): New variable, to be set after
1063         bfd_set_symtab is called.
1064         (dump_section_relocs): Note whether a symbol is a section symbol
1065         or not.
1066         (adjust_reloc_syms): For now, always supply an absolute symbol for
1067         fixups without symbols but not yet `done'.  Use section_symbol to
1068         get the symbol, instead of going directly for abs_symbol.
1069         (write_relocs) [DEBUG4]: Abort if any symbol referred to by a
1070         reloc is not a section symbol and is not in the symbol table.
1071         (set_symtab): New function, broken out from write_object_file.
1072         Counts symbol table instead of relying on an earlier count.
1073         (write_object_file): Call set_symtab, but do it after potentially
1074         invoking the *_frob_file macros.  Don't bother counting symbols.
1075         Call symbol_remove, instead of expanding it in place.  Moved the
1076         conditionalized `object_file_size' declaration down to
1077         conditionalized block where it's used.  When using the absolute
1078         symbol for a fixup without a symbol, set sy_used_in_reloc.
1079         (write_object_file) [BFD_ASSEMBLER]: Call section_symbol to get
1080         the correct symbol for the absolute section.
1081
1082         * subsegs.c (section_symbol): Use symbol_new instead of
1083         symbol_make, since we may want it to go into the symbol table.
1084         Make the new symbol have internal linkage.  If
1085         obj_sec_sym_ok_for_reloc says it's okay, use the BFD section
1086         symbol with the newly created GAS symbol.
1087         (obj_sec_sym_ok_for_reloc): Default to always returning 0.
1088         * config/obj-aout.h (obj_sec_sym_ok_for_reloc) [BFD_ASSEMBLER]:
1089         New macro.
1090         * config/obj-elf.h (obj_sec_sym_ok_for_reloc): New macro.
1091
1092         * config/tc-sparc.c: Include subsegs.h.
1093         (in_signed_range): New function.
1094         (sparc_ip): Use it.
1095         (sparc_ip, case 'i'): Use BFD_RELOC_SPARC13, not _BASE13.
1096         (sparc_ip, label "immediate"): Reject constants for pcrel
1097         instructions only if the relocation type indicates a "call"
1098         instruction and the offset is within range of a "jmpl %g0".  If
1099         it's not in range, use the absolute section symbol plus an offset.
1100         (md_apply_fix): Use in_signed_range.  Combined _SPARC13 and
1101         _BASE13 cases.
1102         (tc_gen_reloc): Permit BFD_RELOC_SPARC13.
1103
1104         * config/ic960coff.mt (TDEFINES): Fixed typo (MANY_SECTIONS, not
1105         MANY_SEGMENTS).
1106
1107         * configure.in: Eliminated all targets using obj-coff but not
1108         defining BFD_ASSEMBLER; I think all such targets that are
1109         supported will be matched by real CPU-OS combinations earlier in
1110         the case statement.
1111         (targets *-*-coff*, *-sysv*, *-*-sco*, *-*-sysv32): Deleted.  Made
1112         some comments about the dpx2 configuration, but left it disabled,
1113         since it couldn't be reached before.
1114         (target a29k-amd-ebmonold): Deleted.
1115
1116 Thu Mar 17 13:36:09 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1117
1118         * config/tc-hppa.c (pa_import): Correctly handle importing of an
1119         already defined symbol.
1120
1121 Wed Mar 16 17:11:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1122
1123         * config/tc-mips.c (mips_ip): Only accept overly large values for
1124         the 'j' operand if there are no further alternatives for this
1125         instruction.
1126
1127         * config/obj-coffbfd.c (adjust_stab_section): Initialize
1128         stabstrseg to SEG_UNKNOWN, not -1.  After loop, check whether it
1129         is not SEG_UNKNOWN rather than checking whether it is >= 0.
1130
1131         * config/tc-mips.c (mips_align): Take new argument, label, and use
1132         it instead of global insn_label.
1133         (s_align, s_cons, s_float_cons, s_gpword): Save insn_label before
1134         call to mips_emit_delay and pass it to mips_align.
1135
1136 Wed Mar 16 11:54:12 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1137
1138         * config/tc-hppa.c (pa_equ): Handle both .reg and .equ correctly.
1139
1140         * config/tc-hppa.c (pa_callinfo): Accept "millicode" as an
1141         argument to a .callinfo directive.  Don't loop forever on errors.
1142
1143         * config/tc-hppa.c (pa_equ): Use pa_parse_number so that we can
1144         use pre-defined registers as arguments.
1145
1146 Mon Mar 14 14:29:45 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1147
1148         * write.c (write_object_file): Check both S_IS_LOCAL and
1149         S_IS_EXTERNAL when deciding whether to discard a symbol.
1150
1151         * config-gas.com: Scan Makefile.in, not version.c, for current
1152         version number.  Delete all versions of temp files when finished
1153         with them.  Create config.h.
1154
1155         * config/obj-vms.c (VMS_Initialized_Data_Size): Cache symbol
1156         values to reduce number of lookups with S_GET_VALUE.  Skip debug
1157         symbols to avoid "a really nasty bug".  (From Holger Teutsch,
1158         holger@botbso.rhein-main.de.)
1159         (VMS_write_object_file): For "__vt.*" symbols, set S_GET_OTHER
1160         field.  (Also from Holger Teutsch.)  Watch for a would-be register
1161         mask that spans frags.
1162
1163         * config/obj-coffbfd.c (obj_coff_line): Set symbol lnno field with
1164         this_base, not line_base.  (Patch from Andreas Arens,
1165         ari@obelix.av.rwth-aachen.de.)
1166
1167         * config/obj-aout.c (obj_crawl_symbol_chain): Retain symbols that
1168         look local if they're exported or undefined.  Used to be done for
1169         i960 only.
1170
1171         * read.c (s_lcomm, s_comm): Print symbol name being redefined.
1172         Get it from the looked-up symbol, instead of using the string from
1173         the input stream, which is no longer null-terminated.
1174         (LEX_PCT): New macro, defaults to 0.
1175         (lex_type): Use it for `%'.
1176
1177         * config/tc-vax.c (md_parse_option): Handle `-h#' option for VMS.
1178         (vip_op): Now static, and returns void.  Callers changed.  Added
1179         forward decl.
1180         (vip): Ditto.  Call as_fatal directly if a program bug is
1181         detected.
1182         (op_hash): Let default initialization suffice.
1183
1184         * Makefile.in (literal.o): Provide dependencies.
1185
1186         * configure.in: Set new makefile variable OPCODES_LIB.
1187         * Makefile.in (LIBS): Use it.
1188
1189         * Makefile.in (make-gas.com, stamp-mk.com): New targets.
1190         * vmsconf.sh: New file.
1191         * make-gas.com: Regenerated from new script.
1192
1193         * configure.in (sparc*-*-lynxos*): Handle any version number
1194         suffix after "lynxos".  Set emulation to lynx.
1195
1196 Mon Mar 14 11:30:49 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
1197
1198         * config/obj-coff.c (obj_coff_section): Delete declaration.
1199
1200 Fri Mar 11 22:25:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1201
1202         * config/tc-ppc.c (md_pcrel_from): Return 0 for undefined ELF
1203         symbols.
1204         (ppc_is_toc_sym): Change .toc to .got.
1205         (md_apply_fix): Change handling of ELF relocs.
1206         (tc_gen_reloc): Likewise.
1207
1208 Fri Mar 11 17:42:20 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1209
1210         * config/obj-vms.c (Close_VMS_Object_File): Add comment pointing
1211         out some code that doesn't belong in this file.
1212
1213         * config/obj-vms.h: Include aout/stab_gnu.h.
1214         (N_GSYM, ..., N_LENG): Deleted.
1215         (NO_RELOC): Undefine before defining as part of enum reloc_type.
1216
1217         * config/tc-alpha.c: Add comment questioning need for all the
1218         characters in FLT_CHARS.
1219
1220         * as.c (main) [OBJ_VMS]: Don't call output_file_close.
1221
1222         * config/obj-ecoff.c (ecoff_frob_file): Set strict order for
1223         sections with recognized names, before computing VMA values.
1224
1225 Fri Mar 11 17:56:23 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1226
1227         * config/tc-mips.c (mips_ip): Accept numbers between 0x8000 and
1228         0xffff for 'j' to be compatible with MIPS assembler.  These
1229         numbers are actually treated as negative.
1230
1231 Thu Mar 10 13:36:29 1994  Doug Evans  (dje@canuck.cygnus.com)
1232
1233         * config/tc-sparc.h (LOCAL_LABEL): Local labels are .Lfoo.
1234
1235 Tue Mar  8 21:17:12 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1236
1237         * config/obj-coff.c: Minor formatting/stylistic changes, plus:
1238         (obj_coff_section): Declare.
1239         (obj_pseudo_table): Make it available only if MANY_SECTIONS.
1240         (obj_symbol_to_chars) [CROSS_COMPILE]: Some attemps to make this
1241         work.  It still doesn't.  It now fails to compile, instead of
1242         silently compiling to do nothing.
1243         * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define only if
1244         MANY_SECTIONS.
1245         (OBJ_PROCESS_STAB) [! MANY_SECTIONS]: New macro, just emits
1246         warning.
1247
1248         Handle Alpha load-immediate-FP pseudo-instructions:
1249         * config/alpha-opcode.h (ldif, ldig, ldis, ldit): New patterns.
1250         * config/tc-alpha.c (lit8_sec, lit4_sec, lit8_sym, lit4_sym): New
1251         variables.
1252         (create_literal_section): New function.
1253         (create_lita_section): Now a macro.
1254         (get_lit8_offset, get_lit4_offset): New functions.
1255         (maybe_set_gp): New function.
1256         (select_gp_value): Call it.
1257         (load_expression): Preserve addend if symbol is a section symbol.
1258         (alpha_ip): Handle new operand type `F' for floating-point
1259         constants; store them in .lit{4,8} sections.
1260         (alpha_ip, case 'G'): Emit LITUSE relocations for symbol exprs.
1261
1262         * config/tc-i386.c (smallest_imm_type): Never return Imm1.
1263
1264 Tue Mar  8 14:18:15 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
1265
1266         * config/obj-coffbfd.c (w_strings): Only copy strings out if
1267         their symbols are going to be written.
1268
1269 Tue Mar  8 11:49:27 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1270
1271         * messages.c (as_perror): Declare arguments const.
1272         * as.h (as_perror): Change declaration.
1273
1274 Mon Mar  7 16:08:25 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1275
1276         * config/tc-mips.c (load_address): When calling frag_grow, allow
1277         for the (up to) two nops which may be inserted by append_insn if
1278         mips_optimize is 0.
1279         (macro): Likewise.
1280
1281 Thu Mar  3 11:37:55 1994  Doug Evans  (dje@canuck.cygnus.com)
1282
1283         * config/atof-ieee.c (make_invalid_floating_point_number):
1284         Add cast to avoid warning from gcc.
1285
1286 Wed Mar  2 10:31:01 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1287
1288         * config/tc-hppa.c: Add a few casts to make HP C compiler happy.
1289
1290         * config/obj-som.c (obj_som_version, obj_som_copyright): Be
1291         prepared
1292         to handle an error from bfd_som_attach_aux_hdr.
1293
1294         * config/tc-hppa.h: Wrap ELF specific decls inside an ifdef.
1295
1296 Mon Feb 28 15:03:26 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1297
1298         * config/tc-alpha.c (md_atof): Omit warning about FP values.
1299         (line_comment_chars): Add ! to list.
1300         (md_apply_fix): Do process 32- and 64-bit relocations.
1301
1302         * config/obj-coffbfd.c (obj_coff_lcomm): Put "#if 0" around the
1303         unused parts (most of the function).
1304         (obj_coff_init_stab_section): Cast alloca result.
1305
1306         * configure.in (i960-*-coff, i960-*-vxworks5.*): Use coffbfd, and
1307         gas_target ic960coff.
1308         * config/ic960coff.mt: New file.
1309         * config/obj-coffbfd.h [TC_I960]: Include coff/i960.h.
1310         (TARGET_FORMAT) [TC_I960]: Use coff-Intel-little.
1311         * config/te-ic960.h (CROSS_COMPILE): Don't undef this.  We'll
1312         always build little-endian object files.
1313         * config/tc-i960.c (md_reloc_size): Don't define at all if BFD or
1314         BFD_ASSEMBLER is defined.
1315         (mem_fmt): Since COFF doesn't handle callx relocations yet, treat
1316         them like normal 32-bit relocations.
1317         (md_apply_fix): For callx relocations, store zero.
1318         (tc_bout_fix_to_chars): Store symbol index for all callx
1319         relocations, regardless of link-relax setting.
1320         (tc_coff_fix2rtype, tc_coff_sizemachdep): New functions.
1321         (i960_handle_align) [! OBJ_BOUT]: If link-relax option is
1322         selected, print an error message and clear it.
1323         * config/tc-i960.h (BFD_ARCH, COFF_FLAGS, COFF_MAGIC,
1324         TC_COUNT_RELOC, TC_COFF_FIX2RTYPE, TC_COFF_SIZEMACHDEP,
1325         tc_fix_adjustable): New macros.
1326         (tc_coff_fix2rtype, tc_coff_sizemachdep): Declare.
1327
1328 Fri Feb 25 20:56:57 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1329
1330         * config/tc-hppa.c (hppa_tc_symbol): Call PA ELF BFD version.
1331         (hppa_tc_make_sections): Likewise.
1332         (pa_build_symextn_section): Delete unused function.
1333         (hppa_tc_make_symextn_section): Likewise.
1334         (pa_export): Delete call to pa_build_symextn_section.
1335
1336         * config/tc-hppa.h (hppa_tc_symbol): Add extern decl.
1337         (elf_hppa_final_processing): Delete extern decl.
1338         (hppa_tc_symbol): Delete extern decl.
1339
1340 Fri Feb 25 13:15:31 1994  Ian Lance Taylor  (ian@cygnus.com)
1341
1342         * config/obj-coffbfd.c (fill_section): Correct test for whether to
1343         fill a section (from Minh Tran-Le <TRANLE@intellicorp.com>).
1344
1345 Thu Feb 24 11:30:26 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1346
1347         * configure.in: Don't require version number for i386-*-mach.
1348
1349         * read.c (potable): Added ".this_GCC_requires_the_GNU_assembler",
1350         which is ignored by gas, but will cause other assemblers to choke.
1351         Intended for use by gcc ports that require gas instead of native
1352         assemblers.
1353
1354 Thu Feb 24 07:10:31 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1355
1356         * config/ho-hppaosf.h: Fix braino in test for ANSI-C.
1357
1358 Wed Feb 23 16:51:43 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1359
1360         * write.c (write_contents): Give the user a reasonable error
1361         message rather than "assertion failed" if bfd_set_section_contents
1362         fails.
1363
1364 Tue Feb 22 10:07:32 1994  Ken Raeburn  (raeburn@rtl.cygnus.com)
1365
1366         * config/ho-mach3.h: New file.
1367
1368 Mon Feb 21 11:41:18 1994  Ian Lance Taylor  (ian@cygnus.com)
1369
1370         * ecoff.c (ecoff_build_debug): Don't set hdr->magic here.  It is
1371         now set in bfd/ecofflink.c:ecoff_write_symhdr.
1372
1373         * config/obj-coffbfd.c (write_object_file): use bfd_get_error (),
1374         not bfd_error.
1375         * config/obj-elf.c (elf_frob_file): Likewise.
1376
1377         * read.c (s_lcomm): Use an alignment power of 3 for 8 byte .lcomm
1378         variables.
1379
1380         * config/ho-hpux.h (BROKEN_ASSERT): Define if not __GNUC__.
1381
1382         * read.c (read_a_source_file): Use correct arguments to memcpy
1383         (broken 19 Jul 1993).  From kjd@pescadero.stanford.edu (Kenneth
1384         Duda).
1385
1386 Sun Feb 20 18:01:54 1994  Ian Lance Taylor  (ian@lisa.cygnus.com)
1387
1388         * config/obj-coff.h (obj_coff_section): Declare.
1389         * config/obj-coff.c (obj_pseudo_table): For "section", use
1390         obj_coff_section.
1391         (obj_coff_section): Rewrite.
1392
1393 Fri Feb 18 14:16:32 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1394
1395         * configure.in (i386-*-mach3*): New target; uses BFD.
1396         * config/te-mach.h: New file.
1397         * config/obj-aout.c (obj_aout_frob_file): New function.
1398         * config/obj-aout.h (obj_aout_frob_file): Declare it.
1399         (frob_file): New macro.
1400         * config/tc-i386.c (md_apply_fix_1) [TE_Mach]: Don't adjust
1401         pcrel32 relocations.
1402         * config/tc-i386.h (TARGET_FORMAT) [TE_Mach]: Use a.out-mach3.
1403
1404         * write.c (write_object_file): Removed register declarations.
1405
1406 Thu Feb 17 16:25:18 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1407
1408         Some support for PowerPC ELF.
1409         * configure.in: If cpu is powerpc*, use ppc.
1410         (ppc-*-sysv4*): Use object format elf.
1411         * config/tc-ppc.h: Only declare a number of things if OBJ_COFF is
1412         defined.
1413         (TARGET_ARCH): Make it call ppc_arch.
1414         (ppc_arch): Declare.
1415         (TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF.
1416         (NO_STRING_ESCAPES): Define.
1417         (LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF.
1418         * config/tc-ppc.c: Only define a number of functions of OBJ_COFF
1419         is defined.
1420         (md_pseudo_table): Most pseudo-ops are OBJ_COFF specific.  Added
1421         OBJ_COFF specific "bi" and "ei".
1422         (md_parse_option): Fix handling of -u.  Make -m601 set
1423         PPC_OPCODE_601.  If OBJ_ELF, accept -V and -Q.
1424         (ppc_set_cpu): New function.
1425         (ppc_arch): New function.
1426         (md_begin): Call ppc_set_cpu.
1427         (ppc_insert_operand): For a signed operand accept an unsigned
1428         value, for IBM compatibility.
1429         (ppc_byte): Don't call stringer for strings; instead, treat two
1430         double quotes as a single double quote.
1431         (ppc_comm): Set sy_tc.output for a .lcomm symbol.
1432         (ppc_biei): New function.
1433         (ppc_tc): If not OBJ_COFF, ignore first argument.
1434         (ppc_fix_adjustable): Call as_bad_where, not as_bad.
1435         (ppc_is_toc_sym): New function.
1436         (md_apply_fix): Use ppc_is_toc_sym.  Handle BFD_RELOC_16 and
1437         BFD_RELOC_8.
1438
1439 Thu Feb 17 09:29:37 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
1440
1441         * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_get_error and
1442         bfd_set_error and new error names. 
1443
1444 Tue Feb 15 20:23:20 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1445
1446         * configure.in: Support i960-vxworks versions > 5.0 as coff.
1447         Default is still bout if no version is specified.
1448
1449         * atof-generic.c (atof_generic): Use switch and strcasecmp instead
1450         of large number of compares when looking for inf/nan values.
1451
1452 Fri Feb 11 13:13:27 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1453
1454         * config/tc-mips.c (macro): Do unaligned loads and stores
1455         correctly when big endian, and give errors on overflow rather than
1456         generating incorrect code.
1457
1458 Thu Feb 10 11:24:20 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1459
1460         * as.c: Include libiberty.h.
1461
1462         * read.c (do_align): Don't define label just_record_alignment
1463         unless it might be used.
1464
1465         * as.c (main): If md_parse_long_option is defined, call it with a
1466         long option.
1467         * config/tc-mips.h (md_parse_long_option): Define.
1468         * config/tc-mips.c (mips_trap): New static variable.
1469         (md_begin): Report an error if mips_trap is set at ISA level 1.
1470         (macro): If mips_trap, use trap instructions instead of break
1471         instructions for overflow and divide by zero detection.
1472         (mips_parse_long_option): New function.  Support --trap,
1473         --no-break, --break and --no-trap.
1474         * doc/as.texinfo: Document new options.
1475
1476         * read.c (potable): Add "zero".
1477         * config/tc-i386.c (md_pseudo_table): Remove "zero".
1478         * config/tc-m88k.c (md_pseudo_table): Likewise.
1479
1480 Thu Feb 10 01:24:27 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1481
1482         * config/tc-sparc.c (sparc_ip): Reject integer values for
1483         pc-relative operand fields.  This forces "call 0" to become "jmpl
1484         %g0,%o7" with no relocations needed.
1485
1486 Wed Feb  9 13:08:32 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1487
1488         * as.h (xmalloc, xrealloc): Declare using PTR rather than char *.
1489         * xmalloc.c (xmalloc, xrealloc): Use PTR rather than char *.
1490
1491         * app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined,
1492         don't treat backslash specially inside strings.
1493         * read.c (next_char_of_string): Likewise.
1494
1495 Wed Feb  9 09:42:45 1994  Stan Shebs  (shebs@andros.cygnus.com)
1496
1497         * config/obj-coffbfd.c (obj_coff_init_stab_section): Use memset
1498         instead of memcpy to zero the initial stab symbol, duh.
1499         * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
1500         * config/obj-som.c (obj_som_init_stab_section): Ditto.
1501
1502 Tue Feb  8 17:25:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1503
1504         * write.c (fixup_segment): Use as_bad_where, not as_bad.
1505
1506         * subsegs.c (subseg_set_rest): Call memset with the arguments in
1507         the right order.  Explicitly clear fix_root and fix_tail fields.
1508
1509 Tue Feb  8 16:00:25 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1510
1511         * config/obj-coff.c (coff_frob_symbol): For abs_symbol, set *punt
1512         and do nothing else.
1513
1514         * symbols.c (symbol_begin): Initialize value of abs_symbol
1515         properly.
1516
1517         * write.c (adjust_reloc_syms): Use abs_symbol instead of calling
1518         section_symbol.
1519
1520         * ecoff.c (ecoff_build_debug): Fix "/*" in comment to silence
1521         complaint from "gcc -Wall".
1522
1523         * configure.in (alpha-*-netware*): New target, like alpha-*-osf*.
1524
1525         * config/tc-alpha.c (GP_ADJUSTMENT): Move definition to start of
1526         file.
1527         (tc_gen_reloc): Remove uninitialized variable `code', and code
1528         that tried to use it (incorrectly).  For LITERAL reloc, set addend
1529         to negative of GP value.
1530         (load_symbol_address): Don't adjust return value by GP_ADJUSTMENT.
1531
1532         * write.c (write_relocs): Print some sensible error message if
1533         bfd_perform_relocation returns bfd_reloc_overflow.
1534
1535 Mon Feb  7 15:49:24 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1536
1537         * configure.in (hppa*-*elf*): New configuration for PA ELF.
1538         (hppa*-*-osf*): Default object format is SOM.
1539
1540 Mon Feb  7 16:07:35 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1541
1542         * config/tc-alpha.c (md_atof): Warn that floating-point values
1543         might not assemble properly.
1544
1545         * configure.in (target alpha-*-osf*): Don't set "dev=yes" any
1546         more.
1547
1548         * config/tc-alpha.c (load_expression): Parenthesize operations in
1549         range checking, to avoid precedence questions.
1550
1551         * config/tc-alpha.c (addr32): New static variable.
1552         (md_parse_option): Set it for "-32addr".
1553         (load_symbol_address): If addr32 is set, use ldl instead of ldq.
1554
1555         * atof-generic.c (atof_generic): Calculate maximum_useful_digits
1556         and more_than_enough_bits_for_digits in integer arithmetic, to
1557         eliminate the only sources of dependence on floating point
1558         support, which doesn't work yet on the Alpha.
1559
1560 Mon Feb  7 03:56:05 1994  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1561
1562         * ecoff.c (ecoff_build_debug) [TC_ALPHA]: Specify version stamp as
1563         0x30b for Alpha for now, until ".verstamp" is handled.
1564
1565         * literal.c (add_to_literal_pool): Use seginfo->frchainP, which
1566         actually refers to the literal pool section, rather than
1567         frchain_now, which refers to whatever section the assembler was
1568         in.
1569
1570         * write.c (fixup_segment): Only do range checking if size of fixup
1571         is smaller than word size.  Otherwise, we always wind up with
1572         zeros.
1573
1574         * config/tc-alpha.c (md_section_align): Change second argument and
1575         return type to valueT, to agree with tc.h.
1576         (alpha_do_align): Local static array nop_pattern is now unsigned
1577         char, to avoid overflow warnings.
1578         * config/tc-alpha.h (md_section_align): Delete declaration.
1579
1580         * config/obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for
1581         output bfd is non-null before indirecting through it.
1582
1583         * config/tc-alpha.c (alpha_frob_ecoff_data): Renamed from
1584         alpha_frob_file.
1585         * config/tc-alpha.h (tc_frob_file): Macro deleted.
1586         * config/obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call
1587         alpha_frob_ecoff_data, then fill in optional-header info with gp
1588         value and register masks.
1589
1590 Sun Feb  6 16:13:47 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1591
1592         * configure.in (hiux): Fixes from m-kasahr@sramhc.sra.co.JP.
1593
1594         * config/obj-som.c (obj_som_init_stab_section): Same change
1595         as coffbfd and elf below.  Zero the initial stab symbol after
1596         allocating it.
1597
1598 Sat Feb  5 12:30:32 1994  Stan Shebs  (shebs@andros.cygnus.com)
1599
1600         * config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the
1601         initial stab symbol after allocating it.
1602         * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
1603
1604 Sat Feb  5 11:53:31 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1605
1606         * config/tc-hppa.c (pa_ip): addb[tf] should only accept
1607         non-negated condition completers.  Add support for addb pseudo-op
1608         which accepts both negated and non-negated completers.
1609
1610 Sat Feb  5 00:15:49 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1611
1612         * configure.in (rs6000*): Use cpu_type ppc.
1613         (ppc-*-aix*): New target; use coff and force bfd_gas.
1614         * config/tc-ppc.h, config/tc-ppc.c: New files for PowerPC/POWER
1615         (RS/6000) support.  At the moment, only XCOFF is supported.
1616
1617         * config/obj-coff.c (SA_SET_SYM_ENDNDX): Made non-static.
1618         (S_SET_DATA_TYPE): Likewise.
1619         (coff_last_function): Renamed from local static last_functionP in
1620         coff_frob_symbol and made externally visible.
1621         (coff_frob_symbol): New local static set_end; use it to try to
1622         avoid calling SA_SET_SYM_ENDNDX on a symbol that will be punted.
1623         * config/obj-coff.h (S_SET_DATA_TYPE): Declare.
1624         (SA_SET_SYM_ENDNDX): Declare.
1625         (coff_last_function): Declare.
1626
1627         * expr.c (operand): If DOLLAR_DOT is defined, accept `$' as
1628         equivalent to `.' to mean the current location.
1629
1630         * read.c (LEX_BR): If not defined, define as 0.
1631         (lex_type): Use LEX_BR as the type of `{',`}',`[',`]'.
1632
1633         * symbols.c (symbol_new): If tc_canonicalize_symbol_name is
1634         defined, call it with preserved_copy_of_name.  If
1635         tc_symbol_new_hook is defined, call it on the new symbol.
1636         (symbol_find_base): If tc_canonicalize_symbol_name is defined,
1637         call it on a copy of the name argument.
1638
1639         * write.c (write_object_file): Simplified usage of obj_frob_symbol
1640         and tc_frob_symbol.  Always call both if the symbol is going to be
1641         output.
1642
1643         * write.c (relax_segment): Use %ld rather than %d when printing
1644         fragP->fr_var, and cast it to long.
1645
1646         Changed relocs to be based on subsegments (when BFD_ASSEMBLER).
1647         * subsegs.h (struct frchain): If BFD_ASSEMBLER, added new fields
1648         fix_root and fix_tail.
1649         (segment_info_type): If BFD_ASSEMBLER, don't define fix_tail
1650         field.
1651         * write.c (fix_new_internal): If BFD_ASSEMBLER, set fix_rootP and
1652         fix_tailP based on frchain_now, not seg_info (now_seg).
1653         (chain_frchains_together_1): Chain the subsegment relocs together.
1654         * subsegs.c (subseg_change): Don't clear fix_tail field.
1655         (subseg_get): Likewise.
1656         * literal.c (add_to_literal_pool): Look through the relocs via
1657         frchain_now, not seginfo.
1658
1659 Thu Feb  3 23:07:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1660
1661         * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Changed
1662         ecoff_undefined to ecoff_extern_size.
1663         * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Likewise.
1664         * config/tc-mips.c (s_extern): Set ecoff_extern_size to the
1665         external symbol size, rathern than setting the symbol value.
1666         (md_estimate_size_before_relax): Check both ecoff_extern_size and
1667         symbol value to see if GP referencing can be used.
1668         * ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not
1669         ecoff_undefined.
1670         (ecoff_frob_symbol): Don't check ecoff_undefined.
1671         (ecoff_build_symbols): Get size of an undefined symbol from
1672         sym->ecoff_extern_size, not S_GET_VALUE (sym).
1673
1674 Wed Feb  2 13:55:08 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1675
1676         * Makefile.in:  Avoid bug in losing hpux sed.
1677
1678 Wed Feb  2 11:40:11 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1679
1680         * config/tc-mips.c (file_mips_isa): New static variable.
1681         (md_begin): Set it.
1682         (s_mipsset): Add support for .set mipN to set the ISA level.
1683
1684         * gasp.c (kinfo): Fully bracket initializer.
1685
1686 Tue Feb  1 19:28:12 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1687
1688         * gasp.c (malloc): Don't declare, since host.h or system header
1689         files may declare it differently.
1690
1691         * config/atof-ieee.c (int_to_gen): Now static.
1692
1693         * config/ho-i386aix.h: Include sys/types.h and stdlib.h, not
1694         ho-sysv.h.  Based loosely on a patch from Minh Tran-Le.
1695
1696 Tue Feb  1 10:50:17 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
1697
1698         * gasp.c: Include host.h.
1699
1700 Tue Feb  1 12:13:01 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1701
1702         * config/tc-mips.c (mips_ip): Make an unsupported instruction a
1703         warning, not an error.
1704
1705         * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
1706         dot_bss_symbol): Don't define if BFD_ASSEMBLER.
1707         (obj_symbol_to_chars): bfd_coff_swap_aux_out now takes more
1708         arguments.
1709         (coff_line_base): Renamed from line_base.  Changed all uses.
1710         (coff_add_linesym): Renamed from add_line_sym.  Made non-static.
1711         Changed all uses.
1712         * config/obj-coff.h: If TC_PPC, include coff/rs6000.h.
1713         (S_SET_STORAGE_CLASS, S_GET_STORAGE_CLASS): Declare if
1714         BFD_ASSEMBLER.
1715         (coff_line_base): Declare.
1716         (coff_add_linesym): Declare if BFD_ASSEMBLER.
1717         * config/obj-coffbfd.c (symbol_to_chars): bfd_coff_swap_aux_out
1718         now takes more arguments.
1719
1720 Mon Jan 31 17:55:14 1994  Stan Shebs  (shebs@andros.cygnus.com)
1721
1722         * as.c (statistics_flag): Renamed from quiet_flag.
1723         (main): Get statistics with --statistics instead of -noquiet.
1724
1725 Mon Jan 31 07:19:30 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
1726
1727         * Makefile.in: Support for Gnu ASsembler Preprocessor.
1728         * gasp.c: New file.
1729         * read.c (s_lcomm): Align lcomm data.
1730         * config/tc-z8k.c (tc_reloc_mangle): Don't allow subtraction 
1731         from different sections.
1732
1733 Sun Jan 30 14:58:26 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1734
1735         * write.c (write_object_file): If tc_frob_file is defined, call it
1736         just before calling obj_frob_file.
1737         * config/tc-alpha.c (alpha_gp_value): Renamed from gp_value
1738         (references changed), and made non-static.
1739         (getExpression): Return void.
1740         (select_gp_value): Abort if gp_value is non-zero.  Delete call to
1741         non-existent bfd_set_gp_value.
1742         (alpha_validate_fix): Function deleted.
1743         (alpha_frob_symbol): Function deleted.
1744         (alpha_local_label): Function deleted.
1745         (alpha_frob_file): Renamed from alpha_end.
1746         * config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix,
1747         alpha_local_label, alpha_end): Declarations deleted.
1748         (alpha_gp_value, alpha_frob_file): Declare.
1749         (tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted.
1750         (LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label.
1751         (md_convert_frag): Simplified slightly.
1752         (tc_frob_file): New macro.
1753
1754         * read.c (do_align): New function, most of guts of s_align_*
1755         functions.  Look for md_do_align macro, give it a chance to bypass
1756         all but recording of section alignment.
1757         (s_align_bytes, s_align_ptwo): Call do_align.
1758         (s_lcomm) [TC_ALPHA]: Align object to largest power of two that
1759         divides object size.
1760
1761         * frags.c (frag_align_pattern): New function.
1762         (frag_align): Rewrite for clarity.
1763
1764         * config/tc-vax.c (md_assemble): Handle O_constant expression.
1765         (vip_begin): Returns pointer to const char.  Cast hash_insert arg
1766         to PTR to avoid compiler complaints about const.
1767         (md_begin): Local variable errtxt must point to const.
1768
1769         * configure.in: Handle host vax-*-ultrix* like vax-*-bsd*.  Don't
1770         bother with *-*-ultrix or *-*-sysv*, except *-*-sysv, since only
1771         the last has an existing host support file.  Do handle vax-bsd and
1772         vax-ultrix targets.
1773
1774 Fri Jan 28 11:26:40 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1775
1776         * config/obj-coff.c (obj_coff_section_header_append): Do not
1777         declare if BFD_ASSEMBLER.
1778         (stack_pop): Correct test for stack underflow.
1779         (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
1780         obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Declare
1781         type of ignored argument to avoid gcc warning.
1782         (align): Removed unused function.
1783
1784 Thu Jan 27 18:14:19 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1785
1786         * config/tc-alpha.c, config/tc-alpha.h, config/alpha-opcode.h: New
1787         files, based on port of gas-1.38 contributed by CMU, using a.out
1788         variant.  Updated for gas-2.x and ECOFF.  Floating-point constants
1789         are still broken, bootstrap testing incomplete.
1790
1791         * literal.c: Comment changes.
1792
1793         * listing.c (listing_source_file): Check for null listing_tail
1794         before indirecting through it.
1795
1796         * expr.h (struct expressionS): Added struct tag.
1797
1798         * as.h: If __GNUC__ and inline are both undefined, define inline
1799         away.
1800
1801         * write.c (cvt_frag_to_fill): Don't assume that fr_var for
1802         rs_align or rs_org frags will be 1.
1803         (relax_segment): For rs_align, if fr_var is not 1, complain if
1804         required padding is not a multiple of the size of the pad pattern.
1805         (fixup_segment): Leave gp-relative relocations alone.  For pcrel
1806         relocations referring to the same segment, clear fx_pcrel when
1807         clearing fx_addsy.
1808         * as.h: Adjust comments on rs_align.
1809
1810         * atof-generic.c: Some reformatting.
1811         (atof_generic): Be careful when mixing signed/unsigned values of
1812         different sizes.
1813
1814         * write.c, config/obj-{aout,bout,coff*}.c, config/tc-sparc.c:
1815         Query the fx_done field instead of fx_addsy to see if the fixup
1816         still needs to be applied.  Set fx_done and clear fx_addsy both,
1817         for now.  If TC_HANDLES_FX_DONE isn't defined, assume md_apply_fix
1818         will only clear fx_addsy, and set fx_done accordingly after
1819         returning.
1820         * config/tc-sparc.h (TC_HANDLES_FX_DONE): Define.
1821         * config/tc-sparc.c (md_apply_fix): Set fx_done for non-pcrel fix
1822         with no fx_addsy.
1823
1824         * symbols.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
1825         Deleted.
1826         (symbol_begin): Moved to end of file, so function inlining can
1827         work better.
1828         (fb_label_count, fb_label_max): Default C static initializers are
1829         sufficient.
1830         * symbols.h (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
1831         Declarations deleted.
1832         * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
1833         dot_bss_symbol): Defined here, static.
1834
1835         * config/obj-aout.c [BFD_ASSEMBLER]: Undef NO_RELOC before
1836         including aout/aout64.h.
1837
1838         * write.c (write_object_file): If EMIT_SECTION_SYMBOLS is false,
1839         don't write out a section symbol even if it's used in a
1840         relocation; assume relocations will handle section numbers
1841         somehow.  Rename "punt_it" label to "punt_it_if_unused" to reflect
1842         it's true use.
1843         (EMIT_SECTION_SYMBOLS): Default to 1.
1844         (adjust_reloc_syms): Don't create a new symbol for an absolute
1845         reference; just use the absolute section symbol.
1846         (write_relocs): Make printout of reloc values dependent on flag
1847         DEBUG3, not DEBUG2.
1848         * config/obj-aout.h (EMIT_SECTION_SYMBOLS): Define as 0.
1849         * config/obj-ecoff.h (EMIT_SECTION_SYMBOLS): Ditto.
1850
1851 Thu Jan 27 16:43:51 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1852
1853         * read.c (lex_type): No longer make '{' a valid character for
1854         symbol names.
1855
1856         * as.c (main): Print long values using %ld.
1857
1858         * messages.c (as_warn_internal): New static function.
1859         (as_warn, 3 versions): Use as_warn_internal.
1860         (as_warn_where, 3 versions): New function.
1861         * as.h (as_warn_where): Declare.
1862
1863 Tue Jan 25 18:30:34 1994  Stan Shebs  (shebs@andros.cygnus.com)
1864
1865         * as.c (quiet_flag): New flag.
1866         (main): If -noquiet given, display execution time and memory used.
1867
1868 Tue Jan 25 15:53:11 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1869
1870         * doc/{all.texi,as.texinfo}: Add documentation for HPPA port.
1871
1872 Mon Jan 24 19:18:23 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1873
1874         * ecoff.c (ecoff_frob_symbol): New function.  Put undefined
1875         symbols of known size in the undefined section.  Put small common
1876         symbols in a .scommon section.
1877         * ecoff.h (ecoff_frob_symbol): Declare.
1878         * config/obj-ecoff.h (obj_frob_symbol): Define.
1879         * config/obj-elf.c (obj_elf_write_symbol_p, obj_elf_write_symbol,
1880         obj_elf_frob_symbol): Removed unused functions.
1881         * config/obj-elf.h (obj_frob_symbol, obj_write_symbol): Removed
1882         unused macros.
1883         (obj_elf_frob_symbol, obj_elf_write_symbol): Removed declarations
1884         of unused functions.
1885         (obj_frob_symbol): Define if ECOFF_DEBUGGING.
1886
1887         * tc-mips.c (g_switch_seen): New static variable.
1888         (md_parse_option): Set g_switch_seen for -G option.
1889         (s_option): If creating PIC code, force the GP size to be 0.  Warn
1890         if -G switch used with a non-zero value.
1891
1892         * symbols.c (S_IS_COMMON): Use bfd_is_com_section rather than
1893         comparing against bfd_com_section.
1894
1895 Mon Jan 24 14:12:25 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1896
1897         * read.c (s_lcomm): Treat Alpha like MIPS in handling of .sbss
1898         section.
1899
1900 Thu Jan 20 13:17:58 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1901
1902         * expr.c (operand): For floating point operand with unusual fp
1903         char from FLT_CHARS, preserve the character.  Patch from Lisa
1904         Repka.
1905
1906 Wed Jan 19 23:15:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1907
1908         * config/tc-mips.c (md_pseudo_table): Add all data allocation
1909         pseudo-ops: .hword, .int, .long, .octa, .quad, .short, .single.
1910
1911 Tue Jan 18 15:51:59 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
1912
1913         * config/obj-coffbfd.c (obj_coff_endef): For C_EFCN, C_BLOCK and
1914         C_FCN assume .val has been set to .
1915
1916 Tue Jan 18 16:19:58 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1917
1918         * config/tc-hppa.c: Disable multiple $CODE$ subspace code.  It
1919         confuses GDB for some unknown reason.
1920         * cofnig/obj-som.c: Likewise.
1921
1922 Tue Jan 18 19:05:32 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1923
1924         * literal.c (add_to_literal_pool): Handle duplicates of values
1925         already written to literal pool.
1926
1927 Tue Jan 18 17:23:52 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1928
1929         * config/obj-aout.c (obj_aout_frob_symbol): Try to get symbols
1930         with explicitly marked stabs through BFD: if a symbol marked
1931         N_UNDF | N_EXT is in the absolute section, move it to the
1932         undefined section; move a symbol marked N_INDR into
1933         bfd_ind_section and set the BSF_INDIRECT flag; set the
1934         BSF_WARNING flag for a symbol makred N_WARNING.
1935
1936 Mon Jan 17 15:40:23 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1937
1938         * ecoff.h (ecoff_set_gp_prolog_size): Declare.
1939         * ecoff.c (ecoff_set_gp_prolog_size): Return type is void.
1940
1941 Mon Jan 17 00:18:55 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1942
1943         * config/tc-hppa.c (pa_ip): Explicitly check for comma before 'u'
1944         and 'f' template operand.
1945
1946         * config/tc-hppa.c (pa_ip): Handle 'N', 'O', 'o', '0', '1', 'u',
1947         and '2' in copr and sfu instruction templates.
1948
1949 Sun Jan 16 16:44:23 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1950
1951         * as.h (subseg_force_new): Add prototype.
1952
1953 Sat Jan 15 09:20:55 1994  Doug Evans  (dje@canuck.cygnus.com)
1954
1955         * app.c (do_scrub_next_char): Allow lines like " foolab :".
1956
1957         * read.c (emit_expr): Fix computation of mask.
1958         * config/obj-elf.c (obj_elf_section): Fix loop termination test.
1959
1960 Thu Jan 13 16:15:15 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1961
1962         * ecoff.c (ecoff_set_gp_prolog_size): New function.
1963         (current_file_idx): New static variable.
1964         (add_file): Use and increment current_file_idx instead of indx
1965         parameter.
1966
1967         * struc-symbol.h (struct symbol): Make all bitfields unsigned.
1968
1969         * config/tc-i960.c (i960_validate_fix): Added argument
1970         add_symbolPP.  Indirect through it to get "add_symbolP".
1971         * config/tc-i960.h (i960_validate_fix): Supply prototype.
1972         (TC_VALIDATE_FIX): Pass address of add_symbolP.
1973
1974         * configure.in (i386-*-netbsd*): New target, using te-netbsd.h.
1975         (i386-*-netbsd0.8): New target, like 386bsd.
1976
1977         * configure.in: Set BFDDEF in Makefile to "define" or "undef".
1978         * Makefile.in (config.h): Protect against multiple inclusions.
1979         Define or undef BFD_ASSEMBLER as specified by $(BFDDEF).
1980         (ALL_CFLAGS): Omit $(BFDDEF).
1981         * as.h: Include config.h.
1982         (struct symbol): Added forward declaration.
1983         (add_to_literal_pool): Fix declaration.
1984         * as.c: Don't include config.h.
1985
1986         * literal.c (add_to_literal_pool): Take symbol and addend as
1987         arguments, instead of expression, for now.  Fix calculation of
1988         offset to return.
1989
1990         * subsegs.h (segment_info_type) [NEED_LITERAL_POOL]: Add field
1991         literal_pool_size.
1992
1993 Thu Jan 13 12:14:21 1994  Jeffrey A. Law  (law@snake.cs.utah.edu
1994
1995         * subsegs.c (subseg_get): Accept new argument "force_new".  If
1996         set then a new segment is always created.  All callers changed.
1997         (subseg_force_new): New function.  Similar to subseg_new, but
1998         always force a new segment to be created.
1999
2000         * config/obj-som.c (som_frob_file): Call adjust_code_sections
2001         for each section.
2002         (adjust_code_sections): New function.  Adjusts the VMA for all the
2003         $CODE$ subspaces.
2004
2005         * config/tc-hppa.c (md_assemble): Also handle creating a fixup
2006         for the unwind descriptors if a function's label follows the
2007         .PROC and .ENTRY directives.
2008         (pa_entry): Don't set BSF_FUNCTION for the label symbol here; it
2009         is done elsewhere.  Don't create a fixup for the unwind
2010         descriptors if the function's label has not been defined yet.
2011         (pa_proc): For SOM, place each procedure within a new $CODE$
2012         subspace.  Adjust the segment and frag for the associated
2013         function label if it exists.
2014
2015 Wed Jan 12 22:05:33 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2016
2017         * config/tc-hppa.c (hppa_fix_struct): Add new "segment" field.
2018         (hppa_fix_new): Initialize segment field.
2019         (md_apply_fix): Do nothing for pc-relative fixup which involves
2020         crossing a segment boundary.
2021         (pa_procend): Undefine the current label after handling .PROC
2022         and .PROCEND directives.
2023         (dummy_symbol): Make type "symbolS *".  Change references as
2024         appropriate.
2025
2026 Wed Jan 12 13:29:31 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2027
2028         * read.c (read_a_source_file): Cast array argument to unsigned
2029         char.
2030         * write.c (adjust_reloc_syms): Remove unused variable symseginfo.
2031         (write_object_file): Don't define punt_it if it won't be used.
2032         (fixup_segment): Don't define skip if it won't be used.
2033
2034         * config/tc-mips.h (TARGET_FORMAT): Define as mips_target_format.
2035         (mips_target_format): Declare.
2036         * config/tc-mips.c (mips_target_format): Define with appropriate
2037         default definition.
2038         (md_parse_option): If -EL or -EB is used, change byte_order and
2039         mips_target_format as appropriate.
2040
2041 Tue Jan 11 21:52:36 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2042
2043         * app.c (do_scrub_next_char): Another attempt to fix bugs
2044         dealing with labels without colons (for HPPA and MRI).
2045
2046 Tue Jan 11 17:01:06 1994  Doug Evans  (dje@canuck.cygnus.com)
2047
2048         * config/tc-sparc.c (sparc_ip): Truncate args to %hi/%lo to 32 bits.
2049
2050         * expr.c (integer_constant): Fix computation of too_many_digits.
2051         Variable digit_2 renamed to start.  Fix check for whether number
2052         will fit in 32 bits.
2053         * read.c (emit_expr): Use valueT instead of long.
2054
2055 Tue Jan 11 13:01:20 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2056
2057         * config/obj-elf.c: If TC_MIPS, include elf/mips.h.
2058         (special_sections): Define.
2059         (obj_elf_special_section): Get default types and attributes from
2060         list of special sections.
2061         * config/tc-mips.c (ELF_TC_SPECIAL_SECTIONS): Define.
2062
2063         * config/obj-ecoff.c (ecoff_frob_file): Force .sdata and .sbss
2064         sections to be close together.
2065
2066         * config/tc-mips.c (macro): Corrected $at warnings in a couple of
2067         spots.
2068
2069         * listing.c (listing_prev_line): New function.
2070         * listing.c: Include subsegs.h.
2071         (listing_prev_line): New function.
2072         (calc_hex): Reset byte_in_frag to zero for each new frag.
2073         * config/tc-mips.c (append_insn): Call listing_prev_line after
2074         emitting nop instructions.
2075         * Makefile.in (listing.o): Depends upon subsegs.h.
2076
2077 Mon Jan 10 09:52:23 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
2078
2079         * config/tc-hppa.c (pa_ip): Put check for missing label on .PROC
2080         here.  Handle case where label may be defined after the .PROC.
2081         (pa_proc): It is not an error if the procedure's label isn't
2082         defined before the .PROC directive.
2083
2084 Sun Jan  9 04:43:30 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
2085
2086         * config/te-netbsd.h: New file.
2087         * config/tc-i386.h (TARGET_FORMAT) [TE_NetBSD]: Use bfd target
2088         a.out-netbsd-386 for this configuration.
2089
2090 Fri Jan  7 17:38:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2091
2092         * ecoff.c (ecoff_stab): Don't clobber the ECOFF symbol information
2093         with the associated stabs information.
2094         (ecoff_build_symbols): Never set the type of stabs symbols to
2095         st_Global.  Don't update the symbol index or ifd if the gas symbol
2096         is not the same as the ECOFF symbol (which is now the case for
2097         stabs symbols).
2098
2099 Fri Jan  7 11:14:07 1994  Stan Shebs  (shebs@andros.cygnus.com)
2100
2101         * config/tc-mips.c (macro): Add a LOSING_COMPILER ifdef that
2102         splits the function.
2103         (macro2): New function, if LOSING_COMPILER defined.
2104
2105 Fri Jan  7 09:38:25 1994  Steve Chamberlain  (sac@cygnus.com)
2106
2107         * config/obj-coffbfd.c (fill_section):  Don't ever fill past the
2108         end of a section. (write_object_file): Temporary fix - setup
2109         stdoutput.
2110
2111 Thu Jan  6 18:05:21 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
2112
2113         * config/tc-sparc.c (tc_gen_reloc): Fix handling of addends in
2114         non-pcrel_offset relocations.
2115
2116 Thu Jan  6 01:06:40 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2117
2118         * config/tc-mips.c (mips_ip): Warn about using $1 as well as $at
2119         without .set noat.
2120
2121 Wed Jan  5 14:22:22 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
2122
2123         * literal.c: New file.
2124         * Makefile.in (REAL_SOURCES, OBJS): List it.
2125
2126         * as.h (DEBUG): Don't define.
2127         (struct expressionS, struct fix): Declare in case they're used in
2128         prototypes.
2129         (add_to_literal_pool) [BFD_ASSEMBLER]: Declare.
2130
2131         * config/tc-mips.h (TARGET_FORMAT) [OBJ_AOUT]: Fix for new names
2132         in bfd.
2133
2134         * subsegs.c (subseg_get): New function.  Creates segment if
2135         needed, returns pointer, but doesn't change current segment.
2136         (subseg_new): Use it.
2137
2138 Tue Jan  4 15:12:43 1994  Stan Shebs  (shebs@andros.cygnus.com)
2139
2140         * Makefile.in (INCLUDES): Add $(srcdir)/.. to places to search.
2141         * config/obj-ecoff.c: Include files as "bfd/" instead of "../bfd/".
2142         * app.c, flonum.h, hex-value.c (const): Change #if to be more
2143         portable.
2144
2145 Tue Jan  4 22:11:34 1994  Rob Savoye  (rob@darkstar.cygnus.com)
2146
2147         * config/ho-vsta.h, configure.in, .Sanitize: Add support for VSTa
2148         micro-kernel.
2149
2150 Thu Dec 30 15:27:16 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2151
2152         * write.c (write_relocs): bfd_perform_relocation now takes an
2153         additional argument, to return an error string (which we ignore).
2154
2155 Wed Dec 29 14:37:26 1993  Ken Raeburn  (raeburn@cujo.cygnus.com)
2156
2157         * write.h (struct fix): Field tc_fix_data should be type PTR, not
2158         void*, for compatibility with non-ANSI compilers.  Added
2159         single-bit field "fx_done".
2160
2161 Sun Dec 26 14:31:47 1993  Torbjorn Granlund  (tege@adder.cygnus.com)
2162
2163         * tc-hppa.c (pre_defined_registers): Convert to lower case.
2164         Delete spurious register names "%r4L", etc.
2165         (selector_table): Sort and convert to lower case.
2166         (cons_fix_new_hppa): `reloc_type' => `rel_type'.
2167         (pa_ip): Always use strcmp for non-text and strcasecmp for text.
2168         (reg_name_search): Rewrite to call strcasecmp only once per
2169         iteration.
2170         (pa_chk_field_selector): Rewrite to use binary search.
2171         (pa_parse_neg_add_cmpltr): Use strcasecmp for completer comparisons.
2172         (pa_parse_space_stmt): $TEXT$ and $PRIVATE$ are symbols; use case
2173         sensitive comparisons.
2174         (pa_parse_space_stmt): Canonicalize strncasecmp arg to lower case.
2175         (pa_space): "$text$" => "$TEXT$"; "$private$" => "$PRIVATE$".  Use
2176         case sensitive comparison for all symbolic names.
2177         (pa_subspace): Canonicalize strncasecmp arg to lower case.
2178         (pa_subspace_start): Use case sensitive comparison for symbolic names.
2179
2180 Mon Dec 20 10:37:48 1993  Ken Raeburn  (raeburn@cujo.cygnus.com)
2181
2182         * write.c (adjust_reloc_syms) [RELOC_REQUIRES_SYMBOL]: If no
2183         symbol is present (i.e., relocation against absolute), create a
2184         phony local symbol, and use it in the reloc.
2185         (fixup_segment): When adjusting a reloc with an absolute symbol,
2186         have TC_FORCE_RELOCATION control clearing add_symbolP too.
2187         * config/tc-sparc.h (RELOC_REQUIRES_SYMBOL): Define, for OBJ_COFF.
2188
2189         * symbols.c (S_IS_EXTERNAL, S_IS_LOCAL): Don't use both BSF_EXPORT
2190         and BSF_GLOBAL, since they're the same.
2191
2192         * as.c (main): Only invoke md_end if it's defined as a macro.
2193         * tc.h (md_end): Don't declare it.
2194         * config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do
2195         anything.
2196         * config/tc-vax.c (vip_end): Deleted null function.
2197         * config/tc-mips.c (md_mips_end): Renamed from md_end.
2198         * config/tc-mips.h (md_mips_end): Declare.
2199         (md_end): New macro, calls md_mips_end.
2200
2201         * write.c (write_object_file): Don't close output file.
2202         * as.c (main): Close output file (if needed) after calling
2203         listing_print, which should be after calling write_object_file,
2204         which sets the frag addresses.
2205
2206         * config/obj-coff.c (obj_coff_dim, obj_coff_endef, obj_coff_line,
2207         obj_coff_scl, obj_coff_size, obj_coff_tag, obj_coff_type,
2208         obj_coff_val): Add unused int argument to satisfy prototypes; goes
2209         with Ian's 10 Sep changes.
2210         (S_GET_DATA_TYPE, S_SET_DATA_TYPE, S_GET_STORAGE_CLASS,
2211         S_SET_STORAGE_CLASS): Now function instead of macros.
2212         (obj_emit_lineno) [BFD_ASSEMBLER]: Deleted.
2213         (tag_insert): Local var ERROR_STRING is const.  Use "const" not
2214         "CONST" for argument NAME.  Fixed prototype.
2215         (coff_frob_symbol): Removed explicit "#if 1" directive.  If
2216         S_IS_EXTERNAL, set storage class to C_EXT.
2217         (s_get_name): Use "const" not "CONST".
2218         * config/obj-coff.h (S_GET_DATA_TYPE, S_SET_DATA_TYPE,
2219         S_GET_STORAGE_CLASS, S_SET_STORAGE_CLASS): Deleted.
2220         (obj_emit_lineno): Declare only for non-BFD_ASSEMBLER.  For
2221         BFD_ASSEMBLER, define as macro that aborts.
2222         (obj_extra_stuff, tc_headers_hook): Declare only for
2223         non-BFD_ASSEMBLER.
2224         (coff_frob_symbol): Fix prototype.
2225
2226 Sun Dec 19 00:37:20 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2227
2228         * config/tc-sparc.c (tc_gen_reloc): Test of pcrel_offset had sense
2229         reversed.
2230
2231 Thu Dec 16 21:13:11 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2232
2233         * config/tc-hppa.c (md_begin): Initialize "dummy_label".
2234         (tc_gen_reloc, SOM version): For relocations which have no symbol,
2235         set sym_ptr_ptr to dummy_label.  Avoids lossage in generic BFD code.
2236
2237 Thu Dec 16 16:07:56 1993  Ken Raeburn  (raeburn@cujo.cygnus.com)
2238
2239         * read.c (lex_type): No longer make '[' a valid character for
2240         symbol names.
2241
2242         * config/tc-vax.c (tc_aout_fix_to_chars): Local variable
2243         NBYTES_R_LENGTH now const.
2244
2245         * config/obj-*.c, config/tc-*.c: Omit superfluous "return"
2246         statements at ends of functions.  Don't check for null return from
2247         hash_new, since it won't return at all if there's no memory
2248         available.  Also, check for null return from hash_insert, rather
2249         than zero-length string, as success indicator.
2250
2251         * subsegs.c (section_symbol): New function.
2252         * subsegs.h (section_symbol): Declare.
2253         * write.c (adjust_reloc_syms): Use it.
2254
2255 Wed Dec 15 15:39:53 1993  Ken Raeburn  (raeburn@cujo.cygnus.com)
2256
2257         * Makefile.in (RUNTEST): New variable.
2258         (CHECKFLAGS): Pass it down.
2259
2260         * ecoff.c (ecoff_directive_frame): Permit extra trailing operands;
2261         unused for now, but supplied by Alpha OSF1 compiler.
2262
2263         * as.h: Protect against multiple inclusions.
2264         (int_to_gen): Don't declare.
2265
2266         * config/atof-vax.c (atof_vax): NULL is not a valid character
2267         constant.
2268
2269 Tue Dec 14 21:38:25 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2270
2271         * configure.in (hppa*-*-osf*): Do not consider this a developmental
2272         configuration.
2273
2274         * config/tc-hppa.c (md_apply_fix): Handle cases where no
2275         relocation will be emitted for 32bit formats.
2276
2277 Mon Dec 13 23:33:40 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2278
2279         * config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust
2280         for any of the 'T' field selectors.
2281
2282 Sat Dec 11 11:23:12 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
2283
2284         * config/tc-h8500.c (build_bytes): Get reloc type right for a
2285         %page operation. (md_assemble): Don't modify input_line_pointer.
2286         (mdcoff_sizemachdep): New function.
2287         * config/tc-h8500.h (TC_COFF_SIZEMACHDEP): New macro.
2288         * config/tc-z8k.c (get_operand): Delete bogus check.
2289
2290 Wed Dec  8 16:31:51 1993  Ken Raeburn  (raeburn@rtl.cygnus.com)
2291
2292         * write.c (number_to_chars_*): Delete bogus range check.
2293
2294         * output-file.c (TARGET_ARCH): No default.
2295
2296 Tue Dec  7 16:02:53 1993  Steve Chamberlain  (sac@jonny.cygnus.com)
2297
2298         * config/tc-sh.c (md_convert_frag): Truncate disps before calling
2299         md_number_to_chars.  (md_assemble): Don't modify
2300         input_line_pointer.
2301
2302 Mon Dec  6 11:49:03 1993  Doug Evans  (dje@canuck.cygnus.com)
2303
2304         * config/tc-h8300.c (md_assemble): Don't update input_line_pointer.
2305
2306 Mon Dec  6 11:20:02 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2307
2308         * config/obj-som.[ch] (obj_read_begin_hook): Remove last change.
2309         Breaks with the HP compilers.
2310
2311         * config/tc-hppa.c (struct call_info): Remove fields which were
2312         set but never used.  Remove all code which sets those fields.
2313         (struct subspace_dictionary_chain): Likewise.
2314         (struct space_dictionary_chain): Likewise.
2315         (pa_desc): Delete useless function.  Delete all references.
2316         (hppa_tc_make_sections): No need to count the number of symbols for
2317         the symbol extension section. 
2318
2319 Sun Dec  5 17:05:29 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2320
2321         * config/obj-som.c (obj_som_version): Pass version string to
2322         SOM BFD backend.
2323         (obj_som_copyright): New function.  Much like obj_som_version.
2324
2325         * config/tc-hppa.c (obj_copyright): Define as appropriate for
2326         SOM and ELF.  
2327         (pa_copyright): Just a stub now.
2328
2329         * config/obj-som.c (obj_read_begin_hook): Delete unused function.
2330         * config/obj-som.h (obj_read_begin_hook): Provide dummy definition.
2331         (TARGET_SYMBOL_FIELDS): Delete.  SOM isn't making use of them.
2332
2333         * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation
2334         expansion due to rounding mode selectors.  Handle R_[RDSN]_MODE
2335         relocations for selecting the current rounding mode.
2336
2337         * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
2338         e_rlsel field selectors.
2339
2340 Fri Dec  3 18:33:24 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2341
2342         * config/obj-elf.h: If ECOFF_DEBUGGING, undef
2343         SEPARATE_STAB_SECTIONS and INIT_STAB_SECTION, and define
2344         OBJ_PROCESS_STAB to call ecoff_stab.
2345         * config/obj-elf.c: Don't compile obj_elf_init_stab_section if
2346         INIT_STAB_SECTION is not defined.
2347
2348 Fri Dec  3 10:56:40 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2349
2350         * config/tc-hppa.c (md_apply_fix): Delete old wrapper function.
2351         (md_apply_fix_1): Rename to md_apply_fix.  Fix argument decls.
2352         Fix comments in various places.  Always return a value.
2353         Avoid dereferencing a NULL fx_addsy.
2354         (hppa_force_relocation): Avoid dereferencing a NULL fx_addsy.
2355
2356         Fri Dec  3 09:47:30 1993  Pete Hoogenboom  (hoogen@cs.utah.edu)
2357
2358         * tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should
2359         be either 0 or 2 (no static link or static link required).  Always
2360         assume no static link.
2361
2362 Thu Dec  2 11:52:21 1993  Ken Raeburn  (raeburn@cygnus.com)
2363
2364         * config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be
2365         dependent on howto fields, not on format flavour.
2366
2367         * struc-symbol.h (struct symbol): New fields sy_obj and sy_tc,
2368         defined as types OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those
2369         macros are defined.
2370         * config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define.
2371         (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define.
2372         (sy_tc, sy_obj): Define so that the fields look like they used to,
2373         until all references get changed.
2374
2375         * write.c (fixup_segment): Lots of variables no longer register.
2376         Reordered some code for easier reading.
2377         * config/obj-coff.c (obj_coff_dim): dim_index no longer register.
2378         Deleted superfluous return statement.
2379         (obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type,
2380         obj_coff_val, tag_init, tag_insert): Deleted superfluous return
2381         statement.
2382         (align, obj_coff_section): Deleted debugging printfs.
2383         * config/tc-i386.c (md_assemble): Discard some register decls.
2384         Use assignment rather than memcpy to copy template.
2385         (op_hash, reg_hash, prefix_hash): Default C initialization of
2386         statics is sufficient.
2387         * config/tc-sparc.c (print_insn): Array Reloc is now const, and
2388         points to const.
2389
2390         * config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if
2391         TE_LYNX; use coff-sparc otherwise.
2392         [USE_NATIVE_HEADERS]: Delete this code; it isn't used.
2393
2394         * write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined,
2395         before processing a fixup.  Call TC_ADJUST_RELOC_COUNT just before
2396         returning.  Remove some i960-coff-specific code.
2397         (TC_ADJUST_RELOC_COUNT): Default to doing nothing.
2398         * config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define.
2399         (i960_validate_fix): Declare.
2400         (TC_VALIDATE_FIX): Define.
2401         * config/tc-i960.c (i960_validate_fix): New function.
2402
2403         * write.c (number_to_chars_littleendian): New function.  Write out
2404         bytes in little endian order, doing size and range checking.
2405         (number_to_chars_bigendian): New function, similar.
2406         * write.h: Declare them.
2407         * config/tc-*.c (md_number_to_chars): Use them.
2408         * config/tc-vax.c (md_apply_fix): Ditto.
2409         * config/tc-i386.c (md_apply_fix): Ditto.
2410
2411         * config/obj-coff.c: Rearranged code for handling line number
2412         data.
2413         (line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case,
2414         since the usage is different from non-BFD_ASSEMBLER case.
2415         (in_function, clear_function, set_function): New macros, to
2416         combine some of the functionality implemented in differnet ways in
2417         BFD_ASSEMBLER and non-... code.  Used in other functions that used
2418         to check function_lineoff &c.
2419         (obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER,
2420         one for not.  Non-BFD_ASSEMBLER version now has temporary variable
2421         to contain char* pointer pointed to by char** argument.  Always
2422         follow CROSS_COMPILE code; easier to read that way.
2423         (obj_coff_ln): Don't call add_lineno or c_line_new if appline is
2424         set.
2425         (obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for
2426         ".bf", it's been done elsewhere.
2427         (coff_frob_symbol): If ilne number data is pending, call
2428         add_linesym to flush it.
2429         (coff_frob_file): Don't do that here.
2430         * config/obj-coff.h (coff_frob_file): Declare.
2431         (obj_frob_file): Define, to call it.
2432
2433         * config/tc-sparc.h (md_create_short_jump, md_create_long_jump,
2434         md_estimate_size_before_relax: Define them as macros calling
2435         as_fatal.
2436         * config/tc-sparc.c: Don't define them as functions.
2437
2438         * configure.in: Handle target alpha-*-osf*.  (No cpu files yet.)
2439
2440 Wed Dec  1 23:37:14 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2441
2442         * Makefile (clean): Depend on clean-here.
2443
2444 Wed Dec  1 11:35:21 1993  Ken Raeburn  (raeburn@cujo.cygnus.com)
2445
2446         * config/ho-go32.h: Include fopen-bin.h.
2447         * as.h: If FOPEN_WB isn't defined, include fopen-same.h.
2448         * output-file.c (output_file_create): Use FOPEN_WB instead of "w".
2449         * input-file.c (input_file_open): Use FOPEN_RT instead of "r".
2450         * listing.c (file_info): Use FOPEN_RB instead of "rb".
2451         * read.c (s_include): Use FOPEN_RT instead of "r".
2452
2453         * stabs.c: Include obstack.h.
2454
2455         * tc.h (md_create_long_jump): Don't declare if it's already
2456         defined as a macro.
2457         (md_create_short_jump, md_estimate_size_before_relax): Ditto.
2458
2459         * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_errmsg instead
2460         of strerror.  Clear bfd_error.
2461
2462         * config/te-lynx.h (LOCAL_LABELS_FB): Define, if not already
2463         defined.
2464
2465 Wed Dec  1 10:41:56 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2466
2467         * config/tc-hppa.c (hppa_elf_mark_end_of_function): New function.
2468         (pa_process_exit, pa_procend): Call it for ELF objects.
2469
2470 Wed Dec  1 12:10:41 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2471
2472         * config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d
2473         case.  See comment.  From wilson@cygnus.com: for M_L_DAB, set
2474         coproc before doing goto ld.
2475
2476 Tue Nov 30 13:40:30 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2477
2478         * write.c (TC_FORCE_RELOCATION): Provide a default definition.
2479         (fixup_segment): Allow the target machine to specify that a 
2480         relocation must be generated for a particular fixup.  Remove
2481         #ifndef TC_HPPA hack.
2482
2483         * config/tc-hppa.h (TC_FORCE_RELOCATION): Define.
2484
2485         * config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to
2486         be NULL.  Only fixup_segment is supposed to do that.
2487         (hppa_force_relocation): New function.
2488
2489 Tue Nov 30 11:21:41 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2490
2491         * Makefile.in (stabs.o): Added dependencies.
2492
2493         * config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab.
2494
2495 Sun Nov 28 12:11:40 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2496
2497         * app.c (do_scrub_next_char): Output a TAB before any
2498         .app* directive.
2499
2500         * config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol
2501         exists before trying to peek at its name.
2502         (pa_space): Do not call pa_align_subseg.  See hppa/unsorted/align3.s
2503         for testcase.
2504         (pa_align_subseg): Delete unused/unwanted function.
2505
2506 Sat Nov 27 22:49:07 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2507
2508         * read.c (read_a_source_file): Fix test for when to stick a colon
2509         on the end of a label.  Make code conditional on either MRI or
2510         LABELS_WITHOUT_COLONS.
2511
2512         * app.c (do_scrub_next_char): If a line begins with whitespace, leave
2513         the single whitespace character alone.  Eat all others.
2514
2515         * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define.
2516
2517 Wed Nov 24 01:22:54 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2518
2519         * config/tc-hppa.c (pa_procend): Do not call process_exit.
2520         (exit_processing_complete): Delete unwanted variable and all
2521         references.
2522
2523 Wed Nov 24 02:31:38 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2524
2525         * ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext.
2526         Changed to not actually build the external symbol information, as
2527         that is now done by the ECOFF back end.
2528         (ecoff_build_debug): Changed accordingly.
2529         * ecoff.h (obj_ecoff_set_ext): Declare.   obj-format.c function
2530         called by ecoff_setup_ext.
2531         * config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0,
2532         set corresponding pointer to NULL.  Don't set raw_size and
2533         raw_syments.
2534         (obj_ecoff_set_sym_index): Removed.
2535         (obj_ecoff_set_ext): New function.
2536         * config/obj-ecoff.h (obj_set_sym_index): Don't define.
2537         (obj_ecoff_set_sym_index): Don't declare.
2538         * config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr,
2539         elf_set_index): New functions used for ECOFF_DEBUGGING.
2540         (elf_frob_file): Reworked ECOFF debug generation to use
2541         new functions in bfd/ecofflink.c.
2542
2543 Sun Nov 21 23:54:52 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2544
2545         * config/tc-hppa.c (pa_def_subspaces): Only create the unwind
2546         subspace for ELF.  In the SOM world, the linker is responsible
2547         for creating the unwind subspaces.
2548
2549 Fri Nov 19 16:25:09 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2550
2551         * config/obj-coffbfd.c: Use PARAMS rather than EXFUN.
2552         (yank_symbols): Don't call S_SET_EXTERNAL if the storage class is
2553         already set.  Fixes .def var; .val external_var; .scl 3; .endef.
2554         (adjust_stab_section): Make static.  Declare return type.  Remove
2555         unused variables.
2556
2557         * config/tc-i386.h: Declare tc_coff_fix2rtype and
2558         tc_coff_sizemachdep.
2559
2560 Fri Nov 19 04:33:59 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2561
2562         * write.c (write_object_file): Disable obj_check_file_symbols
2563         hook; only back end using it wasn't using it correctly.
2564         (write_object_file): Always call obj_frob_symbol and
2565         tc_frob_symbol; always retain symbol if it's used by a relocation,
2566         regardless of what these routines indicate.
2567         * config/obj-coff.c (coff_frob_symbol): Renamed from
2568         coff_check_file_symbols.
2569         * config/obj-coff.h (obj_check_file_symbols): Deleted.
2570         (coff_frob_symbol): Declare.
2571         (obj_frob_symbol): Call it.
2572
2573         * config/obj-coff.c (obj_crawl_symbol_chain, obj_emit_strings,
2574         obj_pre_write_hook): Don't define for BFD_ASSEMBLER.
2575         (c_section_header): Ditto.  Delete superfluous return at end of
2576         function.
2577
2578         * config/obj-coff.h [TC_SPARC]: Include coff/sparc.h, and specify
2579         coff-sparc-lynx.
2580         (SA_GET_SYM_TAGNDX): Use BFD_HEADERS version for BFD_ASSEMBLER
2581         too.
2582         (c_section_header): Rewrite prototype so that it contains no
2583         preprocessing directives.  Don't declare it at all if
2584         BFD_ASSEMBLER.
2585
2586         * configure.in (sparc*-*-lynxos): New target, using coff and
2587         BFD_ASSEMBLER.
2588
2589         * stabs.c: New file.
2590         * Makefile.in (REAL_SOURCES, OBJS): List it.
2591         * read.c (STAB_SECTION_NAME, STAB_STRING_SECTION_NAME,
2592         get_stab_string_offset, s_stab_generic, s_stab, s_xstab, s_desc):
2593         Moved to new file.
2594
2595         * config/tc-sparc.c (tc_gen_reloc): Handle coff files like elf
2596         files.
2597
2598 Wed Nov 17 17:23:53 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2599
2600         * configure.in (mips-*-irix5*): New target.  Use elf and mips-big.
2601         * config/obj-elf.c: If ECOFF_DEBUGGING, include ecoff.h.
2602         (obj_pseudo_table): If ECOFF_DEBUGGING, define ECOFF
2603         pseudo-ops.
2604         (obj_read_begin_hook): If ECOFF_DEBUGGING, call
2605         ecoff_read_begin_hook.
2606         (obj_symbol_new_hook): If ECOFF_DEBUGGING, call
2607         ecoff_symbol_new_hook.
2608         (obj_elf_init_stab_section): Cast alloca result.
2609         (elf_frob_file): If ECOFF_DEBUGGING, finish up ECOFF debugging
2610         information and write it out into .mdebug section.
2611         * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): New macro.
2612         (TARGET_SYMBOL_FIELDS): Use ELF_TARGET_SYMBOL_FIELDS.
2613         (ECOFF_DEBUGGING): Define if TC_MIPS.
2614         (TARGET_SYMBOL_FIELDS): If ECOFF_DEBUGGING, override to add
2615         fields required by ECOFF.
2616         * config/tc-mips.c: Check ECOFF_DEBUGGING rather than
2617         OBJ_ECOFF in many cases.
2618         (mips_any_noreorder): New variable.
2619         (mips_cprestore_offset): Initialize to -1.
2620         (mips_frame_reg): New variable.
2621         (RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1,
2622         RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros.
2623         (md_pseudo_table): Handle "gpword" and "cpadd".
2624         (md_begin): Initialize ok to false.  If OBJ_ELF, set alignment
2625         of text, data and bss sections to 4.  Set alignment of
2626         .reginfo section to 2.  If ECOFF_DEBUGGING, create .mdebug
2627         section.
2628         (ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment
2629         check.
2630         (append_insn, macro_build, macro_build_lui): Take place
2631         argument.  Changed all callers.
2632         (append_insn): If appending a nop, don't emit one.
2633         (macro_build): Changed assertion for 'i', 'j', 'o' case.
2634         (gp_reference): Removed.
2635         (load_address): New function.
2636         (macro): If mips_noreorder is used, set mips_any_noreorder.
2637         Extensive changes to handle GP and PIC symbols differently.
2638         Build both possible code choices using a variant frag, and
2639         make a final decision at the end of assembly when all
2640         information is known.  Added PIC support for all symbol
2641         references.
2642         (mips_ip): Don't permit anything but a number after $ for a
2643         coprocessor register.  Don't use .lit4 or .lit8 sections when
2644         generating PIC code.  If OBJ_ELF, set alignment of .lit4 or
2645         .lit8 section to 4.
2646         (md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs.
2647         (s_change_sec): Set alignment of ELF .rodata or .sdata section
2648         to 4.
2649         (s_mipsset): If .set noreorder, set mips_any_noreorder.
2650         (s_cpload): Ignore .cpload if not generating PIC code.  Warn
2651         if .cpload is not in noreorder section.
2652         (s_cprestore): Ignore .cprestore if not generating PIC code.
2653         (s_gpword, s_cpadd): New functions.
2654         (tc_get_register): Added frame argument; if true, set
2655         mips_frame_reg to return value.  Changed all callers.
2656         (md_estimate_size_before_relax): Don't error out, but instead
2657         determine how much a frag should grow.
2658         (tc_gen_reloc): Return multiple relocs if appropriate, as
2659         determined by md_estimate_size_before_relax.
2660         (md_convert_frag): New function.
2661         (mips_elf_final_processing): Set ELF header flags based on
2662         mips_any_noreorder and mips_pic.
2663         * config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define.
2664         (MAX_RELOC_EXPANSION): Define to be 3.
2665         (md_relax_frag): Define to be 0.
2666         (md_convert_frag): Don't define.
2667         (tc_get_register): Changed declaration.
2668
2669         * ecoff.h, ecoff.c: New files pulled out of config/obj-ecoff.c to
2670         support generating ECOFF debugging information for MIPS ELF
2671         targets.  Compiled only if ECOFF_DEBUGGING is defined.  Changed
2672         handling of external symbols: it now always generates exactly
2673         those external symbols that are defined in the global symbol list.
2674         * Makefile.in (REAL_SOURCES): Added ecoff.c.
2675         (REAL_HEADERS): Added ecoff.h.
2676         (OBJS): Added ecoff.o.
2677         (ecoff.o): New target.
2678         * config/obj-ecoff.c: Almost entirely moved into ecoff.c.
2679         Remaining code mostly just calls ecoff.c code.
2680         * config/obj-ecoff.h: Define ECOFF_DEBUGGING.
2681         (TARGET_SYMBOL_FIELDS): Make ecoff_symbol a pointer to a
2682         struct localsym.
2683         (obj_read_begin_hook, obj_symbol_new_hook): Define to call
2684         functions in ecoff.c.
2685         (ecoff_stab): Don't declare (now declared in ecoff.h).
2686         (obj_set_sym_index): Define.
2687         (obj_ecoff_set_sym_index): Declare.
2688
2689         * frags.h (frag_grow): Declare.
2690         * frags.c (frag_grow): Made non-static.
2691
2692         * write.c (is_dnrange): Do not define if md_relax_frag is defined.
2693         (relax_segment): If md_relax_frag is defined, use it to handle a
2694         frag of type rs_machine_dependent rather than looking through
2695         md_relax_table.
2696
2697         * read.c (read_a_source_file): If we find a bad pseudo-op,
2698         do a continue to go on to the next line rather than a break.
2699         Removed duplicate bad pseudo-op code which was never executed.
2700
2701         * read.c (s_lcomm): Do not require a comma after the name.
2702
2703         * subsegs.h (segment_info_type): Changed hadone field to bitfield.
2704         Added bss bitfield.
2705         * as.c (perform_an_assembly_pass): Set bss flag for bss_section.
2706         * read.c (s_lcomm): Set bss flag for .sbss section if used.
2707         * write.c (relax_and_size_seg): Don't set SEC_HAS_CONTENTS for a
2708         bss section.  Set SEC_RELOC if there are any relocations, even for
2709         a zero size section.
2710
2711         * write.c (write_relocs): In RELOC_EXPANSION_POSSIBLE case, base
2712         data offset on reloc[0]->address rather than reloc[j]->address, so
2713         that multiple relocs can affect different memory locations.
2714
2715         * write.c (chain_frchains_together, relax_and_size_seg,
2716         adjust_reloc_syms, write_relocs): Make third argument PTR, not
2717         char *, to match definition of bfd_map_over_sections.
2718
2719         * app.c (do_scrub_next_char): Don't interpret a comment character
2720         as starting a CPP line directive unless it is a '#' and is the
2721         very first characters on the line (i.e., do not permit leading
2722         whitespace).
2723
2724         * messages.c (identify): Make file argument non-const, to match
2725         callers.
2726
2727 Tue Nov 16 20:38:21 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2728
2729         * config/tc-hppa.c (pa_ip): Fix thinko in 21bit range check.
2730
2731 Sat Nov 13 18:22:48 1993  Steve Chamberlain  (sac@jonny.cygnus.com)
2732
2733         * config/tc-sh.c (md_apply_fix): Cope with IMM16 type too.
2734         * config/tc-z8k.c (build_bytes, md_apply_fix): Understand nDISP7
2735         relocs.
2736
2737 Fri Nov 12 16:51:47 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2738
2739         * config/tc-hppa.[ch]: Fix assorted trivial indention problems.
2740         * config/obj-som.c (obj_som_version): Add missing ';'.
2741         (som_frob_file): Delete whitespace at EOL.
2742
2743 Fri Nov 12 15:26:21 1993  Ken Raeburn  (raeburn@cygnus.com)
2744
2745         * Makefile.in (VERSION): Updated following 2.2 release.
2746
2747 Fri Nov 12 14:52:17 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2748
2749         * config/tc-hppa.c (hppa_fix_struct): Use a real type for the
2750         field selector, rather than an int.  All uses of field selectors
2751         fixed.
2752         (tc_gen_reloc): For SOM PLABELs, always set addend to zero for now.
2753         (md_apply_fix_1): Do not call hppa_field_adjust for any PLABEL
2754         field.
2755
2756         Thu Nov 11 15:49:08 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2757
2758         * config/tc-hppa.c (pa_type_args): For .import statements,
2759         silently ignore attempt to change the symbol type for a function
2760         from ST_ENTRY to ST_CODE on .import.
2761
2762 Wed Nov 10 16:19:13 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2763
2764         * write.h (fixS): Rename fx_callj field to fx_tcbit.
2765         * write.c, config/obj-coff.c, config/obj-coffbfd.c,
2766         config/tc-i960.c: Corresponding changes.
2767
2768 Tue Nov  9 00:49:01 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2769
2770         * Makefile.in (distclean): Delete config-stamp and config.h
2771
2772         * config/tc-hppa.c (evaluate_absolute): Avoid relying on
2773         ANSI-C features.
2774
2775         * config/tc-hppa.c (pa_type_args): Renamed from pa_export_args.
2776         Accept new argument "is_export".  All callers changed.  When
2777         processing a .export directive for a function, do not allow
2778         the user to set the type to "CODE", instead warn and set the
2779         type to "ENTRY".
2780
2781 Mon Nov  8 12:05:07 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2782
2783         * config/tc-mips.c (mips_ip, printInsn): Handle 'k' (from Ted
2784         Lemon <mellon@pepper.ncd.com>).
2785         (mips_ip): Permit odd numbered floating point registers if -mips3.
2786         (macro): Use BFD_RELOC_MIPS_LITERAL relocation for M_LI_SS.
2787
2788 Mon Nov  8 07:45:01 1993  Doug Evans  (dje@canuck.cygnus.com)
2789
2790         * configure.in: Remove h8300h, we have multilib now.
2791
2792 Mon Nov  8 06:09:18 1993  D. V. Henkel-Wallace  (gumby@cirdan.cygnus.com)
2793
2794         * configure.in: Support generic netware as being ELF format.
2795                         Recognise unixware if the user supplies it.
2796
2797 Sun Nov  7 01:02:08 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2798
2799         * First cut at cleaning up PA instruction parsing.
2800         * config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to
2801         insn structure as an argument, and a pointer to a string.  All
2802         callers changed.  Always read any field selector here.  Call
2803         evaluate absolute to get a return value.
2804         (evaluate_absolute): Addept pointer to insn structure as its
2805         argument.  All callers changed.
2806         (INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield
2807         into an instruction and continuing the main pa_ip loop.
2808         (CHECK_FIELD): New macro for simple range checking of fields.
2809         (pa_ip): Delete unused variables.  Use INSERT_FIELD_AND_CONTINUE
2810         and CHECK_FIELD.  All immediate fields now pass through
2811         pa_get_absolute_expression which will also handle field selectors.
2812         Delete dead code.  Simplify.
2813         (md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are
2814         applied are in range.  Use bfd_put_32 rather than inserting each
2815         byte of the fixed instrution into the buffer ourselves.
2816
2817         * write.c (fixup_segment): Delete {SEG,GLOBAL}_DIFF_ALLOWED code,
2818         it was PA specific and is no longer needed (it's now handled 
2819         within the PA backend).
2820         * config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition.
2821         * config/tc-hppa.c (fix_new_hppa): If the subtract symbol for
2822         a fixup is $global$ change it to NULL as $global$ is really only
2823         needed long enough to determine the base type of relocation to use.
2824
2825         * config/tc-hppa.c (create_new_subspace): Initialize subspace_defined.
2826
2827         * config/tc-hppa.c (pa-ip, case 'z'): Make field selectors work
2828         for 'z' operands (target of ble branch).
2829
2830 Sat Nov  6 22:41:57 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2831
2832         * config/tc-hppa.c: (update_subspace): Fix type and name of last
2833         parameter.  All callers fixed.
2834         (md_begin, pa_chk_field_selector, pa_entry): Lint.
2835
2836         * config/tc-hppa.c (cons_fix_new_hppa): Reset field selector
2837         to default state after it's been used.
2838
2839 Fri Nov  5 12:08:21 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2840
2841         * config/obj-som.c (obj_som_init_stab_section): Change
2842         space/subspace sort keys for the stab sections so as to avoid
2843         bugs in the hp linker and pxdb.
2844
2845 Thu Nov  4 17:00:05 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2846
2847         * write.c (chain_frchains_together): Update pointer to last
2848         frag for a segment in the seginfo structure.
2849
2850 Thu Nov 04 09:09:35 1993  Jeffrey Wheat  (cassidy@cygnus.com)
2851
2852         *  Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS
2853
2854 Wed Nov  3 12:16:27 1993  Ken Raeburn  (raeburn@rover.cygnus.com)
2855
2856         * write.c (fixup_segment): Handle conversion of subtraction to
2857         pc-relative addressing even if pc-relative flag is already set.
2858
2859         * config/tc-m68k.c (m68k_ip_op): Use strchr, not index.  Don't
2860         declare either.
2861
2862         * doc/Makefile.in (distclean): Delete intermediate files from dvi
2863         build, but not the dvi or info files.
2864         * Makefile.in (clean-here): New target; cleans up current
2865         directory only.
2866         (distclean): Use it instead of clean.
2867
2868         * read.c (s_xstab): Don't use alloca.
2869
2870         * messages.c (identify): New routine; print message identifying
2871         following messages as coming from assembler.
2872         (as_show_where, as_bad_internal, as_bad_where): Call it.
2873         (as_fatal): Don't need to identify program any more.
2874
2875 Tue Nov  2 18:04:11 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2876
2877         * config/tc-sparc.c (sparc_ip): Add default case to reloc switch.
2878
2879         * read.c (s_lcomm): Put small objects in .sbss for MIPS ELF as
2880         well as MIPS ECOFF.
2881         (get_stab_string_offset): Remove unused variable aligned.
2882
2883 Tue Nov  2 15:07:07 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2884
2885         * tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the
2886         predefined register table.
2887         (pa_parse_number): Handle %rp in common register shortcut code.
2888         Consistently set return value to -1 for an error.  Clean up error
2889         messages and only print them when "print_errors" is true.  Handle
2890         empty string case like the HP assembler -- assume a value of
2891         zero.
2892  
2893         * config/ho-hpux.h: Do not include ho-sysv.h.  Instead include
2894         standard hpux include files to pick up various function decls.
2895
2896         * config/ho-hppaosf.h: Delete _IO* macros.  They are defined in
2897         stdio.h.  Delete bogus declaration of free.  Get path to
2898         alloca-conf.h right.
2899
2900 Tue Nov  2 13:57:30 1993  Ken Raeburn  (raeburn@rover.cygnus.com)
2901
2902         * expr.c (operand): Fix checks for characters following "0b" or
2903         "0f".
2904
2905 Mon Nov  1 21:37:04 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2906
2907         * config/obj-som.h (obj_attach_unwind_info): Define as a hook
2908         so GAS can attach unwind descriptor information to a BFD symbol.
2909         * config/tc-hppa.c (fix_new_hppa): If necessary attach unwind
2910         descriptor information to the BFD symbol.
2911         (md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied",
2912         they are simply markers.  Make R_HPPA_UNWIND_* handling OBJ_ELF
2913         dependent.
2914         (pa_build_unwind_subspace): Whole function is OBJ_ELF dependent.
2915         (pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM.
2916         (pa_exit): Likewise, but built a R_HPPA_EXIT relocation.  Do not
2917         build "end-of-function" symbols for SOM, they are not needed.
2918
2919         * config/tc-hppa.c (process_exit): Create temporary symbols with
2920         correct prefixes so they can be eliminated later.
2921
2922         * config/tc-hppa.c (call_info struct): Delete unused "frame" field.
2923         (pa_callinfo): Insert framesize into the unwind information as 
2924         soon as it's available.
2925         (pa_build_unwind_subspace): Do not insert framesize into the unwind
2926         information here.
2927
2928         * Add support for marker type relocations.  These mark areas
2929         of interest to the linker.  ENTRY/EXIT relocations for SOM are
2930         an example of marker relocations.
2931         * write.c (write_relocs): Instead of assuming size of a relocation
2932         is 4 bytes, pick up the size from relocation itself.
2933         (fixup_segment): Do not complain that a value is too small for 
2934         marker relocations.
2935
2936         * struc-symbol.h: Add new "sy_used" field to the symbol structure.
2937         * expr.c (operand): Set sy_used for any symbol used as an operand.
2938         (expr): Likewise for any symbol used in an expression.
2939         * config/tc-hppa.h (tc_frob_symbol): Define.  Punt imported
2940         symbols which are never used and absolute symbols which local scope.
2941
2942         * config/obj-som.h (obj_frob_file): Define.
2943         * config/obj-som.c (obj_som_init_stab_section): Set alignment
2944         of stab sections.  Make space for the special stab entry.
2945         (adjust_stab_sections): Adjust the special entry in the 
2946         stabs section.
2947         (som_frob_file): New function.  Simply calls adjust_stab_sections
2948         for each section.
2949
2950 Mon Nov  1 17:54:29 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2951
2952         * config/tc-mips.c (PIC_CALL_REG, SP, FP): Define.
2953         (mips_pic, mips_cprestore_offset): New static variables.
2954         (md_pseudo_table): Handle .abicalls, .cpload, and .cprestore.
2955         Ignore .bgnb and .endb.
2956         (gp_reference): _gp_disp is never addressed off GP.
2957         (macro_build): Ignore macros while searching for insn.  For cases
2958         i, j, and o, accept the reloc type as an argument rather than
2959         assuming BFD_RELOC_LO16.  Don't try to convert BFD_RELOC_LO16 to
2960         BFD_RELOC_MIPS_GPREL.  Added new case a.
2961         (set_at, load_register, macro): Changed calls to macro_build to
2962         pass new argument for i, j and o cases.
2963         (macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A.  These require
2964         special handling when generating SVR4 PIC code.
2965         (mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT
2966         rather than hard coded constants.
2967         (md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and
2968         BFD_RELOC_MIPS_CALL16.
2969         (s_option): Set mips_pic based on .option picN.
2970         (s_abicalls): New function; set mips_pic to 2.
2971         (s_cpload): New function; handle .cpload.
2972         (s_cprestore): New function; handle .cprestore.
2973
2974         * config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb,
2975         .endb and .verstamp, setting them to s_ignore.
2976
2977 Sun Oct 31 00:36:40 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
2978
2979         * config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined
2980         field.  Define SUBSPACE_DEFINED accessor macro.
2981         (pa_subspace): Allow user to override subspace attributes for
2982         built-in subspaces.  Set ssd_defined at the end of fcn -- that
2983         way the attributes can only be changed once.  Pass newly allocated
2984         name to is_defined_subspace, not a pointer to the input line.
2985         Fix typo in space/subspace rework.
2986         (is_defined_subspace): Delete unused 2nd arg.  All callers changed.
2987
2988         * config/tc-hppa.c (pa_import): If currently in the text segment
2989         and a symbol is imported without type information, set BSF_FUNCTION
2990         for the symbol.
2991         * write.c (relax_and_size_seg): Correct test to determine if
2992         the section's size was rounded up.
2993
2994         * config/obj-som.h (obj_set_symbol_type): Define a hook so GAS
2995         can properly set all the SOM symbol types.
2996         * config/tc-hppa.c (pa_symbol_type): New enum to represent the 
2997         symbol types which can be set from an IMPORT/EXPORT statement.
2998         (pa_export_args): Set the pa_symbol_type type based on arguments.
2999         If defined, call obj_set_symbol_type to pass this information on
3000         to the BFD backend.
3001
3002         * read.c (get_stab_string_offset): Set SEC_DEBUGGING for any 
3003         stab section we make.
3004         (s_stab_generic): Likewise.
3005
3006 Sat Oct 30 14:26:20 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
3007
3008         * Allow backends to override the value of the fake label.
3009         * write.h (LOCAL_LABEL): Delete DOT_LABEL_PREFIX code.  Instead
3010         assume backends will define LOCAL_LABEL if anything other than
3011         'L' is used to denote a local label.
3012         (FAKE_LABEL_NAME): New macro.  Defines the default name used for
3013         the "fake" label.
3014         * expr.c (make_expr_symbol): Delete DOT_LABEL_PREFIX code
3015         and instead simply use the string defined by FAKE_LABEL_NAME.
3016         (operand): Likewise.
3017         * read.c (s_stab_generic): Likewise.
3018         * config/tc-hppa.h (FAKE_LABEL_NAME): Define as L$0\001 so it's
3019         known to be a local label.
3020         * config/tc-i386.h (DOT_LABEL_PREFIX): Delete.
3021         (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
3022         * config/tc-m68k.h (DOT_LABEL_PREFIX): Delete.
3023         (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
3024         * config/te-sco386.h (DOT_LABEL_PREFIX): Delete.
3025         (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
3026
3027         Rework space/subspace handling in PA code to fully support
3028         SOM spaces/subspaces.
3029         * config/tc-hppa.c (USE_ALIASES): New object-format dependent define
3030         to control the use of space/subspace name aliases.
3031         (update_subspace): Accept space chain entry for containing space
3032         as a new parameter.  All callers changed.
3033         (pa_get_label): Use current_space rather than pa_segment_to_space.
3034         (pa_define_label): Likewise.
3035         (pa_undefine_label): Likewise.
3036         (md_begin): Change into the (possibly modified) text_section.
3037         (pa_parse_space_stmt): Create a new segment/space if create_flag
3038         is true, and the space name is not one of the two predefined spaces.
3039         (pa_subspace): Use current_space rather than a lookup via 
3040         pa_segment_to_space.  Reset BFD section flags as required by 
3041         the .subspace directive.  Likewise for the section alignment.
3042         Pass the current space to update_subspace and create_new_subspace.
3043         (pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES
3044         is true.  When not using aliases, create a BFD section for each
3045         subspace encountered.  When not using aliases replace the default
3046         text, data, and bss segments with new ones.
3047         (create_new_subspace): When not using aliases each subspace has a 
3048         section/segment and subsegments are not needed, so set the subsegment
3049         to zero. 
3050
3051         * config/tc-hppa.c (pa_parse_space_stmt): If needed, call
3052         obj_set_section_attributes to pass space attributes to the 
3053         BFD backend.
3054         (create_new_space): Likewise.
3055         (create_new_subspace): Likewise for subspace attributes using 
3056         obj_set_subsection_attributes.
3057         (update_subspace): Likewise for subspace attributes using
3058         obj_set_subsection_attributes.
3059
3060         * config/tc-hppa.c (pa_parse_space_stmt): Get segment and sort key
3061         for $TEXT$ and $PRIVATE$ from the default space structure.
3062
3063         * config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION
3064         as appropriate for the given type.
3065
3066         * config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling
3067         SOM relocations.
3068
3069         * config/tc-hppa.c (pa_comm): Delete incorrect check for symbol
3070         redefinition.
3071
3072         * config/obj-som.[ch]: New files for SOM support.  Note SOM
3073         support is not yet complete in GAS or BFD.
3074
3075         * config/ho-hppabsd.h:  Delete IO* macros, they are defined in 
3076         stdio.h.  Delete declaration of free.  Include stdlib.h, unistd.h,
3077         and string.h.
3078
3079 Fri Oct 29 13:26:12 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
3080
3081         * Allow backends to override the section names used for embedded
3082         stabs support.  Needed for SOM.
3083         * read.c (STAB_SECTION_NAME): Default the name of the stab section
3084         to ".stab".  
3085         (STAB_STRING_SECTION_NAME): Likewise for the stab strings section.
3086         (get_stab_string_offset): Is now passed the full name for the
3087         stab string section rather than a name prefix.  All references
3088         changed.
3089         (s_stab_generic): New argument for the stab string section name.
3090         all references changed.
3091         (s_xstab): Append "str" to the stab section name to get the
3092         stab string section name.
3093         * config/obj-coffbfd.c (obj_coff_init_stab_section): Append "str"
3094         to stab section name to get the stab string section name.  Pass
3095         the full name of the stab string section to get_stab_string_offset.
3096         * config/obj-elf.c (obj_elf_init_stab_section): Likewise.
3097         
3098         * config/tc-hppa.c (md_begin): Disable "-R" option to fold
3099         textand data segments.  Warn user "-R" is unsupported on the
3100         PA.
3101
3102 Thu Oct 28 12:36:13 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
3103
3104         * config/tc-hppa.c (md_pseudo_table): Default alignment is 8 for
3105         .align and .ALIGN directives.
3106
3107         * config/tc-hppa.c (pa_space): Do not report an error for a .space
3108         directive which does not define a "well-known" space and does
3109         not include a space number as an argument.
3110         
3111         * config/tc-hppa.c (pa_def_subspaces): Correct initialization of the
3112         "defined", "loadable", "code_only" and "space_index" fields.
3113         (pa_def_spaces): Correct initialization of the "spnum", "defined",
3114         and "private" fields.
3115
3116         * write.h (struct fix): Add new tc_fix_data field for the various
3117         backends to attach machine dependent fixup information to.
3118         * write.c (fix_new_internal): Initialize new tc_fix_data field.
3119         * config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and
3120         fx_next fields.
3121         (hppa_find_hppa_fix): Delete unnecessary function.  Fix all
3122         callers to get HPPA fixup information from the tc_fix_data field
3123         in the GAS fixup.
3124         (hppa_fix_root): Delete unnecessary variable.
3125         (fix_new_hppa): Attach HPPA fixup data to the GAS fixup.
3126
3127         * config/tc-hppa.c (pa_set_start_symbol); Delete unwanted
3128         function.  Fix all callers.
3129         (subspace_dictionary_chain): Delete unused ssd_start_sym field.
3130
3131         * config/tc-hppa.c (hppa_fix_adjustable): New function to determine
3132         if a particular fixup is adjustable.
3133         * config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to
3134         perform the real work.
3135
3136         * config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out
3137         of OBJ_XXX conditionals.
3138         (MAX_RELOC_EXPANSION): Likewise.
3139
3140         * config/tc-hppa.c (log2): Renamed from is_power_of_2.  Fix all
3141         callers. Now returns log2 (N) for positive N which are an exact
3142         power of two or -1 for an error.
3143
3144         * config/tc-hppa.c (pa_callinfo): Range check values provided for 
3145         ENTRY_GR, ENTRY_FR and ENTRY_SR.  Properly adjust vaues before
3146         inserting them into the unwind table.
3147
3148         * config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references.
3149         (hppa_gen_reloc_type): New object format dependent macro.
3150         (pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF
3151         conditional.  The code can (and will) be shared between SOM & ELF
3152         formats in the near future.
3153         (cons_fix_new_hppa, md_apply_fix_1): Likewise.
3154         (pa_build_unwind_subspace, process_exit, pa_exit): Likewise.
3155         (tc_gen_reloc): Use hppa_gen_reloc rather than an object format
3156         specific call.
3157
3158         * config/tc-hppa.c (pa_comm): Set the segment for a common symbol
3159         to bfd_und_section.
3160
3161         * config/obj-elf.h (obj_elf_version): Add extern prototype.
3162
3163         * configure.in (hppa-*-bsd*): New configuration.
3164         BFD is always used for GAS generating SOM objects.
3165
3166         * write.c (adjust_reloc_syms): Set sy_used_in_reloc if an
3167         adjustment is rejected by the target machine.
3168
3169         * config/tc-hppa.c (pa_big_cons): Delete function and its
3170         declaration.  All callers changed to use pa_cons.
3171
3172         * write.c (fixup_segment): Fix indention and open/close brace
3173         problem.
3174
3175         From Pete Hoogenboom:
3176         * config/tc-hppa.c (md_atof): Return a NULL on success rather than
3177         an empty string.
3178
3179         * config/tc-hppa.c (pa_parse_space_stmt): Advance
3180         input_line_poitner when an invalid argument is encountered.
3181
3182 Thu Oct 28 13:09:26 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3183
3184         * config/tc-a29k.c (md_begin): When opcodes are mashed together in
3185         the table, require that the one without bit 0x1000000 set come
3186         first.  Require further that it be case 'b' or 'P'.  The a29k
3187         opcode table already meets these constraints.
3188         (machine_ip): When handling case 'i' or 'A', make sure that the
3189         appropriate opcode really exists by looking at the next entry in
3190         the opcode table.
3191
3192 Wed Oct 27 11:48:56 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3193
3194         * config/tc-m68k.c (m68k_ip): Adjust offsets for PC relative
3195         fixups.  Add 6 for long 7.3 case, 2 for short 7.2 case.
3196
3197         * config/obj-ecoff.c (obj_ecoff_ent): Ignore an optional number
3198         after a .ent directive.
3199
3200         * config/tc-mips.c (mips_ip): Handle '>' case (shift amount
3201         between 32 and 63 for double shift instruction).  Do & 0x1f rather
3202         than % 32.
3203         (printInsn): Handle '>'.
3204
3205 Tue Oct 26 16:58:36 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3206
3207         * config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol
3208         number in the right place.  Untested.  Probably does not work for
3209         cross assembly.  From cagney@cs.adelaide.edu.au (Andrew Cagney).
3210
3211         * config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses
3212         an illegal offset of 0 or -1.
3213
3214         * config/obj-elf.c (obj_elf_init_stab_section): Align .stab
3215         section to a longword boundary.
3216
3217 Tue Oct 26 10:24:31 1993  Ken Raeburn  (raeburn@cygnus.com)
3218
3219         * Makefile.in (CHECKFLAGS): Pass down RUNTESTFLAGS.
3220
3221         From Jeff Law:
3222         * config/tc-hppa.c (tc_gen_reloc): ELF32_HPPA_R_ADDEND ->
3223         HPPA_R_ADDEND.
3224
3225 Mon Oct 25 14:06:17 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3226
3227         * config/tc-sparc.c (sparc_ip): Fix up membar argument handling.
3228
3229 Mon Oct 25 11:17:58 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
3230
3231         * config/tc-sh.c (build_Mbytes): Write the relocs to the correct
3232         address. (md_assemble): Make error handling a bit more graceful.
3233         (md_apply_fix):  Don't warn on non aligned displacement.
3234
3235         * config/tc-z8k.c (get_specific, built_bytes):  Understand all the
3236         aspects of lda.
3237
3238 Mon Oct 25 10:20:31 1993  Ken Raeburn  (raeburn@rover.cygnus.com)
3239
3240         * doc/Makefile.in (install-info): Use "$<*" so VPATH will find
3241         as.info* even if they're in $(srcdir) (e.g., for FSF
3242         distributions).
3243
3244         * write.c (write_relocs): For relocs that are pc_relative and
3245         pcrel_offset and not partial_inplace, adjust reloc->addend to
3246         compensate for a bfd_perform_relocation bug.
3247
3248         * config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code.
3249         * config/tc-sparc.c: Ditto.
3250         (tc_gen_reloc): Include fx_offset for pcrel fixups.
3251
3252 Sun Oct 24 16:49:00 1993  Jim Wilson  (wilson@x1.cygnus.com)
3253
3254         * tc-mips.c (md_pseudo_table): Add dword pseudo op.
3255
3256 Fri Oct 22 20:40:56 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
3257
3258         * messages.c: replaced all variables called Format with 'format',
3259           for consistency throughout
3260
3261         * configure.in: handle mips*- instead of mips, mips*el for little
3262         endian configurations
3263
3264 Fri Oct 22 14:45:49 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3265
3266         * input-scrub.c (physical_input_file, logical_input_file,
3267         physical_input_line, logical_input_line): Made static.
3268         (as_where): Return current file name and line number, don't print
3269         them out.
3270         * messages.c (as_show_where): New static function.  Other
3271         functions use it instead of as_where.
3272         (as_bad_internal): New static function.
3273         (as_bad): Use as_bad_internal.
3274         (as_bad_where): New function, like as_bad but taking a file name
3275         and line number.
3276         * as.h (as_bad_where): Declare.
3277         (as_where): Change prototype for new arguments.
3278         * write.h (fixS): Added fields fx_file and fx_line.
3279         * write.c (fix_new_internal): Save file and line number in fix.
3280         (fixup_segment): Use as_bad_where, not as_bad.
3281         * input-file.c (f_in, file_name): Made static.
3282         * cond.c (struct file_line): Just use file and line fields.
3283         (s_else): Use as_where and as_bad_where, not get_file_line and
3284         set_file_line.
3285         (get_file_line, set_file_line): Removed.
3286         * listing.c (listing_newline): Use as_where.
3287         * config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where.
3288         * config/obj-ecoff.c (add_file): Use as_where.
3289         * config/obj-elf.c (obj_elf_init_stab_section): Use as_where.
3290         * config/tc-m68k.c (md_apply_fix_2): Use as_bad_where.
3291         * config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert.
3292
3293 Thu Oct 21 12:52:01 1993  Ken Raeburn  (raeburn@cygnus.com)
3294
3295         * config/tc-m68k.h: Don't define REGISTER_PREFIX or
3296         OPTIONAL_REGISTER_PREFIX if either is already defined.
3297
3298         * config/tc-m68k.c (m68k_ip): Delete some code in "#if 0".
3299
3300         * configure.in: Set bfd_gas for all sparc targets.  Added facility
3301         for keeping or rejecting configurations still under development;
3302         default is to assume production environment, and reject configs
3303         still being worked on.  Mark Elf configurations (except sparc and
3304         i386) as developmental.  Deleted cases matching some generic names
3305         in favor of more specific names.  (E.g., when we get Alpha
3306         support, we'll still only support VMS for Vax.)
3307
3308         * config/tc-sparc.h (md_end): New macro.
3309         * config/tc-sparc.c (md_end): Function deleted.
3310         (BFD_RELOC_*): Delete macros that used to help keep the non-bfd
3311         version compiling.  All sparc targets will use bfd now.
3312         * tc.h (md_end): Don't declare if it's defined as a macro.
3313
3314         Changes from Jeff Law and Peter Hoogenboom:
3315
3316         * read.c (next_char_of_string): Limit octal character constants to
3317         three digits.
3318
3319         * config/tc-hppa.h: Major cleanup.  Use GNU-style comments.  Warn
3320         against placing additional object-file dependent code here.  Warn
3321         against contaminating all of GAS with the internals of tc-hppa.c
3322         through inclusion of tc-hppa.h.  Delete all forward declarations
3323         for functions only used within tc-hppa.c, likewise for structures,
3324         variables, and #defines.  Try to group OBJ_ELF and OBJ_SOM
3325         conditional code in a few small places.
3326
3327         * config/tc-hppa.c: Major cleanup.  Use GNU-style comments.  Group
3328         structures, global variables, forward declarations together.
3329         Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM
3330         conditional code -- try to group conditional code together
3331         into a few places.   Make all functions and variables which
3332         are only used within tc-hppa.c static.  PARAMize all functions.
3333         Add comments to functions.  Delete unused functions, variables,
3334         #defines, etc.  Delete unused members within structures.  Delete
3335         ldil;ble hacks -- it is believed they were installed to work
3336         around old gas bugs.   Avoid using mixed case for local
3337         functions, variables, and structures.  Fix formatting problems
3338         not found by GNU-indent.  Add FIXME notices for things which
3339         should be worked on the near future.  Delete lots of old
3340         useless (1.36 PA-SOM) code.  
3341
3342         * config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type
3343         field of the fixS structure.  Needed to build unwind
3344         descriptors correctly.
3345
3346         * write.c: (fixup_segment): Allow expressions such as
3347         sym1-sym2+const as long as sym2 is $global$.
3348
3349         * write.c (adjust_reloc_syms): Provide a hook so that a target
3350         cpu configuration can reject certain relocation reductions.
3351         * tc-hppa.h (tc_fix_adjustable): New macro.  Only accept relocations
3352         which do not involve function symbols.
3353
3354         * config/tc-hppa.h: Reindent with GNU-indent.  Delete references
3355         to OBJ_OSFROSE.  Fix typos (OBJ_SOME -> OBJ_SOM).  Delete unused
3356         STAB_FIXUP macro.
3357         * config/tc-hppa.c: Likewise.
3358
3359         * config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead
3360         of elf32_symbol_type.
3361         (pa_export_args): Likewise.
3362         (elf_hppa_final_processing): Likewise.
3363         (pa_desc): Do not call obj_elf_desc.  (Is pa_desc even needed
3364         anymore?)
3365         (hppa_tc_make_sections): Do not declare elf_get_symtab_map any
3366         ore.
3367
3368         * config/tc-hppa.c: (md_section_align): Align all sections to
3369         a multiple of the section alignment rather than always a
3370         multiple of 8.
3371
3372         * config/tc-hppa.c (hppa_tc_symbol): If the argument relocation
3373         bits are zero (eg they specify no relocations), then do not even
3374         bother adding their entries to thesymextn section.
3375
3376 Thu Oct 21 15:44:55 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3377
3378         * config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
3379         option, which is used by the SunOS make default .s.o rule.
3380
3381 Wed Oct 20 12:26:33 1993  Ken Raeburn  (raeburn@rover.cygnus.com)
3382
3383         * config/tc-sparc.c (sparc_ip, label "immediate"): Convert relocs
3384         operating on upper 32 bits of immediate constants to lower-half
3385         relocs with adjusted constants.
3386
3387 Tue Oct 19 18:13:26 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3388
3389         * config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable
3390         m68k_aout_machtype.
3391         * config/tc-m68k.c (omagic): Remove obsolete and unused variable.
3392         (m68k_aout_machtype): New variable, if OBJ_AOUT.
3393         (md_assemble): Initialize m68k_aout_machtype based on
3394         current_architecture, if OBJ_AOUT.
3395         (md_parse_option): Remove obsolete reference to omagic.
3396
3397 Thu Oct 14 16:51:00 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3398
3399         * config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op.
3400         (s_option): Ignore .option O* and .option pic*.
3401         (s_ent): Skip whitespace between symbol and optional digit.
3402         (my_getSmallExpression): Handle ($xx) correctly: assume 0($xx).
3403
3404         * app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape
3405         characters in state 6.
3406         * read.c (next_char_of_string): Accept \Xh* and \xh* where h* are
3407         hexidecimal digits.
3408
3409         * config/tc-i386.c (md_apply_fix_1): Make cross segment calls work
3410         for ELF by hacking around bizarre bfd_perform_relocation behaviour
3411         that I don't dare change.
3412
3413 Thu Oct 14 11:33:25 1993  Michael Meissner  (meissner@osf.org)
3414
3415         * config/tc-i386.c: (md_begin): Do not zero static arrays.  Don't
3416         call strchr for each character to see if it is a special char,
3417         instead add a second loop over special_chars.  Set alignment
3418         of text, data and bss sections to 4.
3419         (pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be
3420         used again.
3421         (reloc): Don't return 8 and 16 bit non-PC relative relocations on
3422         ELF, since the ELF object format does not have these type of
3423         relocations.  Change the abort into as as_bad and return
3424         BFD_RELOC_NONE to silence compiler warnings.
3425         (md_assemble): Keep track of the instruction size.  Allow white
3426         space between the $ and the constant for compatibility with older
3427         gases and other assemblers.
3428         (i386_operand): Skip spaces between $ and expression.
3429         (tc_gen_reloc): Don't allow anything but 32 bit relocations on
3430         ELF.  Convert abort into an as_bad and assert into as_fatal.
3431
3432 Wed Oct 13 16:50:55 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3433
3434         * config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If
3435         sub_symbolP is in the current segment, convert to a PC-relative
3436         fixup and discard the symbol.
3437
3438 Wed Oct 13 14:00:02 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3439
3440         * config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol
3441         for st_StaticProc just like st_Proc.
3442
3443         * write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT
3444         so that OBJ_BOUT doesn't forget to adjust all the fragments in the
3445         .bss section.
3446
3447 Tue Oct 12 17:26:15 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3448
3449         * config/tc-mips.c: If OBJ_ELF, include elf/mips.h.
3450         (mips_regmask_frag): New static variable, if OBJ_ELF.
3451         (md_begin): If OBJ_ELF, create .reginfo section and set
3452         mips_regmask_frag to a frag.
3453         (mips_elf_final_processing): New function, if OBJ_ELF.  Set
3454         mips_regmask_frag to register mask information.
3455         * config/tc-mips.h (elf_tc_final_processing): New macro, defined
3456         if OBJ_ELF.
3457
3458 Tue Oct 12 03:33:26 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3459
3460         * messages.c (as_fatal): Use myname when printing messages.
3461
3462         * config/tc-i960.c (md_begin): Use null pointer, not empty string,
3463         as initial "return" value in case hashing isn't needed.
3464
3465         * config/tc-a29k.c (md_atof): Return null, not empty string, on
3466         success.
3467         * config/tc-h8300.c (md_atof), config/tc-h8500.c (md_atof),
3468         config/tc-hppa.c (md_atof), config/tc-i860.c (md_atof),
3469         config/tc-i960.c (md_atof), config/tc-m88k.c (md_atof),
3470         config/tc-ns32k.c (md_atof), config/tc-sh.c (md_atof): Ditto.
3471
3472 Mon Oct 11 16:46:31 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
3473
3474         fix for pr 3571
3475         * config/tc-h8300.c (get_specific): Special action if 8 bit
3476         address seen. (check_operand): Don't complain if truncating top
3477         bits of an 8 bit address.  (build_bytes): Allow an immediate and
3478         an absolute in the same insn.
3479
3480 Mon Oct 11 17:18:51 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3481
3482         * write.c (write_contents): Don't crash if seginfo is NULL.
3483
3484         * config/obj-ecoff.c (ecoff_frob_file): Write out register masks
3485         by modifying .reginfo section, not by directly modifying BFD
3486         backend data.
3487
3488 Mon Oct 11 14:11:32 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
3489
3490         * config/ho-sunos.h: remove extern time declaration
3491
3492 Mon Oct 11 16:14:43 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3493
3494         * messages.c (as_fatal): Do mention that it's the assembler that
3495         got the fatal error.
3496
3497 Fri Oct  8 14:09:35 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3498
3499         * config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
3500         hold register masks.
3501         (md_begin): Initialize them to zero.
3502         (append_insn): Update mips_gprmask and mips_cprmask.  Also add
3503         register variables pinfo and prev_pinfo.
3504         * config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
3505         * config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
3506         and cprmask from mips_gprmask and mips_cprmask.
3507
3508         * config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
3509         * config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
3510         (various): Change all references to GP references to apply if
3511         GPOPT, not if OBJ_ECOFF.
3512         (s_change_sec): Rearrange somewhat.  If OBJ_ELF, use .rodata
3513         instead of .rdata.  If OBJ_ELF, set section flags for .rodata and
3514         .sdata sections.
3515         (s_frame, s_loc, s_mask): Comment out entire functions, rather
3516         than just body.  They're not used anyhow.
3517         * configure.in: Set cpu_type to mips for mips*.  Accept
3518         mips-*-elfl* and mips-*-elf*.
3519
3520 Thu Oct  7 18:36:29 1993  Michael Meissner  (meissner@osf.org)
3521
3522         * config/obj-elf.c (obj_elf_common): Allow the alignment field to
3523         not be specified.
3524
3525 Wed Oct  6 13:01:34 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3526
3527         * config/tc-mips.c (cons_fix_new_mips): New function.  Turn
3528         BFD_RELOC_64 into BFD_RELOC_32.
3529         * config/tc-mips.h (TC_CONS_FIX_NEW): Define.
3530         (cons_fix_new_mips): Declare.
3531
3532         Changes to let cons handle bignums like general expressions.
3533         * expr.h (expressionS): New field X_unsigned.
3534         * expr.c (operand): Initialize X_unsigned to 1.  Set it to 0 for
3535         unary minus case.
3536         (expr) Fix typo resultP to right if missing operand.  Set
3537         X_unsigned to 1 when building new expression.
3538         * read.c (potable): Make "octa" and "quad" call cons, not
3539         big_cons.
3540         (cons): Handle bignums.  If given an O_constant (small integer) to
3541         fill a big space, turn it into a bignum.
3542         (parse_bitfield_cons): Set X_unsigned field.
3543         (bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
3544         Removed.
3545         * read.h (big_cons): Remove prototype.
3546         * symbols.c (resolve_symbol_value): Don't give a warning if a
3547         symbol in expr_section can not be resolved.
3548         (S_SET_VALUE): Clear X_unsigned.
3549         * write.c (write_object_file): If resolve_symbol_value failed on a
3550         symbol we are writing out, give a warning.
3551         * config/tc-h8500.c (parse_reglist): Set X_unsigned.
3552         * config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
3553         call pa_cons, not pa_big_cons.
3554         (pa_big_cons): Remove.
3555         * config/tc-hppa.h (pa_big_cons): Remove declaration.
3556         * config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
3557         not big_cons.
3558
3559 Tue Oct  5 10:53:36 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
3560
3561         * doc/as.texinfo (Copying): new node, to handle the recent changes
3562         in the texinfo/gpl.texinfo file
3563
3564 Mon Oct  4 17:10:15 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3565
3566         * read.c (big_cons): Handle "0" correctly.
3567
3568         * config/tc-mips.c (md_begin): Set target_big_endian correctly.
3569
3570 Mon Oct  4 15:37:57 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3571
3572         * config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should
3573         have pc-relative fixup.
3574         (md_parse_option): Move "-k" case down near "-pic" case.
3575
3576         * configure.in: Alphabetize list of cpu type alternatives.  Enable
3577         OS values of "linux*elf*" and "linux*coff*" to select those
3578         formats, with linux emulation.  Don't bother checking for upper-
3579         or mixed-case versions of "ose".
3580
3581 Thu Sep 30 11:05:35 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
3582
3583         * config/z8k.c (md_pseudo_table): add "unseg".
3584
3585 Wed Sep 29 16:15:11 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
3586
3587         * config/m88k-opcode.h (m88k_opcodes): correct a few mistakes
3588           found while extending the dissassembler.
3589
3590 Tue Sep 28 12:02:04 1993  Stan Shebs  (shebs@rtl.cygnus.com)
3591
3592         * configure.in: Split i386 LynxOS out from other coff targets,
3593         add a specific Lynx emulation.
3594         Add m68k LynxOS target.
3595         * config/tc-i386.c: Define specific Lynx target format.
3596         * config/tc-m68k.c: Define specific Lynx target format.
3597         * config/te-lynx.h: New file.
3598
3599         * config/obj-coffbfd.h: Don't set TARGET_FORMAT to be
3600         "coff-{i386,m68k}" if TARGET_FORMAT already defined.
3601         (INIT_STAB_SECTION): Define.
3602         * config/obj-coffbfd.c: Include <time.h>.
3603         (write_object_file): Look for .stab sections and call
3604         adjust_stab_section.
3605         (adjust_stab_section): New function, fills in the first symbol
3606         of a stab section with number of symbols and string table size.
3607         (obj_coff_init_stab_section): New function, creates the initial
3608         symbol for a stab section.
3609
3610 Mon Sep 27 15:21:55 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3611
3612         * config/atof-vax.c (md_atof): Return null on success instead of
3613         empty string.
3614         * config/atof-tahoe.c (md_atof): Ditto.
3615         * read.c (float_cons): Expect a null pointer for success, not an
3616         empty string.
3617
3618         * hash.c (hash_insert, hash_jam, hash_grow): Return null pointer
3619         on success, instead of empty string.  All callers changed.
3620
3621         * config/tc-vax.c: Use PARAMS in declarations.
3622         (vip_op): Use NULL instead of empty string for success in error
3623         and warning fields.
3624
3625 Sun Sep 26 23:45:29 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3626
3627         * expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols
3628         in different defined segments.
3629
3630         * write.c (relax_segment): Localize "aim" variable.  If
3631         DIFF_EXPR_OK, don't impose checks on symbol segment types.
3632         (fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current
3633         segment, convert to a PC-relative fixup and discard the symbol.
3634
3635         * config/tc-m68k.c (flag_want_pic): New variable, mostly ignored.
3636         (md_parse_option) [TE_SUN3]: Set it for "-k".
3637         (m68k_ip): Generate proper fixup for mode 7.3.
3638         * config/tc-m68k.h (DIFF_EXPR_OK): Define.
3639
3640 Sat Sep 25 05:08:19 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3641
3642         * config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved
3643         earlier in the file.
3644         (insop, add_exp): Now defined as functions, for readability.
3645         (insop): Now takes two arguments; callers changed.
3646
3647 Fri Sep 24 12:37:59 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
3648
3649         * config/tc-m88k.c (get_o6): new function.
3650           (get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
3651           get_vec9, getval, get_pcr, calcop, match_name): make static and
3652           prototype.
3653           (s_file): remove extraneous forward decl.
3654           (md_begin): add const to retval decl.
3655           (calcop): cope with instructions without arguments.  Handle 'o'
3656           type argument, the o6 field of the prot insn.
3657           (md_estimate_size_before_relax): return a dummy value.
3658
3659         * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
3660           in bits 10 through 7.  flt.[dxs]s requires an r register in the
3661           second argument.  New instruction lda.x.  New instruction muls
3662           (alias for mul).
3663
3664 Fri Sep 24 13:43:30 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3665
3666         * Makefile.in (distclean): Recurse like clean.
3667         * doc/Makefile.in (distclean): New target.
3668
3669         * config/tc-mips.c (md_begin): Set BFD architecture and machine
3670         based on MIPS ISA level.
3671
3672 Thu Sep 23 17:58:58 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3673
3674         * as.c (main): "exhausted", not "exhuasted".
3675
3676         * struc-symbol.h (struct symbol): Add sy_used_in_reloc field.
3677         * write.c (adjust_reloc_syms): Set sy_used_in_reloc.
3678         (write_object_file): Never strip symbols with sy_used_in_reloc
3679         set.
3680
3681         * config/obj-elf.c (obj_elf_section): Rewrote to handle both
3682         Solaris and SVR4 style .section pseudo-ops.
3683         (obj_elf_ident): Set SEC_READONLY for .comment section.
3684         * config/tc-sparc.c (md_apply_fix): If this is ELF, and we're
3685         generating a reloc, don't apply a fix.
3686
3687 Thu Sep 23 13:16:58 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3688
3689         * config/obj-coffbfd.c (relax_align): Now static.
3690
3691 Mon Sep 20 19:23:35 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3692
3693         * read.c (get_stab_string_offset): Make non-static.  Make
3694         arguments const.  Don't align strings to 4 byte boundaries.
3695         * read.h: Declare get_stab_string_offset.
3696         * config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
3697         SEC_LOAD for progbits section.
3698         (obj_elf_init_stab_section): New function.
3699         (adjust_stab_sections): Add casts to avoid warnings.
3700         * config/obj-elf.h (INIT_STAB_SECTION): Call
3701         obj_elf_init_stab_section.
3702         (OBJ_PROCESS_STAB): Removed definition.
3703
3704 Fri Sep 17 18:12:34 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3705
3706         * config/obj-elf.h (S_GET_SIZE): Define.
3707         (obj_frob_forward_symbol): Define.
3708         * config/tc-i386.c (line_comment_chars): Initialize in all cases.
3709
3710 Thu Sep 16 14:23:08 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3711
3712         * tc.h: Declare tc_gen_reloc differently depending upon
3713         RELOC_EXPANSION_POSSIBLE.
3714         * config/obj-elf.c (obj_elf_section): Only set flags when first
3715         creating the section.
3716
3717 Wed Sep 15 12:15:53 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3718
3719         * config/tc-mips.c (append_insn): Don't swap a trap instruction
3720         with a branch.
3721
3722 Tue Sep 14 13:31:04 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3723
3724         * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
3725         set previous_section and previous_subsection and then call s_data
3726         and s_text, respectively.
3727         (obj_pseudo_table): Add data and text.
3728         (obj_elf_section): Add SEC_LOAD to default initialization of
3729         flags.  Treat .rodata1 like .rodata.  Set SEC_LOAD as well as
3730         SEC_ALLOC for "alloc" string.  Don't bother trying to find the
3731         section; just use subseg_new.
3732
3733         * read.c (change_to_section): Removed.  This is now done by
3734         subseg_new.
3735         (get_stab_string_offset): Rearranged somewhat.  Create the section
3736         using subseg_new.  Store the string index in seg_info, rather than
3737         in a static variable.  Force the first string to be empty.  Use
3738         frag_more rather than FRAG_APPEND_1_CHAR.
3739         (s_stab_generic): Rewrote.
3740         * subsegs.h (segment_info_type): Added stabu union.
3741         * subsegs.c (subseg_new): Initialize stab_string_size to 0.
3742         * config/obj-aout.c: Don't include aout/stab_gnu.h.
3743         (obj_aout_stab, obj_aout_desc): Removed.
3744         (obj_pseudo_table): Removed desc and stabX entries.
3745         * config/obj-bout.c: Same changes as config/obj-aout.c.
3746         * config/obj-bout.h (S_SET_TYPE): Define.
3747         (tc_bout_fix_to_chars): Declare.
3748         * config/obj-coff.c (obj_coff_stab): Removed.
3749         (obj_pseudo_table): Removed desc and stabX entries.
3750         * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
3751         * config/obj-coffbfd.c (current_stab_symbol): Removed.
3752         * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
3753         n_other, n_desc and n_value fields.
3754         (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
3755         (MAKE_STAB_SYMBOL): Removed.
3756         * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
3757         Changed arguments and removed parsing code.
3758         (obj_pseudo_table): Removed stabX entries.
3759         * config/obj-ecoff.h (ecoff_stab): Declare.
3760         (OBJ_PROCESS_STAB): Define.
3761         * config/obj-elf.c: Don't include aout/stab_gnu.h.
3762         (obj_elf_stab, obj_elf_xstab, obj_elf_desc,
3763         elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
3764         Removed.
3765         (obj_pseudo_table): Removed desc, stabX and xstabs entries.
3766         (obj_elf_version): Use subseg_new, not bfd_make_section.  Don't
3767         set SEC_LOAD for .note section.
3768         (adjust_stab_sections): Get frag pointer from seg_info, rather
3769         than looking through frags.
3770         * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
3771         (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
3772         Define.
3773         * config/obj-vms.c (obj_aout_stab): Removed.
3774         (obj_pseudo_table): Removed stabX entries.
3775         * config/obj-vms.h (S_SET_TYPE): Define.
3776
3777         * as.h: Declare listing.
3778         * read.c: Don't declare listing.
3779         (emit_expr): Cast fix_new_exp argument.
3780         (parse_bitfield_cons): Correct printf format.
3781         * symbols.c (symbol_new): Add cast to avoid warning.
3782         * write.h: Declare text_last_frag and data_last_frag.
3783         * config/obj-bout.c (obj_bout_line): Added dummy argument.
3784         * config/obj-coffbfd.c: Add some casts to avoid warnings.
3785         * config/tc-a29k.c: Likewise.
3786         * config/tc-i960.c: Likewise.  Also fully bracket structure
3787         initializations, fix printf formats, and remove unused variables.
3788
3789 Mon Sep 13 16:48:38 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3790
3791         * read.c (s_desc): Only compile and use if S_SET_DESC is defined.
3792         * struc-symbol.h: Declare verify_symbol_chain and
3793         verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS.
3794         * symbols.c (verify_symbol_chain): Removed useless expression.
3795         * write.c (headers, the_object_file): Only use if not
3796         BFD_ASSEMBLER and not BFD.
3797         (fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or
3798         not BFD.
3799         (merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and
3800         not OBJ_AOUT).
3801         * write.h: Declare relax_segment.
3802         * config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made
3803         static.
3804         (stack_top): Commented out, since it's not used.
3805         Fixed up pseudo-op functions to take an ignored int argument.
3806         (size_section): Added default BAD_CASE to switch.
3807         Changed bzero calls to memset.
3808         * config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME
3809         (s), not on s itself.
3810         * config/tc-a29k.c (s_use): Take ignored int argument.  Only
3811         define if OBJ_COFF is not defined.
3812         * config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make
3813         argument signed again.
3814         * config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int
3815         argument.
3816         (m68k_ip): Fully bracket initialization of archs.
3817         Correct several formats for __LINE__ to be %d rather than %s.
3818         (init_table): Fully bracket initialization.
3819         Cast values larger than 0x7f assigned to fr_opcode to char.
3820
3821         * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
3822         Wrote non-BFD_ASSEMBLER subseg_new.  Now subseg_new always takes a
3823         section name, and subseg_set always takes a segT.  Changed all
3824         callers as appropriate.
3825         * config/obj-coffbfd.c  (change_to_section): Renamed to
3826         obj_coff_add_segment.  Corrected.  Made callers use subseg_new.
3827         * config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
3828         Define.
3829
3830 Mon Sep 13 13:15:03 1993  Doug Evans  (dje@canuck.cygnus.com)
3831
3832         * config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'.
3833
3834 Fri Sep 10 11:22:08 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3835
3836         * config/obj-elf.h (S_SET_SIZE): Actually set the size.
3837
3838         Gcc lint.
3839         * Added a number of casts to function calls.
3840         * app.c (do_scrub_begin), as.c (main), expr.c (integer_constant,
3841         operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY,
3842         read_a_source_file, s_align_bytes, demand_empty_rest_of_line,
3843         ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore),
3844         read.h (is_name_beginner, is_part_of_name), config/obj-elf.c
3845         (obj_elf_section), config/tc-i386.c (parse_register),
3846         config/tc-sparc.c (isoctal, s_proc): Cast char
3847         array indices to unsigned char.
3848         * app.c (process_escape): Make static.  Add prototype.  Change
3849         argument from char to int.
3850         * as.c: Include output-file.h for prototypes.  Comment out unused
3851         function got_sig.
3852         * Makefile.in (as.o): Depend on output-file.h.
3853         * as.h (BAD_CASE): Cast val argument to long, and use %ld.
3854         (pseudo_typeS): Add prototype to poc_handler field.
3855         (print_version_id): Add prototype.
3856         (xmalloc, xrealloc): Change size arguments to unsigned long.
3857         (do_scrub_next_char): Add prototypes for function arguments.
3858         (had_errors, had_warnings, scrub_from_file): Remove duplicate
3859         declarations.
3860         * atof-generic.c (atof_generic): Make size variables unsigned.
3861         * cond.c (ignore_input): Removed unused local variable ptr.
3862         * expr.c (floating_constant, integer_constant): Make static.  Add
3863         prototypes.
3864         * flonum-copy.c (flonum_copy): Make size variables unsigned.
3865         * frags.h: Add prototype for frag_init.
3866         * hash.h, hash.c: Change hash values from char * to PTR, make hash
3867         strings const, make returned error strings const char *.  Added
3868         prototypes for functions.
3869         * input-file.h, input-file.c (input_file_buffer_size): Return
3870         unsigned int.
3871         * input-scrub.c (buffer_length): Make unsigned.
3872         (input_scrub_push, input_scrub_pop): Make static.
3873         * listing.c (list_symbol_table): Cast sprintf argument to unsigned
3874         long and use %lx.  Print name of segment rather than address of
3875         structure.
3876         (listing_list, listing_title): Change argument to int.
3877         (listing_eject, listing_flags, listing_psize): Add int argument.
3878         * listing.h: Corresponding declaration changes.
3879         * obj.h (obj_emit_symbols): Rename prototype argument to avoid
3880         shadowing.
3881         * read.h: Change get_absolute_expression prototype to return
3882         offsetT.  Add prototype for next_char_of_string.  Various
3883         prototype changes.
3884         * read.c: Remove prototype for next_char_of_string.
3885         (pobegin): Make errtxt const.  Make new_length, tmp_len and num
3886         unsigned.
3887         (s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill,
3888         s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument.
3889         Change all callers.
3890         (s_comm): Change temp from valueT to offsetT.  Cast to long when
3891         printing and use %ld (only for error messages anyhow).
3892         (s_long, s_int): Remove unused functions.
3893         (cons): Change argument to int.
3894         (emit_expr): Use %lx when printing longs.
3895         (get_absolute_expression): Return offsetT, not long.
3896         (get_stab_string_offset): Comment out unless
3897         SEPARATE_STAB_SECTIONS.
3898         (s_stab_generic): Remove unused offset.  Define seg_is_new only
3899         if SEPARATE_STAB_SECTIONS.  Use toP only in local block.
3900         * struc-symbol.h (verify_symbol_chain_2): Add prototype.
3901         * symbols.c: Remove nested comment.
3902         (symbol_new): Rename value to valu.
3903         (colon): Use %ld and cast to long in error message.
3904         * symbols.h: Remove duplicate verify_symbol_chain declaration.
3905         * tc.h: Remove unused md_emit_relocations declaration.
3906         (tc_gen_reloc): Add declaration.
3907         * write.c (cvt_frag_to_fill): Change first argument name depending
3908         on BFD_ASSEMBLER.
3909         (write_relocs): Remove unused offset, frags.  Remove tc_gen_reloc
3910         declarations.  Make n unsigned.
3911         (write_contents): Remove unused i, n, relocs, fixp.  Rename frags
3912         to f to avoid shadowing.
3913         (write_object_file): Define fragP only if not BFD_ASSEMBLER or not
3914         WORKING_DOT_WORD.  Remove unused keep.  Only declare punt and
3915         punt_it if they will be used.  Make i and n unsigned.
3916         (fixup_segment): Cast to long and use %ld in error message.
3917         * xmalloc.c (xmalloc, xrealloc): Make size argument unsigned.
3918         * config/obj-aout.h: Remove nested comment.  Add prototype for
3919         obj_aout_frob_symbol.
3920         (obj_aout_line, obj_aout_desc): Add int argument.
3921         * config/obj-ecoff.c: Changed build routines to use an unsigned
3922         offset.
3923         (add_string): Make len unsigned long.
3924         (obj_ecoff_stab): Use %lu in error message.
3925         * config/obj-elf.c (obj_elf_common): Comment out unused label
3926         allocate_bss.
3927         (obj_elf_frob_symbol): Return 0 (currently broken).
3928         (obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type,
3929         obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common,
3930         obj_elf_line, obj_elf_previous): Add int argument.
3931         (obj_elf_write_symbol_p): Make static.
3932         * config/obj-elf.h (obj_elf_write_symbol): Add prototype.
3933         * config/tc-hppa.h: Remove declarations of functions declared in
3934         read.h.
3935         * config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT.
3936         (s_bss): Add int argument.
3937         (fits_in_signed_byte, smallest_imm_type): Make argument unsigned.
3938         (dummy): Remove unused function.
3939         (md_assemble): Rename local o to op to avoid shadowing.
3940         (tc_gen_reloc): Rename local reloc to rel to avoid shadowing.
3941         * config/tc-m68k.c (s_data1, s_data2): Add int argument.
3942         * config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use
3943         %ld in error messages.
3944         * config/tc-sparc.c: Remove duplicate declarations.
3945         (getExpression): Rewrite condition to avoid empty conditional
3946         body.
3947         (s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int
3948         argument.
3949
3950 Thu Sep  9 17:10:00 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3951
3952         Changes from Jeff Law:
3953
3954         * config/tc-hppa.c (md_assemble): Fix typo.
3955         (pa_ip): Delete unused variables and labels.  Do not check for
3956         unsigned values being < 0, it can't happen.
3957         (is_same_frag): Return a value in recursive call case.
3958         (pa_callinfo): Delete unused variables and labels.
3959         (pa_comm): Likewise.
3960         (pa_copyright): Likewise.
3961         (pa_export): Likewise.
3962         (pa_import): Likewise.
3963         (pa_param): Likewise.
3964         (pa_space): Likewise.
3965         (pa_subspace): Likewise.
3966
3967 Thu Sep  9 15:05:34 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3968
3969         * read.c (get_stab_string_offset, s_stab_generic): If
3970         BFD_ASSEMBLER, call subseg_set rather than subseg_new.
3971
3972 Wed Sep  8 15:09:17 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3973
3974         * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
3975         default flag values.
3976
3977 Tue Sep  7 10:22:52 1993  Stan Shebs  (shebs@rtl.cygnus.com)
3978
3979         * read.c: (change_to_section): Don't include body if not MANY_SECTIONS.
3980
3981         * read.c: (s_stab, s_xstab, s_desc): New functions to parse
3982         various stab-related directives.
3983         * read.h: (s_stab, s_xstab, s_desc): New function prototypes.
3984         * write.c: (merge_data_into_text): Fix ifdef tangle.
3985         * config/obj-coffbfd.c (current_stab_symbol): Fake symbol
3986         for stab reader to use.
3987         * config/obj-coffbfdh.h (obj_symbol_type): Added fields for
3988         stab reader, macros to access.
3989
3990 Fri Sep  3 16:44:03 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
3991
3992         * config/obj-elf.h (elf_symbol): No longer special-cased on
3993         sparcv9, since elf_symbol_type is now independent of size.
3994
3995         * config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type.
3996
3997         * config/tc-hppa.h (struct default_subspace_dict, struct
3998         default_space_dict): Field "sort" is now unsigned char.
3999
4000         * config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align
4001         columns for easier reading.
4002         (bcmp, index): Deleted USG-specific definitions.  Should be dealt
4003         with in ho-*.h, or in libiberty.  Changed mention of index to
4004         strchr.
4005         (label_symbolP, label_symbol_defined, callinfo_found,
4006         within_entry_exit, exit_processing_complete, within_procedure,
4007         pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc,
4008         label_symbols_rootP, pa_get_label, pa_label_is_defined,
4009         pa_undefine_label): Now static.
4010         (movers): Now const, in addition to pointing to const data.
4011         * config/tc-hppa.h (label_symbolS_rootP, pa_get_label,
4012         pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc):
4013         Delete declarations.
4014
4015         Merged more changes from Jeff Law and Pete Hoogenboom:
4016
4017         * config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove
4018         entries for .stab and .stabstr.
4019
4020         * config/obj-elf.c: (elf_stab_symbol_string):  Set the
4021         SEC_LOAD attribute for the .stabstr section.
4022         (obj_elf_stab_generic):  Set the SEC_LOAD attribute for the
4023         .stab section.
4024         (obj_elf_stab_generic):  Change '#if 1' to '#if 0'.
4025         (obj_elf_stab_generic):  Incorrect byte count on call to
4026         md_number_to_chars function.
4027
4028         * config/tc-hppa.c (hppa_tc_symbol): Static functions need
4029         argument relocation bits too.
4030
4031         * config/tc-hppa.c (pa_stringer): Correctly handle escaping
4032         characters which should appear unaltered in the output string (for
4033         example an escaped double-quote).
4034
4035         * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always
4036         initialize name.
4037         (pa_parse_neg_cmpsub_cmpltr): Likewise.
4038         (pa_parse_nonneg_add_cmpltr): Likewise.
4039         (pa_parse_neg_add_cmpltr): Likewise.
4040
4041         * config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype
4042         for now.
4043         (cons_fix_new_hppa): Likewise.
4044         * config/tc-hppa.c (md_apply_fix): Fix type of valp to match
4045         prototype.
4046
4047         * config/tc-hppa.c: Include libhppa.h.
4048
4049         * config/tc-hppa.h: Delete extern declarations of functions
4050         found in libhppa.h.
4051
4052         * config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef
4053         OBJ_ELF conditionals.
4054         * config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels
4055         on the PA.
4056
4057 Thu Sep  2 10:43:57 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4058
4059         * config/tc-mips.c (macro_build): Accept 'z', and ignore it.
4060         (macro): Use "z,s,t" for div instructions to match corresponding
4061         change in opcode table.
4062         (mips_ip): Added 'z'--must be zero register.
4063
4064 Wed Sep  1 15:56:42 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4065
4066         * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare
4067         tc_gen_reloc correctly.
4068
4069         * configure.in: Use "case" instead of "if" when possible.  Rewrote
4070         Makefile editing to reduce work done.  Treat "hppa*" as "hppa".
4071
4072 Wed Sep  1 12:19:07 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
4073
4074         * config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for
4075           section type of data.  'd' seems to be used for m88k.
4076
4077 Wed Aug 25 22:33:22 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4078
4079         * config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons,
4080         s_mips_space): Set insn_label to NULL to avoid changing it at the
4081         next .align statement.
4082         (append_insn): Don't swap jal with instruction that sets the
4083         register that jal sets.
4084
4085 Wed Aug 25 16:15:57 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
4086
4087         * configure.in: recognize m88110.
4088
4089 Wed Aug 25 13:37:46 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4090
4091         Merged changes from Pete Hoogenboom and Jeff Law at Utah:
4092         * config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should
4093         not be on for .hppa_unwind.
4094         (md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS.
4095         (pa_param): New function to handle .PARAM directives.
4096         (pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr
4097         functions.  Handle '|' for movb; allow movb,n.
4098         (pa_parse_nonneg_cmpsub_cmpltr): Delete old useless
4099         version.  Handle cases where no completer exists for
4100         comb,n or addb,n.
4101         (pa_parse_neg_cmpsub_cmpltr): Handle cases where no
4102         completer exists for comb,n or addb,n.  Make logic
4103         mirror that of pa_parse_nonneg_cmpsub_cmpltr.
4104         (pa_parse_nonneg_add_cmpltr): Likewise.
4105         (pa_parse_neg_add_cmpltr): Likewise.
4106         * tc-hppa.h (pa_param): Declare.
4107
4108 Tue Aug 24 15:41:35 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4109
4110         * config/tc-hppa.c (hppa_tc_make_symextn_section): Now static.
4111         Added forward declaration.
4112
4113         Merged changes from Pete Hoogenboom and Jeff Law at Utah:
4114
4115         * config/obj-elf.c (elf_frob_file): Arguments were incorrect on
4116         call to elf_tc_make_sections.
4117         (obj_elf_version): A .note section shouldn't have the SEC_ALLOC
4118         attribute.
4119
4120         * config/tc-hppa.c (hppa_tc_make_sections): Add some processing to
4121         handle symbol extension sections.
4122
4123         * config/tc-hppa.c (pa_build_symextn_section): New function to
4124         create a symbol extension section.
4125         (pa_export_args): Make call to pa_build_symextn_section.
4126         (hppa_tc_symbol, hppa_tc_make_sections,
4127         hppa_tc_make_symextn_section): New functions.
4128         * config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections
4129         macros.
4130
4131         * read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the
4132         BFD_ASSEMBLER branch as well.
4133
4134         * config/tc-hppa.h: If ELF is the target object format, define
4135         some ELF- and hppa-specific types and constants.
4136
4137         * config/tc-hppa.c (getExpression): Fix a typo.
4138
4139         * read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine
4140         if a `=' is part of an instruction.
4141         (read_a_source_file): Handle case where end-of-line markers are
4142         also used within instructions.
4143         * config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define.
4144
4145         * config/tc-hppa.c (md_apply_fix_1): Keep relocations for
4146         out-of-range branches/'calls using "bl" or calls which may need
4147         argument relocation stubs.  Do not need/keep relocations for
4148         conditional branches.
4149         (elf_hppa_final_processing): Fix calculation of function size.
4150
4151         * config/obj-elf.c (obj_elf_version): Mark .note section as
4152         READONLY.
4153
4154         * config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the
4155         address of exp, to expression.
4156         (pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on.
4157         (md_apply_fix_1): Delete unwanted comments.
4158         (process_exit): Symbols marking the end of a function are always
4159         BSF_LOCAL.
4160
4161         * config/tc-hppa.c: Include elf32-hppa.h from BFD tree.
4162         (pa_space): Declare and initialize gdb_section.
4163
4164         * config/obj-elf.c (elf_frob_file): Change
4165         elf_tc_final_processing_hook to elf_tc_final_processing.
4166
4167         * config/tc-hppa.c (fix_new_hppa): Fix argument list to match
4168         argument type declarations.
4169         (getExpression): Fix typo.
4170         (pa_export_args): Change elf_symbol_type to elf32_symbol_type.
4171         (elf_hppa_final_processing): Likewise.  Name changed from
4172         elf_hppa_final_processing_hook.
4173         (start_symbol_root, start_symbol_last): Deleted.
4174
4175         * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo.
4176
4177         * config/tc-hppa.h: Replace "symbolS" with "struct symbol" to
4178         avoid changing include ordering.
4179
4180         * config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'.
4181
4182 Mon Aug 23 12:47:58 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4183
4184         * config/tc-mips.c (set_at): Added unsignedp argument.  Use
4185         load_register.
4186         (set_at_unsigned): Removed; changed callers to use set_at.
4187         (load_register): Removed unused ip argument.  Changed callers.
4188         (append_insn): Don't swap branch and branch likely.
4189         (macro_build): Handle 'u'.
4190         (load_register): Handle 64 bit constants.
4191         (macro): Added M_DABS, removed M_ABSU.  Numerous changes to
4192         support 64 bit constants.
4193         (mips_ip): Use hex constants in range checks for clarity.
4194         (md_number_to_chars): Support 8 byte values.
4195
4196 Fri Aug 20 16:50:59 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
4197
4198         * config/tc-m88k.h: updated copyrights.
4199           (TC_CONS_RELOC): declare to be RELOC_32.
4200
4201 Fri Aug 20 11:16:44 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4202
4203         * config/tc-mips.c (mips_isa): New static variable.
4204         (md_begin): Initialize mips_isa based on TARGET_CPU.  Don't sanity
4205         check macros.  Set text alignment and GP size here.
4206         (md_assemble): Don't set text alignment and GP size here.
4207         (append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
4208         Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S.  Add
4209         a NOP after a branch likely.
4210         (mips_emit_delays): Don't insert NOPS for load delays if mips_isa
4211         >= 2.
4212         (macro): Support r6000 and r4000 macros.
4213         (mips_ip): Check insn ISA level against mips_isa before using it.
4214         Added 'x' case for ignored register.
4215         (md_parse_option): Handle -mipsN and -mcpu=XX.
4216
4217 Fri Aug 20 01:26:52 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4218
4219         * config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero".
4220
4221 Thu Aug 19 12:15:18 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4222
4223         * config/tc-sparc.c (s_local): Function moved and renamed...
4224         * config/obj-elf.c (obj_elf_local): ...to here.
4225         * config/tc-sparc.c (md_pseudo_table), config/obj-elf.c
4226         (obj_pseudo_table): Move handling of ".local".
4227
4228         * tc.h (md_parse_option): Don't declare if defined as a macro.
4229
4230         * config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as
4231         BFD_RELOC_NONE.
4232         (md_parse_option): New macro, converted from function.
4233         * config/tc-i386.c (md_parse_option): Function deleted.
4234         (comment_chars) [OBJ_ELF]: Include "/".
4235         (line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
4236         (md_assemble): Cast 0xe9 to char explicitly, to avoid compiler
4237         warning.
4238         (md_assemble, md_estimate_size_before_relax, md_create_long_jump):
4239         Call reloc for fix_new type, or use correct enumerator, instead of
4240         always using NO_RELOC.
4241         (i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
4242         tests for valid section.
4243         (md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start
4244         address.
4245         (md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
4246         symbol, compensate for location of reloc.
4247         (reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define
4248         to return zero.
4249
4250 Wed Aug 18 16:51:29 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4251
4252         * config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h.
4253         (obj_elf_weak): New function.
4254         (obj_pseudo_table): Handle ".weak".
4255         (obj_elf_section): If section directive includes a string, ignore
4256         it for now.  Accept "progbits" flag.
4257         (obj_elf_type): Accept `@' before flag name.
4258
4259         * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)'
4260         condition.
4261         (fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather
4262         than checking for bfd_com_section directly.
4263         (fixup_segment): Simplify range check.
4264         (fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition
4265         test.
4266
4267         * symbols.h (S_SET_WEAK): Declare.
4268         * symbols.c (S_SET_WEAK): New function.
4269         (S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT,
4270         it's not a separate flag any more.  Clear BSF_WEAK.
4271
4272         * read.c (potable): Treat "string" like "asciz".
4273
4274 Wed Aug 18 15:30:29 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4275
4276         * config/tc-mips.c (append_insn): Don't swap branch instructions
4277         if .set nobopt or .set volatile.
4278         (gp_reference): .lit8 and .lit4 are accessed via the GP register.
4279         (macro): Added cases M_LI_S, M_LI_SS.  Fixed M_LI_D and M_LI_DD.
4280         (mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
4281         * config/obj-ecoff.c: Renamed some variables to avoid shadow
4282         warnings.
4283
4284 Mon Aug 16 14:16:02 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
4285
4286         * config/obj-coff.h (S_IS_COMMON): add missing backslash
4287
4288         * configure.in (z8k-*-{coff,sim}): use coffbfd for this target
4289
4290 Thu Aug 12 11:47:58 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4291
4292         * config/tc-mips.c (mips_ip): Suggested by
4293         davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
4294         names for 'E' and 'G' argument types (coprocessor registers) and
4295         don't warn if $1 is used on the coprocessor.
4296         (macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
4297
4298 Mon Aug  9 12:09:14 1993  Doug Evans  (dje@canuck.cygnus.com)
4299
4300         * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
4301         * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
4302         BFD_RELOC_16.
4303         * config/tc-sparc.h (WORKING_DOT_WORD): Define.
4304
4305 Mon Aug  9 13:36:22 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4306
4307         * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
4308         defined or BFD is not.
4309         (relax_and_size_all_segments): Declare local variable fragP.
4310
4311 Fri Aug  6 15:22:53 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4312
4313         * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
4314         bytes with real values, not zeros.
4315
4316 Fri Aug  6 10:57:59 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4317
4318         * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
4319         targets, using ecoff and mips-big.
4320
4321         * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
4322         Johnson): Added case for 'C' for coprocessor instruction codes.
4323
4324 Thu Aug  5 13:08:56 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4325
4326         * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): Fill in
4327         bytes with real values, not zeros.
4328         (md_pseudo_table): Call cons for .uaxword.
4329
4330         * config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
4331
4332         * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
4333
4334         * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
4335         for verifying symbol chain.
4336         (merge_data_into_text, relax_and_size_all_segments): New
4337         functions, split out from write_object_file.
4338
4339 Tue Aug  3 15:43:55 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4340
4341         * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
4342         debug section is new, allocate an extra 12 bytes at its start.  If
4343         ".stabs" type is N_SO, fill in filename symbol field of that first
4344         entry.  Return early if "goof", to simplify later code slightly.
4345         (adjust_stab_sections): New function.
4346         (elf_frob_file): Apply adjust_stab_sections to each section.
4347
4348         * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
4349         static.
4350         * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
4351         * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
4352         and "popsection", and call cons for "uaword" and "uahalf".
4353
4354         * config/obj-elf.c (obj_elf_version): Use English in error
4355         messages.
4356
4357 Tue Aug  3 11:29:06 1993  Ian Lance Taylor  (ian@cygnus.com)
4358
4359         * config/obj-ecoff.c: Updated for BFD ECOFF changes.  Now gets the
4360         swapping routines and external structure sizes via the
4361         ecoff_backend information.  No longer includes coff/mips.h.
4362
4363 Mon Aug  2 17:35:48 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4364
4365         * config/obj-ecoff.c (get_tag): Save tag name in permanent memory
4366         and in hash_ptr->string.
4367
4368         * app.c (do_scrub_next_char): Reset state to 0 after .appline if
4369         file name is not seen.
4370
4371 Mon Aug  2 11:51:41 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4372
4373         * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): New case,
4374         parallel to BFD_RELOC_32.
4375         (tc_gen_reloc): Accept BFD_RELOC_64.
4376
4377 Thu Jul 29 22:21:28 1993  Ian Lance Taylor  (ian@cygnus.com)
4378
4379         * write.c: Don't use short int in a prototype.
4380
4381         * expr.c (operand): Make return value simply depend on contents of
4382         returned expression.
4383
4384 Thu Jul 29 18:38:37 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
4385
4386         * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
4387
4388 Thu Jul 29 18:38:37 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
4389
4390         * config/ho-sunos.h: remove some old function decls that conflict
4391         w/ ANSI, and which weren't needed anyway
4392
4393 Wed Jul 28 16:34:55 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4394
4395         * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
4396         and disabled since it breaks Ian's new symbol-value code.
4397
4398         * expr.c (integer_constant): Accept more digits if BFD64.
4399
4400 Wed Jul 28 11:30:05 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4401
4402         * config/tc-m68k.c (m68k_ip): If we have a normal constant when we
4403         expect a bignum, turn it into a bignum.  Output extra zeroes
4404         before a short bignum, rather than after.
4405
4406 Tue Jul 27 15:54:27 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4407
4408         * symbols.c (symbol_new): Conditionalize verify_symbol_chain call
4409         on DEBUG_SYMS, not DEBUG.
4410         (symbol_remove): Likewise.
4411         (symbol_insert): Likewise.
4412
4413 Tue Jul 27 08:45:05 1993  Ian Lance Taylor  (ian@cygnus.com)
4414
4415         * config/tc-mips.c (mips_optimize): New static variable.
4416         (append_insn): If mips_optimize == 0, always insert NOP
4417         instructions.  If mips_optimize < 2, don't swap branches.
4418         (md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
4419
4420 Mon Jul 26 18:02:43 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
4421
4422         * Makefile.in (clean): if testsuite does not exist, then skip it.
4423
4424 Fri Jul 23 14:13:25 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4425
4426         * config/tc-mips.c (prev_insn_unreordered,
4427         prev_prev_insn_unreordered): New static variables.
4428         (append_insn): Don't swap branch instruction if
4429         prev_prev_insn_unreordered (see comment).
4430         (mips_no_prev_insn): Clear the unreordered variables.
4431         (s_mipsset): When turning on reordering, set the unreordered
4432         variables.
4433
4434 Fri Jul 23 13:09:44 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4435
4436         * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
4437         are also magic, and have special default flag settings.
4438         (obj_elf_frob_symbol): Since the return value from this function
4439         isn't used, don't bother calling obj_elf_write_symbol_p, since it
4440         doesn't accomplish anything else.
4441
4442         * config/tc-sparc.c (md_section_align): Round up section size only
4443         for a.out format.
4444
4445         * symbols.c: Don't define DEBUG by default.
4446
4447 Thu Jul 22 12:09:41 1993  Ian Lance Taylor  (ian@cygnus.com)
4448
4449         * write.c (fix_new_exp): Handle a O_uminus expression.
4450
4451         * expr.c (expr): Don't let absolute_section override
4452         undefined_section for the return value.
4453
4454         * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
4455         pseudo-op with a poc_handler field of NULL, ignore it and treat it
4456         as an instruction instead.
4457         * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
4458         poc_handler field.
4459
4460         * config/tc-h8500.c (md_begin): Use a local variable when
4461         initializing md_relax_table to avoid warnings about modifying a
4462         supposedly const data structure.
4463
4464 Thu Jul 22 10:58:51 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
4465
4466         * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
4467         is defined.
4468
4469 Wed Jul 21 17:32:02 1993  Fred Fish  (fnf@deneb.cygnus.com)
4470
4471         * configure.in (case ${host}):  Map *-*-sysv4* to gas_host=sysv.
4472         * configure.in (case ${generic_target}):  Add i[34]86-*-sysv4*
4473         case to set obj_format=elf.  Must go before i386-*-sysv* case that
4474         sets obj_format=coffbsd.  Add *-*-sysv4* to *-*-elf and
4475         *-*-solaris case, and move to before *-sysv* case that wants to
4476         set obj_format to coff.
4477         * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
4478         'exp->X_op'.
4479         * config/tc-i386.c (md_apply_fix):  Fix valp to be 'valueT *' for
4480         BFD_ASSEMBLER case.
4481
4482 Wed Jul 21 12:47:51 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4483
4484         * config/obj-aout.c: Include aout/aout64.h.
4485         (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
4486         symbol, so that BFD doesn't tamper with the type.
4487
4488         * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
4489         up opcodes as pseudo-ops even if they don't start with '.'.
4490         * config/tc-m88k.h (NO_PSEUDO_DOT): Define.
4491         * config/tc-m88k.c (md_assemble): Removed special pseudo-op
4492         handling.
4493         (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
4494         Output the low 16 bits for RELOC_HI16, not the high 16 bits.
4495         * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
4496         r_offset field of the reloc to the fixup offset.
4497         (fixup_segments): If TC_M88K, don't warn about fixup overflows.
4498         * doc/as.texinfo: Minor updates.
4499
4500 Tue Jul 20 19:28:56 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4501
4502         * Extensive changes to permit symbols to contain any expression
4503         type and to delay the computation of the expression until the
4504         value is actually needed.  This permits setting symbols to values
4505         calculated based on object code size.  Expressions were changed to
4506         no longer be in a section, to stop the overloading of segment and
4507         expression type that previously occurred.
4508
4509         * as.c (big_section, pass1_section, diff_section, absent_section):
4510         Removed.
4511         (expr_section): Added (used for dummy symbols which hold
4512         intermediate expression values).
4513         (perform_an_assembly_pass): Create expr_section, do not create the
4514         sections now removed.
4515         * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
4516         SEG_DIFFERENCE.  Added SEG_EXPR.
4517         (SEG_NORMAL): Corresponding changes.
4518         * subsegs.c (seg_name, subsegs_begin): Changed accordingly.
4519         * write.c (write_object_file): Ditto.
4520         * config/obj-aout.c (seg_N_TYPE): Ditto.
4521         * config/obj-bout.c (seg_N_TYPE): Ditto.
4522         * config/obj-coff.c (seg_N_TYPE): Ditto.
4523         * config/obj-coffbfd.c (seg_N_TYPE): Ditto.
4524         * config/obj-vms.c (seg_N_TYPE): Ditto.
4525
4526         * expr.h (operatorT): Moved in from expr.c, added some values.
4527         (expressionS): Added X_op field, removed X_seg field; renamed
4528         X_subtract_symbol to X_op_symbol.
4529         * expr.c: Extensive changes to assign expression types rather than
4530         sections and to simplify the parsing.
4531         * write.c (fix_new_internal): New static function.
4532         (fix_new): Removed sub_symbol argument.
4533         (fix_new_exp): New function, takes expression argument.
4534         * write.h: Prototype changes for fix_new and fix_new_exp.
4535         * cond.c (s_if): Changed accordingly.
4536         * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
4537         parse_repeat_cons, get_segmented_expression,
4538         get_known_segmented_expression, get_absolute_expression): Ditto.
4539         * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
4540         Ditto.
4541         * write.c (write_object_file): Ditto.
4542         * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
4543         * config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
4544         obj_coff_endef, yank_symbols): Ditto.
4545         * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
4546         * config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
4547         print_insn, md_operand): Ditto.
4548         * config/tc-h8300.c (parse_exp, colonmod24, check_operand,
4549         do_a_fix_imm, build_bytes): Ditto.
4550         * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
4551         get_specific, check, insert, md_convert_frag): Ditto.
4552         * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
4553         md_assemble, pa_ip, getExpression, getAbsoluteExpression,
4554         evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
4555         process_exit): Ditto.
4556         * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
4557         is_complex): Ditto.
4558         * config/tc-i386.c (pe, md_assemble, i386_operand,
4559         md_estimate_size_before_relax, md_create_long_jump): Ditto.
4560         * config/tc-i860.c (md_assemble, getExpression, print_insn):
4561         Ditto.
4562         * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
4563         get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
4564         i960_handle_align): Ditto.
4565         * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
4566         subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
4567         md_estimate_size_before_relax, md_create_long_jump, get_num):
4568         Ditto.
4569         * config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
4570         md_create_short_jump, md_create_long_jump): Ditto.
4571         * config/tc-mips.c (md_assemble, append_insn, gp_reference,
4572         macro_build, macro, my_getExpression): Ditto.  Also removed
4573         get_optional_absolute_expression; just use get_absolute_expression
4574         instead.
4575         * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
4576         fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
4577         * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
4578         * config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
4579         Ditto.
4580         * config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
4581         print_insn): Ditto.
4582         * config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
4583         tip_op, md_assemble): Ditto.
4584         * config/tc-vax.c (seg_of_operand, md_assemble,
4585         md_estimate_size_before_relax, md_create_long_jump): Ditto.
4586         * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
4587
4588 Tue Jul 20 12:17:16 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
4589
4590         * configure.in: i386-lynx is the same as i386-coff
4591
4592 Mon Jul 19 15:21:20 1993  Ken Raeburn  (raeburn@rtl.cygnus.com)
4593
4594         * config/obj-elf.c (obj_elf_previous): New function.
4595         (previous_section, previous_subsection): New vars.
4596         (obj_elf_section): Save current place in case DWARF code wants us
4597         to pop back to it.  Handle unquoted section name as well as quoted
4598         section name.  Don't crash on invalid strings.
4599         (obj_pseudo_table): Handle new pseudos "previous", "2byte", and
4600         "4byte".
4601
4602         * config/obj-elf.h: Don't include struc-symbol.h.
4603         (obj_elf_frob_symbol): Declare arg as struct symbol *.
4604
4605         * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
4606         "L" or "_.L_".
4607
4608         * write.c (write_relocs): New function, split off from
4609         write_contents.  Use memset instead of bzero.
4610         (write_object_file): Apply write_relocs to each section before
4611         applying write_contents.
4612
4613         * read.c (read_begin): Call obstack_begin with values closer to 1K
4614         multiples.
4615         (read_a_source_file, big_cons, float_cons): Use memcpy instead of
4616         bcopy.
4617
4618 Mon Jul 19 14:30:00 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4619
4620         * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
4621         calculating opP->isiz; this permits the expression size to be
4622         determined as well, later on.
4623
4624         * expr.c (clean_up_expression): Don't cancel the subtraction of
4625         undefined symbols.
4626
4627         * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
4628         switch to text section rather than data section.
4629
4630 Mon Jul 19 12:35:39 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4631
4632         * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
4633         expression (to take the pc-rel instruction itself into account)
4634         before using the expression, instead of after.
4635
4636 Fri Jul 16 08:56:04 1993  Ian Lance Taylor  (ian@cygnus.com)
4637
4638         * read.c (float_cons): Simplified parsing logic.  If
4639         REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
4640
4641         * symbols.c (colon): Rather than a special case for TC_HPPA,
4642         use new macro tc_frob_label.
4643         * config/tc-hppa.h (tc_frob_label): Define.
4644
4645         * config/tc-mips.c: Many changes to support simple assembler
4646         optimization.
4647         (insn_label, prev_insn, prev_prev_insn, dummy_opcode,
4648         prev_insn_valid, prev_insn_frag, prev_insn_where,
4649         prev_insn_fixp, prev_insn_is_delay_slot): New static
4650         variables.
4651         (insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
4652         mips_align, s_stringer, s_mips_space): New static functions.
4653         (mips_define_label): New global function.
4654         (md_pseudo_table): For "ascii", "asciz", "asciiz", call
4655         s_stringer.  Changed argument to float_cons from 0 or 1 to 'f'
4656         or 'd'.  For "space" call s_mips_space.
4657         (md_begin): Call mips_no_prev_insn.
4658         (append_insn): Only insert necessary NOP instructions.
4659         (macro): Call mips_emit_delays before setting mips_noreorder.
4660         Increment and decrement mips_noreorder rather than using
4661         save_reorder_condition.  Don't bother to use noreorder in
4662         M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
4663         (md_atof): Handle floating point numbers correctly for both
4664         big and little endian targets.
4665         (s_align, s_cons): Call mips_align rather than frag_align.
4666         (s_change_seg, s_cons): Call mips_emit_delays.
4667         (s_float_cons): Let float_cons do the work.
4668         (s_mipsset): Call mips_emit_delays when setting noreorder.
4669         * config/tc-mips.h (tc_frob_label): Define to be
4670         mips_define_label.
4671
4672         * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
4673         ecoff_frob_files): Consistently use S_GET_VALUE rather than
4674         bfd_asymbol_value.  Warn if taking difference of symbols in
4675         different segments.
4676
4677 Thu Jul 15 11:51:03 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4678
4679         * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
4680         with a warning.
4681
4682         * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
4683         by md_pcrel_from if we are relocating against a symbol (we still
4684         need md_pcrel_from for a PC relative relocation within the same
4685         file).
4686         * config/tc-m88k.c (md_pcrel_from): Corrected return value.
4687         (omagic): Removed unused variable.
4688
4689         * Preliminary support for m88k-coff.
4690         * configure.in (m88k-*-coff*): New target.  Use coffbfd and
4691         m88kcoff.
4692         * config/m88kcoff.mt: New file.
4693         * read.c (lex_type): New macro LEX_AT to set lex type of '@'.
4694         (pseudo_set): Handle difference of symbols in different fragments
4695         by saving the entire expression as the value of the symbol.
4696         * symbols.c (resolve_symbol_value): Resolve difference
4697         expressions.
4698         * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
4699         "sdef" as a synonym for "def".
4700         * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
4701         TARGET_FORMAT.
4702         (S_IS_LOCAL): Any symbol which includes \001 in the name is local.
4703         * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
4704         m88k port up to date, and to add COFF support.
4705
4706 Wed Jul 14 15:09:32 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4707
4708         * Removed sy_forward and replaced it with an undefined expression
4709         as the value of a symbol.
4710         * struc-symbol.h (struct symbol): Removed sy_forward field.  Added
4711         sy_resolved and sy_resolving single bit fields.
4712         * symbols.c (symbol_new): Don't initialize sy_forward field.
4713         (resolve_symbol_value): New function to adjust symbol value by
4714         fragment address, using recursion to resolve forward symbols.
4715         * symbols.h: Added prototype for new function.
4716         * read.c (pseudo_set): Set symbolP->sy_value to an undefined
4717         expression rather than setting symbolP->sy_forward.
4718         * write.c (write_object_file): Use resolve_symbol_value on
4719         symbols, keeping the common case (the old behaviour) inline.
4720         * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
4721         handling (subsumed by write.c change).
4722         * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
4723         sy_value rather than sy_forward.
4724         * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
4725         expression segment rather than sy_forward.
4726         (yank_symbols): Use resolve_symbol_value.
4727         (crawl_symbols): Removed extra pass over symbols.
4728         * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
4729         config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
4730         symbols which handled sy_forward; use resolve_symbol_value
4731         instead.
4732         * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
4733         Define.
4734         * config/obj-elf.c (obj_elf_stab_generic): Check expression
4735         segment rather than sy_forward.
4736         * config/obj-vms.c (VMS_Check_For_Main): Don't initialize
4737         sy_forward; do initialize sy_resolved and sy_resolving.
4738         * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
4739
4740         * Changes to keep a full expression as the value of a symbol, not
4741         just a longword:
4742         * struc-symbol.h: New field sy_value.
4743         * as.h: Include expr.h before struc-symbol.h.
4744         * expr.h: Use struct symbol rather than symbolS.
4745         * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
4746         of sy_value field; compile unconditionally, not just if
4747         BFD_ASSEMBLER.
4748         * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
4749         * write.c (write_object_file): Set BFD symbol value to gas symbol
4750         value.
4751         * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
4752         config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
4753         (S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
4754         * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
4755         * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
4756         S_GET_VALUE rather than ost_entry.n_value.
4757         * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
4758         (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
4759         config/obj-coffbfd.c (symbol_to_chars): Get value to write out
4760         using S_GET_VALUE--don't assume it is already set.
4761         * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
4762         symbol value.
4763         * config/obj-vms.c (various): Don't assign directly to
4764         S_GET_VALUE; use S_SET_VALUE instead.
4765
4766 Wed Jul 14 09:35:23 1993  Doug Evans  (dje@canuck.cygnus.com)
4767
4768         * configure.in: Make sparc64-*-aout* use bfd gas.
4769
4770         * configure.in: Recognize h8300h.
4771
4772 Tue Jul 13 12:09:44 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
4773
4774         * config/tc-h8500.c (line_comment_chars): Add hash.
4775         (parse_exp, skip_colonthing, build_bytes): Add support for
4776         R_H8500_HIGH16 relocation type.
4777
4778 Mon Jul 12 11:15:34 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
4779
4780         * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
4781         attribute name.  Handle `execinstr' attribute.
4782
4783 Mon Jul 12 07:22:28 1993  Ian Lance Taylor  (ian@cygnus.com)
4784
4785         * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
4786         there is another alternative for the instruction.
4787
4788 Fri Jul  9 17:31:34 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
4789
4790         * doc/as.texinfo: updates for H8/300H
4791
4792 Thu Jul  8 14:41:43 1993  Mark Eichin  (eichin@cygnus.com)
4793
4794         * config/tc-i960.c (md_create_short_jump, md_create_long_jump,
4795         md_number_to_chars, md_section_align): Adjusted to use valueT,
4796         addressT, to match tc.h.
4797
4798 Thu Jul  8 14:15:05 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4799
4800         * config/tc-sparc.c (s_common): Revamp to handle both syntaxes,
4801         independent of format.
4802
4803 Thu Jul  8 07:25:25 1993  Doug Evans  (dje@canuck.cygnus.com)
4804
4805         * config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h.
4806
4807 Wed Jul  7 18:11:07 1993  david d `zoo' zuhn  (zoo at rtl.cygnus.com)
4808
4809         * configure.in: define CROSS=-DCROSS_COMPILE if it is a cross
4810         build; also recognize h8300-*-coff
4811
4812 Wed Jul  7 10:21:24 1993  Ian Lance Taylor  (ian@cygnus.com)
4813
4814         * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
4815         core just because somebody uses a label before it is defined.
4816
4817         * config/mips-opcode.h: Moved to opcode/mips.h.
4818         * config/tc-mips.c: Include opcode/mips.h rather than
4819         mips-opcode.h.
4820         (append_insn): An extra NOP is only needed after instructions
4821         which set HI or LO, not after instructions which read it.
4822         (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
4823         (macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
4824         * config/tc-mips.h (struct mips_opcode): Don't define.
4825         * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
4826         Set to $(srcdir)/../include/opcode/mips.h.
4827
4828         Get the MIPS assembler up to speed with other gas changes:
4829
4830         * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
4831         Removed; don't change the symbol value.
4832         (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
4833         bfd_asymbol_value rather than S_GET_VALUE to include section
4834         vma in symbol value.
4835         (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
4836         doesn't output them.  Set the vma of sections.
4837         * config/obj-ecoff.h: Don't define obj_frob_symbol.
4838         * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
4839         longer necessary.
4840         (various): use valueT rather than long.
4841
4842 Wed Jul  7 08:33:30 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4843
4844         * config/tc-sparc.h (ENV64): Define for v9.
4845
4846         * config/tc-sparc.c (s_xword): For numbers, call big_cons.
4847         (sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64
4848         relocation types.
4849         (md_number_to_chars): Handle 8-byte value.
4850
4851         * config/obj-elf.h (elf_symbol): For v9, use 64-bit symbol type.
4852
4853         * as.h (valueT): Typedef moved here.
4854         * struc-symbol.h (valueT): ...from here.
4855         * write.c (write_object_file): Locals from_addr, to_addr,
4856         table_addr are now addressT.  Supply prototype for bfd_alloc for
4857         now.
4858         (fixup_segment): Local add_number is now valueT.  Correct some
4859         range-checking bugs.
4860         (relax_align): Type `int' should be sufficient for the exponent.
4861         (fix_new): Argument offset is type offsetT.  Locals size and
4862         newsize are type valueT.
4863         * write.h (struct fix): Fields fx_offset and fx_addnumber are now
4864         type valueT.
4865         (fix_new): Fix prototype.
4866         * symbols.c (symbol_new): Symbol value is type valueT.
4867         (S_SET_VALUE, S_GET_VALUE): Likewise.
4868         (S_IS_*): Specify int return type explicitly.
4869         * symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed
4870         prototypes.
4871         * read.c (s_comm): Values read are type valueT.
4872         * expr.h (expressionS): Field X_add_number is an offsetT.
4873         * tc.h (md_create_long_jump, md_create_short_jump,
4874         md_section_align): Addresses are now type addressT.
4875         (md_number_to_chars, md_apply_fix): Pass value as valueT.
4876         * config/tc-i386.c (md_create_short_jump, md_create_long_jump,
4877         md_number_to_chars, md_section_align): Adjusted.
4878         * config/tc-sparc.c (sparc_ip): Initialize `len' variable to make
4879         gcc shut up.
4880         (md_create_short_jump, md_create_long_jump, md_number_to_chars,
4881         md_section_align): Adjusted.
4882
4883         * config/tc-sparc.c (s_reserve): Permit use for other than a.out
4884         format.
4885         (s_common): Handle Solaris-2 version.
4886
4887         * config/ho-generic.h (free): Returns void if __STDC__.
4888
4889         * config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file,
4890         elf_file_symbol): Declare.
4891
4892         * expr.c (floating_constant, integer_constant): Now return void.
4893
4894 Thu Jul  1 12:13:43 1993  Ian Lance Taylor  (ian@cygnus.com)
4895
4896         * configure.in: Match on sparc*-fujitsu-none rather than
4897         sparclite*-fujitsu-none.
4898
4899 Wed Jun 30 11:12:02 1993  Ian Lance Taylor  (ian@cygnus.com)
4900
4901         * read.c (cons): Conditionalize parsing of expression.  Move
4902         putting value into object file into separate function.  Separate
4903         out MRI and WANT_BITFIELDS cases into separate functions.
4904         (emit_expr): New function to write data into object file.
4905         Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
4906         processor types.
4907         (parse_bitfield_cons): New function to parse bitfield expressions
4908         as used by i960 assemblers.  Only compiled if
4909         BITFIELD_CONS_EXPRESSIONS is defined.
4910         (parse_mri_cons): New function to parse MRI style strings.  Only
4911         compiled if MRI is defined.
4912         (parse_repeat_cons): New function to parse repeat counts.  Only
4913         compiled if REPEAT_CONS_EXPRESSIONS is defined.
4914         * read.h (emit_expr): Added declaration of new function.
4915         * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
4916         * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
4917         * config/tc-hppa.c (parse_cons_expression_hppa): New function to
4918         parse a HPPA expression, rather than special case in cons
4919         function.
4920         (cons_fix_new_hppa): New function to emit an HPPA fixup, rather
4921         than special case in emit_expr function.
4922         * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
4923         Define to use new functions from tc-hppa.c.
4924         * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
4925         (WANT_BITFIELDS): Removed; now obsolete.
4926         * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
4927         * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
4928         NS32K fixup, rather than special case in emit_expr function.
4929         * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
4930         cons_fix_new_ns32k.  Also use PARAMS rather than checking
4931         __STDC__.
4932         * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.
4933
4934         * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
4935         Don't core dump if gas has no information about a section.
4936
4937 Wed Jun 30 06:21:27 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
4938
4939         * config/tc-sparc.c (md_begin): If sparcv9 is defined, reset
4940         current_architecture to v9 automatically.
4941
4942         * config/tc-sparc.h (TARGET_FORMAT): Use elf64-sparc for v9.
4943
4944         * config/tc-sparc64.h, config/tc-sparc64.c: New files.
4945         * configure.in: Use sparc64 cpu files for v9, and default to elf
4946         format.
4947
4948         * write.c (relax_and_size_seg): Always fully process a section.
4949         Section size is last frag's (vm)address plus its size.  If no
4950         relocations are present, force SEC_RELOC flag clear.
4951         (dump_section_relocs): New debugging routine.
4952         (adjust_reloc_syms): New routine, broken out from write_contents.
4953         Don't adjust relocs that are already relative to section symbol.
4954         Look for obj_fix_adjustable macro to know what else to skip,
4955         instead of obj_write_symbol.  Look for section symbol stored in
4956         section information.
4957         (write_object_file): Map adjust_reloc_syms over all sections.
4958         (write_contents): Clear SEC_RELOC flag if no relocations are
4959         found.
4960
4961         * as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to
4962         keep it quiet.
4963
4964         * write.c (remove_subsegs): Don't define for BFD_ASSEMBLER.
4965
4966 Fri Jun 25 14:42:53 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
4967
4968         * Makefile.in (all, dvi, info, install-info, clean-info): do not
4969           echo recursion lines.
4970           (install-info, clean-info): collapse into the dvi and info rule.
4971
4972 Fri Jun 25 10:47:24 1993  Doug Evans  (dje@canuck.cygnus.com)
4973
4974         * config/tc-sparc.c (sparc_ip): Remove support for %d/%q fp regs.
4975         All fp regs are now specified as %f.
4976         (priv_reg_table): fpq -> fq.
4977
4978 Fri Jun 25 03:43:06 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
4979
4980         * as.h (strstr): Disable declaration for now.
4981         (fprint_value, sprint_value): Declare.
4982
4983         * subsegs.c (subseg_new_rest): Use memset to clear new frag.
4984         (subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields.
4985
4986         * expr.c (expr_part): Made sanity checks a.out-specific.
4987         (expr): Disabled sanity checks.
4988
4989         * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for
4990         section symbol.
4991         * subsegs.c (subseg_change): Initialize section symbol pointer
4992         when setting up a new section.
4993
4994         * symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata
4995         field back at gas symbol structure.
4996
4997         * symbols.c (colon): Cast obstack_next_free value to char* before
4998         doing arithmetic on it.
4999         * subsegs.c (subseg_new_rest): Likewise.
5000         * as.h (frag_now_fix): Likewise.
5001
5002         * config/obj-elf.c (elf_file_symbol): Use subseg_new instead of
5003         calling bfd_make_section_old_way directly, and call subseg_set
5004         instead of subseg_change.  Now returns void.
5005         (obj_elf_write_symbol): Only check local symbols for now.
5006         (elf_stab_symbol): Now static and void, and disabled until it
5007         works completely.
5008         (obj_elf_size): For expression values, fail silently for now.
5009         (obj_symbol_new_hook): Do nothing.
5010
5011         * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22
5012         relocation.
5013         (s_local) [OBJ_ELF]: New function.
5014         (md_pseudo_table) [OBJ_ELF]: Call it for "local".
5015         (s_common): Rearrange to handle Solaris .common pseudo, which may
5016         sometimes use bss space instead of common.
5017         * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field.
5018
5019 Thu Jun 24 16:33:53 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
5020
5021         * configure.in: set host config to hpux for hppa*-hp-hpux
5022
5023 Thu Jun 24 13:35:06 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
5024
5025         * app.c (app_pop, app_push): Fix bug reported by Chris Arthur.
5026
5027 Tue Jun 22 01:04:23 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
5028
5029         * subsegs.c (subseg_new): Don't special-case a.out -R flag here.
5030         * config/obj-aout.c (s_sect): Do it here.
5031
5032         * as.h (BAD_CASE): Don't make some lame compilers think we want
5033         substitution inside strings.
5034
5035         * as.c (print_version_id): New function, split off from main.
5036         (main): Call it.
5037         * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id
5038         for -V.  Ignore -Q and -s options for now.
5039
5040 Mon Jun 21 17:37:59 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
5041
5042         * Makefile.in: make installation & builds work again for crosses
5043
5044 Sun Jun 20 18:18:26 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
5045
5046         * listing.c (list_symbol_table): Rewrite to print wide (>32 bits)
5047         symbol values correctly.
5048
5049         * write.c (write_object_file): Deleted unused variables.
5050         (fixup_segment): Use sprint_value.
5051
5052         * messages.c (sprint_value, fprint_value): New routines.
5053
5054         * config/obj-elf.c (elf_stab_symbol): Now returns void.
5055         (obj_elf_stab_generic): Fix typo in logic.
5056
5057         * Makefile.in (INCLUDES): Look in ../bfd for bfd.h.
5058
5059         * as.h (addressT, offsetT): New types, using BFD types if
5060         available.
5061         (relax_addressT, struct frag): Use them.
5062         * struc-symbol.h (valueT, struct broken_word): Likewise.
5063
5064         * as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
5065         * subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
5066
5067 Thu Jun 17 16:53:56 1993  david d `zoo' zuhn (zoo@cygnus.com)
5068
5069         * Makefile.in: canonicalize install.sh; for use within
5070         this directory (and subdirs)
5071
5072 Sun Jun 20 02:34:04 1993  Ashley Saulsbury (ans@sics.se)
5073
5074         * m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
5075         specified, should have both S1 and S2 fields identical
5076         If only finding the problem was as fast as fixing the bug !!!!
5077
5078 Tue Jun 15 16:01:57 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5079
5080         * write.c (write_contents): Do write out non-loadable sections.
5081         Debug sections can fall in this category.
5082
5083         * read.c (s_app_file): Call elf_file_symbol for ELF files.
5084         * config/obj-elf.c (elf_file_symbol): New function.
5085
5086         * config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_...,
5087         added argument to specify section base name.
5088         (obj_elf_stab_generic): Renamed from ..._stab.  New argument
5089         specifies section base name.
5090         (obj_elf_stab): New function, calls obj_elf_stab_generic with
5091         ".stab" as section base name.
5092         (obj_elf_xstab): New function, calls obj_elf_stab_generic.
5093         (obj_elf_type): Handle "object".  Use bitwise-or to merge in
5094         symbol flags rather than simply replacing, so global/local flags
5095         are preserved.
5096         (obj_elf_ident): Rewrite.
5097
5098 Tue Jun 15 17:03:25 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
5099
5100         * Makefile.in: remove parentdir support; use INSTALL_XFORM
5101
5102 Wed Jun  9 11:26:07 1993  Ian Lance Taylor  (ian@cygnus.com)
5103
5104         * config/tc-i386.c (md_pseudo_table): .align uses a power of two
5105         for any a.out target, not just Linux and 386BSD.
5106         * config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out
5107         target.
5108
5109 Mon Jun  7 13:33:19 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5110
5111         * config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h.  They
5112         don't exist or duplicate other inclusions.
5113
5114         * config/tc-vax.h (NO_RELOC): Define.
5115
5116 Mon Jun  7 09:55:03 1993  Doug Evans  (dje@canuck.cygnus.com)
5117
5118         * config/tc-sparc.c (sparc_ip): Fix parsing of asi number.
5119         Fix error message.
5120
5121 Sat Jun  5 19:32:52 1993  Torbjorn Granlund  (tege@nada.kth.se)
5122
5123         * gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions.
5124         * gas/config/tc-m88k.c (get_reg): New arg reg_prefix.  Compare first
5125         char to reg_prefix instead of to 'r'.
5126         (calcop): Change calls to get_reg.
5127         (calcop): Handle new case 'x' to set reg_prefix.
5128         (calcop): Set reg_prefix to 'r' after each call to get_reg.
5129         (cmpslot): Add 88110 conditions.
5130
5131         * gas/config/m88k-opcode.h: Swap cases for "rot" for consistency.
5132
5133         * gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer
5134         before returning.
5135
5136         * gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics
5137         adjacent; mov.s and mov.d swapped.
5138         (m88k_opcodes): Fix typo `r2' -> `2'.
5139
5140 Fri Jun  4 15:59:31 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
5141
5142         * config/h8300.c: Support for H8/300-H opcodes.
5143
5144         * config/obj-coffbfd.c (w_strings): String table length is 4
5145         bytes, no matter what the host int size is.
5146
5147         * configure.in (alpha-*-osf*): New.
5148
5149 Fri Jun  4 07:51:18 1993  Ian Lance Taylor  (ian@cygnus.com)
5150
5151         * configure.in (mips-*-ecoffl*): New target; use ecoff and
5152         mips-lit.
5153         (mips-*-ecoff*): Added trailing '*'.
5154
5155         * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
5156         first FDR in a file to be zero.
5157
5158 Thu Jun  3 14:09:59 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5159
5160         * Makefile.in (VERSION): Jump to 2.1.4.
5161
5162         * config/ho-hppabsd.h: New file, from Peter Hoogenboom.
5163
5164         * config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for
5165         ECOFF format.
5166
5167 Tue Jun  1 15:21:57 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5168
5169         * config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a
5170         separate '851 mmu.
5171
5172         * config/obj-elf.c, config/obj-elf.h: Update for new type, macro,
5173         and routine names.  Assuming 32 bits for now.
5174
5175         * config/obj-elf.c (elf_frob_file): Look for macro
5176         elf_tc_final_processing_hook, instead of assuming a function
5177         always exists.
5178         * config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from
5179         tc_final_processing_hook.
5180         * config/tc-hppa.h (elf_tc_final_processing_hook): Use it.
5181
5182         * config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros
5183         moved here from obj-elf.h.
5184         * config/obj-elf.h: Don't include CPU-specific header files.
5185
5186 Sun May 30 16:49:37 1993  Peter Hoogenboom  (hoogen@fast.cs.utah.edu)
5187
5188         * configure.in: configurations should match on 'hppa*' not 'hppa'.
5189
5190         * read.c: Add support for HPPA assembly language syntax (denoted
5191         with '#ifdef TC_HPPA').
5192
5193         * symbols.c: Add support for HPPA assembly language syntax (denoted
5194         with '#ifdef TC_HPPA').
5195
5196         * write.c (write_contents):  Add support for HPPA-style
5197         relocations.
5198
5199         * config/obj-elf.c: Stab symbols weren't written properly.
5200         (obj_elf_version):
5201         (obj_elf_desc):
5202         (obj_elf_write_symbol):
5203         (obj_elf_write_symbol_p):
5204         (obj_elf_frob_symbol):
5205         (elf_stab_symbol):
5206         (elf_frob_file):
5207
5208         * config/tc-hppa.c: Support for HPPA symbol extension sections.
5209         Remove some unused code.  Support for HPPA assembly language
5210         syntax.
5211
5212         * app.c:
5213
5214         * symbols.c:
5215
5216         * config/obj-elf.h:
5217         (obj_write_symbol):
5218         (obj_frob_file):
5219         (elf_tc_symbol):
5220         (elf_tc_make_sections):
5221
5222         * config/tc-hppa.h:
5223
5224 Sun May 30 21:44:45 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
5225
5226         * config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume
5227         hash_new will have succeeded if it returns.
5228         * config/tc-a29k.c (md_begin): Likewise.
5229
5230         * config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is
5231         const.
5232         (mode_from_disp_size, opcode_suffic_to_type): Now inline under
5233         gcc.
5234         (fits_in_{signed,unsigned}_{byte,word}): Likewise.
5235
5236         * expr.c: Delete register declarations; gcc ignores them anyways.
5237
5238 Fri May 28 19:03:32 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5239
5240         * hash.c (hash_new): Use xmalloc, since many callers don't check
5241         for failure.
5242
5243 Thu May 27 13:02:15 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5244
5245         * frags.c (zero_address_frag, bss_address_frag): These are
5246         external.
5247
5248         * tc.h (md_reloc_size): This is const.
5249         * config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c
5250         (md_reloc_size): Now const.
5251
5252         * config/aout_gnu.h (enum machine_type, enum reloc_type): Delete
5253         trailing commas.
5254         * as.h (enum _segT): Ditto.
5255
5256         * struc-symbol.h (N_TYPE_seg): This should be const.
5257
5258 Thu May 27 11:43:59 1993  Michael Meissner  (meissner@osf.org)
5259
5260         * config/obj-ecoff.c (add_file): Cast file_name to char * in
5261         listing_source_file call.
5262
5263         * config/obj-elf.c (elf_stab_symbol_string): Cast first argument
5264         of subseg_new call to eliminate const attribute.
5265         (obj_elf_stab): Ditto.
5266         (obj_symbol_new_hook): Cast first argument of bzero call to char *.
5267
5268         * read.c (s_align_bytes): Properly record alignment.
5269
5270         * expr.c (__): Undefine __ macro before use, since OSF/1 uses it
5271         for the prototype/no prototype macro.
5272
5273         * as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be
5274         void.
5275
5276         * as.h (relax_stateT enum): Delete trailing comma.
5277
5278 Thu May 27 11:07:50 1993  Ian Lance Taylor  (ian@cygnus.com)
5279
5280         * app.c (do_scrub_begin): Let line_comment_chars override
5281         comment_chars.
5282         (do_scrub_next_char): If a line comment character is not at the
5283         start of a line, treat it as a comment character if it is one.
5284         For a CPP line comment use pseudo-op .appline rather than .line.
5285         * input-scrub.c (logical_input_line): Make int rather than
5286         unsigned.
5287         (input_scrub_push, input_scrub_begin): Initialize
5288         logical_input_line to -1 rather than 0.
5289         (bump_line_counters): Increment logical_input_line.
5290         (new_logical_line): If line_number is -2, decrement
5291         logical_input_line.
5292         (as_where): Use logical_input_line even if it is 0.
5293         * read.h (s_app_file prototype): Now takes an int argument.
5294         * read.c (potable): Make .appfile call s_app_file with 1.  New
5295         .appline pseudo-op calls s_app_line.
5296         (s_app_file): If .appfile, call new_logical_line with -2 to
5297         account for newline inserted by do_scrub_next_char.  If listing,
5298         call listing_source_file.
5299         (s_app_line): New function to handle fake pseudo-op .appline.
5300         * config/obj-coff.c (obj_pseudo_table): Make .appline call
5301         obj_coff_ln.
5302         (obj_coff_ln): Added argument to indicate whether .appline.
5303         * config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
5304         obj_coff_ln.
5305         (obj_coff_ln): Added argument to indicate whether .appline.
5306         * config/tc-mips.c (s_file): Pass argument to s_app_file.
5307
5308 Tue May 25 11:59:07 1993  Ian Lance Taylor  (ian@cygnus.com)
5309
5310         * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast.
5311
5312 Thu May 20 19:14:24 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5313
5314         * config/tc-m68k.c (md_apply_fix_2): Straighten out check for
5315         invalid values.
5316
5317 Wed May 19 07:33:17 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
5318
5319         * config/tc-h5000.c (build_bytes): Understand @rd mode and build
5320         relocations correctly.
5321
5322 Mon May 17 15:06:26 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
5323
5324         * Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because
5325         it's wrong.
5326
5327         * config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn
5328         if value is out of range.
5329
5330         Patch from Minh Tran-Le:
5331         * config/tc-i386.c (i386_operand): For in/out port register used
5332         as base reg, include InOutPortReg in operand type.
5333         (MATCH): Accept overlap value of InOutPortReg.
5334
5335 Mon May 17 09:29:34 1993  Ian Lance Taylor  (ian@cygnus.com)
5336
5337         * config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab):
5338         Add calls to listing routines to produce combined source/assembler
5339         listings.
5340         (obj_ecoff_stab): Create a file pointer if none used yet.
5341         (ecoff_frob_file): Set symcount to correct value.
5342
5343 Fri May 14 06:53:33 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
5344
5345         * Makefile.in (VERSION): Bump to version 2.1, in preparation for
5346         release.
5347
5348         * config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE):
5349         Define in terms of constants, not C structure sizes.
5350
5351         * config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files.
5352
5353 Thu May 13 17:01:55 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5354
5355         * config/obj-aout.c (obj_header_append): Don't define if it's
5356         defined as a macro.
5357         * config/obj-hp300.h (obj_header_append): Define it as a macro.
5358         * config/obj-hp300.c (hp300_header_append): New function.
5359
5360         * Makefile.in (distclean): Don't bother cleaning up doc files;
5361         they aren't going to be in this directory.
5362
5363 Thu May 13 07:51:35 1993  Ian Lance Taylor  (ian@cygnus.com)
5364
5365         * config/obj-ecoff.c (ecoff_build_symbols): Handle absolute
5366         symbols.
5367
5368         * tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
5369         * config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
5370
5371 Mon May 10 06:01:12 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
5372
5373         * config/obj-vms.c (VMS_Symbol_type_list): Don't bother with
5374         initialization.
5375
5376         * configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff.
5377
5378 Wed May  5 14:00:49 1993  Ian Lance Taylor  (ian@cygnus.com)
5379
5380         * config/tc-mips.c (macro): Correct floating point double word
5381         loads and stores for big endian target.
5382
5383 Wed May  5 08:39:21 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
5384
5385         * config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_*
5386         calls.  Deleted some unused code.
5387         * config/obj-coff.c: Likewise.
5388
5389         ELF support, mostly contributed by Utah:
5390         * config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line,
5391         obj_elf_type): Rewrite.
5392         (obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol,
5393         obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size):
5394         New functions.
5395         (obj_elf_ident): Dummy.
5396         * config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol,
5397         TARGET_SYMBOL_FIELDS): New macros.
5398         (gdb_section): New variable decl.
5399
5400         * config/tc-i386.c (md_atof): Return zero, not empty string, on
5401         success.
5402
5403         BFD_ASSEMBLER conditional changes:
5404         * config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header):
5405         Don't define these.
5406         (SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions.
5407         (fetch_coff_debug_section): Ditto.
5408         (obj_coff_endef): Call fetch_coff_debug_section.
5409         (struct line_no): New type.
5410         (c_symbol_merge): New way for copying aux fields.
5411         (c_dot_file_symbol): Put symbol in absolute section, and set flag
5412         BSF_DEBUGGING.
5413         (function_lineoff): New symbol.
5414         (function_lineoff, text_lineno_number, our_lineno_number,
5415         lineno_lastP): Don't define.
5416         (c_line_new): Don't define.
5417         (obj_emit_lineno, obj_coff_endef): Use abort calls as, uh,
5418         placeholders, until
5419         line-number recording gets implemented.
5420         (obj_new_symbol_hook): New code for handling aux fields.
5421         (add_lineno, add_linesym): New functions.
5422         (obj_coff_ln): Call add_lineno, not c_line_new.
5423         (obj_coff_endef): New code for handling symbol names.  New lineno
5424         code.  Look for section name "*DEBUG*" for debugging section.
5425         (align, coff_check_file_symbols, obj_coff_section,
5426         coff_frob_file): New functions.
5427         * config/obj-coff.h: Reordered some includes.
5428         (BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg,
5429         DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't
5430         define these.
5431         (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros.
5432         (SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing
5433         aux entries.  Most SA_* macros now use it unconditionally.
5434         (S_*): Use `bsym' field, and access BFD private data.
5435         (SF_*): Use `sy_flags' symbol field for most of these.
5436         (H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't
5437         define.
5438         (*_section_header): Don't define.
5439         * config/tc-i386.c (md_convert_frag, md_apply_fix): Changed
5440         interface.
5441         (tc_gen_reloc) [I386COFF]: New function.
5442         (tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define.
5443         * config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New
5444         macros.
5445
5446         * config/obj-coff.c (stack_init): Don't do assignments inside
5447         conditions.
5448         (obj_coff_def): Simplified handling of symbol name a bit.
5449         (tag_insert): Name argument is now pointer to CONST.
5450         (obj_crawl_symbol_chain): Commented out.
5451
5452         * config/obj-coff.h: Use PARAMS macro in prototypes.
5453
5454         * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect
5455         through frchainP pointer if it is null.
5456
5457         * configure.in: Warn if BFD mode is explicitly turned off but is
5458         required by specified target.
5459         (mips ecoff targets): Don't need to set bfd_gas here; it gets
5460         taken care of later.
5461
5462         * config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward
5463         field.
5464         (yank_symbols): Merge symbols only if sy_forward is null.
5465
5466         * config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already
5467         defined.
5468
5469         * tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not
5470         pointer.
5471         * config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto.
5472
5473         * config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting
5474         with "." is a local label.
5475
5476         * config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config
5477         files.
5478
5479         * config/te-linux.h, config/te-386bsd.h: New config files.
5480         * configure.in (i386-*-linux, i386-*-bsd): Use them.
5481         * config/tc-i386.h (TARGET_FORMAT): Select format based on target
5482         environment.
5483         (DOT_LABEL_PREFIX): Don't define for 386bsd or Linux.
5484
5485 Wed May  5 13:14:01 1993  Ian Lance Taylor  (ian@cygnus.com)
5486
5487         * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
5488         to want it that way.
5489         (ecoff_build_symbols): Turn local st_Proc symbols into
5490         st_StaticProc symbols.  Set index field of external st_Proc and
5491         st_staticProc symbols correctly.
5492         * config/tc-mips.h (NO_LISTING): Don't define.  People might want
5493         listings.
5494
5495 Tue May  4 21:22:54 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5496
5497         * config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New
5498         files.
5499         * configure.in (m68k-*-hpux): Use them.
5500
5501         * config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if
5502         defined, otherwise zero.
5503
5504         * config/aout_gnu.h (OMAGIC): Don't define if already defined.
5505
5506 Mon May  3 15:59:32 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
5507
5508         * config/tc-sparc.c (sparc_ip): Allow any abs expression as an
5509         address space number.
5510
5511 Wed Apr 28 19:11:22 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
5512
5513         * config/obj-aout.h (TARGET_DEFAULT): Don't default this at all.
5514
5515         * config/tc-a29k.c: Include ctype.h.
5516         (define_some_regs): Added special-purpose registers for 29050.
5517
5518         * config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/".
5519
5520         * config/obj-coffbfd.c (fill_section): Don't set STYP_REG here.
5521         (change_to_section): Set it here instead.
5522
5523 Wed Apr 28 13:40:29 1993  Ian Lance Taylor  (ian@rtl.cygnus.com)
5524
5525         * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
5526         hasn't been seen yet.
5527         (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
5528
5529 Mon Apr 26 18:29:05 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
5530
5531         * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi
5532         SH.
5533
5534 Mon Apr 26 12:28:27 1993  Ian Lance Taylor  (ian@cygnus.com)
5535
5536         * expr.c (operand): Fix unary plus operator (previously was the
5537         same as '~' operator!).
5538
5539 Wed Apr 21 00:20:11 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5540
5541         * write.c (cvt_frag_to_fill): Define even if BFD is defined.
5542         (write_object_file): Do define if BFD_ASSEMBLER.  Invoke
5543         obj_check_file_symbols if defined.  Call verify_symbol_chain_2
5544         instead of open-coding it.  Fix some bugs in patching up symbol
5545         chain.
5546         (relax_segment): Make some code we "ought to be able to" use for
5547         all targets no longer conditionalized on ns32k target; instead, do
5548         it always, and if the appropriate conditions fail, abort.
5549
5550         * symbols.c (DEBUG): Enabled.
5551         (symbol_new): Make sure bfd_make_empty_symbol works.
5552         (verify_symbol_chain_2): New funcion; takes one symbol as
5553         argument, anywhere in the chain.
5554         (dollar_label*): Use default initializers.
5555
5556         * as.c (perform_an_assembly_pass): Call md_begin here...
5557         (main): ...and not here.
5558
5559         * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
5560         (tc_frob_symbol): New macro: Get rid of symbols in reg_section.
5561
5562         * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
5563         (add_fix, add_frag): Now functions instead of macros.
5564         (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
5565         s_data1, s_data2, s_bss): Use new *_section names, for
5566         compatibility with BFD_ASSEMBLER mode; rewrite switch statements
5567         to handle non-integral segT.
5568         (tc_coff_fix2rtype, tc_aout_fix_to_chars,
5569         tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
5570         (tc_gen_reloc): New routine for BFD_ASSEMBLER.
5571         (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
5572         md_apply_fix_2; new md_apply_fix definition varies interface
5573         depending on BFD_ASSEMBLER.
5574         (md_convert_frag, md_convert_frag_1): Likewise.  Use new *_section
5575         names.
5576
5577         * config/obj-vms.c: Include config.h.
5578         (version_string): Delete declaration.
5579         (Write_VMS_MHD_Records): Use GAS_VERSION instead.
5580         (vms_resolve_symbol_redef): New function, taken from VMS code in
5581         symbols.c.
5582         (_doprnt): Deleted.
5583         (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
5584         VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
5585         VMS_Psect_Spec): Fixed to compiler under traditional C.
5586         * config/obj-vms.h: Use PARAMS macro.
5587         (vms_resolve_symbol_redef): Declare.
5588         (RESOLVE_SYMBOL_REDEFINITION): New macro.
5589         * symbols.c (colon): Remove some VMS-specific code, look for
5590         RESOLVE_SYMBOL_REDEFINITION macro instead.
5591
5592         * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
5593         instructions.
5594
5595         * config/tc-i386.c: Reordered some functions so inlining might
5596         work.  Use PARAMS in function declarations.
5597         (reloc): New routine.
5598         (md_assemble): Rearrange switch statements to work with
5599         non-integral segT.
5600
5601         * struc-symbol.h [BFD_ASSEMBLER]: Undefine
5602         SYMBOLS_NEED_BACKPOINTERS before defining it.
5603
5604         * subsegs.c (subseg_new_rest): Now static.
5605
5606         * read.c (pseudo_set): Better error message for difference of
5607         symbols in different frags.
5608
5609         * Makefile.in (check): Pass down some new variables, indicating
5610         pathname or program name for cc, nm, objdump.
5611
5612         * as.h (OUTPUT_FLAVOR): New macro.
5613         * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
5614
5615         * configure.in: Initialize bfd_gas properly.  Warn that ELF
5616         support is incomplete.
5617
5618 Thu Apr 15 22:39:05 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5619
5620         * read.c (float_cons): Accept null pointer return from md_atof.
5621         * config/tc-m68k.c (md_atof): Return null for success.
5622         * config/tc-sparc.c (md_atof): Ditto.
5623
5624 Thu Apr 15 16:04:39 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
5625
5626         * doc/as.texinfo: formatting and comment cleanups; show SPARC
5627         alternative options in same style as other machines; simplify some
5628         conditional use; include GPL as separate file (from texinfo dir)
5629
5630         * doc/Makefile.in: (as.info) include directory containing GPL in
5631         makeinfo search path
5632
5633         * doc/h8.texi: new file; conditional settings for GAS manual
5634         on Hitachi chips
5635
5636 Tue Apr 13 15:31:40 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
5637
5638         * doc/as.texinfo: mention SPARC architecture options.
5639
5640 Fri Apr  9 17:43:11 1993  Ken Raeburn  (raeburn@cygnus.com)
5641
5642         * configure.in: Rearranged whitespace in per-host/per-target
5643         sections.  Added hooks for dropping in HPPA support (not included
5644         yet).  Separate out overrides of variables based on target format
5645         and bfd-gas selection from actual target-specific commands.  Add
5646         error message for recognized but unsupported format name.
5647
5648 Fri Apr  9 09:05:47 1993  Ian Lance Taylor  (ian@cygnus.com)
5649
5650         * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
5651         symbolic header match cline in FDR; the native linker seems to
5652         want that.
5653
5654 Thu Apr  8 15:51:28 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
5655
5656         * doc/Makefile.in: as.texinfo is in $(srcdir).  Use
5657         $(srcdir)/as.texinfo explicitly in several places
5658
5659 Thu Apr  8 15:15:02 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
5660
5661         * doc/Makefile.in: update dvi, clean targets for new source
5662                            file structure
5663
5664 Thu Apr  8 12:52:46 1993  Ian Lance Taylor  (ian@cygnus.com)
5665
5666         * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
5667         rather than undefining know.
5668         * configure.in: Match ultrix*, not just ultrix.
5669
5670 Wed Apr  7 20:18:10 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
5671
5672         * doc/as.texinfo: converted conditional markup to use new
5673         Texinfo facilities, avoiding m4.
5674
5675         * doc/as-all.texinfo, all.m4, pretex.m4: deleted.
5676
5677         * doc/Makefile.in: recast doc configuration to use a link to an
5678         included texinfo file.
5679
5680         * doc/all.texi: settings for generic form of documentation.
5681
5682 Tue Apr  6 11:56:21 1993  Ian Lance Taylor  (ian@cygnus.com)
5683
5684         * read.c (cons): Zero out frag when creating reloc.
5685
5686 Mon Apr  5 09:41:58 1993  Ian Lance Taylor  (ian@cygnus.com)
5687
5688         * config/tc-mips.c (gp_reference): Certain magic symbols can never
5689         be referenced off the GP register.
5690
5691         * app.c (do_scrub_next_char): Handle states 9 and 10 correctly
5692         when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
5693         LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
5694
5695         * config/te-irix.h: New file; irix needs a different LOCAL_LABEL
5696         definition from other MIPS targets.
5697         * configure.in (mips-*-irix): Use emulation irix.
5698
5699 Sun Apr  4 15:21:09 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
5700
5701         * config/tc-h8500.c: Get relax size of branch instructions right,
5702         (get_operand): Parse @sp+ correctly.
5703
5704 Fri Apr  2 15:59:49 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5705
5706         * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
5707         COFF section header field.
5708
5709         * configure.in: Print error message if host or target is not
5710         supported.
5711
5712         * configure.in: If with-bfd-assembler, use obj-coff instead of
5713         obj-coffbfd.
5714
5715         * config/ho-generic.h: Include string.h.
5716
5717 Fri Apr  2 08:54:57 1993  Ian Lance Taylor  (ian@cygnus.com)
5718
5719         * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
5720         '$' as local, for any object file format.
5721
5722         * config/tc-mips.c (macro): Optimizations to branching code and a
5723         couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph
5724         Campbell).
5725
5726         * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
5727         * configure.in (mips-sgi-irix*): Set gas_host to irix.
5728
5729 Wed Mar 31 17:53:54 1993  Ian Lance Taylor  (ian@cygnus.com)
5730
5731         * subsegs.c (subseg_new): Set output_section of new section.
5732         * as.c (perform_an_assemly_pass): Don't set output_section here.
5733         * expr.c (expr_part, expr): Turn off section assertions for ECOFF,
5734         since it has additional sections.
5735         * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
5736         not bss_section.
5737         * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
5738         ecoff_undefined field.
5739         * config/obj-ecoff.c (obj_symbol_new_hook): Initialize
5740         ecoff_undefined field.
5741         (add_file): If using stabs, just output a stabs symbol rather than
5742         creating a new fdr.
5743         (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
5744         it with get_absolute_expression, rather than skipping it by hand.
5745         (obj_ecoff_loc): If using stabs, just output a stabs symbol rather
5746         than ECOFF line number information.
5747         (obj_ecoff_stab): Accept non-zero values for stabs line number.
5748         (ecoff_build_symbols): Set ifilesym correctly.  Set storage class
5749         to small, undefined and/or readonly sections if appropriate.
5750         Don't output symbol names containing \001 characters.
5751         (ecoff_frob_file): Make sure at least one fdr is output.
5752         * config/tc-mips.h: Define TC_MIPS.
5753         * config/tc-mips.c (g_switch_value): New static variable.
5754         (md_assemble): Set gp size of output BFD.
5755         (gp_reference): New function; returns 1 if expression can be
5756         accesssed via gp.  Always returns 0 if not using ECOFF.
5757         (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
5758         possible.
5759         (macro): Generate sequences using gp if possible.
5760         (md_parse_option): Ignore -EL and -EB.  Parse -G.
5761         (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
5762         (s_change_sec): Handle .rdata and .sdata for ECOFF.
5763         (s_extern): Mark symbol as external.  Set ecoff_undefined field.
5764
5765 Tue Mar 30 10:11:41 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5766
5767         * output-file.c (output_file_create): Don't call as_perror for
5768         filename rejected by application.
5769
5770         * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
5771         the output file.
5772
5773         * doc/as.texinfo: Don't use @value in node names for the moment;
5774         references don't appear to work right.
5775
5776         * as.h (const, volatile): Put these definitions back, and use
5777         them.
5778
5779         * doc/as.texinfo: First pass at using new texinfo features --
5780         variables, conditional tests.  Far from complete.
5781
5782 Mon Mar 29 16:05:40 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5783
5784         * read.c: Temporary hack to handle some 64-bit constants.  This
5785         should be redone later.
5786         (target_big_endian): Declare.
5787         (big_cons): If it's set, reverse order of bytes being copied.
5788         * config/tc-sparc.c (md_begin): Set target_big_endian.
5789
5790         * read.c (s_ignore): Delete declaration of is_end_of_line.
5791
5792         * config/obj-coffbfd.c (yank_symbols): Build list of file symbol
5793         forward pointers properly.
5794
5795 Mon Mar 29 13:47:33 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
5796
5797         * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
5798         wasn't being stored into scnhdr.
5799         * config/obj-coffbfd.h: Add prototype of s_get_segment.
5800         * read.c (TC_START_LABEL): Default definition.
5801         (read_a_source_file): Use TC_START_LABEL macro to work out
5802         if a label has been seen.
5803
5804 Mon Mar 29 12:56:56 1993  Ian Lance Taylor  (ian@cygnus.com)
5805
5806         * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
5807         the bottom (make expands variables in dependencies when the
5808         dependencies are read, not when they are used).
5809
5810         * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
5811         a29k .bss section; the mondfe program doesn't like it.
5812
5813 Sun Mar 28 08:12:53 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
5814
5815         * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
5816         const.
5817         (current_architecture): Don't need initializer.
5818
5819 Fri Mar 26 08:12:48 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5820
5821         * doc/none.m4: Define Z8000.
5822         * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir).  Remove the
5823         texinfo file before recreating it.
5824         (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
5825         this directory.
5826         (srcdir): Delete second, bogus definition.
5827         (as.info): Look for as-*.texinfo in current directory rather than
5828         in $(srcdir).
5829         (as.dvi): Ditto.
5830         (dvi): New rule.
5831         * doc/configure.in: Create links to all as-*.texinfo files in the
5832         source directory, if that's not the current directory.
5833
5834         * configure.in (per-host):  Accept MIPS host with BSD version
5835         number.
5836         (per-target): Classify i486 as i386.  Use generic cpu_type instead
5837         of target_cpu in selecting format etc.
5838
5839         * app.c (do_scrub_next_char): Use .appfile, not .app-file.
5840         * read.c (potable): Change .app-file to .appfile.
5841
5842         * config/ho-decstatn.h: Renamed from ho-decstation.h.
5843         * configure.in: Adjusted.
5844
5845         * config/obj-bfd-sunos.*: Unused; deleted.
5846
5847         * Makefile.in (version.c, vers-stamp): Deleted.
5848         (config.h): Define GAS_VERSION.
5849         * as.c (version_string): Deleted declaration.
5850         (main): Look for GAS_VERSION instead.
5851
5852         * doc/as.texinfo: Updated description of -a* (listing) options,
5853         and describe how to pass them through from gcc.
5854
5855         * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
5856         process relocs if there aren't any relocs to process.  Avoids
5857         malloc/free bug on SCO too.
5858
5859         * as.h: Move local include files below system include files, to
5860         avoid some redefinition complaints on some systems.
5861         (const, volatile): Don't need these conditionally defined if we
5862         use CONST and VOLATILE from ansidecl.h.
5863         (seg_name): Use CONST, not const.
5864
5865 Fri Mar 26 10:22:04 1993  Ian Lance Taylor  (ian@cygnus.com)
5866
5867         * config/tc-mips.c: Reindented to GNU standards.
5868
5869 Thu Mar 25 08:59:14 1993  Ian Lance Taylor  (ian@cygnus.com)
5870
5871         * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
5872         (fixup_segment): Add a29k special case; the linker is not prepared
5873         to see a segment offset here.
5874
5875         * app.c (do_scrub_next_char): Added new state, 10, modifying state
5876         9 to only keep a space in between identifier characters.
5877
5878 Wed Mar 24 02:16:22 1993  david d `zoo' zuhn  (zoo at poseidon.cygnus.com)
5879
5880         * Makefile.in: add dvi target; as-$(config).texinfo might live in
5881         srcdir, might be in objdir.
5882
5883         * doc/Makefile.in: dvi depends on as.dvi
5884
5885 Mon Mar 22 23:59:13 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
5886
5887         * Makefile.in: add installcheck target
5888
5889 Mon Mar 22 16:25:57 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
5890
5891         * config/tc-sparc.c (sparc_ip): Add support for membar mask names.
5892         Add missing colons in prefetch error messages.  Add support for
5893         ASI names.
5894
5895 Mon Mar 22 10:19:00 1993  Ian Lance Taylor  (ian@cygnus.com)
5896
5897         * config/tc-mips.c (macro): Use $AT for any floating point load.
5898
5899 Sat Mar 20 12:50:51 1993  Ken Raeburn  (raeburn@urth.cygnus.com)
5900
5901         * config/tc-m68k.c (m68k_ip): For operand type 'M', reject
5902         bignums, but don't emit error message.
5903
5904 Fri Mar 19 21:02:19 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
5905
5906         * Makefile.in (targ-cpu.o): Depend on config.h.
5907
5908 Wed Mar 17 16:44:06 1993  Ian Lance Taylor  (ian@cygnus.com)
5909
5910         * app.c (do_scrub_next_char): Added new state, 9, to avoid
5911         dropping a space immediately following an identifier.
5912         * expr.c, write.c: Rewrote assert expressions to not use multiple
5913         lines; I don't think that can be done portably.
5914         * config/tc-mips.c (macro): Use $AT if target register is zero in
5915         load instruction, which it can be for a floating point load.
5916
5917 Mon Mar 15 12:17:28 1993  Ian Lance Taylor  (ian@cygnus.com)
5918
5919         * write.c (write_contents): Compute the relocs before writing out
5920         the section contents.
5921         * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
5922         symbol table and values right.
5923         * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
5924         with $L is local.
5925         * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
5926         by the section vma.
5927
5928         * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
5929         z8k-opc.h, not z8k.h.
5930
5931         * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
5932         symbol.
5933
5934 Fri Mar 12 18:33:36 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
5935
5936         * configure.in: recognize sparc-sun-solaris2* instead of -solaris2
5937
5938 Fri Mar 12 12:00:07 1993  Ian Lance Taylor  (ian@cygnus.com)
5939
5940         * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
5941         to be on a single line.
5942
5943 Thu Mar 11 17:56:22 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5944
5945         * Makefile.in (config.h): Create file, writing out definitions of
5946         target cpu, alias, and canonical name.
5947         (ALL_CFLAGS): No longer define TARGET_CPU.
5948
5949         * Makefile.in (check): Print a message, instead of quitting
5950         silently.
5951
5952         * as.c (main): Don't catch any signals, for now.
5953
5954         * version.c: Deleted.
5955         * Makefile.in: Generate it, putting in only the version number
5956         itself.
5957         (VERSION): New variable.
5958         * as.c: Include config.h.
5959         (main): Reformatted version string.  Include target alias.  Don't
5960         print if not requested (i.e., unknown -v argument).
5961
5962         * as.c (stralloc): Deleted.
5963         (main): Call strdup instead.
5964
5965         * configure.in: Handle all 68300 series chips.
5966         * config/tc-m68k.c: Include config.h.
5967         (md_assemble): Assume TARGET_CPU is defined.  Accept some 68300
5968         series cpus as defaults.
5969         (md_parse_option): Accept some m68300 series CPUs as defaults.
5970
5971 Wed Mar 10 17:41:16 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
5972
5973         * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
5974         not already defined.
5975         (main, got_sig): Use them.
5976         * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
5977         values.
5978
5979 Tue Mar  9 07:40:06 1993  Ian Lance Taylor  (ian@cygnus.com)
5980
5981         * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
5982         support.
5983
5984         * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
5985         OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
5986         (struct loc, struct proc, struct file): Moved to tc-mips.c within
5987         #ifndef OBJ_ECOFF block, since ECOFF uses different versions.
5988         * config/tc-mips.c: Rearranged for ECOFF support.  Added
5989         prototypes for all static functions.  Moved existing minimal
5990         debugging format support info #ifndef OBJ_ECOFF blocks.
5991         (macro_build_lui): Eliminated sign_extend argument, because ECOFF
5992         does not support a non sign extended high 16 bits reloc.  Adjusted
5993         all callers accordingly.
5994         (tc_get_register): Renamed from get_register, and made non-static.
5995
5996         * config/mips-big.mt, config/mips-lit.mt: New files.  Define
5997         TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
5998         respectively.
5999         * configure.in (mips-*-bsd*): Use gas_target mips-lit.
6000         (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
6001         obj_format ecoff and gas_target mips-lit or mips-big.
6002
6003 Tue Mar  9 07:43:01 1993  Ken Raeburn  (raeburn@cygnus.com)
6004
6005         * version.c: Bump to version 2.0.1.
6006
6007 Tue Mar  9 07:40:06 1993  Ian Lance Taylor  (ian@cygnus.com)
6008
6009         * write.c (chain_frchains_together): Check that seg_info (section)
6010         is not NULL.
6011         (write_object_file): Call obj_frob_file after setting the symbols,
6012         not before.
6013
6014 Tue Mar  9 00:00:00 1993  Ken Raeburn  (raeburn@cygnus.com)
6015
6016         * Version 2.0 released.
6017
6018 Mon Mar  8 14:57:10 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6019
6020         * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
6021
6022 Fri Mar  5 09:05:55 1993  Ian Lance Taylor  (ian@cygnus.com)
6023
6024         * read.h: Define stringer here.
6025         read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
6026         places.
6027
6028 Thu Mar  4 11:52:23 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
6029
6030         * read.c (s_space): Multiply repeat count by mult, not fill.
6031
6032 Thu Mar  4 05:20:42 1993  Ken Raeburn  (raeburn@cygnus.com)
6033
6034         * read.c: Include ctype.h.
6035
6036 Wed Mar  3 10:41:46 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6037
6038         Patches from Eric Youngdale:
6039         * make-gas.com: Find obstack.obj if it's not in the current
6040         directory.
6041         * read.c (s_ignore): Don't declare is_end_of_line.  It's
6042         redundant, and triggers a VMS gcc compiler bug.
6043
6044         * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
6045         current segment as an argument.  (Ignored in all cases but VMS.)
6046         All callers and definitions changed.
6047
6048 Tue Mar  2 11:56:19 1993  Ian Lance Taylor  (ian@cygnus.com)
6049
6050         * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
6051         case compile again.
6052
6053 Tue Mar  2 08:53:34 1993  Ken Raeburn  (raeburn@cygnus.com)
6054
6055         * config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
6056         so "~0x80" won't be rejected.
6057
6058         * config/obj-elf.c: No longer include elf/reloc.h.
6059         (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
6060         (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
6061         routines.
6062         (obj_elf_xstab): New routine.
6063         (obj_elf_set_size): Call as_warn, not fprintf.  Pass desired
6064         argument to s_ignore.  Put "#if 0" around unused code.
6065         (obj_pseudo_table): Use s_ignore instead of do-nothing routines.
6066         Call elf_xstabs for .stabs and .xstabs operators.
6067
6068         * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
6069
6070         * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
6071         present.
6072
6073         * configure.in: mips-bsd configuration was missing format spec.
6074         Should use aout.
6075
6076         * Makefile.in (Makefile): Depends on configure.in.
6077
6078         * config/tc-mips.c (append_insn): Don't check for alignment of
6079         frag in memory; alignment of instructions in section is a separate
6080         matter.
6081
6082         * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
6083         C availability.
6084
6085         * listing.h: Always provide function declarations, not macros, so
6086         pcc won't lose.
6087
6088 Tue Mar  2 00:50:43 1993  John Gilmore  (gnu@cygnus.com)
6089
6090         * CONTRIBUTORS:  Update Gilmore entry.
6091
6092 Mon Mar  1 12:03:16 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
6093
6094         * config/tc-sparc.c (sparc_ip):  Correctly assemble prefetch
6095         instructions.  Accept integer prefetch function numbers.
6096
6097 Wed Feb 24 14:58:19 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6098
6099         * config/tc-sparc.c (s_xword): Now call big_cons, so large
6100         constants are accepted, but symbolic values are not.  GCC will not
6101         generate the latter currently.
6102
6103         * frags.c (frag_init): New function.
6104         (zero_address_frag, bss_address_frag): Now initialized at run
6105         time.
6106         * as.c (main): Call frag_init.
6107
6108 Wed Feb 24 10:32:42 1993  Ian Lance Taylor  (ian@cygnus.com)
6109
6110         * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
6111         Don't unget ch2 if we didn't get it.
6112
6113 Wed Feb 24 04:14:07 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
6114
6115         * doc/Makefile.in (TEXIDIR): Updated for new layout.
6116
6117         * config/tc-sparc.c (s_common): Add support for ELF version.
6118         (tc_gen_reloc) [BFD_ASSEMBLER]: New function.
6119         * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
6120         New macros.
6121         (md_convert_frag): New macro.
6122
6123         * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
6124         symbol, fix the offset so "+2" isn't required.
6125
6126         * config/tc-i960.c (line_comment_chars, line_separator_chars):
6127         Define as common/bss.
6128         (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
6129         initializers are sufficient.
6130
6131         * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
6132         (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
6133         (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
6134         (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
6135         * config/obj-aout.c: Use PARAMS macro for declarations.  Remove
6136         "IGNORE_DEBUG" conditional, since both branches are identical.
6137         Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
6138         referencing symbol structure members.
6139         (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
6140
6141         * as.h (struct frag): Reordered a couple of fields for better
6142         packing.
6143
6144         * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
6145         section info.
6146         (write_contents) [BFD_ASSEMBLER]: New function.
6147         (write_object_file) [BFD_ASSEMBLER]: Always handle -R here.  Call
6148         fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC.  Call
6149         obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
6150         (fixup_segment): Make sure common-section symbols get treated the
6151         same as undefined symbols.
6152         (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
6153         bfd_reloc_code_real_type.  Use seg_fix_{root,tail}P derived from
6154         section info.
6155         * write.h (fix_new): Update prototype.
6156
6157         * tc.h (md_operand, md_convert_frag, tc_headers_hook,
6158         md_section_align, md_undefined_symbol): Don't provide prototypes
6159         if these are defined as macros.
6160         (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
6161         section passed.
6162
6163         * symbols.c (symbol_new): Argument NAME is now pointer to const.
6164         Simplified STRIP_UNDERSCORE code.  Remove assumptions about null
6165         pointers in freshly allocated storage.  [BFD_ASSEMBLER]: Get new
6166         BFD symbol.
6167         (colon): Display other/desc fields of redefined symbol only if
6168         S_GET_OTHER and S_GET_DESC are defined.
6169         (symbol_make): Argument NAME is now pointer to const.
6170         (symbol_find, symbol_find_base): Likewise.
6171         (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
6172         * symbols.h: Fix prototypes for new const arguments.  Add
6173         prototypes for BFD_ASSEMBLER S_* functions.
6174
6175         * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
6176         for changing to an existing section.
6177         (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
6178         called by subseg_new and subseg_set.
6179         (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
6180         given section name and subseg number.
6181         (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
6182         new section/subsection.
6183
6184         * read.c: Don't include ctype.h.
6185         (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
6186         for now; should be machine-dependent.
6187
6188         * configure.in: Accept *-*-elf and *-*-solaris* as ELF format
6189         targets, forcing BFD use.
6190
6191 Wed Feb 17 18:59:03 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6192
6193         * config/tc-sparc.c: Use PARAMS macro for static function
6194         declarations.  Use BFD_RELOC_ macros everywhere, with
6195         compatibility macros declared for non-BFD mode.
6196         (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
6197         instead of enum reloc_type.
6198         (emit_sparc_reloc): Commented-out function deleted.
6199         (md_convert_frag): Deleted.
6200         (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
6201         (md_apply_fix): Changed calling sequence (conditionally) for BFD
6202         version.
6203         * config/tc-sparc.h (md_convert_frag): New macro.
6204
6205         * config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
6206         not SEG_UNKNOWN.  Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
6207         of referencing fields directly.
6208
6209         * write.c (cvt_frag_to_fill): New function; extracted from
6210         write_object_file.
6211         (write_object_file) [! BFD_ASSEMBLER]: Call it.
6212         (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
6213         and set its size and flags.
6214
6215         * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
6216         fields with BFD equivalents.  Turn on back-pointers, and add
6217         target-specific fields at end.
6218
6219 Thu Feb 11 09:20:37 1993  Ian Lance Taylor  (ian@cygnus.com)
6220
6221         * config/obj-coffbfd.c (fill_section): Don't set vaddr here.
6222         (write_object_file): Set it here instead, so that fixup_segment
6223         can see the correct value.
6224
6225 Mon Feb  8 13:56:17 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6226
6227         * write.c (write_object_file): Check for errors and warnings and
6228         bail out before processing contents.
6229         (chain_frchains_together_1): New function, does most of the work
6230         of remove_subsegs.
6231         (chain_frchains_together) [BFD_ASSEMBLER]: New function.
6232         (remove_subsegs) [! BFD]: Call it.
6233         (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
6234         structures and routines.
6235
6236         * config/obj-elf.*: New files.
6237
6238         * config/mips.mt, config/rs6000.mt: Deleted.
6239
6240         * config/h8300.mt: Don't specify compiler here.
6241
6242         * config/z8k.mt: The z8k code depends on the z8k opcode table,
6243         not the h8300 one.
6244         * config/tc-z8k.h: Comment fix.
6245
6246         * write.c: Reordered some functions for better inlining.
6247         (fixup_segment): Linkrelax code is no longer conditional on
6248         TC_I960.
6249
6250 Thu Feb  4 12:45:16 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
6251
6252         * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
6253         obj-coffbfd.h}: support for the H8/500
6254
6255 Wed Feb  3 19:28:18 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6256
6257         * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
6258         * write.c (write_object_file): Not here.
6259         (fix_new): Initialize fx_addnumber.
6260
6261         * listing.c: Don't include target-cpu.h explicitly, since as.h
6262         includes it.
6263
6264 Thu Jan 28 00:35:40 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
6265
6266         * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
6267         *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
6268         (struct fix): Reordered fields for compactness and efficiency.
6269         Converted some logical fields to 1-bit fields.
6270
6271         * config/obj-aout.h: Use PARAMS.
6272         [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
6273         N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
6274
6275         * read.c: Don't include listing.h; as.h includes it.  Removed
6276         DONTDEF code.
6277         [BFD_ASSEMBLER]: Include subsegs.h.
6278         (old_buffer, new_broken_words): Default initialization is
6279         sufficient.
6280
6281         * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
6282         to 0, define stdoutput.
6283         (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
6284         Call bfd_set_arch_mach.
6285         (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
6286         bfd_close_all_done.  Call bfd_perror on failure.
6287         (output_file_append) [BFD_ASSEMBLER]: Don't define.
6288
6289         * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
6290
6291         * subsegs.h (segment_info_type): Always define.  Omit field scnhdr
6292         if not MANY_SEGMENTS.  Define new field bfd_section if
6293         BFD_ASSEMBLER.
6294         (seg_info): New macro.
6295
6296         * expr.c, input-scrub.c: Use PARAMS macro.  Deleted unused
6297         variables, and some irrelevant comments.
6298
6299         * Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
6300         (LIBS): Include $(BFDLIB).  Don't bother with $(CLIB).
6301         * configure.in:  Permit --with-bfd-assembler now, with a warning.
6302         Variable need_bfd is now a boolean, as is new variable bfd_gas.
6303         Set BFDDEF and BFDLIB in Makefile when appropriate.
6304
6305         * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
6306         (main): Refer to flag_always_generate_output instead of
6307         flagseen['Z'].
6308
6309         * as.c (main) [BFD_ASSEMBLER]: Open output bfd.
6310         (*_section) [BFD_ASSEMBLER]: Define them.
6311         (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
6312         set section flags when appropriate.
6313         * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
6314         section is not absolute, undefined, or an assembler internal one.
6315         (absolute_section, undefined_section): Always define.
6316         * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
6317         switch statements into if-else trees.
6318         * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
6319         SEG_BSS and SEG_DATA.
6320
6321         * as.h (frag_now_fix): New macro.
6322         * symbols.c (colon): Use it.
6323
6324 Wed Jan 27 21:43:53 PST 1993  Ralph Campbell  (ralphc@pyramid.com)
6325
6326         * config/tc-mips.c:  Added mips support for mips-dec-bsd.
6327         * config/tc-mips.h:  Added mips support for mips-dec-bsd.
6328         * config/ho-mipsbsd.h:  Added mips support for mips-dec-bsd.
6329         * config/mips-opcode.h:  Added mips support for mips-dec-bsd.
6330         * configure.in:  Added mips support for mips-dec-bsd.
6331         * atof-generic.c:  Define TRUE and FALSE if not defined.
6332
6333 Thu Jan 21 12:48:19 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6334
6335         * version.c: Bumped version number to 1.93.05.
6336
6337 Wed Jan 20 17:11:53 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6338
6339         * config/obj-coff.c (obj_emit_relocations): Don't use #elif.
6340         (obj_emit_lineno): Don't need return at end of void function.
6341         (obj_symbol_new_hook): Ditto.
6342
6343         * config/tc-m68k.c: Removed some unused code.
6344         (tc_aout_fix_to_chars): Array nbytes_r_length is now const.
6345
6346         * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
6347         offset field is set.
6348
6349 Fri Jan  8 05:44:49 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6350
6351         * config/tc-sparc.c (sparc_ip): For %uhi and %ulo, if not
6352         ENV64, emit no reloc.
6353         (md_pseudo_table): For ".xword", call s_xword.
6354         (s_xword): New function.
6355
6356         * config/tc-sparc.c (architecture_requested, warn_on_bump,
6357         md_relax_table): Use default zero initialization.
6358         (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
6359         latter, instead of selecting with preprocessor conditionals.
6360
6361 Thu Jan  7 08:58:21 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
6362
6363         * configure.in: recognise all sparclite variants
6364
6365 Thu Jan  7 05:25:25 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6366
6367         * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
6368         accidentally changed to use subseg_change where it should have
6369         been subseg_new.
6370
6371 Tue Jan  5 08:42:16 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6372
6373         * expr.c (operand): If character other than comma or newline is a
6374         logical end-of-line character, use the newline case.
6375         From Eric Youngdale:
6376         (operand): Set X_add_number field for floating-point numbers.
6377         (operand): Treat zero byte as end-of-operand.
6378
6379         * configure.in (per-target): Look for with_bfd_assembler option.
6380         For now, only accept "no", until the merge is done.
6381
6382         Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil):
6383         * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
6384           config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
6385         * read.c: Finish conversion to S_* macros in the VMS only
6386           parts of the program. Add "const" modifier to hex_value.
6387         * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
6388           "ifdef OBJ_VMS".
6389         * expr.c: Add "const" modifier to hex_value.
6390         * symbols.c: Finish conversion to S_* macros in the VMS only
6391           parts of the program.  Add "const" modifier to
6392           md_[long,short]_jump_size. Remove declaration of const_flag
6393           (which will be declared in obj-vms.h).
6394         * write.c: Add "const" modifier to md_[long,short]_jump_size.
6395           Fix arguments to VMS_write_object_file.
6396         * config-gas.com: New file.  Script for VMS systems to set up the
6397           configuration to build gas for VMS, and create config.status.
6398         * make-gas.com: Redone to work with new scheme.
6399         * obj-vms.c: Patch to fix bug where we were not correctly parsing the
6400           stabs directives.
6401         * obj-vms.c:  Define macros COPY_LONG and COPY_SHORT which
6402           will swap bytes if needed on a big endian system.  Use throughout
6403           as needed.
6404         * obj-vms.c (obj_aout_stab):  Add code to generate listing file.
6405         * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
6406           types of malformed stabs.  Change parsing algorithm so that we are
6407           more certain of having all of the information that we need on hand.
6408         * obj-vms.c (final_forward_reference):  New function, used to help
6409           resolve the data types of as many struct elements as possible
6410           when some part of the struct is not fully defined by the compiler.
6411         * obj-vms.c (VMS_LSYM_Parse):  Correctly handle case of continuation
6412           stabs directives.
6413         * obj-vms.c (VMS_write_object_file): Define all vtable psects
6414           as symbols as well in the object file.  Look for external functions
6415           that start with "__vt.", and turn them into variables, since the
6416           g++ compiler is incapable of doing this.
6417         * tc-vax.c: Add '1' option for backward compatibility with older GCC
6418           versions.
6419         * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
6420         * input-scrub.c (as_where): Fix bug where as would crash if we did not
6421           have the name of the source file yet.
6422         * config/ho-vms.h: define HO_VMS, not HO_VAX.
6423
6424 Mon Jan  4 05:17:26 1993  Ken Raeburn  (raeburn@cygnus.com)
6425
6426         * read.c (s_data): Always use "data_section", since it'll map to
6427         SEG_DATA or SEG_E1 if needed.
6428         (s_lcomm): Likewise with bss_section.
6429         (s_fill): Use memset, not bzero.
6430
6431 Thu Dec 31 04:29:27 1992  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
6432
6433         * read.c: Deleted some code under "#ifdef DONTDEF" that was for
6434         handling GDB symbol table data.
6435
6436         * config/obj-aout.h (segment_name): Delete definition.
6437         (seg_name): Delete declaration.
6438         * config/obj-bout.h (segment_name, seg_name): Ditto.
6439         * config/obj-vms.h (segment_name, seg_name): Ditto.
6440         * config/obj-coff.h (segment_name): Ditto.
6441         * config/obj-coffbfd.h (segment_name): Ditto.
6442
6443         * Changes for BFD_ASSEMBLER:
6444         * obj.h (obj_crawl_symbol_chain): Declare only if not
6445         BFD_ASSEMBLER.
6446         (obj_header_append, obj_pre_write_hook): Ditto.
6447         * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
6448         (segT) [BFD_ASSEMBLER]: New typedef for "asection *".
6449         (segment_name) If BFD_ASSEMBLER, look up BFD section name;
6450         otherwise, use seg_name array.
6451         (seg_name): Declare only if not BFD_ASSEMBLER.
6452         (section_alignment): Declare only if not BFD_ASSEMBLER.
6453         (big_section, reg_section, pass1_section, diff_section,
6454         absent_section, text_section, data_section, bss_section): If
6455         BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
6456         mapping to segT enum values.
6457         (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
6458         if these are used or defined, if BFD_ASSEMBLER.
6459         (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
6460         subseg_new split into two functions.
6461         (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
6462
6463         * as.h (volatile): Don't define if already defined.
6464         (had_errors, had_warnings): Provide prototypes for ANSI C even if
6465         NO_STDARG.
6466         (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
6467         declare with format attribute for -Wformat checking.
6468
6469 Wed Dec 30 10:18:57 1992  Ian Lance Taylor  (ian@cygnus.com)
6470
6471         * app.c, config/tc-*.c: Don't include read.h, since it is already
6472         included by as.h.
6473
6474         * These are based on patches from Minh Tran-le
6475         <mtranle@paris.intellicorp.com>.
6476         * configure.in (i[34]86-ibm-aix*): Accept i486 for host.  Use
6477         obj_format coffbfd and gas_target i386coff for target.
6478         (i[34]86-*-isc*): New host (uses sysv).
6479         * config/i386aix.mt: Removed (no longer used).
6480         * config/mh-i386aix (RANLIB): Use true rather than /bin/true.
6481         (MINUS_G): Removed.
6482         (LDFLAGS): Added, defined as -shlib.
6483         * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
6484         * config/te-sco386.h (LOCAL_LABEL): Don't define.
6485         (DOT_LABEL_PREFIX): Define.
6486         * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
6487         name rather than L0\001.
6488         * read.c (s_lcomm): Make a frag in SEG_BSS rather than using
6489         local_bss_counter.
6490         * symbols.c, symbols.h (local_bss_counter): Removed.
6491         * write.c (write_object_file): bss no longer uses
6492         local_bss_counter.  Pass correct data and bss size to
6493         VMS_write_object_file.
6494         * config/obj-vms.c (VMS_write_object_file): Accept bss size as
6495         argument, rather than using local_bss_counter.
6496         * config/tc-m88k.c (s_bss): Don't use local_bss_counter.
6497         * config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
6498         * config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
6499         (size_section): Restored sanity check.
6500         (do_relocs_for): Base section address on s_paddr rather than
6501         computing it.  Adjust a29k R_IHIHALF special case to account for
6502         section paddr (used to require paddr to be zero).  If there are no
6503         reclos, set s_relptr to 0.  Set relocation size in object_headers.
6504         (fill_section): Always set s_vaddr here, removing
6505         ZERO_BASED_SEGMENTS case.  Force s_scnptr for bss to 0.  Don't set
6506         NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
6507         Set STYP_INFO for .comment.
6508         (coff_header_append): Use object headers and H_{SET,GET}_* macros.
6509         Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
6510         (crawl_symbols): Handle 8 character section name correctly.  Use
6511         H_{SET,GET}_* macros.
6512         (do_linenos_for): Set lineno size in object_headers.
6513         (write_object_file): Use H_{SET,GET}_* macros.  Don't bother to
6514         set s_vaddr here.  If string_byte_count remains 4, set it back to
6515         0, and only write strings out if there are some.  Call
6516         fill_section before do_relocs_for and do_linenos_for.
6517         (obj_coff_section): Handle optional quoted second argument giving
6518         section characteristics.
6519         (obj_coff_bss): Added to handle .bss.
6520         (obj_coff_ident): Added to handle .ident (puts string in .comment
6521         section).
6522         (obj_coff_lcomm): Put common symbols in .bss, not .data.
6523         (fixup_mdeps): Change to segment.  Call frag_wane after
6524         md_convert_frag.
6525         (fixup_segment): Explicitly check S_IS_COMMON before making 386
6526         adjustment (already happened only for common symbols, but this is
6527         clearer).
6528         * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
6529         * config/tc-i386.c (s_bss): Don't use if I386COFF.
6530         (md_pseudo_table): Ignore .optim and .noopt.
6531         (tc_coff_sizemachdep): New function.
6532         * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
6533         compatibility.
6534         (LOCAL_LABEL): Removed definition.
6535         (DOT_LABEL_PREFIX): Defined.
6536
6537 Mon Dec 28 10:32:05 1992  Ken Raeburn  (raeburn@cygnus.com)
6538
6539         * app.c (app_push): Use memcpy, not bcopy.
6540         (do_scrub_next_char): For \", return " not '.
6541         (symbol_chars): Now const.
6542
6543         * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
6544         and "0b".  If LOCAL_LABELS_DOLLAR, check for "0$".
6545
6546         * config/obj-coff.h: Don't use #elif.
6547
6548         * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
6549         have it.  (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.)
6550
6551 Wed Dec 16 12:12:33 1992  Ian Lance Taylor  (ian@cygnus.com)
6552
6553         * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
6554         already defined.
6555
6556 Tue Dec 15 12:40:11 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
6557
6558         * app.c (do_scrub_begin): allow single quote strings if so
6559         configured.
6560
6561         * config/*z8k*: checkpoint
6562
6563 Sun Dec 13 00:04:38 1992  Ian Lance Taylor  (ian@cygnus.com)
6564
6565         * read.c (read_a_source_file): avoid calling xmalloc (0).
6566
6567 Sat Dec 12 15:26:34 1992  Ian Lance Taylor  (ian@cygnus.com)
6568
6569         * listing.c: Call xmalloc, not malloc; don't declare malloc.
6570
6571         * Changes to support SCO 3.2v4:
6572         * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
6573         SEG_BSS, fill with NOP_OPCODE.
6574         * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
6575         * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
6576         using ZERO_BASED_SEGMENTS.
6577         (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
6578         never set segment address for SEG_E2 (.bss) and don't write out
6579         SEG_E2 contents.  Set .init and .fini sections to STYP_TEXT.
6580         (obj_coff_endef): Don't merge labels or symbols awaiting forward
6581         definitions, and don't merge tags with non-tags.  Check for .bf
6582         rather than just checking whether the second character is b and
6583         the third character is f.
6584         (obj_coff_val): gcc can generate values which we don't handle
6585         correctly; discard information for now, since it only affects the
6586         debugging information.
6587         (tag_find_or_name): Don't insert tags in the symbol table.
6588         (yank_symbols): Don't merge labels.
6589         (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
6590         already defined.  Fill subsegments with NOP_OPCODE, not 0.  Don't
6591         set segment address if ZERO_BASED_SEGMENTS.
6592         (obj_coff_section): Accept and ignore a trailing quoted string, as
6593         used in AT&T i386 syntax.
6594         (fixup_segment): Take segment as argument.  On the i386, adjust PC
6595         relative addends by the segment vaddr.
6596         * tc-i386.h: Define SUB_SEGMENT_ALIGN.
6597         * tc-a29k.h: Define ZERO_BASED_SEGMENTS.
6598         * tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
6599
6600 Tue Dec  8 00:06:48 1992  Ken Raeburn  (raeburn@rtl.cygnus.com)
6601
6602         * config/obj-coffbfd.c: Include libcoff.h.
6603
6604         * version.c: Now version 1.93.
6605
6606 Mon Dec  7 00:39:09 1992  Ken Raeburn  (raeburn@cygnus.com)
6607
6608         * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
6609         power-of-two alignment for .align.
6610
6611         * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
6612         and leave everything else alone.
6613
6614 Fri Dec  4 16:58:42 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6615
6616         * Makefile.in (as.new): Don't bother saving as.old.
6617
6618         * write.c: Conditionalize on OBJ_VMS, not VMS.
6619         (magic_number_for_object_file): Don't define if OBJ_VMS.
6620
6621         * config/obj-vms.c: Changes for traditional C.
6622
6623 Thu Dec  3 01:24:07 1992  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
6624
6625         * config/ho-generic.h (malloc, realloc): Declare.
6626
6627         * Lots of comment/whitespace changes.
6628
6629         * write.h (struct fix): Some fields reordered, narrowed.
6630
6631         * read.c (MASK_CHAR): Define using C types, not magic number.
6632
6633         * as.c, input-file.c: Deleted some unused code.
6634
6635         * app.c, as.h: Doc fix.
6636
6637         * flonum-konst.c, flonum-mult.c: Include ansidecl.h.
6638
6639         * as.h (xmalloc): Argument is long.
6640
6641         * xmalloc.c (error): Remove declaration; as.h takes care of it.
6642
6643         * doc/as.texinfo: Regrouped documentation of some command-line
6644         options.  Updated options documentation for m68k.  Some minor
6645         wording/punctuation changes.
6646
6647 Mon Nov 30 11:42:11 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6648
6649         * configure.in: Accept target OS "vms".
6650
6651         * symbols.c:  Merged ANSI and non-ANSI function decls, using
6652         PARAMS macro.
6653
6654         * xmalloc.c: Just include as.h, don't bother trying to figure out
6655         other header files.
6656
6657         * strstr.c, strerror.c: Deleted.
6658         * Makefile.in: Deleted references.
6659
6660         * config/tc-ns32k.c: Don't include header file for string
6661         declarations; leave that to ho-*.h.
6662
6663 Fri Nov 27 04:11:36 1992  Ken Raeburn  (raeburn at cambridge-laptop.cygnus.com)
6664
6665         * config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
6666         imported from FSF sources.
6667
6668         * messages.c (strerror): Declare unconditionally.
6669
6670         * as.h: Delete alloca and register definitions.
6671
6672         * config/atof-ieee.c (mask): Now const.
6673
6674         * obstack.c, obstack.h: Deleted.
6675
6676         * as.h (flag_readonly_data_in_text): New flag.
6677         * as.c (main): Set it for -R.
6678
6679         * as.h (flag_suppress_warnings): New flag.
6680         * as.c (main): Set it for -W.
6681         * messages.c (as_warn): Check it instead of flagseen['W'].
6682
6683         * as.h (flag_always_generate_output): New flag.
6684         * as.c (main): Set it for -Z.
6685
6686         * config/tc-sparc.h: Define NEED_FX_R_TYPE.
6687         * config/tc-a29k.h: Ditto.
6688         * write.h (struct fix): Don't conditionalize fx_r_type field on TC
6689         macros.
6690
6691         * as.h: Merged ANSI and non-ANSI function decls, using PARAMS
6692         macro.
6693         * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
6694         obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
6695         write.h: Likewise.
6696         * read.c: Likewise.
6697
6698         * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG.  Fold in
6699         xrealloc from xrealloc.c.
6700         * xrealloc.c: Deleted.
6701         * Makefile.in (REAL_SOURCES, OBJS): Adjusted.
6702
6703         * configure.in: For host CPU a29k, rs6000, vax, consider using bsd
6704         or vms ho- files.
6705
6706         * config/ho-sysv.h (setbuffer, HO_USG): Deleted.
6707
6708         * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
6709         don't initialize it with NULL.
6710
6711         * config/ho-vax.h (M_VAX): Deleted; was unused.
6712
6713         * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
6714         New files imported from FSF version, contributed by Eric Youngdale.
6715         * README-vms-dbg, config/vms: Deleted.
6716
6717         * ChangeLog, config/ChangeLog: Merged.
6718
6719         * config/*tahoe*, configure.in: Tahoe support brought in from FSF
6720         version.
6721
6722         * input-file.c (input_file_open): Eliminate call to setvbuf.
6723         [USG] (setbuffer): Deleted macro.
6724
6725 Mon Nov 23 11:00:16 1992  Ken Raeburn  (raeburn@cygnus.com)
6726
6727         * all files: Whitespace changes for GNU indentation style, done by
6728         GNU `indent'.  Some cleanup still needed, especially of comments.
6729
6730         * configure.in: No te-386bsd.h file exists; don't try to use it.
6731
6732         * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
6733
6734         * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
6735         could be doing emulation.
6736
6737 Thu Nov 19 11:47:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
6738
6739         z8000 documentation
6740         * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
6741         all modified.
6742
6743 Tue Nov 10 09:49:24 1992  Ian Lance Taylor  (ian@cygnus.com)
6744
6745         * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
6746
6747         * subsegs.h: add extern to segment_info declaration.
6748
6749         * read.h: added extern declarations for comment_chars,
6750         line_comment_chars, and line_separator_chars.
6751         read.c, app.c: removed definitions of comment_chars,
6752         line_comment_chars, and line_separator_chars.
6753
6754         * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
6755         still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
6756         the register name.
6757         (insert_reg): put REGISTER_PREFIX before register names before
6758         putting them in the symbol table.
6759         * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
6760         M68KCOFF.
6761
6762         * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
6763         section.
6764
6765         * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
6766         comment_chars, line_comment_chars and line_seperator_chars
6767         consistently const, and always initialized them.  Included read.h.
6768
6769 Thu Nov  5 17:55:41 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
6770
6771         * tc-sparc.c (sparc_ip): Add code to flag error if an absolute
6772         constant will not fit in an immediate field.
6773         (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
6774
6775 Wed Nov  4 07:50:46 1992  Ken Raeburn  (raeburn@cygnus.com)
6776
6777         * obj-coff.c (callj_table): Delete global variable.
6778         (obj_emit_relocations): Define it locally here, and only if
6779         TC_I960 is defined.
6780
6781         * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
6782         (m68k_ip): Don't warn about bignum used as float bit-pattern.
6783
6784         * obj-coff.c: Replaced ANSI and non-ANSI function declarations
6785         with a single set using PARAMS macro.
6786
6787         * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
6788         of 2.
6789
6790         * tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
6791
6792         * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
6793         so widening works consistently.
6794
6795 Wed Oct 28 08:52:34 1992  Ken Raeburn  (raeburn@cygnus.com)
6796
6797         * version.c: Put conditional "const" before version_string, not
6798         before dummy function for VMS.  Now version 1.91.03.
6799
6800         * app.c (do_scrub_next_char): Need double-\ before `000' to show
6801         printed rep of null character.
6802
6803 Fri Oct 23 14:40:38 1992  Ian Lance Taylor  (ian@cygnus.com)
6804
6805         * obj-coffbfd.c (write_object_file): check return value of
6806         bfd_close_all_done.
6807
6808 Tue Oct 20 12:18:08 1992  Ian Lance Taylor  (ian@cygnus.com)
6809
6810         * Support for i386-sysv.
6811         obj-coffbfd.c (do_relocs_for, write_object_file): set segment
6812         addresses to reasonable sizes.  New define ZERO_BASED_SEGMENTS can
6813         be used to set them all to zero as was done before.
6814         (fill_section): segment addresses now set in write_object_file.
6815         (fill_section): Don't set STYP_NOLOAD for .bss section.
6816         (fixup_segment): 386 uses strange common symbol format.
6817         tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
6818         compatibility with SVR3.2 linker.
6819         * configure.in: i386-sysv and i386-sco use coffbfd.
6820
6821         * app.c (do_scrub_next_char): discard whitespace after a label.
6822
6823 Sat Oct 10 12:33:45 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
6824
6825         * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
6826         hosts, use the sysv configuration for solaris2
6827
6828 Mon Oct  5 09:28:57 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
6829
6830          fix i960+non-bfd coff bit rot.
6831         * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
6832         support for C source listings. (obj_coff_endef): look in the right
6833         part of the symbol for the symbol name
6834
6835         * tc-m68k.c (get_num): make it work for all segments, not just the
6836         first three.
6837
6838 Mon Oct  5 03:30:36 1992  Mark Eichin  (eichin at tweedledumber.cygnus.com)
6839
6840         * configure.in: recognize i386-*-bsd emulation.
6841
6842 Thu Oct  1 23:05:12 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
6843
6844         * configure.in: use the cpu-vendor-os triple for host and target
6845
6846 Tue Sep 29 12:22:52 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
6847
6848         * obj-coffbfd.c (write_object_file): don't fixup for the z8k
6849         * tc-z8k.c: lots of bug fixes
6850
6851 Tue Sep 29 10:51:55 1992  Ian Lance Taylor  (ian@cygnus.com)
6852
6853         * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
6854         #elif, since it is not supported by old compilers.
6855         ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
6856         couple of expressions in tc-m68k.c.
6857
6858 Mon Sep 28 21:18:24 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6859
6860         * read.c (cons): If NO_RELOC is defined, use it.
6861
6862         * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
6863
6864 Fri Sep 25 18:18:52 1992  Ian Lance Taylor  (ian@cygnus.com)
6865
6866         * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
6867         local labels to start with a .) and set REGISTER_PREFIX to %.
6868         tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
6869
6870 Fri Sep 25 17:53:43 1992  John Gilmore  (gnu@cygnus.com)
6871
6872         * messages.c:  Comment changes.
6873
6874 Fri Sep 25 14:12:58 1992  Ken Raeburn  (raeburn@kyriath.cygnus.com)
6875
6876         * as.h: Test if __STDC__ is defined only, don't test its value.
6877         * messages.c: If __STDC__ is not defined, define NO_STDARG.
6878
6879 Thu Sep 24 12:42:32 1992  Brendan Kehoe  (brendan@rtl.cygnus.com)
6880
6881         * listing.c (debugging_pseudo): Add stabs and stabn as things to
6882         ignore.
6883
6884 Tue Sep 22 13:02:07 1992  Sean Eric Fagan  (sef@cygnus.com)
6885
6886         * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
6887         sections starting from zero, rather than making them consecutive.
6888         This makes subsequent reloc calculations easier, esp if the object
6889         format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
6890         allocate lcomm in .data rather than in .bss.  It seems that some
6891         tools can't cope with a non-zero sized bss before linkage.
6892
6893 Tue Sep 22 15:10:51 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6894
6895         * tc-m68k.c: Replace "enum m68k_architecture" with "int"
6896         throughout.  That enum no longer means what we thought it meant.
6897
6898         * tc-m68k.c (md_assemble, md_parse_option): Handle new
6899         "-mno-688[58]1" options.
6900
6901         * tc-m68k.c: Added CPU32 support.
6902
6903 Fri Sep 18 08:02:18 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
6904
6905         * tc-m68k.c (m68k_ip): An(disp) is not pc relative.
6906
6907 Tue Sep 15 17:25:05 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
6908
6909         * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
6910         Change LIBDEPS dependence to LIBS.
6911
6912 Tue Sep 15 15:32:02 1992  Ian Lance Taylor  (ian@cygnus.com)
6913
6914         * Makefile.in (install): if $(tooldir) exists, install as in
6915         $(tooldir)/bin.
6916
6917 Sun Sep 13 20:30:10 1992  Ian Lance Taylor  (ian@cygnus.com)
6918
6919         * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
6920         .word is < -32768 or > 32767.  The -J flag causes the error to be
6921         ignored.  This is to catch over-sized switches generated by gcc on
6922         systems which don't support the broken .word hack.
6923         as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
6924         write.c (fixup_segment): check for signed .word overflow if
6925         WARN_SIGNED_OVERFLOW_WORD.
6926
6927         * write.c (fixup_segment): fixed missing parens in expression
6928         checking for byte or word overflow.
6929
6930         * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
6931         obj-coffbfd.c (fixup_segment): check for signed .word overflow if
6932         WARN_SIGNED_OVERFLOW_WORD.
6933
6934         * obj-coffbfd.c (fixup_segment): fixed missing parens in
6935         expression checking for byte or word overflow.
6936
6937 Fri Sep 11 10:21:04 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
6938
6939         Support for i386 coff
6940         * obj-coffbfd.h : added stuff
6941         * tc-i386.c (tc_coff_fix2rtype): new function
6942         * tc-i386.h : new coff defines
6943
6944 Thu Sep 10 09:23:15 1992  Ian Lance Taylor  (ian@cygnus.com)
6945
6946         * input-scrub.c (input_scrub_push): call input_file_begin, not
6947         input_scrub_begin.
6948         messages.c (as_perror): print ": " between the passed in error and
6949         the strerror, like perror does.
6950
6951 Wed Sep  9 11:06:25 1992  Ian Lance Taylor  (ian@cygnus.com)
6952
6953         * Makefile.in: use gas_target instead of modifying target_cpu.
6954         From Steve Chamberlain:
6955         Makefile.in: Handle m68*-*-coff*.
6956         read.c, read.h: add mult argument to s_space
6957
6958         * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
6959          Motorola and MIT syntax; gas can now assemble either type of
6960          file.
6961         tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
6962         From Steve Chamberlain:
6963         m68kcoff.mt: for m68k COFF.
6964         obj-coffbfd.c: (fixup_mdeps) added
6965          (size_section) removed bad sanity check
6966          (fill_section) added rs_machine_dependent case
6967          (write_object_file) call fixup_mdeps
6968          (fixup_segment) set fx_subsy to 0.
6969         obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
6970          handle m68k.
6971         tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
6972          pseudo ops.
6973
6974 Tue Sep  8 17:10:58 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
6975
6976         * Makefile.in (LIBS): Include opcode library.
6977
6978 Fri Sep  4 18:20:56 1992  Ken Raeburn  (raeburn@cygnus.com)
6979
6980         * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
6981         including zero are accepted, pass +0.0.
6982
6983 Sun Aug 30 21:24:46 1992  Ian Lance Taylor  (ian@cygnus.com)
6984
6985         * Makefile.in: map "as" through program_transform_name when
6986         installing.
6987
6988         * doc/Makefile.in: map "as" through program_transform_name when
6989         installing.
6990
6991 Sat Aug 29 12:11:12 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
6992
6993         * Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
6994
6995 Fri Aug 28 16:25:22 1992  Ian Lance Taylor  (ian@cygnus.com)
6996
6997         * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
6998         tc-i960.c (md_ri_to_chars): Always output bout object file in
6999         little endian byte order (used to use endianness of host).
7000
7001 Tue Aug 25 15:50:48 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
7002
7003         * config/tc-m68k.c (init_table): Now const.  Always include 68851
7004         data, so that "bc" is available to 68040 cache instructions.
7005         Added "tt0", "tt1", and 68ec030 variants.
7006         (md_assemble): Complain if 68000 (only) and 68881 are specified.
7007         (enum _register): Added TT0, TT1.
7008         (m68k_ip, cases '3' and 't'): Handle new operand type codes.  Pass
7009         line number correctly in "internal error" messages.  Don't print
7010         architecture-mismatch message for operand errors.
7011
7012         From Colin Smith (colin@wrs.com):
7013         * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
7014         than install_operand.
7015
7016 Tue Aug 25 15:13:48 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7017
7018         * listing.c (buffer_line): rewind to the start of include
7019         files, they might be included twice.
7020
7021         * z8k.c, z8k.h, z8k.mt: z8000 support stuff
7022
7023 Mon Aug 24 12:45:43 1992  Ian Lance Taylor  (ian@cygnus.com)
7024
7025         * Makefile.in: defined TARGET_CPU for C code so that it can choose
7026         one element of a family.
7027
7028         * tc-m68k.c: use TARGET_CPU to choose default cpu type.
7029
7030         * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
7031         so that we can assemble hand-written libgcc code.
7032
7033 Fri Aug 21 14:38:44 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
7034
7035         * messages.c (as_warn): Use fputs, not fprintf, with a buffer that
7036         has already been formatted (but may still contain %-characters).
7037         (as_bad): Likewise.
7038
7039 Wed Aug 19 11:20:59 1992  Ian Lance Taylor  (ian@cygnus.com)
7040
7041         * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
7042         written with indirection on the last two operands, which can be
7043         either data or address registers.  Added a new operand type 'r'
7044         which accepts either register type.  Added '(' to notend stuff in
7045         tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
7046
7047 Wed Aug 19 09:25:09 1992  Ken Raeburn  (raeburn@cygnus.com)
7048
7049         * as.h (enum _relax_state): Start off at one, not zero, to better
7050         catch uninitialized-variable errors.
7051         (linkrelax): Declare new variable.
7052
7053         * messages.c (warning_count, error_count): Default initializer is
7054         sufficient.
7055
7056         * write.c: Merged some declarations, using PARMS macro.
7057         (text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
7058         data_last_frag): No longer static.
7059         (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
7060         defined, call it.  Change segments before calling fixup_segment.
7061         (relax_align): If linkrelax, provide extra padding.
7062
7063         * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
7064         their not having symbols associated.
7065
7066         * tc-i960.c (norelax, instrument_branches): Default initializer is
7067         sufficient.
7068         (linkrelax): Delete variable definition.
7069         (mem_fmt): Call fix_new with NO_RELOC.
7070         (tc_bout_fix_to_chars): Handle alignment relocs.
7071         (i960_handle_align): New function.
7072         * tc-i960.h (linkrelax): Delete declaration.
7073         (HANDLE_ALIGN): New macro; calls i960_handle_align.
7074         (NEED_FX_R_TYPE, NO_RELOC): New macros.
7075
7076 Tue Aug 18 14:59:21 1992  Ken Raeburn  (raeburn@cygnus.com)
7077
7078         * config/sparc.mt: New file.  Grab sparc opcode table from bfd
7079         library.
7080
7081 Tue Aug 18 14:16:38 1992  Ian Lance Taylor  (ian@cygnus.com)
7082
7083         * Makefile.in: always create installation directories.  Removed
7084         MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
7085         FLAGS_TO_PASS to recursive makes.
7086
7087         * doc/Makefile.in: always create installation directories.
7088
7089 Mon Aug 17 15:09:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7090
7091         * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
7092         being used with args swapped, causing occasional lossage when
7093         refilling buffers after an include file.
7094
7095 Mon Aug 17 13:18:51 1992  Ken Raeburn  (raeburn@cygnus.com)
7096
7097         * messages.c (as_tsktsk): Use correct ANSI form for stdarg
7098         version.  Discard bogus DONTDEF version.
7099         (as_warn, as_bad, as_fatal): Likewise.
7100
7101 Fri Aug 14 18:31:14 1992  Ken Raeburn  (raeburn@cygnus.com)
7102
7103         * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
7104         selected architecture, print a message saying so and listing what
7105         processors support it, rather than saying "operands mismatch".
7106
7107 Thu Aug 13 13:53:19 1992  Ken Raeburn  (raeburn@cygnus.com)
7108
7109         * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
7110
7111         * config/ho-rs6000.h (M_RS6000): Don't define it.
7112         (free): Declare it.
7113         (BROKEN_ASSERT): Define it if not __STDC__.
7114
7115 Tue Aug 11 12:58:14 1992  Ken Raeburn  (raeburn@cygnus.com)
7116
7117         * sparc.mt: New file.
7118
7119 Mon Aug 10 14:37:08 1992  Per Bothner  (bothner@cygnus.com)
7120
7121         * tc-m68k.c: ".align N" means align to N-byte boundary *only*
7122         if TN_SUN3; otherwise align to 2**N-byte bounary.
7123
7124 Thu Aug  6 12:10:39 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7125
7126         * read.c (s_fill): make the .fill size clamped error a warn and
7127         fix bug where 0's were always placed.
7128
7129         * config/tc-h8300.c: if a :8 is seen after an operand, fill top
7130         two bytes of any constant with 0xff:
7131
7132 Wed Aug  5 12:02:40 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7133
7134         * config/tc-m68k.c (md_pseudo_table): fix the .align thing
7135         the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
7136
7137 Wed Aug  5 01:54:34 1992  John Gilmore  (gnu at cygnus.com)
7138
7139         * tc-m68k.c (try_index):  Error if index scaling specified and
7140         assembling for an older CPU than a 68020.
7141
7142 Sat Aug  1 19:10:13 1992  Ken Raeburn  (raeburn@cygnus.com)
7143
7144         * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
7145         fx_offset into account.
7146
7147 Fri Jul 31 21:53:28 1992  Ken Raeburn  (raeburn@cygnus.com)
7148
7149         * configure.in (mips host): Accept "ultrix" with version number.
7150
7151         * expr.c (floating_constant): Separate "=-" to avoid confusing
7152         ancient or broken compilers.
7153
7154         * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
7155         processor/opcode mismatch, so reword the error message.
7156         (md_assemble): If no CPU has been set (even if FPU/PMMU
7157         characteristics have been), default to 68020.  Don't need extra
7158         quotes around error string.
7159
7160 Fri Jul 31 12:26:34 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
7161
7162         * read.c (potable): Revert sac's incorrect change made Jul 13.
7163         Align really is supposed to be ptwo not nbytes.
7164
7165 Mon Jul 20 02:51:59 1992  D. V. Henkel-Wallace  (gumby@cygnus.com)
7166
7167         * Makefile.in: _Do_ include libiberty.  (from sef)
7168
7169 Fri Jul 17 15:15:28 1992  Ken Raeburn  (raeburn@cygnus.com)
7170
7171         * expr.c (integer_constant): Handle "0f" and "0b" label references
7172         properly.
7173
7174 Thu Jul 16 08:20:17 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7175
7176         * write.c (fixup_segment): if relaxing, don't do anything.
7177         * config/obj-bout.[ch] : maintain the a_relaxable file header info
7178         * config/tc-i960.c: new option -linkrelax
7179
7180 Mon Jul 13 14:11:36 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7181
7182         * expr.c (expr): allow SEG_BSS in expressions
7183         * read.c (potable): align should be nbytes, not ptwo!
7184         * write.c (write_object_file): extra glue for new bss attributes
7185         (relax_segment): SEG_BSS is ok now
7186         * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
7187
7188 Mon Jul  6 17:09:32 1992  Steve Chamberlain  (sac@cygnus.com)
7189
7190         * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
7191
7192 Mon Jun  1 16:20:22 1992  Michael Tiemann  (tiemann@cygnus.com)
7193
7194         * configure.in: recognize m680x0 as having sun3 emulation mode for
7195         vxworks environment.
7196
7197
7198 Tue Jun 30 20:25:54 1992  D. V. Henkel-Wallace  (gumby@cygnus.com)
7199
7200         * Makefile.in: Add program_suffix (parallel to program_prefix)
7201
7202 Wed Jun 24 10:57:54 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7203
7204         * app.c (process_escape): new function to handle escapes the right
7205         way, (do_scrub_next_char): use new function
7206         * cond.c (s_ifdef): do ifdef/ifndef right
7207         * read.c (s_fill): make the , expressions optional like the doc
7208         says
7209         * config/tc-h8300.[ch]: better warnings
7210
7211 Tue Jun  9 07:54:54 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7212
7213         * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
7214         as data0_frchainP
7215
7216         * write.c (write_object_file): various changes to handle data in
7217         the BSS segment in much the same was as stuff in the DATA segment.
7218
7219         * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
7220         pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
7221         68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
7222         the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
7223         it into SEG_BSS
7224
7225 Thu Jun  4 11:59:13 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7226
7227         * expr.c(expr): allow SEG_REGISTER in expressions.
7228         * read.c(pseudo_set): register expressions can be the source of a
7229         set.
7230         * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
7231         goto SEG_TEXT (if a.out)
7232         * write.c (write_object_file): If a.out don't use the old way for
7233         -R.
7234         * config/obj-a.out (s_sect): complain if the user tries to use a
7235         subsegment with a value which might interfere with out -R hackery.
7236         * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
7237         rather than use ugly if tree. (init_regtable): insert register
7238         names into symbol table.
7239
7240 Tue Jun  2 16:47:09 1992  Steve Chamberlain (sac@cygnus.com)
7241
7242         * write.c (write_object_file): keep the fix_tail clean, which
7243         fixes a bug in -R where relocations were being lost.
7244
7245 Mon Jun  1 16:20:22 1992  Michael Tiemann  (tiemann@cygnus.com)
7246
7247         * configure.in: recognize m680x0 as having sun3 emulation mode for
7248         vxworks environment.
7249
7250 Sun May 31 05:33:00 1992  david d `zoo' zuhn (zoo@cygnus.com)
7251
7252         * configure.in: recognize m680x0 as an m68k
7253
7254 Thu May 28 11:22:02 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
7255
7256         * configure.in: Recognize sparclite as a sparc variant.
7257
7258         * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro.  Mention new
7259         -Asparclite flag.
7260
7261 Tue May 26 16:47:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7262
7263         * config/tc-a29k.c: lint
7264         * listing.c, expr.c: patches from Andrew Smith
7265
7266 Thu May 14 17:22:48 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
7267
7268         * doc/Makefile.in: use m4 rather than gm4.
7269
7270 Mon May  4 18:56:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7271
7272         * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
7273         calc the base of relocs correctly.
7274         * tc-a29k.c (parse_operand): allow expressions to be in any section.
7275
7276 Mon Apr 27 13:13:31 1992  K. Richard Pixley  (rich@cygnus.com)
7277
7278         * as.c, write.c: use -K rather than -k for the broken word warning
7279           option.
7280
7281 Tue Apr 21 13:35:30 1992  K. Richard Pixley  (rich@cygnus.com)
7282
7283         * Makefile.in: do not print recursion lines.
7284
7285 Wed Apr 15 21:19:31 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
7286
7287         * Makefile.in: the tooldir copy of gas goes directly in tooldir.
7288
7289 Tue Apr 14 14:50:22 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
7290
7291         * write.c (write_object_file): For b.out format, round up section
7292         start addresses to match required alignment.
7293
7294 Thu Apr  9 05:45:29 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
7295
7296         * Makefile.in (install): Install into $(tooldir)/bin, since that's
7297         where gcc looks for it.
7298
7299 Tue Apr  7 15:12:15 1992  Sean Eric Fagan  (sef@cygnus.com)
7300
7301         * Makefile.in:  Changed some lines to be less confusing for some
7302         makes.
7303
7304         * input-file.c:  Conditionalize on _IOFBF, not VMS.
7305
7306         * read.c, write.c:  Change a series of ifdef/elif to
7307         ifdef/else/ifdef etc.
7308
7309 Fri Mar 27 12:21:16 1992  K. Richard Pixley  (rich@cygnus.com)
7310
7311         * symbols.c (fb_label_init): fix sizeof to memset.
7312
7313 Fri Mar 13 15:45:44 1992  K. Richard Pixley  (rich@cygnus.com)
7314
7315         * Makefile.in: install the man page.
7316
7317         * Makefile.in: pass down MAKEINFO explicitly on info.
7318
7319         * doc/Makefile.in: use $(MAKEINFO) not makeinfo.
7320
7321 Fri Mar 13 08:03:03 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
7322
7323         * flonum-const.c: renamed flonum-konst.c to stop dos name
7324         conflict.
7325
7326 Thu Mar 12 04:42:38 1992  K. Richard Pixley  (rich@cygnus.com)
7327
7328         * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
7329           tc-m68k.h to te-sun3.h.
7330
7331 Wed Mar 11 23:32:42 1992  K. Richard Pixley  (rich@cygnus.com)
7332
7333         * configure.in: vxworks68 gets te-sun3.h.
7334
7335         * expr.c: remove limitation that local_labels_dollar or
7336           local_labels_fb must be < 10.
7337
7338         * symbols.c: remove local_labels_dollar, replace with a function
7339           interface for a sparse array.  All users adjusted.
7340
7341         * te-sun3.h: add LOCAL_LABELS_DOLLAR.
7342
7343 Sat Mar  7 00:06:25 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
7344
7345         * doc/Makefile.in: commented out line for building as-all.texinfo.
7346           This is temporary.
7347
7348         * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
7349
7350 Fri Mar  6 21:57:18 1992  K. Richard Pixley  (rich@cygnus.com)
7351
7352         * Makefile.in: added check target.
7353
7354 Tue Mar  3 15:45:56 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
7355
7356         * Makefile.in: added tooldir and program_prefix.
7357
7358 Sun Mar  1 04:43:19 1992  Michael Tiemann  (tiemann@cygnus.com)
7359
7360         * write.{c,h} (fix_new): Make these declarations consistent.
7361
7362 Sat Feb 29 13:59:10 1992  Michael Tiemann  (tiemann@cygnus.com)
7363
7364         * Makefile.in (strerror.o): Add rule so that broken Sun make can
7365         work in subdirs.
7366
7367 Wed Feb 26 19:26:28 1992  Steve Chamberlain  (sac at thepub.cygnus.com)
7368
7369         * read.c, obj-coffbfd.c : fix h8300 specific bit rot
7370
7371         * expr.c (operand): if can't work out what sort of operand it is,
7372         then look through FLT_CHARS for a hint.
7373
7374 Wed Feb 26 18:04:40 1992  K. Richard Pixley  (rich@cygnus.com)
7375
7376         * Makefile.in, configure.in: removed traces of namesubdir,
7377           -subdirs, $(subdir), $(unsubdir), some rcs triggers.  Forced
7378           copyrights to '92, changed some from Cygnus to FSF.
7379
7380         * doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
7381           -subdirs, $(subdir), $(unsubdir), some rcs triggers.  Forced
7382           copyrights to '92, changed some from Cygnus to FSF.
7383
7384 Tue Feb 25 14:17:15 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
7385
7386         * expr.c: If an expression is single comma, then return with
7387         SEG_ABSENT rather than an error - since the sparc front end does
7388         really strange things with things like fbge,a
7389
7390         * as.h: include bfd.h if using many sections
7391         * expr.c: LOCAL_LABELS_FB had been changed to lower case - so
7392         local labels didn't work.
7393         * listing.c (list_symbol_table): don't core dump when there's no
7394         symbol there.
7395         * write.c, write.h: call fix_new with the right number of args on
7396         the H8.
7397         * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
7398         errors nices
7399
7400 Sat Feb 22 12:26:28 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
7401
7402         * app.c: MRI compatibility - allow single quote to start a string.
7403         * as.c: fix typo recently introduced.
7404         * as.h : Don't include aout/reloc.h - it's not right for COFF!
7405         * expr.c: Much rewriting, to accomodate MRI syntax for
7406         expressions. Also easier to read now.
7407         * listing.c: Put back defuns
7408         * read.c: modified to accept MRI syntax, put back listing pseudo
7409         ops so that an assembler built with NO_LISTING ignores list ops
7410         rather than pukes.
7411         * write.c, write.h: fixs - only keep a reloc type in a fix if the target
7412         machine is a SPARC or a 29K.
7413         * config/obj-aout.c: added s_sect pseudo op
7414         * config/obj-coffbfd.c: lints, set the filehdr flags right and
7415         fill in the timestamp.
7416         * config/obj-coffbfd.h: Since we don't include aout/reloc.h
7417         anymore, define all the relocs which the tc-<x> bit will use so we
7418         can translate from them to the coff types.
7419         * config/tc-a29k.c: reloc_type isn't ane enum any more
7420         * config/tc-m68k.c: Added NO_RELOC definition.
7421
7422 Fri Feb 21 06:21:07 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
7423
7424         * Makefile.in: put header files before C source for TAGS; remove
7425           references to non-existent syscalls.h.
7426
7427         * read.c, write.c subsegs.c: back out the .bss changes.
7428
7429         * obj-aout.c: do not include stab.gnu.h if NO_LISTING.
7430
7431         * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
7432
7433         * a.out.h: removed.
7434
7435 Fri Feb 21 01:08:48 1992  Minh Tran-Le (TRANLE@INTELLICORP.COM)
7436
7437         * symbols.c (local_label_name): symbols now start with ^A.
7438
7439         * read.c, subsegs.c, write.c obj-coff.c: added handling of
7440           `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
7441           generate these sections.  .align: will use NOP_OPCODE or 0
7442           for padding. This is just for being nice to the
7443           disassembler.
7444
7445         * expr.c (operand): changed to generate local label "\001L0"
7446           starting with a ^A so that it is recognized as a local label.
7447
7448         * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
7449
7450         * tc-i386.c: tc-i386.c: added handling of the following opcodes:
7451           i/o opcodes - inb, inw, outb and outw.  string manipulation with
7452           att syntax - scmp, slod, smov, ssca, ssto.
7453
7454         * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
7455           to just after .file .
7456
7457           In obj_crawl_symbol_chain() where it tries to put the external
7458           symbols apart, with the condition:
7459             (!S_IS_DEFINED(symbolP) &&
7460              !S_IS_DEBUG(symbolP) &&
7461              !SF_GET_STATICS(symbolP))
7462           it was moving too many symbols out. So I switch it back to the
7463           condition:
7464             (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
7465
7466           In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
7467           so that we don't use the F_RELFLG which make the linker complain
7468           that somebody has stripped the relocation info.
7469
7470           Also, the AIX ld program require that the relocation table
7471           is sorted by r_vaddr like the standard ATT assembler does.
7472
7473           [he also changed the sizeof(struct ...)'s into the coff
7474           style FOOSZ macros.  I'm not sure this is right, but I can't
7475           remember why.  xoxorich.]
7476
7477 Fri Feb 21 01:08:48 1992  K. Richard Pixley  (rich@cygnus.com)
7478
7479         * Makefile.in, configure.in, doc: use the doc.  Build it, install
7480           it, clean it, etc.
7481
7482 Tue Feb 18 02:21:25 1992  K. Richard Pixley  (rich at cygnus.com)
7483
7484         * read.c: white space and comments only.
7485
7486         * configure.in: use the new atof-ns32.c for ns32k.
7487
7488         * write.c: comment change only.
7489
7490         * tc-m88k.[hc]: pulled in from hack's unfinished work.  These
7491           aren't yet integrated.
7492
7493         * tc-i860.[hc]: blew off the dust.  Something must still be done
7494           about conflicting relocation types.
7495
7496         * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
7497           real thing.
7498
7499         * tc-i960.c, tc-sparc.c: white space and comments only.
7500
7501         * tc-a29k.h: delete duplicate macro definition.
7502
7503         * new file atof-ns32k.c copied from hack's last unreleased gas.
7504
7505 Mon Feb 17 07:51:06 1992  K. Richard Pixley  (rich at cygnus.com)
7506
7507         * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
7508           rather than abort.
7509
7510         * nearly everything.  flush ChangeLog, package as gas-1.92.1.
7511           ChangeLog's prior to this are sketchy at best.  I have logs.
7512           They just aren't ChangeLogs.
7513
7514 \f
7515 Local Variables:
7516 mode: indented-text
7517 left-margin: 8
7518 fill-column: 74
7519 version-control: never
7520 End: