* cgen.c (cgen_asm_finish_insn): New arg relax_p. All callers updated.
[external/binutils.git] / gas / ChangeLog
1 Mon Apr 27 12:07:33 1998  Doug Evans  <devans@seba.cygnus.com>
2
3         * cgen.c (cgen_asm_finish_insn): New arg relax_p.  All callers updated.
4 start-sanitize-m32rx
5         * config/tc-m32r.c (assemble_parallel_insn): No need to try
6         non-relaxable variant any more.  Simplify test for nop insn.
7         (md_assemble): Only scan operands if m32rx.  Set orig_insn in case
8         scan of operands yields an insn different from original (e.g. a macro).
9         Fix call to can_make_parallel.
10 end-sanitize-m32rx
11
12 Mon Apr 27 15:16:12 1998  Ian Lance Taylor  <ian@cygnus.com>
13
14         * ecoff.h: Change symbolS in function declaration to struct
15         symbol.
16
17 Sun Apr 26 13:44:22 1998  Ian Lance Taylor  <ian@cygnus.com>
18
19         * config/tc-sh.c (parse_reg): Add casts to avoid warnings.
20         (md_convert_frag): Fix i18n typo.
21
22 Sat Apr 25 20:12:02 1998  Richard Henderson  <rth@cygnus.com>
23
24         * ecoff.c (ecoff_get_cur_proc_sym): New function.
25         * ecoff.h: Protoype it.
26         * config/tc-alpha.c [ELF] (s_alpha_prologue): New function.
27         [EVAX] (s_alpha_prologue): Delete.
28         (md_pseudo_table): Update.
29
30 Sat Apr 25 14:00:52 1998  Ian Lance Taylor  <ian@cygnus.com>
31
32         * config/tc-i960.c (md_assemble): Change bp_error_msg from static
33         array to local pointer.
34         (get_args, parse_expr): Add casts to avoid warnings.
35
36 Fri Apr 24 12:47:42 1998  Philippe De Muyter  <phdm@macqel.be>
37
38         * read.c (s_set): Cast xmalloc return value to fragS *.
39         * config/tc-m68k.c (m68k_ip): Function made static to match
40         previous forward declaration.
41         (insert_reg, init_regtable, md_convert_frag_1): Likewise.
42
43 Fri Apr 24 09:26:46 1998  Nick Clifton  <nickc@cygnus.com>
44
45         * config/tc-v850.c: Add internationalisation macros to error
46         strings.  
47
48         * config/tc-m32r.c (can_make_parallel): Add internationalisation
49         macros to error strings.
50
51 Thu Apr 23 19:23:23 1998  Ian Lance Taylor  <ian@cygnus.com>
52
53         * config/tc-ppc.c (ppc_fix_adjustable): Correct test of whether a
54         reloc is in the TOC csect.
55         (md_apply_fix3): Correct gettext typo.
56
57 Thu Apr 23 14:58:31 1998  Nick Clifton  <nickc@cygnus.com>
58
59         * config/tc-arm.c (find_real_start): Ignore symbols starting with
60         .L - they are local labels and the branches are not really
61         function calls but rather far jumps.
62
63 start-sanitize-sky
64 Thu Apr 23 11:09:34 1998  Doug Evans  <devans@canuck.cygnus.com>
65
66         * config/tc-dvp.c (dvp_frob_label): Don't emit _$ versions of
67         local labels ($ prefix).
68
69 end-sanitize-sky
70 Wed Apr 22 15:57:21 1998  Tom Tromey  <tromey@cygnus.com>
71
72         * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
73
74 Wed Apr 22 14:52:36 1998  Ian Lance Taylor  <ian@cygnus.com>
75
76         * config/tc-i386.c (md_assemble): Print operand number rather than
77         using ordinal_names.
78         (i386_operand): Likewise.
79
80 Tue Apr 21 22:34:25 1998  Tom Tromey  <tromey@scribbles.cygnus.com>
81
82         * Makefile.am (INTLLIBS): Define to work around apparent automake
83         bug.
84         All Makefiles: Regenerated.
85
86         * Many files: Added gettext invocations around user-visible
87         strings.
88         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
89         HAVE_LC_MESSAGES): Define.
90         * dep-in.sed: Added asintl.h.
91         * po/Make-in: New file.
92         * gasp.c (main): Call setlocale, bindtextdomain, and textdomain.
93         Include "asintl.h".
94         * read.c (Z_): Renamed from `_'.
95         * Makefile.am (SUBDIRS): Added po.
96         (POTFILES): new macro.
97         (po/POTFILES.in): New target.
98         ($(OBJS)): Added asintl.h.
99         (HFILES): Likewise.
100         (INCLUDES): Added -DLOCALEDIR, -I$(top_srcdir)/../intl.
101         (as_new_LDADD): Added $(INTLLIBS).
102         (as_new_DEPENDENCIES): Added $(INTLDEPS).
103         (gasp_new_LDADD): Added $(INTLLIBS).
104         (gasp_new_DEPENDENCIES): New macro.
105         * configure, aclocal.m4: Rebuilt.
106         * configure.in: Call CY_GNU_GETTEXT.  Generate po/Makefile.in and
107         po/Makefile.
108         (ALL_LINGUAS): Define.
109         * macro.c: Include "asintl.h".
110         * as.c (main): Call setlocale, bindtextdomain, and textdomain.
111         * as.h: Include "asintl.h".
112         * config/tc-i386.c (ordinal_names): Removed.
113         (md_assemble): Changed error text to avoid ordinal_names.
114         (i386_operand): Likewise.
115         (reloc): Added as_bad to avoid i18n problems.
116         (tc_gen_reloc): Likewise.
117         * config/tc-arm.c (bad_args): Now a #define.
118         (bad_pc): Likewise.
119         * config/obj-vms.c (VMS_stab_parse): Changed type of
120         `long_const_msg'.
121         (global_symbol_directory): Unified strings to avoid i18n
122         problems.
123         * config/tc-m68k.c (get_reloc_code): Added some as_bad calls to
124         avoid i18n problems.
125         * config/tc-ns32k.c (reloc): Added as_bad to avoid i18n problems.
126         * config/tc-ppc.c (md_apply_fix3): Added as_bad_where to avoid
127         i18n problems.
128         * config/tc-sh.c (md_convert_frag): Added as_bad to avoid i18n
129         problems.
130         * config/tc-v850.c (md_assemble): Changed C++ comment into C
131         comment.
132         * config/tc-vax.c (md_assemble): Added as_warn to avoid i18n
133         problems.
134         * as.c (print_version_id): Added an fprintf to avoid i18n
135         problems.
136         * cond.c (cond_finish_check): Added as_bad call to avoid i18n
137         problems.
138         * expr.c (expr): Added as_warn call to avoid i18n problems.
139         * messages.c (as_assert): Changed code to avoid i18n problems.
140         (as_abort): Likewise.
141         * read.c (pseudo_set): Added as_bad call to avoid i18n problems.
142         (s_space): Likewise.
143         * po/Make-in, po/POTFILES.in, po/gas.pot: New files.
144
145 Tue Apr 21 17:01:22 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
146
147         * config/tc-i386.c (check_prefix): New static function, split out
148         from md_assemble.
149         (struct _i386_insn): Add wait_prefix field.
150         (md_assemble): Remove wait_prefix local variable.  Use
151         check_prefix when adding a prefix.
152
153         * config/tc-i386.c (current_templates): New static variable.
154         (md_assemble): Remove current_templates local variable.
155         (md_assemble, i386_operand): Improve error and warning messages in
156         many places.  Add RESTORE_END_STRING in many places before error
157         return.  Clarify some comments.
158
159         * config/tc-i386.c (struct _i386_insn): Change seg field to a two
160         element array.
161         (md_assemble): Parse string instruction operands, looking for
162         segment override prefixes.  Check for invalid segment prefixes on
163         string instruction.
164         (i386_operand): i.seg[] and max mem_operand changes for string
165         insns.
166         * config/tc-i386.h (EsSeg): Define.
167
168         * config/tc-i386.h (regKludge): Define.
169         (iclrKludge, imulKludge): Don't define.
170         * config/tc-i386.c (md_assemble): Merge imulKludge and iclrKludge
171         code.  Move ReverseRegRegmem fudges into Modrm case.  Reorder
172         opcode_modifier checks to look for more common cases first.  Add
173         default_seg for IsString case.
174
175 Tue Apr 21 16:18:12 1998  Ian Lance Taylor  <ian@cygnus.com>
176
177         * configure.in: Call AM_PROG_LEX rather than AC_PROG_LEX and
178         AC_DECL_YYTEXT.
179         * configure: Rebuild with new automake and libtool.
180         * aclocal.m4, Makefile.in: Likewise.
181
182         * doc/Makefile.am (as.dvi): New target.
183         * doc/Makefile.in: Rebuild.
184
185 start-sanitize-sky
186 Mon Apr 20 12:49:33 1998  Doug Evans  <devans@canuck.cygnus.com>
187
188         * config/tc-dvp.c (VU_LABEL_PREFIX): Make "_$".
189
190 end-sanitize-sky
191 Sat Apr 18 01:21:04 1998  Stan Cox  <scox@cygnus.com>
192
193         * configure.in: Added sparc86x support.
194         
195         * configure: Rebuild.
196         
197         * config/tc-sparc.c (lookup_arch): Added arch_type to struct
198         sparc_arch.
199         (md_parse_option): Warn if -EL is not supported for this architecture.
200
201         * config/tc-sparc.h (SPARC_BIENDIAN) Always define.
202         
203 Sat Apr 18 01:19:01 1998  Jeffrey A Law  (law@cygnus.com)
204
205         * config/tc-mips.c (mips_ip): Note when we use get match on
206         the full instruction name.
207 start-sanitize-r5900
208         (mips_ip): For '&' DEST completer handling, if we got a full match
209         then the DEST completer is implicitly .wxyz.
210 end-sanitize-r5900
211
212 start-sanitize-sky
213 Thu Apr 16 11:48:18 1998  Doug Evans  <devans@canuck.cygnus.com>
214
215         * config/tc-dvp.c (unpackloc_sym): Delete.  All uses deleted.
216         (vif_insn_type): New function.
217         (md_apply_fix3): Don't validate user specified length if unpack insn
218         and wl > cl.
219
220 end-sanitize-sky
221 Wed Apr 15 15:17:27 1998  Richard Henderson  <rth@cygnus.com>
222
223         * symbols.c (resolve_symbol_value) [O_symbol]: Also store the symbol
224         back into the expression to handle add/sub simplification correctly.
225
226 start-sanitize-r5900
227 Wed Apr 15 10:35:59 1998  Frank Ch. Eigler <fche@cygnus.com>
228  
229         * config/tc-mips.c (mips_ip): Specs changed for
230         VCALLMSR instruction.
231  
232 end-sanitize-vr5900
233 start-sanitize-vr5400
234 Wed Apr 15 07:06:04 1998  Catherine Moore  <clm@cygnus.com>
235  
236         * config/tc-mips.c (hilo_interlocks): Remove VR5400.
237  
238 end-sanitize-vr5400
239 Wed Apr 15 07:06:04 1998  Catherine Moore  <clm@cygnus.com>
240
241         * config/tc-mips.c (hilo_interlocks): Remove 4300.
242
243 Mon Apr 13 16:51:04 1998  Nick Clifton  <nickc@cygnus.com>
244
245         * config/tc-arm.c (do_msr): Support undocumented 'msr cpsr_flg,
246         #<n>' instruction.
247
248 start-sanitize-sky
249 Mon Apr 13 12:18:53 1998  Doug Evans  <devans@canuck.cygnus.com>
250
251         * config/tc-dvp.c (md_apply_fix3): Mark fixup for mpg loaded vu
252         branch error as being done so we don't try to emit a reloc.
253
254 end-sanitize-sky
255 Thu Apr  9 10:29:42 1998  Doug Evans  <devans@canuck.cygnus.com>
256
257         * symbols.c (max_indent_level): New global.
258         (print_symbol_value_1): Use it.
259         * expr.h (expr_build_dot): Declare.
260         * expr.c (expr_build_dot): New function.
261 start-sanitize-sky
262         * config/tc-dvp.c (VU_LABEL_PREFIX): New macro.
263         (compute_mpgloc): New function.
264         (eval_expr): New arg `cpu'.  All callers updated.
265         (non_vu_insn_seen_p): New static global.
266         (RELAX_{MPG,DIRECT,VU,ENCODE,GROWTH,DONE_}): New macros.
267         (struct dvp_fixup): New member `cpu'.
268         (assemble_one_insn): New args init_fixup_count, fixup_offset.
269         All callers updated.
270         (md_assemble): Set non_vu_insn_seen_p as appropriate.
271         (assemble_vif): Set `cpu' field of fixup.
272         Clean up calls to frag_var.  Recorded mpgloc is now in bytes.
273         (assemble_vu_insn): Delete, contents moved into ...
274         (assemble_vu): ... here.  Don't record fixups until after parsing
275         both upper and lower insns.  If branch insn inside mpg, properly
276         compute target address.
277         (dvp_frob_label): Create copies of vu labels inside mpg's.
278         (dvp_relax_frag): Clean up.
279         (md_convert_frag): Ditto.
280         (md_apply_fix3): Signal error if mpg embedded vu code has branch
281         to undefined label (not currently supported).
282         (eval_expr): New arg `cpu'.  All callers updated.
283         (insert_operand_final): Convert mpgloc from bytes to dwords.
284         (s_endmpg): Use compute_mpgloc to update $.mpgloc.
285         (s_state): If switching to vu state, initialize $.mpgloc.
286 end-sanitize-sky
287
288 Wed Apr  8 16:16:11 1998  Doug Evans  <devans@canuck.cygnus.com>
289
290         * symbols.c (print_binary): New function.
291         (print_expr_1): Call it.
292
293 start-sanitize-sky
294 Tue Apr  7 12:21:39 1998  Doug Evans  <devans@canuck.cygnus.com>
295
296         * config/tc-dvp.c (md_convert_frag): Fix thinko.
297
298 Mon Apr  6 17:08:47 1998  Doug Evans  <devans@canuck.cygnus.com>
299
300         * config/tc-dvp.c (assemble_vif): Watch for macro insns.
301         0 is a valid length value (= max+1).
302         (install_vif_length): 0 is a valid length value (= max+1).
303
304 end-sanitize-sky
305 Mon Apr  6 12:06:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
306
307         * config/tc-m68k.c (m68k_ip, case "#B"): Install the offset of the
308         operand in the opcode.
309
310 start-sanitize-sky
311 Fri Apr  3 12:13:03 1998  Doug Evans  <devans@canuck.cygnus.com>
312
313         * config/tc-dvp.c (assemble_vif): Put relaxable insns in their
314         own fragment.
315
316 end-sanitize-sky
317 Fri Apr  3 11:58:19 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
318
319         * config/tc-i386.h: Reorder operand flags and opcode modifier
320         flags for clarity.  Remove unused definitions: Unknown,
321         ImmUnknown, DispUnknown, NoModrm.
322         * config/tc-i386.c (type_names): Add missing Debug type.
323         (md_assemble): Better duplicate prefix checking.  Quicker string
324         instruction check via new opcode_modifier flag.
325
326 Fri Apr  3 11:44:34 1998  Ian Lance Taylor  <ian@cygnus.com>
327
328         * doc/as.texinfo (Invoking): Clarify -Wa example.
329
330 Fri Apr  3 09:12:23 1998  Gavin Koch  <gavin@cetus.cygnus.com>
331
332         * config/tc-mips.c (mips_pseudo_table): Add weakext entry. 
333         (s_mips_weakext): Define.
334         * ecoff.c (ecoff_directive_weakext): Don't define if defined(TC_MIPS).
335         * config/obj-ecoff.c (obj_pseudo_table): Don't add weakext if 
336         defined(TC_MIPS).       
337         
338 Thu Apr  2 22:42:02 1998  Jeffrey A Law  (law@cygnus.com)
339
340         * config/tc-mn10200.c (tc_gen_reloc): The difference of two symbols
341         is an error if the value can not be computed at assembly time.
342         * config/tc-mn10300.c (tc_gen-reloc): Likewise.
343
344 Thu Apr  2 16:36:47 1998  Ian Lance Taylor  <ian@cygnus.com>
345
346         * gasp.c (main): Set next field of new include_path structure to
347         NULL.  From Avery Pennarun <averyp@gdc.ca>.
348
349         * read.c (s_mri_sect): Call as_bad rather than abort for an
350         unsupported MRI target.
351
352 Wed Apr  1 11:08:27 1998  Nick Clifton  <nickc@cygnus.com>
353
354         * config/tc-arm.c (arm_validate_fix): New function.  Determine if
355         the destination of a branch instruction should be altered.
356         (find_real_start): New function:  Locate the real, Thumb coded
357         start of a Thumb function.
358         (do_t_branch23): Alter the destination of branches to Thumb
359         functions. 
360
361         * config/tc-arm.h: Define TC_VALIDATE_FIX.
362
363 Tue Mar 31 13:27:33 1998  Dean M. Deaver  <deaver@amt.tay1.dec.com>
364
365         * config/tc-arm.c (decode_shift): Handle addressing mode 2 w/rrx
366         also.
367
368 Wed Apr  1 13:13:20 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
369
370         * doc/as.texinfo: Use @itemx for a secondary item in a table.
371         * doc/c-hppa.texi: Likewise.
372
373 Tue Mar 31 17:52:40 1998  Ian Lance Taylor  <ian@cygnus.com>
374
375         * Makefile.am: Rebuild dependencies.
376         * Makefile.in: Rebuild.
377
378         * Makefile.am (DEP_INCLUDES): New variable.
379         (.dep1): Change to work when srcdir is not an absolute path.
380         (.tcdep, .objdep, .dep2, dep.sed): Likewise.
381         * Makefile.in: Rebuild.
382
383 Mon Mar 30 12:46:48 1998  Ian Lance Taylor  <ian@cygnus.com>
384
385         * config/tc-i386.h, config/tc-i386.c: Revert March 24
386         LinearAddress patch.
387
388         * configure.in: Set version to 2.9.1.
389         * configure: Rebuild.
390
391         * Branched binutils 2.9.
392
393 Mon Mar 30 11:22:08 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
394
395         * config/tc-i386.h (FWait): Define.
396         * config/tc-i386.c (md_assemble): Emit fwait prefix before any
397         other prefixes.  Check FWait flag in opcode table to see which
398         instructions require an fwait prefix.
399
400 Mon Mar 30 10:12:00 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
401
402         * stabs.c (get_stab_string_offset): Always create a stab string
403         section.
404
405 Sat Mar 28 22:28:02 1998  Ian Lance Taylor  <ian@cygnus.com>
406
407         Fix some gcc -Wall warnings:
408         * atof-generic.c (atof_generic): Add casts to avoid warnings.
409         * ehopt.c (eh_frame_code_alignment): Likewise.
410         * expr.c (integer_constant, operand): Likewise.
411         * frags.c (frag_align): Likewise.
412         * gasp.c (level_0, change_base, doinstr): Likewise.
413         * hash.c (hash_ask): Likewise.
414         * listing.c (listing_page, calc_hex, print_lines): Likewise.
415         (debugging_pseudo): Likewise.
416         * macro.c (define_macro, check_macro): Likewise.
417         * read.c (read_a_source_file, s_align, s_float_space): Likewise.
418         (ignore_rest_of_line, float_cons): Likewise.
419         * symbols.c (decode_local_label_name): Likewise.
420         * write.c (record_alignment, cvs_frag_to_fill): Likewise.
421         (fixup_segment, number_to_chars_bigendian): Likewise.
422         (number_to_chars_littleendian): Likewise.
423         * config/atof-ieee.c (gen_to_words): Likewise.
424         * config/tc-sparc.c (md_begin, md_assemble): Likewise.
425         (sparc_ip, parse_keyword_arg, s_common): Likewise.
426         * read.c (output_big_sleb128): Initialize locals to avoid
427         warnings.
428         (output_big_uleb128, equals): Likewise.
429         * atof-generic.c (atof_generic): Change number_of_digits_* locals
430         to unsigned int.  Change zeros to unsigned int.
431         * cond.c (s_if): Add return to default case.
432         * frags.c (frag_now_fix): Change return type to addressT.
433         * frags.h (frag_now_fix): Update declaration.
434         * listing.c (file_info_struct): Change linenum to unsigned int.
435         (struct list_info_struct): Change hll_line to unsigned int.
436         (print_source): Update format string.
437         * read.c (emit_expr): Change scan to unsigned int, and don't
438         bother to initialize it.
439         * symbols.c (dollar_label_count): Change to unsigned long.
440         * write.c (adjust_reloc_syms): Remove unused label reduce_fixup.
441         * config/tc-sparc.c (sparc_memory_model): Only define if OBJ_ELF.
442         * config/tc-sparc.c (tc_gen_reloc): Add return to default case.
443
444
445 Fri Mar 27 12:46:47 1998  Ian Lance Taylor  <ian@cygnus.com>
446
447         * config/tc-m68k.c (m68k_ip): Check legal addressing modes for
448         mcf5200 just as we do for m68000.
449         (m68k_init_after_args): Likewise.
450         (md_estimate_size_before_relax): Likewise.
451
452 Fri Mar 27 10:30:01 1998  Catherine Moore  <clm@cygnus.com>
453
454         * config/tc-v850.c (md_assemble):  Store relocation addend in
455         fixup instead of instruction.
456
457 Thu Mar 26 23:07:18 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
458
459         * config/tc-i386.c (md_assemble): Swap template arguments to
460         CONSISTENT_REGISTER_MATCH macro in reverse direction test.
461         This macro is currently symmetric, so passing them the wrong
462         way didn't cause any problem, but may if the macro is changed
463         in the future.
464         After copying template to i.tm, use i.tm. rather than t-> to
465         access fields, and make t a const*
466         Move i.tm.operand_types[] swap to immediately after the copy.
467
468 start-sanitize-sky
469 Thu Mar 26 13:29:59 1998  Doug Evans  <devans@canuck.cygnus.com>
470
471         * config/tc-dvp.c (s_endunpack): Round up to word boundary after
472         we've computed the data length.
473
474 end-sanitize-sky
475 Wed Mar 25 13:44:18 1998  Doug Evans  <devans@canuck.cygnus.com>
476
477         * expr.h (expr_build_uconstant): Add prototype.
478         (expr_build_unary,expr_build_binary): Add prototypes.
479         * expr.c (expr_build_uconstant): New function.
480         (expr_build_unary,expr_build_binary): New functions.
481 start-sanitize-sky
482         * config/tc-dvp.h (md_estimate_size_before_relax): Delete.
483         (md_convert_frag): Delete.
484         (TC_FIX_TYPE): New fields wl,cl,user_value;
485         * config/tc-dvp.c (insert_mpg_marker): New argument ignore.
486         All callers updated.
487         (insert_unpack_marker): New function.
488         (insert_file): New argument insert_marker_arg.  All callers updated.
489         (gif_user_value): New static local.
490         (vif_data_start,vif_data_end): New static locals.
491         (mpgloc_sym,unpackloc_sym): New static locals.
492         (cur_varlen_frag,cur_varlen_insn,cur_varlen_value): Delete.
493         (cur_opcode,cur_operand): New static locals.
494         (endmpg_caller): New enum.
495         (md_pseudo_table): Pass ENDMPG_USER to s_endmpg.
496         (md_begin): Initialize mpgloc_sym, unpackloc_sym.
497         (dvp_fixup): New members user_value,wl,cl;
498         (assemble_vif): Rewrite.
499         (assemble_gif): Tweak name of data start label.
500         (assemble_one_insn): Allow special parser to punt and call the
501         normal expression parser.  Set cur_opcode,cur_operand for md_operand.
502         (md_operand): Handle '*' value for mpgloc,unpackloc.
503         (md_estimate_size_before_relax): New function.
504         (dvp_relax_frag,md_convert_frag): New functions.
505         (md_pcrel_from_section): Handle end data label for variable length
506         vif insns.
507         (md_apply_fix3): Handle count field for variable length vif insns.
508         Handle address field for mpg,unpack.
509         (eval_expr): Initialize user_value,wl,cl fields of the fixup.
510         (cur_vif_insn_length): Delete.
511         (vif_length_value): New function.
512         (install_vif_length): Don't perform logical->physical conversion here.
513         (s_enddirect,s_endmpg,s_endunpack): Rewrite.
514 end-sanitize-sky
515
516 Wed Mar 25 13:10:42 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
517
518         * gasp.c (IS*): Cast argument to unsigned char, not unsigned int.
519         * macro.c (macro_expand_body): Increase buffer size.
520         * messages.c (as_warn): Likewise.
521         (as_warn_where, as_bad, as_bad_where): Likewise.
522
523 Wed Mar 25 12:59:07 1998  Ian Lance Taylor  <ian@cygnus.com>
524
525         Based on patch from H.J. Lu  <hjl@gnu.org>:
526         * Makefile.am (DISTSTUFF): New variable.
527         (diststuff): New target.
528         * Makefile.in: Rebuild.
529
530 Tue Mar 24 16:51:29 1998  Nick Clifton  <nickc@cygnus.com>
531
532         * config/tc-m32r.h (md_cleanup, md_elf_section_change_hook): Call
533         m32r_elf_section_change_hook.
534
535         * config/tc-m32r.c (m32r_elf_section_change_hook): New function to
536         emit a nop if a section ends with a 16 bit instruction.
537
538 Tue Mar 24 19:48:09 1998  Ian Lance Taylor  <ian@cygnus.com>
539
540         * config/obj-coff.c (obj_coff_bss): Compile unconditionally.  Call
541         s_lcomm rather than obj_coff_lcomm.
542         (obj_pseudo_table): Compile .bss pseudo-op unconditionally.
543
544 Tue Mar 24 18:30:58 1998  H.J. Lu  <hjl@gnu.org>
545
546         * config/tc-i386.h (LinearAddress): Define.
547         * config/tc-i386.c (md_assemble): If LinearAddress is set for the
548         instruction, don't use a default segment.
549
550 Mon Mar 23 18:53:40 1998  Joel Sherrill  <joel@OARcorp.com>
551
552         * configure.in: (sh*-*-rtems*): Switched from ELF to COFF.
553         * configure: Rebuild.
554
555 start-sanitize-sky
556 Mon Mar 23 13:16:22 1998  Doug Evans  <devans@canuck.cygnus.com>
557
558         * config/tc-dvp.c (insert_mpg_marker): Update mpgloc.
559
560 end-sanitize-sky
561 start-sanitize-r5900
562 Sun Mar 22 13:21:01 1998  Jeffrey A Law  (law@cygnus.com)
563
564         * config/tc-mips.c (validate_mips_insn): Handle r5900 operands.
565
566         * config/tc-mips.c (append_insn): Handle BFD_RELOC_MIPS16_S3.
567         (mips_ip): Handle 'O' operand.
568         (md_apply_fix): Handle BFD_RELOC_MIPS16_S3.
569
570 end-sanitize-r5900
571 Fri Mar 20 19:15:44 1998  Ian Lance Taylor  <ian@cygnus.com>
572
573         * aclocal.m4, configure: Rebuild with libtool 1.2.
574
575 start-sanitize-r5900
576 Fri Mar 20 09:04:13 1998  Jeffrey A Law  (law@cygnus.com)
577
578         * config/tc-mips.c: Change '%' to '#' in r5900 code to avoid conflict
579         with vr5400 support.
580
581 end-sanitize-r5900
582 Thu Mar 19 16:03:12 1998  Nick Clifton  <nickc@cygnus.com>
583
584         * config/tc-arm.c (md_apply_fix3): fix code to test the range of
585         PC relative branches (PR15358).  Patch courtesy of Jonathan
586         Walton. 
587
588 start-sanitize-r5900
589 Thu Mar 19 14:19:27 1998  Jeffrey A Law  (law@cygnus.com)
590
591         * config/tc-mips.c (mips_ip): Handle opcodes which have the form
592         "name.completer" where only the name is actually in the opcode
593         table.  Allow various operands for base register in load/store
594         instructions.  Handle various new argument characters for the
595         cop2/vu0 co-processor.
596
597 end-sanitize-r5900
598 start-sanitize-sky
599         Wed Mar 18 13:54:04 1998  Frank Ch. Eigler  <fche@cygnus.com>
600
601         * config/tc-dvp.c (s_dmadata): Force 16-byte alignment for ".dmadata"
602         pseudo-op.
603 end-sanitize-sky
604         
605 Wed Mar 18 09:29:51 1998  Nick Clifton  <nickc@cygnus.com>
606
607         * configure.in (emulations): Add thumb-pe target.
608
609         * configure (emulations): Add thumb-pe target.
610
611 1998-03-17  Ken Raeburn  <raeburn@cygnus.com>
612
613         * itbl-lex.l (yywrap): Don't define if already defined as a
614         macro.
615
616 start-sanitize-sky
617 Tue Mar 17 10:40:54 1998  Doug Evans  <devans@canuck.cygnus.com>
618
619         * config/tc-dvp.c (md_begin): Turn dma/vif packing on by default.
620         (assemble_dma): Only output 8 bytes for actual dma insn if dma/vif
621         packing is enabled.  Emit VIF cpu marker after dma insn.
622
623         * config/tc-dvp.h (TC_START_LABEL): Define.
624         * config/tc-dvp.c (force_mach_label): New function.
625         (md_begin,create_colon_label,s_dmadata): Use it.
626
627         * config/tc-dvp.c (s_enddmadata): Always fill dma data out to 16
628         byte boundary.
629
630 Mon Mar 16 10:19:44 1998  Doug Evans  <devans@canuck.cygnus.com>
631
632         * config/tc-dvp.c (md_pseudo_table): Make .quad 16 bytes.
633
634 end-sanitize-sky
635 Fri Mar 13 16:31:38 1998  Tom Tromey  <tromey@cygnus.com>
636
637         * depend.c (quote_string_for_make): New function.
638         (wrap_output): Use it.
639
640 Thu Mar 12 18:28:22 1998  Nick Clifton  <nickc@cygnus.com>
641
642         * config/obj-elf.c (obj_elf_section): Set bss flag in seg_info
643         structure if type is SHT_NOBITS.  [Bug fix courtesy of rth]
644
645 start-sanitize-sky
646 Thu Mar 12 16:13:25 1998  Doug Evans  <devans@canuck.cygnus.com>
647
648         * config/tc-dvp.h (TC_FIX_TYPE,TC_INIT_FIX_DATA): Define.
649         * config/tc-dvp.c (compute_nloop,check_nloop): New functions.
650         (gif_insn_frag_loc): New static global.
651         (assemble_gif): Record frag and location frag of insn.
652         (md_apply_fix3): Validate user specified nloop if we couldn't do
653         it earlier.
654         (s_endgif): Queue fixup to install nloop if we can't compute it here.
655
656 Fri Mar  6 11:36:37 1998  Doug Evans  <devans@canuck.cygnus.com>
657
658         * config/tc-dvp.c (s_endgif): Fix nloop calc and test.  Warn if
659         insufficient data present.  Fix insertion of computed nloop value.
660         (install_vif_length): Second pass at unpack len calcs.
661         (s_endunpack): Round data up to word boundary.
662         (insert_mpg_marker): New function.
663         (insert_file): New args insert_marker, size.  All callers updated.
664         (assemble_vif): Rewrite varlen insn handling.
665         (assemble_vu): Call insert_mpg_marker when 256th insn reached.
666         (s_enddirect,s_endunpack): Rename arg to internal_p.
667
668 end-sanitize-sky
669 start-sanitize-vr4320
670 Tue Mar  3 11:37:26 1998  Gavin Koch  <gavin@cygnus.com>
671
672         * config/tc-mips.c : Added vr4320 similar to vr4300.
673         
674 end-sanitize-vr4320
675 Sat Feb 28 17:28:55 1998  Richard Henderson  <rth@cygnus.com>
676
677         * config/tc-alpha.c (md_shortopts, md_longopts, md_parse_option):
678         Recognize -GN and -relax.
679         (md_begin): Initialize gp size from -G switch.
680         (alpha_force_relocation): Always force if -relax.
681         (alpha_align): Take a new argument that will specify when to 
682         emit an R_ALPHA_ALIGN relocation (though we don't do that now).
683         Change all callers.  Emit nop alignment padding as nop+unop pair.
684
685 Sat Feb 28 17:06:22 1998  Richard Henderson  <rth@cygnus.com>
686
687         * config/obj-elf.c [TC_ALPHA]: Include <elf/alpha.h>.
688         * config/tc-alpha.h (ELF_TC_SPECIAL_SECTIONS): New.
689
690 start-sanitize-d30v
691 Thu Feb 26 15:49:04 1998  Michael Meissner  <meissner@cygnus.com>
692
693         * config/tc-d30v.c (write_2_short): Delayed jsr instructions don't
694         require padding to the next long word boundary.
695
696 end-sanitize-d30v
697 start-sanitize-sky
698 Fri Feb 27 10:06:59 1998  Doug Evans  <devans@canuck.cygnus.com>
699
700         * config/tc-dvp.c (assemble_vif): Insert cpu type marker before
701         inserted binary files.
702
703 end-sanitize-sky
704 start-sanitize-phase2-m32rx
705 Wed Feb 25 11:43:45 1998  Doug Evans  <devans@canuck.cygnus.com>
706
707         * config/tc-m32r.c (optimize): New static local.
708         (md_shortopts): Add -O.
709         (md_parse_option): Recognize it.
710         (md_show_usage): Document it.
711         (md_assemble): Don't try to combine insns in parallel if !optimize.
712
713 end-sanitize-phase2-m32rx
714 start-sanitize-m32rx
715 Tue Feb 24 18:03:25 1998  Nick Clifton  <nickc@cygnus.com>
716
717         * config/tc-m32r.c (first_writes_to_seconds_operands):
718         Reinitialise b_operands for each pass of the inner loop.
719 end-sanitize-m32rx
720 start-sanitize-sky
721 Tue Feb 24 11:01:25 1998  Doug Evans  <devans@canuck.cygnus.com>
722
723         * config/tc-dvp.h (tc_frob_label): Define.
724         * config/tc-dvp.c (dvp_frob_label): New function.
725         (create_colon_label): New argument `sto'.  All callers updated.
726         (record_mach): New argument `force_next_p'.  All callers updated.
727         (cpu_sto): New function.
728         (UNIQUE_LABEL_PREFIX): New macro.
729         (unique_label): Use it.
730         (assemble_gif): Emit start label before mach label.
731         (s_endgif): Update.  NLOOP is in quadwords for IMAGE mode now.
732
733 Mon Feb 23 15:55:12 1998  Doug Evans  <devans@canuck.cygnus.com>
734
735         * config/tc-dvp.c (assemble_dma): Do alignment before parsing insn.
736         (setup_dma_autocount): Renamed from setup_autocount.  New argument
737         inline_p.  All callers changed.  Fix word address of count.
738         (parse_dma_addr_autocount): Fix word address of address.
739
740 end-sanitize-sky
741 start-sanitize-sky
742 Mon Feb 23 17:24:06 1998  Jim Lemke  <jlemke@cygnus.com>
743
744         * config/obj-elf.c: Take Ian's suggestion, leave .bss etc
745         in special_sections table and add .vubss etc via
746         ELF_TC_SPECIAL_SECTIONS.
747         * config/tc-dvp.h: Likewise.
748
749 end-sanitize-sky
750 Mon Feb 23 11:29:06 1998  Doug Evans  <devans@seba.cygnus.com>
751
752         * cgen.c: #include symcat.h.
753         * config/tc-m32r.c: Likewise.
754
755 Mon Feb 23 10:27:40 1998  Jeffrey A Law  (law@cygnus.com)
756
757         * config/tc-mips.c (mips_ip, case 'P'): Make 'P' arguments be
758         absolute expressions instead of '$' prefixed register names.
759
760 Sat Feb 21 22:36:52 1998  Richard Henderson  <rth@cygnus.com>
761
762         * read.c (s_set): Record file and line info for symbols when -as.
763         (pseudo_set): Don't overwrite that dummy fragment.
764
765 start-sanitize-sky
766 Fri Feb 20 12:43:02 1998  Doug Evans  <devans@canuck.cygnus.com>
767
768         * config/tc-dvp.c (md_assemble): Handle ASM_DIRECT state.
769         (dvp_parse_done): Comment out contents.
770         (s_enddirect,s_endmpg,s_endunpack): Call demand_empty_rest_of_line.
771         (s_state): Handle .vu in included file.
772         (asm_state): New state ASM_GIF.
773         (asm_state_stack): Maintain stack of parsing states.
774         ({push,pop,set}_asm_state): New functions.
775         (CUR_ASM_STATE): Renamed from cur_asm_state, all uses updated.
776         (gif_{insn_type,data_name,insn_frag}): New static locals.
777         (md_assemble): Watch for .endgif if in ASM_GIF state.
778         (assemble_gif): Complete.
779         (s_endgif): Complete.
780         (cur_mach): New static local.
781         (record_mach): New function.
782         (md_begin): Initialize `cur_mach'.
783         (assemble_*): Record current mach type.
784         (vu_count): New static local.
785         (assemble_vif): Temporary hack to properly align mpg/direct data.
786         (assemble_vu): Insert mpg every 256 insns.
787
788 end-sanitize-sky
789 Fri Feb 20 15:03:13 1998  Ian Lance Taylor  <ian@cygnus.com>
790
791         * config/tc-ppc.c (md_pseudo_table): Add "section".
792         (ppc_named_section): New static function.
793
794 Thu Feb 19 22:25:42 1998  Richard Henderson  <rth@cygnus.com>
795
796         * tc-ppc.c (ppc_biei): Cache the last symbol we inserted
797         so we don't have to scan the entire list.
798
799 start-sanitize-d30v
800 Tue Feb 17 17:02:15 1998  Fred Fish  <fnf@cygnus.com>
801
802         * config/tc-d30v.c (parallel_ok): For the explicitly parallel
803         case, allow the parallel instructions to modify the same flag
804         bits.
805
806 end-sanitize-d30v
807 Thu Feb 19 16:08:15 1998  Richard Henderson  <rth@cygnus.com>
808
809         * listing.c (list_symbol_table): Categorize symbols by
810         undefined_section rather than sy_frag->line == NULL.
811
812 start-sanitize-sky
813 Thu Feb 19 02:17:03 1998  Doug Evans  <devans@charmed.cygnus.com>
814
815         * config/tc-dvp.c (LOCAL_LABEL_PREFIX,END_LABEL_PREFIX): New macros.
816         (inline_dmadata): Renamed from s_dmadata_implied.
817         (assemble_one_insn): Rewrite dma operand processing.
818         (md_apply_fix3): Handle DVP_OPERAND_DMA_NEXT.
819         (unique_name,setup_autocount): New functions.
820
821         * config/tc-dvp.c: Include stdarg.h/varargs.h.
822         (md_pseudo_table): Add .word.
823         (assemble_dma): Set alignment to 16 bytes.  Enable code that records
824         fixups.
825         (assemble_one_insn): Handle DVP_OPERAND_DMA_{ADDR,AUTOCOUNT}.
826         (md_apply_fix3): Handle DVP_OPERAND_DMA_ADDR.
827         (parse_dma_addr_autocount): Renamed from parse_dma_ptr_autocount.
828         Rewrite.
829         (eval_expr): New function.
830         (create_label,create_colon_label): New function.
831         (s_enddmadata): Rewrite.
832
833 end-sanitize-sky
834 Wed Feb 18 23:39:46 1998  Richard Henderson  <rth@cygnus.com>
835
836         * Makefile.am (install-exec-local): Install properly when ln
837         fails or tooldir == prefix.
838
839 start-sanitize-m32rx
840 Wed Feb 18 18:11:42 1998  Nick Clifton  <nickc@cygnus.com>
841
842         * config/tc-m32r.c (first_writes_to_seconds_operands): Special
843         handling of updates to the condition bit as this is shadow by
844         several registers.
845 end-sanitize-m32rx
846 start-sanitize-sky
847 Wed Feb 18 15:49:56 1998  Doug Evans  <devans@canuck.cygnus.com>
848
849         * config/tc-dvp.c (parse_float): New function.
850         (assemble_vu): Handle loi insns.
851         (assemble_one_insn): Simplify suffix parsing.
852         Handle DVP_OPERAND_FLOAT.  Allow FAKE arguments to have a parser
853         handler.
854
855 end-sanitize-sky
856 start-sanitize-m32rx
857 Wed Feb 18 14:30:26 1998  Nick Clifton  <nickc@cygnus.com>
858
859         * doc/c-m32r.texi (M32R-Opts): Add --Wp and --Wnp.
860
861         * doc/as.texinfo (Overview): Add --Wp and --Wnp.
862
863         * config/tc-m32r.c (md_longopts): Accept --Wp as an abbreviation
864         for --warn-explicit-parallel-conflicts and --Wnp as an
865         abbreviation for --no-warn-explicit-parallel-conflicts.
866         (assemble_parallel_insn): Use non-relaxable versions of branch
867         instructions. 
868
869 Wed Feb 18 11:00:18 1998  Nick Clifton  <nickc@cygnus.com>
870
871         * app.c: Parse || as a seperator between assembler statements.
872
873 end-sanitize-m32rx
874 Tue Feb 17 18:58:51 1998  Doug Evans  <devans@seba.cygnus.com>
875
876         * cgen.c (cgen_md_apply_fix3): Delete call to validate_operand.
877         Test result of insert_operand for error.
878
879 start-sanitize-m32rx
880 Mon Feb 16 12:28:40 1998  Nick Clifton  <nickc@cygnus.com>
881
882         * config/tc-m32r.c (md_assemble): Only parallelise instructions
883         when m32rx target is enabled and the instructions are not
884         relaxable. 
885
886 Fri Feb 13 14:42:16 1998  Nick Clifton  <nickc@cygnus.com>
887
888         * config/tc-m32r.c (first_writes_to_seconds_operands): Do not
889         bother checking insn which have no operands.
890
891 end-sanitize-m32rx
892 Fri Feb 13 16:41:42 1998  Ian Lance Taylor  <ian@cygnus.com>
893
894         * Makefile.am (AUTOMAKE_OPTIONS): Add cygnus.
895         * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
896         * doc/Makefile.am (AUTOMAKE_OPTIONS): Define.
897         * doc/Makefile.in: Rebuild.
898
899 start-sanitize-m32rx
900 Fri Feb 13 09:57:11 1998  Nick Clifton  <nickc@cygnus.com>
901
902         * config/tc-m32r.c (first_writes_to_seconds_operands): New
903         function.  Replaces get_src_reg(), check_for_side_effects(),
904         reads_from_src_reg().  Uses new insn operand features of cgen.
905         (writes_to_pc): New function., but with new code suppressed for now.
906         (md_assemble): Call first_writes_to_seconds_operands().
907 end-sanitize-m32rx
908 Fri Feb 13 00:47:44 1998  Ian Lance Taylor  <ian@cygnus.com>
909
910         * config/tc-mips.c (macro_build): Handle operand type 'C'.
911         (macro): Fix handling of M_COP[0-3].
912
913 Thu Feb 12 14:06:59 1998  Ian Lance Taylor  <ian@cygnus.com>
914
915         Based on patches from Ross Harvey <ross@teraflop.com>:
916         * macro.c (ISSEP): Only treat '<' and '>' as separator characters
917         if macro_alternate or macro_mri.
918         (getstring): Remove support for byte constants between < and >.
919         (get_any_string): '<' only starts a string if macro_alternate or
920         macro_mri.
921         (macro_expand_body): Permit keyword parameters following
922         positional parameters.
923
924         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
925         * configure.in (alpha*-*-netbsd*): New target.
926         * config/te-nbsd.h (LOCAL_LABELS_FB): Define.
927         * configure: Rebuild.
928
929         * as.h (flag_warn_suppress_instructionswap): Move from here...
930         * config/tc-d10v.c (flag_warn_suppress_instructionswap): ...to
931         here, and make static.
932
933         * ehopt.c (eh_frame_code_alignment): Only use seg_info if
934         BFD_ASSEMBLER or MANY_SEGMENTS.
935
936         * as.c (show_usage): Update bug-gnu-utils address.
937         * gasp.c (show_usage): Likewise.
938         * doc/as.texinfo (Bug Reporting): Likewise.
939
940 Wed Feb 11 23:26:28 1998  Jeffrey A Law  (law@cygnus.com)
941
942         * config/tc-mips.c (load_address): Don't use mips III or mips IV
943         insns regardless of the size of a pointer if we're in mips I or
944         MIPS II mode.
945         (macro, macro2, s_cprestore, s_cpadd): Likewise.
946
947 Thu Feb 12 03:41:00 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
948
949 Fix rac to accept only a0:
950         * tc-d10v.c (parallel_ok, find_opcode):
951         Split OPERAND_ACC into OPERAND_ACC0 and OPERAND_ACC1.
952         Introduce OPERAND_GPR.
953
954 Wed Feb 11 16:28:13 1998  Richard Henderson  <rth@cygnus.com>
955
956         * read.c (s_fill): Handle non-constant repeat counts by creating
957         an rs_space fragment.
958
959 start-sanitize-m32rx
960 Wed Feb 11 10:32:28 1998  Nick Clifton  <nickc@cygnus.com>
961
962         * doc/c-m32r.texi: Document warning and error messages.  Add
963         descriptions of --warn-explicit-parallel-conflicts.
964
965         * doc/as.texinfo: Add more m32rx command line options.
966
967 end-sanitize-m32rx
968 Tue Feb 10 18:31:31 1998  Ian Lance Taylor  <ian@cygnus.com>
969
970         * config/tc-i386.c (i386_operand): Change error added Jan 2 1998
971         from as_bad to as_warn.
972
973 start-sanitize-sky
974 Tue Feb 10 15:15:40 1998  Doug Evans  <devans@canuck.cygnus.com>
975
976         * config/tc-dvp.c (*): pke->vif, gpuif->gif.
977
978 end-sanitize-sky
979 Tue Feb 10 18:04:00 1998  Jim Lemke  <jlemke@cygnus.com>
980
981         * as.c: (perform_an_assembly_pass): Use [TEXT|DATA|BSS]_SECTION_NAME
982         * as.h: Define default values of [TEXT|DATA|BSS]_SECTION_NAME
983         * config/obj-elf.c (elf_begin): Use [TEXT|DATA|BSS]_SECTION_NAME
984 start-sanitize-sky
985         * config/tc-dvp.h: Add configuration specific section names.
986 end-sanitize-sky
987
988 Tue Feb 10 17:58:18 1998  Ian Lance Taylor  <ian@cygnus.com>
989
990         * ehopt.c (eh_frame_code_alignment): If not BFD_ASSEMBLER, use
991         seg_fix_rotP rather than fix_root from seg_info.
992
993 Tue Feb 10 15:32:22 1998  Ian Carmichael  <iancarm@cygnus.com>
994
995         * expr.c: Add support for 0x1_2_3_4 bignums.
996
997 Tue Feb 10 14:43:40 1998  Ian Lance Taylor  <ian@cygnus.com>
998
999         * configure.in: Change -linux* to -linux-gnu*.
1000         * configure: Rebuild.
1001
1002         * app.c (do_scrub_begin): Treat \r as whitespace.
1003
1004 start-sanitize-m32rx
1005 Mon Feb  9 16:23:11 1998  Nick Clifton  <nickc@cygnus.com>
1006
1007         * config/tc-m32r.c (get_src_reg): Use m32r_cgen_get_operand()
1008         rather than parsing syntax string manually.
1009         (assemble_parallel_insn): Check for both forms of parallel
1010         conflict. 
1011 end-sanitize-m32rx
1012 Mon Feb  9 14:16:11 1998  Ian Lance Taylor  <ian@cygnus.com>
1013
1014         * Makefile.am: Update dependencies.
1015         * Makefile.in: Rebuild.
1016
1017 Sat Feb  7 15:33:51 1998  Ian Lance Taylor  <ian@cygnus.com>
1018
1019         * configure, aclocal.m4: Rebuild with new libtool.
1020
1021 Fri Feb  6 16:08:30 1998  Jeffrey A Law  (law@cygnus.com)
1022
1023         * config/tc-mips.c (md_begin): If mips_cpu is set, then use it as
1024         the argument to bfd_set_arch_mach.
1025         (load_address): Use bfd_arch_bits_per_address to determine the
1026         bit size of an address instead of looking at the isa level.
1027         (macro, macro2, s_cprestore, s_cpadd): Likewise.
1028
1029 start-sanitize-v850e
1030 Fri Feb  6 14:44:34 1998  Nick Clifton  <nickc@cygnus.com>
1031
1032         * config/tc-v850.c (md_parse_option): Add -mv850any command line option.
1033 end-sanitize-v850e
1034 Thu Feb  5 12:39:08 1998  Ian Lance Taylor  <ian@cygnus.com>
1035
1036         * ehopt.c: New file.
1037         * as.h (enum _relax_state): Add rs_cfa.
1038         (check_eh_frame, eh_frame_estimate_size_before_relax): Declare.
1039         (eh_frame_relax_frag, eh_frame_convert_frag): Declare.
1040         * read.c (emit_expr): Call check_eh_frame.
1041         * write.c (cvt_frag_to_fill): Handle rs_cfa.
1042         (relax_segment): Likewise.
1043         * Makefile.am: Rebuild dependencies.
1044         (GAS_CFILES): Add ehopt.c.
1045         (GENERIC_OBJS): Add ehopt.o.
1046         * doc/internals.texi (Frags): Document rs_cfa.
1047
1048         * as.c (show_usage): Mention --traditional-format.
1049         (parse_args): Accept --traditional-format.
1050         * as.h (flag_traditional_format): Declare.
1051         * output-file.c (output_file_create): If flag_traditional_format,
1052         set BFD_TRADITIONAL_FORMAT on stdoutput.
1053         * doc/as.texinfo, doc/as.1: Document --traditional-format.
1054
1055         * config/tc-mips.c (append_insn): Make sure that if we have a
1056         fixup for an unmatched %hi reloc, it does not associated with a
1057         variant frag.
1058
1059         * configure, Makefile.in, aclocal.m4: Rebuild with new libtool.
1060         * doc/Makefile.in: Likewise.
1061
1062 Wed Feb  4 15:41:54 1998  Nick Clifton  <nickc@cygnus.com>
1063
1064         * config/tc-m32r.c (check_for_side_effects): New function.
1065         (can_make_parallel): Add checks for instruction side effects
1066         clashing with the other instruction.
1067         (assemble_parallel_insn): Improve warning messages.  Return error
1068         message from non-swapped instruction order.
1069
1070 Wed Feb  4 20:00:26 1998  James G. Smith  <jsmith@teknema.demon.co.uk>
1071
1072         * config/tc-arm.c: Rename arm_after_pass_hook() to arm_cleanup().
1073
1074         * config/tc-arm.h: Replace md_after_pass_hook definition with a
1075         md_cleanup definition.  This moves the forced literal output to
1076         the end of the source pass, and avoids macro's inserting literals
1077         into the code immediately after the macro expansion.
1078
1079 Wed Feb  4 13:17:19 1998  Ian Lance Taylor  <ian@cygnus.com>
1080
1081         * config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: A reloc against
1082         a gas internal symbol is adjustable.
1083         * config/tc-ppc.h (tc_fix_adjustable): Likewise.
1084
1085         * as.h: If gcc version greater than 2.6, use `__format__' and
1086         `__printf__' in function attributes, rather than `format' and
1087         `printf'.
1088
1089 Mon Feb  2 18:38:18 1998  Ian Lance Taylor  <ian@cygnus.com>
1090
1091         * config/tc-sparc.c: Only include elf/sparc.h if OBJ_ELF.
1092
1093 Mon Feb  2 18:30:34 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
1094
1095         Add tms320c30 support:
1096         * config/tc-tic30.h: New file.
1097         * config/tc-tic30.c: New file.
1098         * config/obj-coff.h: If TC_TIC30, include coff/tic30.h and define
1099         TARGET_FORMAT as "coff-tic30".
1100         * configure.in (tic30-*-*aout*, tic30-*-*coff*): New targets.
1101         * Makefile.am: Rebuild dependencies.
1102         (CPU_TYPES): Add tic30.
1103         (CPU_OBJ_VALID): tic30-aout is valid.
1104         (TARGET_CPU_CFILES): Add config/tc-tic30.c.
1105         (TARGET_CPU_HFILES): Add config/tc-tic30.h.
1106         * configure, Makefile.in: Rebuild.
1107
1108 Mon Feb  2 10:20:37 1998  Nick Clifton  <nickc@cygnus.com>
1109
1110         * config/tc-v850.c (md_assemble): Improvements to error messages
1111         for PR 14720.
1112
1113 Mon Feb  2 12:39:05 1998  Geoff Keating  <geoffk@ozemail.com.au>
1114
1115         * config/tc-ppc.c (md_apply_fix3): Change BFD_RELOC_HI16 and
1116         BFD_RELOC_HI16_S to store the high bits of any value.
1117
1118         * config/tc-ppc.h (tc_fix_adjustable): Undo change of Fri Jun 27.
1119         (TC_RELOC_RTSYM_LOC_FIXUP): Don't let the
1120         assembler calculate relocations to any external symbol at all.
1121         * config/tc-ppc.c (md_apply_fix3) [OBJ_ELF]: Correct bugs
1122         involving generation of pc-relative relocs.
1123         (md_pcrel_from_section) [OBJ_ELF]: The job this code used to do
1124         has been moved to md_apply_fix3.
1125
1126         * config/tc-ppc.c (md_apply_fix3): Fix test for too-far branch.
1127         (ppc_elf_suffix): Warn about 'identifier+constant@got' syntax,
1128         which actually means (the address of identifier's GOT entry) +
1129         constant, which is not particularly useful.
1130
1131 Fri Jan 30 11:02:35 1998  Doug Evans  <devans@canuck.cygnus.com>
1132
1133         * read.h (include_dirs): Declare.
1134         (include_dir_count,include_dir_maxlen): Declare.
1135 start-sanitize-sky
1136
1137         * config/tc-dvp.c (md_longopts): Add -no-dma, -no-dma-pke.
1138         (md_parse_option): Handle them.
1139         (md_show_usage): Print them.
1140         (output_dma,output_pke): New static globals.
1141         (assemble_pke): Handle -no-dma-pke.
1142         (insert_file): Search include dir list.
1143         (s_enddirect): Validate length if prespecified.
1144         (s_endmpg): Likewise.  Handle -no-dma-pke.
1145         (s_endunpack): Handle -no-dma-pke.
1146         (md_pcrel_from_section): Add offset to delay slot for
1147         undefined symbols.
1148 end-sanitize-sky
1149
1150 Fri Jan 30 11:47:02 1998  Ian Lance Taylor  <ian@cygnus.com>
1151
1152         * configure.in: Correct check for shared opcodes library.
1153         * configure: Rebuild.
1154
1155         * listing.c (buffer_line): If we can't open the file, set at_end.
1156         (listing_print): Remove unused local variable fi.
1157
1158         * config/m68k-parse.y (reglistpair): Handle register list in
1159         either order.
1160
1161         * config/vms-conf.h: Don't undef VERSION.
1162
1163 start-sanitize-m32rx
1164 Thu Jan 29 13:36:29 1998  Doug Evans  <devans@canuck.cygnus.com>
1165
1166         * config/tc-m32r.c (allow_m32rx): Must compile with K&R C.
1167         (m32rx support): only include #ifdef HAVE_CPU_M32RX.
1168
1169 end-sanitize-m32rx
1170 Thu Jan 29 14:42:44 1998  Pat Rankin  <rankin@eql.caltech.edu>
1171
1172         * Makefile.am (CONFIG_OBJS): New variable, containing part of old
1173         OBJS variable.
1174         (GENERIC_OBJS): New variable, with the rest of the old OBJS
1175         variable.
1176         (OBJS): Now just $(CONFIG_OBJS) and $(GENERIC_OBJS).
1177         ($(srcdir)/make-gas.com): Rename from make-gas.com.
1178         (stamp-mk.com): Replace $(OBJS) with $(GENERIC_OBJS).
1179         (EXTRA_DIST): Define.
1180         * vmsconf.sh: Handle {targ-cpu, obj-format, atof-targ} modules
1181         explicitly rather than via the list of object files.
1182         (gcc-as.opt): New file created when make-gas.com is run.
1183         * config-gas.com: Create {targ-cpu.h, obj-format.h, targ-env.h,
1184         itbl-cpu.h} to #include appropriate file rather than copying that
1185         file.
1186         * config/vms-conf.h: Synchronize with current config.in.
1187         * Makefile.in: Rebuild.
1188
1189 start-sanitize-d30v
1190 Thu Jan 29 18:48:19 1998  Bill Moyer  <billm@cygnus.com>
1191
1192         * config/tc-d30v.c (do_assemble): Added flag_explicitly_parallel.
1193         (parallel_ok): Relaxed parallel subinstruction dependency check.
1194
1195 end-sanitize-d30v
1196 start-sanitize-m32rx
1197 Wed Jan 28 16:27:27 1998  Nick Clifton  <nickc@cygnus.com>
1198
1199         * config/tc-m32r.c (md_assemble): Fix determination of when
1200         instructions can be combined in parallel.
1201
1202 end-sanitize-m32rx
1203 Wed Jan 28 14:35:00 1998  Bill Moyer <billm@cygnus.com>
1204
1205         * as.h (flag_warn_suppress_instructionswap): added new flag.
1206         * tc-d10v.c (md_parse_option,md_longopts): added "--nowarnswap" 
1207         command line argument.
1208         * tc-d10v.c (write_2_short): emit "Swapping instructions"
1209         warning only if flag_warn_suppress_instructionswap is false.
1210
1211 Wed Jan 28 16:41:19 1998  J.J. van der Heijden  <J.J.vanderHeijden@student.utwente.nl>
1212
1213         * configure.in (i386-*-mingw32*): New target.
1214         * configure: Rebuild.
1215
1216 Wed Jan 28 14:51:18 1998  Ian Lance Taylor  <ian@cygnus.com>
1217
1218         * symbols.c (resolve_symbol_value): Don't set the segment if it
1219         hasn't changed, and this is OBJ_AOUT without BFD_ASSEMBLER.
1220
1221         * config/obj-aout.h (S_IS_LOCAL): Correct typo--pass argument to
1222         S_GET_SEGMENT.
1223
1224 Wed Jan 28 13:54:50 1998  Pat Rankin  <rankin@eql.caltech.edu>
1225
1226         as.h (unlink): Reverse 13-Feb-97 change; use of unlink vs remove
1227         depends upon HAVE_{UNLINK,REMOVE} values rather than host
1228         compiler.
1229
1230 Wed Jan 28 13:48:08 1998  Ian Lance Taylor  <ian@cygnus.com>
1231
1232         * config/obj-coff.h (RESOLVE_SYMBOL_REDEFINITION): Define.
1233
1234 start-sanitize-sky
1235 Wed Jan 28 10:00:40 1998  Doug Evans  <devans@canuck.cygnus.com>
1236
1237         * configure.in: Add dvp support.
1238         * configure: Regenerate.
1239         * config/tc-dvp.[ch]: New files.
1240
1241 end-sanitize-sky
1242 Wed Jan 28 09:52:00 1998  Nick Clifton  <nickc@cygnus.com>
1243
1244         * config/tc-v850.c (v850_insert_operand): Display instruction when
1245         an error is encountered.
1246
1247 Tue Jan 27 13:32:01 1998  Robert Lipe  <robertl@dgii.com>
1248
1249         * configure.in (i386-*-sco3.2v5*): Defaults to ELF now.
1250         (i386-*-sco3.2v5*coff): New target.
1251         (i386-*-sco3.2*): New target.
1252         * configure: Rebuild.
1253
1254 Tue Jan 27 11:06:52 1998  Nick Clifton  <nickc@cygnus.com>
1255
1256         * config/tc-v850.c: Fix PRs 14721, 14722, 14723, tidying error
1257         message production.
1258
1259 Tue Jan 27 12:24:32 1998  Ian Lance Taylor  <ian@cygnus.com>
1260
1261         * config/tc-arm.c (md_apply_fix3): Add new variable newimm to hold
1262         validate_immediate return value in the right type for comparisons
1263         to FAIL.
1264
1265 Tue Jan 27 06:51:59 1998  Richard Henderson  <rth@cygnus.com>
1266
1267         * listing.c (MAX_BYTES): Use listing variables not constants.
1268         (data_buffer): No longer an array, but a pointer.
1269         (calc_hex): sizeof(data_buffer) -> MAX_BYTES.
1270         (listing_listing): Allocate data_buffer.
1271
1272 Tue Jan 27 06:38:35 1998  Richard Henderson  <rth@cygnus.com>
1273
1274         * as.c (parse_args): Add --listing-lhs-width, --listing-lhs-width2,
1275         --listing-rhs-width, --listing-cont-lines.
1276         (show_usage): Update.
1277         * listing.c (listing_lhs_width, listing_lhs_width_second): New vars.
1278         (listing_lhs_cont_lines, listing_rhs_width): New vars.
1279         (print_lines): Use the variables instead of the constants.
1280         (listing_listing): Likewise.    
1281         * listing.h: Declare the new vars.
1282         
1283 Tue Jan 27 05:32:05 1998  Richard Henderson  <rth@cygnus.com>
1284
1285         * as.c (parse_args): Add --keep-locals alias for -L.
1286         Add --strip-local-absolute.
1287         (show_usage): Update.
1288         * as.h (flag_strip_local_absolute): New flag.
1289         * symbols.c (S_IS_LOCAL): Use it.
1290         * config/obj-aout.h (S_IS_LOCAL): Likewise.
1291         * config/obj-bout.h (S_IS_LOCAL): Likewise.
1292         * config/obj-coff.h (S_IS_LOCAL): Likewise.
1293
1294 Mon Jan 26 13:07:41 1998  Nick Clifton  <nickc@cygnus.com>
1295
1296         * config/tc-m32r.c: Detect if explicitly parallel instructions
1297         might have an io conflict and issue a warning message. 
1298
1299 start-sanitize-m32rx
1300 Mon Jan 26 12:38:54 1998  Nick Clifton  <nickc@cygnus.com>
1301
1302         * config/tc-m32r.c (reads_from_src_reg): Change second parameter
1303         to a count of the number of matches to skip.
1304         (can_make_parallel): Pass count of number of matches to skip to
1305         reads_from_src_reg().
1306
1307 end-sanitize-m32rx
1308 Thu Jan 22 17:51:44 1998  Nick Clifton  <nickc@cygnus.com>
1309
1310 start-sanitize-m32rx
1311         * config/tc-m32r.c: Add support for swapping fixups of swap
1312         instructions. 
1313 end-sanitize-m32rx
1314         * cgen.c (cgen_save_fixups, cgen_restore_fixups,
1315         cgen_swap_fixups): Functions to save, restore and swap the fixup
1316         chain with a backup copy.
1317         (cgen_asm_finish_insn): Returns address of constructed insn.
1318
1319 Wed Jan 21 16:49:10 1998  Richard Henderson  <rth@cygnus.com>
1320
1321         * listing.c (file_info_struct): Remove FILE, add POS.
1322         (last_open_file_info, last_open_file): New; a one entry FILE* cache.
1323         (file_info): Don't open the file.
1324         (buffer_line): Check for the file in the last_open cache, updating
1325         as necessary.
1326         (print_source): Don't reference file_info->file.
1327         (listing_listing): Likewise.
1328         (listing_print): Close the file in the cache, if any.
1329
1330 start-sanitize-m32rx
1331 Tue Jan 20 17:08:53 1998  Nick Clifton  <nickc@cygnus.com>
1332
1333         * config/tc-m32r.c (md_assemble): Add code to swap explicitly
1334         parallel instructions so that they are in the correct order.
1335         (reads_from_src_reg, get_src_reg, can_make_parallel,
1336         make_parallel): New functions to support opportunistic
1337         parallelisation of adjacent instructions.
1338
1339 end-sanitize-m32rx
1340 Fri Jan 16 14:51:48 1998  Ian Lance Taylor  <ian@cygnus.com>
1341
1342         * read.c (dwarf_file_string): New file static variable.
1343         (emit_expr): Look for constant sequence that leads up to a file
1344         name in DWARF debugging output.
1345         (stringer): Use dwarf_file_string to decide whether to accept a
1346         string as a file name.
1347
1348 Fri Jan 16 11:30:37 1998  Richard Henderson  <rth@cygnus.com>
1349
1350         * tc-m68k.c (m68k_ip): Remove absl->reglst MRI hack.
1351         (crack_operand): Add reg->reglst MRI hack.
1352         (r_seg): Put reglst symbols in reg_section.
1353         (m68k_frob_symbol): Frob reglst symbols into absolute_section.
1354
1355 Thu Jan 15 14:19:01 1998  Richard Henderson  <rth@cygnus.com>
1356
1357         * tc-sh.c (get_specific): Handle SGR & DBR.
1358
1359 Thu Jan 15 13:46:48 1998  Richard Henderson  <rth@cygnus.com>
1360
1361         * tc-h8300.c (parse_reg): Take the length of the symbol into
1362         account when attempting to match a register name.
1363         * tc-h8500.c (parse_reg): Likewise.
1364
1365 Wed Jan 14 17:52:33 1998  Nick Clifton  <nickc@cygnus.com>
1366
1367 start-sanitize-m32rx
1368         * config/tc-m32r.c (md_assemble): Add support for parsing parallel
1369         instructions.
1370 end-sanitize-m32rx
1371         * cgen.c: Formatting changes to improve readability.
1372
1373 Wed Jan 14 15:41:41 1998  Jeffrey A Law  (law@cygnus.com)
1374
1375         * config/tc-mips.c (macro): Rework division code to avoid unfilled
1376         delay slot.
1377
1378 start-sanitize-d30v
1379 Wed Jan 14 18:04:20 1998  Michael Meissner  <meissner@cygnus.com>
1380
1381         Based on a patch from Jim Wilson
1382         * config/tc-d30v.c (do_assemble): Remove non-ansi default case.
1383         (tc_gen_reloc): Handle cross section PC relative relocs
1384         correctly.
1385
1386 end-sanitize-d30v
1387 Wed Jan 14 15:02:19 1998  Doug Evans  <devans@seba.cygnus.com>
1388
1389         * config/tc-mips.c (mips_ip): Don't test pinfo flags if INSN_MACRO.
1390
1391 Mon Jan 12 13:04:57 1998  Doug Evans  <devans@seba.cygnus.com>
1392
1393         * cgen.c: #include setjmp.h.  Clean up pass over `struct foo' usage.
1394         (expr_jmp_buf): New static local.
1395         (cgen_parse_operand): Allow use of longjmp in parsing to handle errors.
1396         (cgen_md_operand): New function.
1397         * tc-m32r.c: Clean up pass over `struct foo' usage.
1398         (md_estimate_size_before_relax): Use CGEN_INSN_MNEMONIC.
1399
1400 Tue Jan  6 15:36:02 1998  Richard Henderson  <rth@cygnus.com>
1401
1402         * symbols.c (S_SET_SEGMENT): Don't set the segment for section syms.
1403         (S_IS_EXTERNAL, S_IS_LOCAL): Correct parenthetication.
1404
1405 Fri Jan  2 16:08:54 1998  Ian Lance Taylor  <ian@cygnus.com>
1406
1407         * config/tc-i386.c (i386_operand): Give an error if there are
1408         unrecognized characters after an expression.
1409
1410 Wed Dec 31 12:29:47 1997  Jeffrey A Law  (law@cygnus.com)
1411
1412         * config/tc-mn10200.c (md_relax_table): Correct branch ranges.
1413
1414 Mon Dec 22 13:06:05 1997  Joel Sherrill  <joel@oarcorp.com>
1415
1416         * configure.in (i386*-go32-rtems*): Fix to be the same as
1417         i[3456]86-go32.
1418         * configure: Rebuild.
1419
1420 Mon Dec 22 12:54:07 1997  Ian Lance Taylor  <ian@cygnus.com>
1421
1422         * config/tc-mips.c (macro): The 4650 doesn't permit M_LDC1_AB,
1423         M_SDC1_AB, M_L_DOB, M_L_DAB, M_S_DAB, or M_S_DOB.
1424         (mips_ip): Always check for FP_D, not just for instructions that
1425         are not part of the regular ISA.
1426
1427 Thu Dec 18 16:49:28 1997  Richard Henderson  <rth@cygnus.com>
1428
1429         * config/tc-d10v.c (build_insn): Make `number' a long for 64-bit hosts.
1430
1431 Thu Dec 18 16:42:57 1997  Richard Henderson  <rth@cygnus.com>
1432
1433         * config/tc-alpha.c (cpu_types): 21164pc/pca56 does not have CIX.
1434
1435 Wed Dec 17 21:23:07 1997  Jeffrey A Law  (law@cygnus.com)
1436
1437         * expr.c (integer_constant 32bit bignum): Mask off bits outside
1438         the range we care about.
1439
1440 start-sanitize-d30v
1441 Wed Dec 17 15:29:03 1997  Michael Meissner  <meissner@cygnus.com>
1442
1443         * config/tc-d30v.c (md_shortopts): Add 'n' and 'N' options.
1444         (exec_type_enum): Enumeration giving all of the exec types.
1445         (warn_nops): New static variable to give nop warning level.
1446         ({cur,prev}_mul32_p): New static variable to keep track of whether
1447         the current/previous instruction is a 32-bit multiply.
1448         (Optimizing): Make static.
1449         (NOP{2,_LEFT,_RIGHT}): Macros for word of nops and left/right
1450         nops.
1451         (d30v_insert_operand): Delete declaration of unused function.
1452         (write_2_short): Make exec_type argument enum, not int.
1453         (parallel_ok): Ditto.
1454         (check_range): Delete unused variable(s).
1455         (build_insn): Ditto.
1456         (find_format): Ditto.
1457         (md_apply_fix3): Ditto.
1458         (md_show_usage): Document -n and -N.
1459         (md_parse_option): Parse -n and -N.
1460         (write_1_short): If -n, warn about adding a nop.  Use
1461         NOP_{LEFT,RIGHT}.
1462         (write_2_short): Use enumeration values instead of hard coded
1463         integers.  Reset exec_type for default operations.  For explicit
1464         parallel operations, call parallel_ok to make sure everything is
1465         ok.  If writing out a parallel operation, and the previous
1466         instruction was a 32-bit multiply, indicate current instruction
1467         is.
1468         (parallel_ok): Allow add/tx ... to be done in parallel with
1469         another add/tx ... assuming the gpr registers don't overlap.
1470         (md_assemble): Use exec type enumeration values, not hard coded
1471         ints.  Check for loads or 16-bit multiplies following in the next
1472         cycle after a 32-bit multiply.  Add nops if that is the case.
1473         (do_assemble): Copy prev_mul32_p to cur_mul32_p, and set
1474         cur_mul32_p if current instruction is a 32-bit multiply.
1475         (find_format): Change spacing and layout.
1476
1477 end-sanitize-d30v
1478 start-sanitize-tic80
1479 Tue Dec 16 16:55:45 1997  Fred Fish  <fnf@cygnus.com>
1480
1481         * config/tc-tic80.c (tic80_relax): New static variable.
1482         (md_longopts): Add new OPTION_RELAX and OPTION_NO_RELAX options.
1483         (md_parse_option): Handle new relax options.
1484         (md_show_usage): Document new relax options.
1485         (find_opcode): Don't use short forms of PC relative branches if
1486         tic80_relax is set.
1487
1488 end-sanitize-tic80
1489 start-sanitize-d30v
1490 Tue Dec 16 15:26:03 1997  Michael Meissner  <meissner@cygnus.com>
1491
1492         * config/tc-d30v.c (parallel_ok): Remove non-register bits from
1493         used/set flag fields.  Make flag vars unsigned long.  Use
1494         FLAG_A{0,1} for accumulators.  Allow any 2 insns to be done in
1495         parallel if they use the same conditional flag with reversed
1496         meaning.  Allow 2 add/sub insns that set the carry or overflow
1497         flags but do not query them to be done in parallel.  Don't allow 2
1498         word store operations to be done in parallel with ADDppp or
1499         SUBppp.  Don't allow loads to be done in parallel with 16 bit
1500         multiplies.
1501
1502 end-sanitize-d30v
1503 Tue Dec 16 09:20:43 1997  Nick Clifton  <nickc@cygnus.com>
1504
1505         * config/tc-arm.c: Prevent use of interworking support for
1506         non-COFF targets.
1507
1508 Mon Dec 15 15:20:32 1997  Nick Clifton  <nickc@cygnus.com>
1509
1510         * doc/all.texi: Add M32R cpu.
1511
1512         * doc/as.texinfo: Add documentation of m32r processor.
1513
1514         * doc/c-m32r.texi: New file, documenting m32r specific features.  
1515
1516 start-sanitize-m32rx
1517         * config/tc-m32r.c (allow_m32rx): New function.
1518         (enable_m32rx): New variable.
1519         (md_pseudo_table): Added .m32r and .m32rx pseudo ops
1520         (md_show_usage): Document new --m32rx command line option.
1521         (md_parse_option): Implement new --m32rx command line option.
1522 end-sanitize-m32rx
1523
1524 Mon Dec 15 10:32:28 1997  Jeffrey A Law  (law@cygnus.com)
1525
1526         * config/tc-mips.c (mips_ip): Correctly insert 'P' operands into
1527         the instruction.
1528
1529 start-sanitize-tic80
1530 Fri Dec 12 11:44:20 1997  Fred Fish  <fnf@cygnus.com>
1531
1532         * config/tc-tic80.c (build_insn): Handle instructions that have
1533         long (32 bit) PC relative offsets.  Fix places that previously
1534         misused R_MPPCR for 15 bit offsets to use the new R_MPPCR15W type.
1535         (md_apply_fix): Add case to handle long PC relative offsets.
1536
1537 end-sanitize-tic80
1538 Fri Dec 12 10:35:01 1997  Nick Clifton  <nickc@cygnus.com>
1539
1540         * doc/c-arm.texi (ARM Options): Document support for new ARM
1541         processor names.
1542
1543         * config/tc-arm.c (md_parse_option): Add support for new ARM
1544         processor names.
1545
1546 Thu Dec 11 17:46:50 1997  Richard Henderson  <rth@cygnus.com>
1547
1548         * config/tc-m68k.c (m68k_ip): Don't overwrite opcode table data.
1549         (insop, m68k_ip): Make `opcode' const so it doesn't happen again.
1550
1551 Fri Dec  5 11:23:59 1997  Nick Clifton  <nickc@cygnus.com>
1552
1553         * config/tc-v850.c (md_assemble): Fix BFD_RELOC_32 against a
1554         symbol + offset.
1555
1556         * config/tc-v850.h (ELF_TC_SPECIAL_SECTIONS): Use
1557         SHT_V850_{S|T|Z}COMMON to mark special common sections.
1558
1559 Tue Dec  2 17:05:13 1997  Nick Clifton  <nickc@cygnus.com>
1560
1561         * config/tc-v850.c: Brought up to date with the branch.
1562
1563 Mon Dec  1 20:24:18 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1564
1565         * config/tc-sh.c (SWITCH_TABLE_CONS): Handle (fix)->fx_size == 1.
1566         (SWITCH_TABLE): Handle BFD_RELOC_8.
1567         (md_apply_fix): #ifndef BFD_ASSEMBLER code: Handle fixP->fx_size == 1.
1568         (coff_reloc_map): Add BFD_RELOC_8_PCREL entry.
1569         (sh_coff_reloc_mangle): SWITCH_TABLE case: Handle BFD_RELOC_8.
1570
1571 Sat Nov 22 16:19:22 1997  Richard Henderson  <rth@cygnus.com>
1572
1573         * tc-alpha.c (range_signed_16, range_signed_32): Work around an
1574         apparent bug in gcc's long long support crossing from x86.
1575
1576 Sat Nov 22 14:26:09 1997  Nick Clifton  <nickc@cygnus.com>
1577
1578         * config/tc-arm.c: Brought up to date with latest changes on arm
1579         branch. 
1580
1581 Sat Nov 22 15:50:09 1997  Klaus Kaempf  <kkaempf@progis.de>
1582
1583         * config-gas.com: Get version info from configure.in.
1584
1585         * makefile.vms: include depend.obj in OBJS.
1586
1587         * config/tc-alpha.c (s_alpha_section): Remove ".lcomm" handling.
1588
1589         * config/tc-alpha.c (alpha_basereg_clobbered): Remove variable and
1590         all corresponding code.
1591
1592 Thu Nov 20 15:06:08 1997  Richard Earnshaw <rearnsha@arm.com>
1593
1594         * config/tc-arm.h (TARGET_FORMAT for generic a.out targets): Allow
1595         run-time endian selection.
1596
1597 Wed Nov 19 17:44:42 1997  Richard Henderson  <rth@cygnus.com>
1598
1599         * tc-sh.c (parse_reg): Properly quote for fv4.
1600
1601 Wed Nov 19 23:46:18 1997  Ian Lance Taylor  <ian@cygnus.com>
1602
1603         * symbols.c (resolve_symbol_value): Add missing breaks in case on
1604         symbol value operator.
1605
1606 start-sanitize-vr5400
1607 Wed Nov 19 02:24:07 1997  Ken Raeburn  <raeburn@cygnus.com>
1608
1609         * config/tc-mips.c (gpr_interlocks, cop_interlocks): VR5400 has
1610         these.
1611
1612 end-sanitize-vr5400
1613 Tue Nov 18 18:45:14 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
1614
1615         * config/tc-d10v.c (parallel_ok, find_opcode): 
1616         Split OPERAND_FLAG into OPERAND_FFLAG and OPERAND_CFLAG.
1617
1618 Sun Nov 16 10:05:07 1997  Fred Fish  <fnf@cygnus.com>
1619
1620         * config/obj-coff.c (fixup_segment): Cast second arg of
1621         md_apply_fix3 call to type "valueT *".
1622
1623 Thu Nov 13 13:53:10 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1624
1625         * configure.in (emulations): Make FreeBSD an aout / i386bsd
1626         variant.
1627         * configure: Re-generate.
1628         
1629 Thu Nov 13 11:07:14 1997  Gavin Koch  <gavin@cygnus.com>
1630
1631         * config/tc-mips.c (macro_build): Use the membership field
1632         for INSN_MACRO's.
1633         (mips_ip): Same.
1634
1635 Thu Nov 13 02:04:55 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
1636
1637         * config/tc-d10v.c (find_opcode): For OPCODE_FAKE, add check for
1638         first argument if it's supposed to be a register.
1639
1640 start-sanitize-tx49
1641 Wed Nov 12 10:06:27 1997  Gavin Koch  <gavin@cygnus.com>
1642
1643         * config/tc-mips.c (mips_4900): Added.
1644         (hilo_interlocks): Added mips_4900.
1645         (md_begin): Set default for mips_4900.
1646         (macro_build,mips_ip): Test for INSN_4900 if mips_4900.
1647         (md_longopts): Add "m4900" and "no-m4900".
1648         (md_parse_option): Handle above options.
1649
1650 end-sanitize-tx49
1651 Tue Nov 11 19:25:05 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
1652
1653         * app.c (do_scrub_chars):  If d10v, re-insert a space before
1654         a '#' when in state 10.
1655
1656 Tue Nov 11 13:33:15 1997  Ian Lance Taylor  <ian@cygnus.com>
1657
1658         * config/tc-h8300.c: Include "subsegs.h".
1659         (tc_reloc_mangle): Handle references to symbols which are not
1660         being output, so that references to `.' work.
1661
1662 Mon Nov 10 13:43:33 1997  Ian Lance Taylor  <ian@cygnus.com>
1663
1664         * config/tc-m68k.c (m68k_ip): Call add_fix when needed for '_'
1665         case.
1666
1667         * macro.c (sub_actual): If we don't find a parameter for an &,
1668         just substitute &.
1669
1670 Fri Nov  7 21:29:32 1997  Ken Raeburn  <raeburn@cygnus.com>
1671 start-sanitize-vr5400
1672
1673         * config/tc-mips.c (mips_ip): Added cases for "e", "%", and "P"
1674         operand types.
1675         (hilo_interlocks): VR5400 has interlocks.
1676         (md_begin): Expect mips64vr5400, not mips64r5400.
1677 end-sanitize-vr5400
1678
1679         * config/tc-mips.c (mips_ip): In default case, call as_bad
1680         instead of fprintf, to get "assembler messages:" message output
1681         before instead of after.
1682
1683 Fri Nov  7 10:36:22 1997  Doug Evans  <devans@canuck.cygnus.com>
1684
1685         * frags.h: Handle multiple inclusion.
1686
1687 Wed Nov  5 10:51:49 1997  Doug Evans  <devans@canuck.cygnus.com>
1688
1689         Based on a patch from Ian.Dall@dsto.defence.gov.au.
1690         * as.h (struct frag, frag support): Moved from here.
1691         * frags.h: To here.
1692         (struct frag, member tc_frag_data): New member if TC_FRAG_TYPE
1693         is defined.
1694         (struct frag, member fr_cgen): Renamed from fr_targ.cgen.
1695         * cgen.c (cgen_asm_finish_insn): Update.
1696         * config/tc-m32r.c (md_estimate_size_before_relax): Update.
1697         * config/tc-m32r.h (TC_FRAG_INIT): Renamed from md_init_frag.
1698         (md_convert_frag): Ditto.
1699         * config/tc-ns32k.h (TC_FRAG_TYPE): Define.
1700         (frag_opcode_frag,frag_opcode_offset,frag_bsr): Update.
1701         (TC_FRAG_INIT): Update.
1702
1703 Tue Nov  4 16:35:57 1997  Ian Dall  <Ian.Dall@dsto.defence.gov.au>
1704
1705         * write.c (print_fixup): Use TC_FIX_DATA_PRINT (if defined) to
1706         print out MD fields of fix.
1707         * frags.c (frag_var, frag_variant): Use TC_FRAG_INIT macro (if
1708         defined) to initialize MD fields in frag.
1709         * as.h (struct frag, ns32k support): Rename ns32k to fr_ns32k.
1710         Delete pcrel_adjust.  Add fr_opcode_fragP, fr_opcode_offset.
1711         * config/tc-ns32k.h: Add comments. Remove obsolete
1712         BFD_FAST_SECTION_FILL definition, change prototypes for
1713         fix_new_ns32k and fix_new_ns32k_exp to add new arguments
1714         opcode_frag and opcode_offset and remove pcrel_adjust.
1715         (TC_FIX_TYPE): add opcode_fragP and opcode_offset fields.
1716         (TC_FIX_DATA_PRINT): new macro to print out TC_FIX_TYPE.
1717         (TC_FRAG_INIT): new macro to initialize machine dependent field in
1718         frags.
1719         (frag_opcode_frag, frag_opcode_offset, frag_bsr): macros to access
1720         MD fields in frag structure.
1721         (fix_im_disp, fix_bit_fixP, fix_opcode_frag, fix_opcode_offset,
1722         fix_bsr): macros to access MD fields in fix structure.
1723         * config/tc-ns32k.c: Avoid overlength lines. Align comments.  Don't
1724         use struct opcode_location as these fields are now in the frag
1725         structure.
1726         (convert_iif): Call frag_more as it is needed instead
1727         of trying to allocate for the whole insn. Avoid call of frag_more
1728         with negative argument.
1729         (md_pcrel_adjust, md_fix_pcrel_adjust, md_apply_fix,
1730         md_estimate_size_before_relax, md_pcrel_from,
1731         tc_aout_fix_to_chars): use accessor macros to get md fields in fix
1732         and frag structures.
1733         (fix_new_ns32k, fix_new_ns32k_exp): add new arguments opcode_frag and
1734         opcode_offset and remove pcrel_adjust.
1735         (convert_iif, cons_fix_new_ns32k): call fix_new_ns32k,
1736         fix_new_ns32k_exp with changed arguments.
1737
1738 Mon Nov  3 13:30:17 1997  Gavin Koch  <gavin@cygnus.com>
1739
1740         * tc-mips.c (md_begin): Reorganize setting of default values so
1741         that mips_cpu depends on TARGET_CPU, and mips_opts.isa depends on
1742         mips_cpu.
1743         (md_parse_option): Remove all code that sets defaults; md_begin
1744         handles all of this now.
1745
1746 Sun Nov  2 14:46:09 1997  Ian Lance Taylor  <ian@cygnus.com>
1747
1748         * Makefile.am (STAGESTUFF): Change bin_PROGRAMS to
1749         noinst_PROGRAMS.
1750         (bootstrap, bootstrap2, bootstrap3): Likewise.
1751         * Makefile.in: Rebuild.
1752
1753         * config/tc-ppc.c (ppc_fix_adjustable): Don't adjust relocs in the
1754         TOC section to be against the csect.
1755
1756 Fri Oct 31 18:19:55 1997  Ken Raeburn  <raeburn@cygnus.com>
1757
1758 start-sanitize-vr5400
1759         * config/tc-mips.c (mips_5400): New variable.
1760         (md_begin, md_parse_option): Handle 5400 options/names.
1761         (macro_build, mips_ip): Check for 5400-specific instructions.
1762         (md_longopts, OPTION_M5400, OPTION_NO_M5400): More command-line
1763         support for 5400.
1764
1765 end-sanitize-vr5400
1766         * config/tc-mips.c (validate_mips_insn): New function, checks
1767         match versus mask bits, and also verifies that all bits to be
1768         output are actually specified somewhere.
1769         (md_begin): Call it for 32-bit instructions, instead of doing
1770         match/mask check here.  In case of failure, print a message, but
1771         check the rest of the opcode table before exiting.
1772
1773 Thu Oct 30 13:46:20 1997  Nick Clifton  <nickc@cygnus.com>
1774
1775         * config/tc-arm.c (md_apply_fix3): Fix thumb ADR pseudo op.  Patch
1776         from Tony Thompson at ARM: athompso@arm.com
1777
1778 start-sanitize-d30v
1779 Thu Oct 30 11:11:26 1997  Michael Meissner  <meissner@cygnus.com>
1780
1781         * config/tc-d30v.c (build_insn): Allow odd registers for ld2w and
1782         friends.
1783
1784 end-sanitize-d30v
1785 start-sanitize-tx49
1786 Wed Oct 29 16:22:38 1997  Gavin Koch  <gavin@cygnus.com>
1787
1788         * config/tc-mips.c (hilo_interlocks): True for tx49.
1789         (md_begin): Add mips64tx49.
1790         (md_parse_option): Add 4900 cpu.
1791         
1792 end-sanitize-tx49
1793 Fri Oct 24 15:56:47 1997  Ian Lance Taylor  <ian@cygnus.com>
1794
1795         * config/tc-ppc.c (md_assemble): When handling @l, always sign
1796         extend if the operand expects a signed value.
1797
1798         * config/tc-mips.h (LOCAL_LABELS_DOLLAR): Don't define; use
1799         default which is to permit dollar labels.
1800
1801 Fri Oct 24 11:19:22 1997  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
1802
1803         * config/tc-sparc.c (sparc_memory_model): New variable.
1804         (md_longopts): Add -TSO/-PSO/-RMO options.
1805         (md_parse_options): Handle them.
1806         (sparc_elf_final_processing): For 64 ELF, set required
1807         memory ordering in e_flags. Default to RMO and let the user
1808         override it through command line.
1809
1810         * config/tc-sparc.h (elf_tc_final_processing): Add.
1811
1812 Wed Oct 22 17:42:12 1997  Richard Henderson  <rth@cygnus.com>
1813
1814         * config/tc-sparc.c (v9a_asr_table): New variable.
1815         (sparc_ip): Handle v9a asr's.
1816         Patch from David Miller <davem@vger.rutgers.edu>.
1817
1818 Wed Oct 22 17:22:59 1997  Richard Henderson  <rth@cygnus.com>
1819
1820         * config/tc-sparc.h (md_do_align): New macro.
1821         * config/tc-sparc.c (sparc_handle_align): Handle rs_align_code.
1822         Patch from Jakub Jelinek <jj@sunsite.mff.cuni.cz>.
1823
1824 Wed Oct 22 12:51:18 1997  Ian Lance Taylor  <ian@cygnus.com>
1825
1826         * config/tc-sh.c (sh_small): New variable.
1827         (OPTION_SMALL): Define.
1828         (md_longopts): Add "small".
1829         (md_parse_option): Handle OPTION_SMALL.
1830         (md_show_usage): Mention -small.
1831         * config/tc-sh.h (sh_small): Declare.
1832         (SUB_SEGMENT_ALIGN): Handle sh_small.
1833         * config/obj-coff.h (TARGET_FORMAT): Check sh_small in TC_SH
1834         case.
1835
1836         * config/tc-mips.c (macro): Correct handling of constant in M_LI_D
1837         case in little endian mode.
1838
1839 Tue Oct 21 10:20:11 1997  Doug Evans  <devans@canuck.cygnus.com>
1840
1841         * config/tc-sparc.c (md_apply_fix3, cases ..._H44, ..._HIX22): Leave
1842         overflow signalling to linker.
1843
1844 Mon Oct 20 14:54:06 1997  Klaus K"ampf  <kkaempf@progis.de>
1845
1846         * makefile.vms: Fix for dec c.
1847
1848         * config-gas.com: Give explanation for dec c setup in error
1849         message.
1850
1851         * config/tc-alpha.c (s_alpha_comm): Make .comm symbols separate
1852         sections on openvms/alpha.
1853
1854         * config/obj-evax.c: support .weak pseudo-op
1855
1856 Mon Oct 20 10:13:32 1997  Doug Evans  <devans@canuck.cygnus.com>
1857
1858         * config/tc-sparc.c (default_arch_size): New static local.
1859         (struct sparc_arch): Rename arch_size to default_arch_size.
1860         New member user_option_p.
1861         (sparc_arch_table): Always include v9, v9a.  New entry v9-64.
1862         (init_default_arch): Check whether default arch is valid.
1863         Set default_arch_size in addition to sparc_arch_size.
1864         (OPTION_32,OPTION_64): Define.
1865         (md_longopts): New entries for -32, -64.
1866         (md_parse_option): Handle them.
1867         (md_show_usage): Print them.  Ensure init_default_arch called.
1868         * configure.in (sparc64): Set arch to v9-64.
1869         * configure: Regenerated.
1870
1871 Sun Oct 19 13:50:50 1997  Ian Lance Taylor  <ian@cygnus.com>
1872
1873         * write.c (subsegs_finish): New function, broken out of
1874         write_object_file.
1875         (write_object_file): Some code moves into subsegs_finish.
1876         * write.c (subsegs_finish): Declare.
1877         * as.c (main): Call subsegs_finish.
1878
1879         * read.c (s_include): Check for error return from
1880         demand_copy_string.
1881
1882 Tue Oct 14 20:50:58 1997  Richard Henderson  <rth@cygnus.com>
1883
1884         * read.c (get_line_sb): Accept any eol marker while scanning macros.
1885
1886 Tue Oct 14 19:12:45 1997  Richard Henderson  <rth@cygnus.com>
1887
1888         * config/tc-alpha.h (DIFF_EXPR_OK): Define.
1889         * config/tc-i386.h (DIFF_EXPR_OK): Define.
1890         * config/tc-alpha.c (md_apply_fix): Notice fx_pcrel and substitute
1891         the correct relocation when it exists.
1892         * config/tc-i386.c (md_apply_fix3): Likewise.
1893
1894         * config/tc-ppc.h: Correct typo in comment.
1895         * config/tc-v850.h: Likewise.
1896
1897 Fri Oct 10 16:09:35 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1898
1899         * config/tc-d10v.c (parallel_ok): Allow parallel instruction issue
1900         when second instruction is writing to first instructions inputs.
1901         
1902 Mon Oct 13 15:27:17 1997  Richard Henderson  <rth@cygnus.com>
1903
1904         * ecoff.c (PAGE_SIZE): Double to 8k as a hack to allow some C++
1905         templated programs to build with -g.
1906
1907 Fri Oct 10 17:48:29 1997  Nick Clifton  <nickc@cygnus.com>
1908
1909         * config/tc-v850.c (md_relax_table): Add support for relaxing
1910         unconditional branches.  This patch is courtesy of Jim Wilson. 
1911         (md_convert_frag): Fix relaxing of branches.  This patch is
1912         courtesy of Jim Wilson.
1913         (md_assemble): Create different fixups for conditional and
1914         unconditional branches.  This patch is courtesy of Jim Wilson.
1915         (md_estimate_size_before_relax): Estimate size of variable part of
1916         fixup based on whether it is for a conditional or an unconditional
1917         branch.  This patch is courtesy of Jim Wilson.
1918         (v850_sdata, v850_tdata, v850_zdata, v850_sbss, v850_tbss,
1919         v850_zbss, v850_rosdata, v850_rozdata, v850_bss): Add call to
1920         obj_elf_section_change_hook(). 
1921         (v850_comm): New function.
1922         (md_pseudo_table): Add new pseudo ops .zcomm, .scomm and .tcomm.
1923         (md_begin): Add bss flag to seg_info of bss sections.
1924
1925         Add support for .scommon, .tcommon and .zcommon sections.
1926
1927         * config/tc-v850.h (ELF_TC_SPECIAL_SECTIONS): Add .scommon,
1928         .zcommon, .tbss, .call_table_data and .call_table_text.
1929
1930 Fri Oct 10 15:01:14 1997  Doug Evans  <dje@canuck.cygnus.com>
1931
1932         * configure.in (sparc): Set DEFAULT_ARCH from correct target.
1933         * configure: Regenerated.
1934
1935 Fri Oct 10 11:22:45 1997  Martin M. Hunt  <hunt@cygnus.com>
1936
1937         * config/tc-d10v.c: Fixes to make sure the AT_WORD
1938         expression is not confused with -1.
1939
1940 Fri Oct 10 11:54:50 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1941
1942         * config/tc-d10v.c (parallel_ok): Flag SP as modified for @-sp
1943         operand - OPERAND_ATMINUS.
1944
1945 Fri Oct 10 00:47:44 1997  Michael Meissner  <meissner@cygnus.com>
1946
1947         * config/tc-d10v.c (parallel_ok): Note that auto increment and
1948         decrement modify the index register.
1949
1950 Thu Oct  9 15:17:50 1997  Ian Lance Taylor  <ian@cygnus.com>
1951
1952         From Robin Kirkham <Robin.Kirkham@mlb.dmt.csiro.au>:
1953         * config/tc-m68k.c (archs): Add 68306, 68307, 68322, 68356, 68334,
1954         68336, 68341, 68349.
1955         * doc/c-m68k.texi (M68K-Opts): Add -m68ec000 -m68hc000 -m68hc001
1956         -m68306, -m68307, -m68322, -m68356, -m68ec020, -m68ec030,
1957         -m68ec040, -m68ec060, -m68330, -m68334, -m68336, -m68341,
1958         -m68349.
1959
1960         * doc/Makefile.am (CPU_DOCS): Define.
1961         (as.info): Depend upon $(CPU_DOCS).
1962         * doc/Makefile.in: Rebuild.
1963
1964         * configure.in: Remove AM_PROG_INSTALL; it's called by
1965         AM_INIT_AUTOMAKE.
1966         * configure: Rebuild.
1967
1968 Thu Oct  9 01:44:36 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
1969
1970         * tc-d10v.h (TC_START_LABEL): Don't define.
1971         (tc_frob_label): Define.
1972
1973 Thu Oct  9 00:07:23 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
1974
1975         * config/tc-d10v.c (write_2_short): Fix bug that wouldn't allow
1976         to pair a branch and link with anything but an exe instruction.
1977
1978 Wed Oct  8 16:28:53 1997  Richard Henderson  <rth@cygnus.com>
1979
1980         * config/tc-alpha.c (load_expression): Disable the sym+const .got
1981         optimization to reduce the alignment surprises for gcc.
1982
1983 Wed Oct  8 16:11:15 1997  Doug Evans  <dje@canuck.cygnus.com>
1984
1985         * config/obj-coff.h (TC_SPARC): Don't define TARGET_FORMAT.
1986         * config/tc-sparc.c (sparc_target_format): Handle coff here.
1987         (sparc_ip): Add %hix,%lox.
1988         (md_apply_fix3): Call as_bad_where, not as_bad.
1989         Add support for BFD_RELOC_SPARC_{HIX22,LOX10}.
1990         (tc_gen_reloc): Add support for BFD_RELOC_SPARC_{HIX22,LOX10}.
1991
1992 Wed Oct  8 12:33:32 1997  Richard Henderson  <rth@cygnus.com>
1993
1994         * configure.in: Change alpha-*-* to alpha*-*-*; config.guess now
1995         recognizes alphaev5 etc.
1996         * configure: Rebuild.
1997
1998 Wed Oct  8 00:04:05 1997  Gavin Koch  <gavin@cygnus.com>
1999
2000         * config/tc-mips.c (md_begin): Replace the TARGET_CPU value
2001         of mipsr3900 with mipstx39.
2002
2003         * config/tc-mips.c (mips_ip): Don't print the 'opcode requires 
2004         -mipsXX message' if the insn isn't an ISA insn.
2005
2006 Tue Oct  7 12:48:30 1997  Doug Evans  <dje@canuck.cygnus.com>
2007
2008         * config/tc-sparc.h (TARGET_FORMAT support): Moved to tc-sparc.c.
2009         Redefine TARGET_FORMAT to call sparc_target_format.
2010         * config/tc-sparc.c (in_unsigned_range): New function.
2011         (sparc_arch_size): Make static.
2012         (sparc_target_format): New function.
2013         (sparc_ip): Delete variable immediate_max.  Rewrite %hi/etc reloc
2014         handling.  Add support for %hh,%hm,%lm,%h44,%m44,%l44.
2015         (output_insn): Set `fx_no_overflow'.
2016         (md_apply_fix3): Handle BFD_RELOC_SPARC_{7,H44,M44,L44}.
2017         (tc_gen_reloc): Likewise.
2018
2019 Mon Oct  6 14:04:50 1997  Nick Clifton  <nickc@cygnus.com>
2020
2021         * config/tc-v850.c (v850_section): Remove.
2022
2023         * config/obj-elf.c (obj_elf_section): Enhance error message.
2024
2025 Fri Oct  3 15:40:38 1997  Ian Lance Taylor  <ian@cygnus.com>
2026
2027         * config/tc-mips.c: Undef OBJ_COPY_SYMBOL_ATTRIBUTES before
2028         including obj-elf.h in OBJ_MAYBE_ELF case.
2029         (mips_target_format): Return NULL after abort to avoid warning.
2030
2031         * ecoff.c (generate_ecoff_stab): Remove unused static function.
2032
2033         * expr.c (operator): Accept ==.  From Anders Blomdell
2034         <anders.blomdell@control.lth.se>.
2035
2036         * config/atof-ieee.c (gen_to_words): When generating a denormal
2037         number, handle an overflow into the smallest normalized number.
2038
2039 Mon Sep 29 15:24:52 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2040
2041         * as.h, input-scrub.c (new_logical_line): New return value.
2042         * read.c (s_app_file): Don't note the same file several times
2043         in a row.
2044
2045 Thu Sep 25 13:08:02 1997  Ian Lance Taylor  <ian@cygnus.com>
2046
2047         * config/tc-m68k.c (m68k_ip): Remove ` operand specifier.
2048
2049 Wed Sep 24 16:54:40 1997  Joel Sherrill  <joel@oarcorp.com>
2050
2051         * configure.in (sh*-*-rtems*): New target, like sh-*-elf*.
2052         * configure: Rebuild.
2053
2054 Wed Sep 24 11:30:25 1997  Ian Lance Taylor  <ian@cygnus.com>
2055
2056         * config/tc-m68k.c (m68k_ip): Handle q and v operand specifiers.
2057
2058         * doc/c-i386.texi (i386-Float): Remove incorrect assertion that
2059         fn* instructions do not insert implicit fwait.  This was changed
2060         Jan 29, 1996.
2061
2062         * config/m68k-parse.y (yylex): Permit an expression to be used for
2063         the scale factor.
2064
2065         * Makefile.am (EXTRA_as_new_SOURCES): Set to config/m68k-parse.y,
2066         not m68k-parse.y.
2067         * Makefile.in: Rebuild.
2068
2069         * aclocal.m4: Rebuild with new libtool.
2070         * configure: Rebuild.
2071
2072 Tue Sep 23 17:48:09 1997  Ian Lance Taylor  <ian@cygnus.com>
2073
2074         * app.c (do_scrub_chars): Clear mri_state at end of .mri
2075         pseudo-op.
2076
2077         * config/tc-mips.c (hilo_interlocks): Change from a static
2078         variable to a macro, so that it varies with the variables upon
2079         which it depends.
2080         (gpr_interlocks, cop_interlocks): Likewise.
2081         (md_begin): Don't initialize them.
2082
2083 Fri Sep 19 17:08:41 1997  Jeffrey A Law  (law@cygnus.com)
2084
2085         * config/tc-mn10300.c (md_assemble): Use strcasecomp instead
2086         of strcmp where appropriate.
2087
2088 Thu Sep 18 14:11:56 1997  Nick Clifton  <nickc@cygnus.com>
2089
2090         * config/tc-v850.c (md_assemble): Cope with a zero data area
2091         relocation with a constant offset.
2092         (md_assemble): Produce error message when special data area
2093         relocations are used on instructions which do not support them.
2094         (md_assemble): Reset processor mask if defined by command line
2095         switch. 
2096
2097 Thu Sep 18 11:24:01 1997  Doug Evans  <dje@canuck.cygnus.com>
2098
2099         * config/tc-sparc.c: Reorganize file.
2100         (parse_keyword_arg): Allow numbers in reg names.
2101         (SPECIAL_CASE_NONE): New macro.
2102         (md_assemble): Use it.
2103         (lookup_arch,init_default_arch): New functions.
2104         (default_arch,default_init_p,sparc_arch_table): New static locals.
2105         (sparc_arch_size): New static local.
2106         (max_architecture): Initialize in init_default_arch.
2107         (md_parse_options): Call init_default_arch if necessary.
2108         Rewrite -xarch/-A processing.
2109         (md_show_usage): Print -A values from sparc_arch_table.
2110         (md_begin): Call init_default_arch if necessary.
2111         (sparc_md_end): Handle both 32 and 64 bit environments.
2112         * config/tc-sparc.h (TARGET_FORMAT): Likewise.
2113         * acconfig.h (SPARC_V9,SPARC_ARCH64): Delete.
2114         (DEFAULT_ARCH): Add.
2115         * config.in: Regenerate.
2116         * configure.in (sparc): Default DEFAULT_ARCH based on target cpu.
2117         (SPARC_V9,SPARC_ARCH64): Delete.
2118         * configure: Regenerate.
2119         * config/vms-conf.h (SPARC_V9,SPARC_ARCH64): Delete.
2120
2121 Wed Sep 17 16:54:20 1997  Nick Clifton  <nickc@cygnus.com>
2122
2123         * config/tc-v850.c (v850_reloc_prefix): Recoded to use CHECK_ ()
2124         macro. 
2125         (handle_tdaoff, handle_zdaoff, handle_sdaoff): New functions.
2126 start-sanitize-v850e    
2127
2128         * config/tc-v850.c (md_assemble): Corrected typo.
2129         * config/tc-v850.c Add new sections: call_table_data and
2130         call_table_text.
2131         (v850_reloc_prefix): Add support for ctoff() relocation prefix. 
2132         (handle_ctoff): New Function.
2133
2134         * doc/c-v850.texi (V850 Opcodes): Document call table relocations.
2135 end-sanitize-v850e
2136
2137 Tue Sep 16 14:18:22 1997  Nick Clifton  <nickc@cygnus.com>
2138
2139         * config/tc-v850.c (v850_reloc_prefix): Add support for a 16 bit
2140         displacement from the tiny data area pointer.
2141
2142 Mon Sep 15 21:28:09 1997  Jeffrey A Law  (law@cygnus.com)
2143
2144         * config/tc-hppa.c (fix_new_hppa): Make declaration match
2145         definition.
2146
2147 Mon Sep 15 18:33:06 1997  Nick Clifton  <nickc@cygnus.com>
2148
2149         * config/tc-v850.c (processor_mask): New variable.
2150         (set_machine, md_parse_option): Set processor_mask.
2151         (md_assemble): Check that instruction is available to target
2152         processor. 
2153
2154         * config/tc-v850.h (TARGET_PROCESSOR): New constant.
2155 start-sanitize-v850e
2156         (TARGET_PROCESSOR): New constant.
2157         (TARGET_PROCESSOR): New constant.
2158 end-sanitize-v850e
2159
2160 start-sanitize-tx19
2161 Mon Sep 15 17:26:46 1997  Gavin Koch  <gavin@cygnus.com>
2162
2163         * config/tc-mips.c (mips_1900): Replace with mips_3900 and
2164         mips16.
2165
2166 end-sanitize-tx19
2167 start-sanitize-d30v
2168 Mon Sep 15 11:28:04 1997  Ken Raeburn  <raeburn@cygnus.com>
2169
2170         Merge in work from Martin Hunt:
2171
2172         * config/tc-d30v.c (build_insn): For mvfsys and mvtsys,
2173         CR is 0 for PSWL and PSWH.
2174
2175         * config/tc-d30v.c (do_assemble): Don't accept
2176         illegal condition codes for cmpu instruction.
2177
2178         * config/tc-d30v.c: Add support for BFD_RELOC_D30V_9_PCREL
2179         used in d*i instructions.
2180
2181         * config/tc-d30v.c (check_size): New function.  Check
2182         relocations for overflows.
2183         (md_pcrel_from_section): Fix relocations between sections.
2184         (md_apply_fix3): Use new relocation types for 15 and 21
2185         bit relocations in the right container. Needed because
2186         the address of the instruction is not eight-byte aligned
2187         but the relocations must be.
2188
2189         * config/tc-d30v.c (md_apply_fix3): Check for overflow.
2190         (find_format): If ".s" or ".l" are used, don't try
2191         to compute branch sizes.
2192
2193         * config/tc-d30v.c (do_assemble): Check for ".s" or
2194         ".l" extensions to opcode names.
2195         (find_format): Generate the correct instructions when
2196         ".s" or ".l" are used.
2197
2198         * config/tc-d30v.c (build_insn): Check for odd registers
2199         on instructions that require even registers.
2200
2201         * config/tc-d30v.h (md_start_line_hook): Define.
2202         * config/tc-d30v.c (md_start_line_hook): New hook.
2203         Checks the beginning of each line for a ".".  If it
2204         finds one, assume a pseudo-op and flush any unwritten
2205         instructions.
2206
2207         * config/tc-d30v.c (md_apply_fix3): Fix problem
2208         with determining when fixups were done.
2209
2210         * config/tc-d30v.c (build_insn): Fix bug where the numeric
2211         part of a symbol (for example, "foo+8") was being written
2212         into the instruction.
2213         (md_pseudo_table): Change .word to be 32 bits and add
2214         .hword as 16 bits.
2215
2216         * config/tc-d30v.c (parallel_ok): Check to see if first
2217         instruction is a jump.
2218
2219         * config/tc-d30v.c (parallel_ok): Major code reorganization.
2220
2221 end-sanitize-d30v
2222 Wed Sep 10 10:07:08 1997  Nick Clifton  <nickc@cygnus.com>
2223
2224 start-sanitize-v850e
2225         * config/tc-v850.c (md_assemble): Corrected spelling mistake.
2226 end-sanitize-v850e
2227         * configure.in (emulations): Add v850 emulation.
2228
2229 Tue Sep  9 17:14:33 1997  Doug Evans  <dje@canuck.cygnus.com>
2230
2231         * Makefile.am (CPU_TYPES): Add arc.
2232         (TARGET_CPU_CFILES): Add tc-arc.c.
2233         (TARGET_CPU_HFILES): Add tc-arc.h.
2234         (dependencies): Rebuild.
2235         * Makefile.in: Rebuild.
2236         * configure.in: Recognize arc-*-elf*.
2237         * configure: Regenerated.
2238         * config/tc-arc.[ch]: New files.
2239
2240 Tue Sep  9 10:19:37 1997  Nick Clifton  <nickc@cygnus.com>
2241
2242         * doc/c-v850.texi (V850 Opcodes): Document hi0() reloc prefix.
2243         Correct description of hi() reloc prefix.
2244
2245 start-sanitize-v850e
2246         * doc/c-v850.texi (V850 Opcodes): Document new reloc prefix.
2247         * config/tc-v850.c (v850_reloc_prefix): Add hilo() reloc prefix.
2248         * config/tc-v850.c (md_assemble): Add support for BFD_RELOC_32.
2249 end-sanitize-v850e
2250
2251         * doc/c-v850.texi: Document new pseudo ops and command line
2252         options.
2253
2254         * config/tc-v850.c (set_machine): New function.
2255         * config/tc-v850.c (.v850): New pseudo op.
2256 start-sanitize-v850e
2257         * config/tc-v850.c (.v850e): New pseudo op.
2258         * config/tc-v850.c (.v850ea): New pseudo op.
2259 end-sanitize-v850e
2260         
2261
2262 Mon Sep  8 23:08:04 1997  Ian Lance Taylor  <ian@cygnus.com>
2263
2264         Support -alh and -ald for DWARF 1:
2265         * listing.c (struct list_info_struct): Add debugging field.
2266         (listing_newline): Initialize the debugging field.  If ELF, if the
2267         section starts with .debug or .line, set the debugging field in
2268         the listing structure.
2269         (debugging_pseudo): Add list parameter.  Change all callers.  If
2270         the debugging field is set, consider it to be a debugging pseudo.
2271         If ELF, skip blank lines between debugging lines.
2272         * read.c (emit_expr): If ELF, look for line numbers.
2273         (stringer): If ELF, look for file names.
2274
2275 Mon Sep  8 12:33:40 1997  Nick Clifton  <nickc@cygnus.com>
2276
2277         * config/tc-v850.c (v850_insert_operand): Only test for overflow
2278         if there is no insert function.
2279
2280         * config/tc-v850.h (TARGET_MACHINE): New constant.
2281
2282         * config/tc-v850.c (v850_insert_operand): Add
2283         -mwarn_unsigned_overflow. 
2284         (md_begin): Set BFD machine number based on machine variable.
2285         (md_parse_option): Add -mv850, -mv850e and -mv850ea options.
2286
2287 Mon Sep  8 11:20:46 1997  Ian Lance Taylor  <ian@cygnus.com>
2288
2289         * as.h: Don't declare alloca if it is a macro.
2290         * macro.c: Likewise.
2291
2292 start-sanitize-tx19
2293 Sun Sep  7 16:04:53 1997  Gavin Koch  <gavin@cygnus.com>
2294
2295         * config/tc-mips.c: Add tx19/r1900.
2296
2297 end-sanitize-tx19
2298 Sun Sep  7 00:30:19 1997  Richard Henderson  <rth@cygnus.com>
2299
2300         * config/tc-alpha.c (md_parse_option): Move m[] out to top level and
2301         rename to cpu_types[].
2302         (s_alpha_arch): New function.
2303         (md_pseudo_table): Add "arch".
2304
2305         * config/tc-alpha.c (md_begin): Merge the two loops through the
2306         opcode table.
2307         (s_alpha_proc): Add initial SKIP_WHITESPACE.
2308         (s_alpha_set): Likewise.  Use get_symbol_end instead local while loop.
2309
2310 Sat Sep  6 19:38:12 1997  Fred Fish  <fnf@cygnus.com>
2311
2312         * read.h (s_lcomm_bytes): Add prototype (for real this time).
2313
2314 Thu Sep  4 12:10:01 1997  Ian Lance Taylor  <ian@cygnus.com>
2315
2316         * config/obj-elf.c (elf_frob_symbol): Only set BSF_OBJECT for
2317         symbols on Irix.
2318
2319 Wed Sep  3 11:21:33 1997  Nick Clifton  <nickc@cygnus.com>
2320
2321         * config/tc-v850.c: Remove BFD_RELOC_V850_16_PCREL.
2322
2323 Tue Sep  2 18:32:30 1997  Jeffrey A Law  (law@cygnus.com)
2324
2325         * config/tc-mn10200.c (md_convert_frag): PC relative instructions arex
2326         relative to the next instruction, not the current instruction.
2327         (md_assemble): Similarly.
2328
2329 Tue Sep  2 15:58:52 1997  Nick Clifton  <nickc@cygnus.com>
2330
2331         * doc/c-v850.texi: Explanations of offsets in SDA/ZDA areas
2332         correcetd. 
2333
2334         * config/tc-v850.c: Add support for SDA/TDA/ZDA sections.
2335         (v850_reloc_prefix): Duplicate code eliminated.  Add code to
2336         recognise special instructions.
2337         (md_assemble): Calculation of the size of a fixups corrected.
2338
2339         * config/tc-v850.h (ELF_TC_SPECIAL_SECTIONS): Add SDA/TDA/ZDA
2340         sections.       
2341
2342 Tue Sep  2 15:40:56 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2343
2344         * config/tc-v850.c (md_assemble): Use opcode->name instead of
2345         opcode->opcode as the sentinal. Zero is a valid opcode.
2346
2347 Tue Aug 26 16:51:14 1997  Ian Lance Taylor  <ian@cygnus.com>
2348
2349         * doc/as.texinfo (Machine Dependencies): Add v850 to menu.
2350         * doc/c-v850.texi: Change node name to match other chapter nodes.
2351
2352 Tue Aug 26 09:46:22 1997  Nick Clifton  <nickc@cygnus.com>
2353
2354         * doc/c-v850.texi (V850 Opcodes): Correct name for tiny data area
2355         pointer. 
2356
2357 Tue Aug 26 12:23:25 1997  Ian Lance Taylor  <ian@cygnus.com>
2358
2359         * expr.c (integer_constant): If BFD64, don't make a bignum if the
2360         number will fit in 64 bits.
2361
2362         * config/tc-alpha.c (load_expression): Check explicitly for O_big,
2363         rather than calling abort.
2364
2365         * as.h: Don't define alloca if __GNUC__.  Just declare it.
2366         * macro.c: Copy alloca handling from as.h.
2367
2368         * config/tc-i386.c (i386_align_code): Correct 16 bit noops.  From
2369         Gabriel Paubert <paubert@iram.es>.
2370
2371         * config/tc-i386.c (md_assemble): In JumpByte case, when looking
2372         for a WORD_PREFIX_OPCODE, change it to ADDR_PREFIX_OPCODE if this
2373         is jcxz or a loop instruction.
2374
2375 Mon Aug 25 16:04:14 1997  Nick Clifton  <nickc@cygnus.com>
2376
2377         * config/tc-v850.c (pre_defined_registers): Add 'hp' as alias for
2378         r2.
2379         (md_begin): Set up machine architecture and type.
2380
2381 Mon Aug 25 14:25:48 1997  Ian Lance Taylor  <ian@cygnus.com>
2382
2383         * symbols.c (resolve_symbol_value): Store the value back into the
2384         symbol expression, to handle add or subtract simplification
2385         correctly.  Handle O_symbol_rva.  Add default case.
2386
2387         * config/tc-ppc.c (ppc_change_csect): Temporarily lower the
2388         chunksize while creating the new subsection.
2389         * as.c (chunksize): Initialize to zero.
2390         * subsegs.c (subseg_set_rest): Change 5000 to chunksize when
2391         calling obstack_begin.
2392
2393 Mon Aug 25 11:21:48 1997  Nick Clifton  <nickc@cygnus.com>
2394
2395         * config/tc-v850.c (md_assemble): Restore input_line_pointer upon
2396         exit. 
2397         
2398 start-sanitize-v850e
2399         * config/tc-v850.c (parse_register_list): Support constant
2400         expressions as register lists.
2401 end-sanitize-v850e
2402
2403 Mon Aug 25 10:19:34 1997  Nick Clifton  <nickc@cygnus.com>
2404
2405         * doc/c-v850.texi: Change the major node to v850 Machine
2406         Dependencies. 
2407
2408 Fri Aug 22 11:16:14 1997  Nick Clifton  <nickc@cygnus.com>
2409
2410         * doc/as.texinfo: Add inclusion of c-v850.texi
2411
2412         * doc/c-v850.texi: New file.
2413
2414         * read.c (is_end_of_line): Make NUL character be considered to be
2415         a line terminator.
2416
2417 Fri Aug 22 10:45:33 1997  Nick Clifton  <nickc@cygnus.com>
2418
2419         * config/tc-v850.c (parse_register_list): Add support for curly
2420         brace syntax.
2421         (cc_names): Add "e" and "ne" conditions.
2422
2423 Thu Aug 21 11:00:36 1997  Nick Clifton  <nickc@cygnus.com>
2424
2425         * app.c (do_scrub_chars): Support a double dash as starting a
2426         comment that extends to end of line.
2427
2428 Thu Aug 21 10:54:27 1997  Nick Clifton  <nickc@cygnus.com>
2429
2430         * config/tc-v850.c (v850_section, v850_bss, v850_offset): New
2431         functions.
2432         (md_pseudo_table): New pseudo ops: .bss, .offset, .section
2433
2434 Thu Aug 21 00:59:53 1997  Doug Evans  <dje@canuck.cygnus.com>
2435
2436         * config/tc-m32r.c (md_estimate_size_before_relax): Update recorded
2437         insn when changing to a different instruction.
2438
2439 Wed Aug 20 00:45:20 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2440
2441         * tc-sh.c (parse_reg, get_specific, build_Mytes): Add SH4
2442         floating point extensions.
2443         (parse_reg): parse sgr and dbr.
2444
2445 Tue Aug 19 17:07:34 1997  Nick Clifton  <nickc@cygnus.com>
2446
2447         * config/tc-v850.c (system_register_name): Support numbers for
2448         system register IDs.
2449
2450 Tue Aug 19 08:59:12 1997  Fred Fish  <fnf@cygnus.com>
2451
2452         * read.c (s_lcomm_internal): Renamed from s_lcomm, added arg to
2453         flag when alignment is in bytes instead of power of 2, and code to
2454         use that flag to convert alignment to bytes.
2455         (s_lcomm, s_lcomm_bytes):  New helpers that call s_lcomm_internal.
2456         * read.h (s_lcomm_bytes): Add prototype.
2457         * config/obj-coff.c (write_object_file): If ALIGNMENT_IN_S_FLAGS is
2458         defined, write alignment to alignment bits in section header s_flags
2459         rather than the s_align field.
2460 start-sanitize-tic80
2461         * config/obj-coff.h (ALIGNMENT_IN_S_FLAGS): Define for TC_TIC80.
2462         * config/tc-tic80.c (md_pseudo_table): Use s_lcomm_bytes for bss
2463         pseudo, instead of s_lcomm which wants a power of two for alignment.
2464 end-sanitize-tic80
2465
2466 Mon Aug 18 20:42:23 1997  Richard Henderson  <rth@cygnus.com>
2467
2468         * macro.c (check_macro): use alloca instead of xmalloc to plug leak.
2469
2470 Mon Aug 18 20:33:06 1997  Richard Henderson  <rth@cygnus.com>
2471
2472         * as.c (show_usage): Add -am.
2473         * input-scrub.c (input_scrub_include_sb): Don't add leading \n
2474         if we've already got one.
2475         * listing.c (struct list_info_struct): Add line_contents.
2476         (listing_newline): Put unused argument to work: if non-null, save it...
2477         (listing_listing): ... and regurgitate during listing instead of line
2478         from file.
2479         * listing.h (LISTING_MACEXP): New define.
2480         (LISTING_NEWLINE): Argument is NULL.
2481         * read.c (read_a_source_file): If expanding macros, break up input
2482         lines and pass them to listing_newline.
2483         * doc/as.texinfo: Document -ac and -am.
2484
2485         * cond.c (s_ifc): Add missing demand_empty_rest_of_line.
2486
2487 Mon Aug 18 11:26:36 1997  Nick Clifton  <nickc@cygnus.com>
2488
2489         * config/tc-v850.c (md_apply_fix3): Add support for new 16 bit PC
2490         relative reloc.
2491
2492 start-sanitize-v850e
2493 Mon Aug 18 11:24:21 1997  Nick Clifton  <nickc@cygnus.com>
2494
2495         * config/tc-v850.c: Remove support_v850e flag and command line
2496         option. 
2497         
2498         * configure.in (emulations): Add support for v850e target
2499
2500         * configure (emulations): Add support for v850e target
2501
2502 Mon Aug 18 11:24:21 1997  Nick Clifton  <nickc@cygnus.com>
2503
2504         * config/tc-v850.c: Remove support_v850ea flag and command line
2505         option. 
2506         
2507         * configure.in (emulations): Add support for v850ea target
2508
2509         * configure (emulations): Add support for v850ea target
2510 end-sanitize-v850e
2511
2512 Fri Aug 15 14:00:13 1997  Ian Lance Taylor  <ian@cygnus.com>
2513
2514         * Makefile.am (check-DEJAGNU): Don't cd into testsuite until after
2515         setting EXPECT and TCL_LIBRARY.
2516         * Makefile.in: Rebuild.
2517
2518         * as.h (enum debug_info_type): Define.
2519         (debug_type): Declare.
2520         * as.c (debug_type): New global variable.
2521         (show_usage): Add --gstabs.
2522         (parse_args): Handle --gstabs.
2523         * read.c (generate_asm_lineno): Remove.
2524         (read_a_source_file): Output stabs debugging if appropriate.
2525         Change checks of generate_asm_lineno to check debug_type.  Only
2526         generate ECOFF debugging if ECOFF_DEBUGGING is defined.
2527         * read.h (generate_asm_lineno): Don't declare.
2528         (stabs_generate_asm_lineno): Declare.
2529         * stabs.c (stabs_generate_asm_lineno): New function.
2530         * ecoff.c (add_file): Use debug_type, not generate_asm_lineno.
2531         Don't turn off debugging.
2532         (add_file): Remove old #if 0 code.
2533         (ecoff_new_file): Set debug_type, not generate_asm_lineno.
2534         (ecoff_directive_end): Don't generate stabs line symbols.
2535         (ecoff_generate_asm_lineno): Don't check stabs_seen.  Don't set
2536         generate_asm_lineno.
2537         (line_label_cnt): Remove.
2538         (ecoff_generate_asm_line_stab): Remove.
2539         * ecoff.h (ecoff_generate_asm_line_stab): Don't declare.
2540         * doc/as.texinfo, doc/as.1: Document --gstabs.
2541
2542 Wed Aug 13 18:58:56 1997  Nick Clifton  <nickc@cygnus.com>
2543
2544 start-sanitize-v850e
2545         * config/tc-v850.c (md_assemble, md_show_usage, md_parse_option):
2546         Add support for v850ea instructions.
2547
2548         * config/tc-v850.c (md_assemble, md_show_usage, md_parse_option):
2549         Add support for v850e instructions.
2550 end-sanitize-v850e
2551         
2552         * config/tc-v850.c (md_assemble): Fix error recovery to reload
2553         text of entire opcode. 
2554
2555 Tue Aug 12 10:27:34 1997  Richard Henderson  <rth@cygnus.com>
2556
2557         * doc/internals.texi: Document rs_leb128.
2558
2559 Tue Aug 12 12:17:03 1997  Ian Lance Taylor  <ian@cygnus.com>
2560
2561         * config/tc-m68k.c (m68k_ip): Give an error message for SIZE_BYTE
2562         in ABSL case, rather than calling abort.
2563
2564 Mon Aug 11 21:48:00 1997  Richard Henderson  <rth@cygnus.com>
2565
2566         * as.h (enum _relax_state): Add rs_leb128.
2567         * read.c (potable): Add sleb128 and uleb128.
2568         (sizeof_*leb128, output_*leb128, emit_leb128_expr, s_leb128): New
2569         functions.
2570         * read.h: Update prototypes.
2571         * symbols.c (resolve_symbol_value): Streamline quite a bit.  Return
2572         the symbol value, add a second FINALIZE argument that prevents 
2573         changes from being comitted.  Update all callers.
2574         * write.c (cvt_frag_to_fill, relax_segment): Handle rs_leb128.
2575         * doc/as.texinfo: Document the new pseudos.
2576
2577 Sun Aug 10 14:51:49 1997  Ian Lance Taylor  <ian@cygnus.com>
2578
2579         * Makefile.am (MOSTLYCLEANFILES): Add site.bak, site.exp, stage,
2580         stage1, and stage2.
2581         (DISTCLEANFILES): Define.
2582         * doc/Makefile.am (DISTCLEANFILES): Define.
2583         * Makefile.in, doc/Makefile.in: Rebuild.
2584
2585 Wed Aug  6 00:30:30 1997  Ian Lance Taylor  <ian@cygnus.com>
2586
2587         * configure.in: Define TARGET_BYTES_BIG_ENDIAN if endian is set.
2588         Don't set targ or gas_target.  Define SCO_ELF and
2589         TARGET_SOLARIS_COMMENT when appropriate.  Don't substitute for
2590         target_frag.
2591         * Makefile.am: Remove @target_frag@.
2592         (INCLUDES): Remove $(INTERNAL_CFLAGS), $(CROSS), $(HDEFINES), and
2593         $(TDEFINES).
2594         (dep-am): Mark as phony.
2595         * acconfig.h: Add TARGET_BYTES_BIG_ENDIAN, TARGET_SOLARIS_COMMENT,
2596         and SCO_ELF.
2597         * config/arm-big.mt, config/arm-lit.mt: Remove.
2598         * config/mips-big.mt, config/mips-lit.mt: Remove.
2599         * config/ppc-big.mt, config/ppc-lit.mt: Remove.
2600         * config/ppc-sol.mt: Remove.
2601         * config/i386coff.mt, config/m68kcoff.mt: Remove.
2602         * config/m88kcoff.mt: Remove.
2603         * config/sco5.mt: Remove.
2604         * configure, config.in, Makefile.in: Rebuild.
2605
2606         * Makefile.am ($(srcdir)/config/m68k-parse.h): New target, to
2607         further try to circumvent the .y.h rule.
2608         * Makefile.in: Rebuild.
2609
2610 Tue Aug  5 12:32:07 1997  Ian Lance Taylor  <ian@cygnus.com>
2611
2612         * Makefile.am: New file, based on old Makefile.in.
2613         * acinclude.m4: New file, from old aclocal.m4.
2614         * configure.in: Call AM_INIT_AUTOMAKE and AM_PROG_LIBTOOL.  Remove
2615         shared library handling; now handled by libtool.  Replace
2616         AC_CONFIG_HEADER with AM_CONFIG_HEADER.  Call AC_PROG_YACC,
2617         AC_PROG_LEX, and AC_DECL_YYTEXT.  Call AM_MAINTAINER_MODE,
2618         AM_CYGWIN32, and AM_EXEEXT.  Don't call CY_CYGWIN32 or CY_EXEEXT.
2619         * config.in: New file, created by autoheader.
2620         * conf.in: Remove.
2621         * acconfig.h: Mention PACKAGE, VERSION, and USING_CGEN.
2622         * stamp-h.in: New file.
2623         * as.c (print_version_id): Change GAS_VERSION to VERSION.
2624         (parse_args): Likewise.
2625         * config/obj-vms.c: (Write_VMS_MHD_Records): Likewise.
2626         * doc/Makefile.am: New file, based on old doc/Makefile.in.
2627         * Makefile.in, doc/Makefile.in: Now built with automake.
2628         * aclocal.m4: Now built with aclocal.
2629         * configure: Rebuild.
2630
2631         * cond.c (s_else): If not listing false conditionals, turn listing
2632         off in the false branch of the else.
2633
2634 Mon Aug  4 11:28:35 1997  Ian Lance Taylor  <ian@cygnus.com>
2635
2636         * config/tc-mips.c (macro): Fix handling of a double load from a
2637         symbol plus an offset.
2638
2639         * ecoff.c (ecoff_build_symbols): Set fMerge to 0 for an FDR which
2640         has an associated external symbol.
2641
2642 Sun Aug  3 23:23:59 1997  Richard Henderson  <rth@cygnus.com>
2643  
2644         * config/tc-alpha.c (s_alpha_ucons): New function.
2645         (md_pseudo_table): Add unaligned data pseudos for DWARF.
2646
2647 Thu Jul 31 15:13:43 1997  Jeffrey A Law  (law@cygnus.com)
2648
2649         * config/tc-v850.c (md_assemble): Ignore the rest of the current
2650         line if we encounter an error.
2651
2652         * config/tc-v850.c (md_assemble): Sign extend constants value
2653         for hi and hi0 expressions.
2654         (v850_insert_operand): Enable range checking for generic 16bit
2655         operands.
2656
2657 Tue Jul 29 14:20:43 1997  Jeffrey A Law  (law@cygnus.com)
2658
2659         * config/tc-v850.c (md_assemble): Turn on fx_no_overflow for
2660         LO16, HI16 and HI16_S relocs.
2661
2662 Mon Jul 28 18:41:41 1997  Rob Savoye  <rob@chinadoll.cygnus.com>
2663
2664         * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for
2665         win32 dependencies.
2666         * configure: Regenerated with autoconf 2.12.
2667         * Makefile.in: Add $(EXEEXT) to all executables.
2668
2669 Fri Jul 25 10:54:43 1997  Jeffrey A Law  (law@cygnus.com)
2670
2671         * tc-hppa.c (md_apply_fix): Improve warnings for out of range
2672         unconditional branches.
2673         (hppa_fix_adjustable): Don't adjust anything with a RR% or LR%
2674         field selector.
2675
2676 Thu Jul 24 15:21:49 1997  Doug Evans  <dje@canuck.cygnus.com>
2677
2678         * tc-sparc.c (md_begin): Cast sparc_opcodes to PTR for hash_insert.
2679
2680 Thu Jul 24 17:51:29 1997  Ian Lance Taylor  <ian@cygnus.com>
2681
2682         * macro.c (define_macro): Make sure the index is in range before
2683         checking for '('.
2684
2685 start-sanitize-tic80
2686 Thu Jul 24 12:13:19 1997  Fred Fish  <fnf@cygnus.com>
2687
2688         * config/tc-tic80.c (build_insn): Remove "extended" and replace with
2689         "fx" and "fxfrag".  Add "ffrag".  Change code to initialize and use
2690         the right f/ffrag and fx/fxfrag pairs since instruction may be split
2691         across frags.
2692
2693 end-sanitize-tic80
2694 Tue Jul 22 18:38:56 1997  Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
2695
2696         * config/te-go32.h (USE_ALIGN_PTWO): Define.
2697         * config/tc-i386.c (md_pseudo_table): If USE_ALIGN_PTWO is
2698         defined, use s_align_ptwo for .align.
2699         * configure.in (i386-*-msdosdjgpp*): New target.
2700         (i386-*-go32*): Set em to go32 and targ to coffgo32.
2701         * configure: Rebuild.
2702
2703 Tue Jul 22 12:41:40 1997  Doug Evans  <dje@canuck.cygnus.com>
2704
2705         * config/tc-sparc.c (last_opcode): New static local.
2706         (md_assemble): Don't issue "FP branch in delay slot" warning if
2707         the delay slot has been annulled.
2708
2709 Tue Jul 22 13:25:13 1997  Ian Lance Taylor  <ian@cygnus.com>
2710
2711         * config/tc-m68k.c (md_apply_fix_2): Check for PC relative reloc
2712         code if BFD_ASSEMBLER.
2713
2714 Mon Jul 21 08:57:17 1997  Jeffrey A Law  (law@cygnus.com)
2715
2716         * config/tc-v850.c (system_registers): Fix ordering of registers.
2717
2718 start-sanitize-tic80
2719 Tue Jul 15 16:29:54 1997  Fred Fish  <fnf@cygnus.com>
2720
2721         * config/tc-tic80.c (build_insn): Initialize extended word to zero
2722         when it will be filled in later by relocation information.
2723
2724 end-sanitize-tic80
2725 Mon Jul 14 23:10:58 1997  Ian Lance Taylor  <ian@cygnus.com>
2726
2727         * config/tc-mips.c (macro_build): Restore check of fmt argument.
2728         (mips_ip): Fix ISA checks.
2729
2730 start-sanitize-r5900
2731 Tue Jul 15 10:15:39 1997  Jeffrey A Law  (law@cygnus.com)
2732
2733         * configure.in: Default the r5900 to little endian.
2734         * configure: Rebuilt.
2735
2736 end-sanitize-r5900
2737 start-sanitize-tic80
2738 Mon Jul 14 19:30:55 1997  Fred Fish  <fnf@cygnus.com>
2739
2740         * config/tc-tic80.c (build_insn): Fix endianness problem with
2741         O_big operands.
2742
2743 end-sanitize-tic80
2744 Sun Jul 13 20:43:46 1997  Ian Lance Taylor  <ian@cygnus.com>
2745
2746         * config/tc-mips.c (check_absolute_expr): Change warning to
2747         error.
2748
2749 Fri Jul 11 10:18:47 1997  Jeffrey A Law  (law@cygnus.com)
2750
2751         * config/tc-mips.c (macro_build): Refine code to check if an
2752         instruction is available on a particular cpu variant.
2753         (mips_ip): Likewise.
2754
2755 Mon Jul  7 22:53:08 1997  Ian Lance Taylor  <ian@cygnus.com>
2756
2757         * config/tc-i386.c (tc_i386_fix_adjustable): Change ifndef
2758         OBJ_AOUT to ifdef OBJ_ELF.
2759         (md_apply_fix3): When mangling 32 bit PC relative reloc for
2760         BFD_ASSEMBLER, handle one ELF case for COFF as well, and add a PE
2761         case.
2762         * write.c (fixup_segment): Change special case for i386-coff to
2763         not apply for i386-pe.
2764         * config/obj-coff.c (coff_adjust_section_syms): Only count fixups
2765         which were not done.
2766         (coff_frob_file_after_relocs): Rename from coff_frob_file.
2767         (coff_format_ops): Initialize frob_file_after_relocs field rather
2768         than frob_file field.
2769         * config/obj-coff.h (coff_frob_file): Don't declare.
2770         (coff_frob_file_after_relocs): Declare.
2771         (obj_frob_file): Don't define.
2772         (obj_frob_file_after_relocs): Define.
2773         * configure.in: Set bfd_gas to yes for i386-*-cygwin32.
2774         * configure: Rebuild.
2775
2776 Wed Jul  2 12:05:00 1997  Ian Lance Taylor  <ian@cygnus.com>
2777
2778         * config/obj-coff.c (fixup_segment): Never subtract section
2779         address from PC relative reloc which will be fully resolved.
2780
2781 Tue Jul  1 15:23:07 1997  Jeffrey A Law  (law@cygnus.com)
2782
2783         * ecoff.c (page_type): Renamed from page_t to avoid conflict
2784         with hpux10 header files.
2785
2786 Mon Jun 30 12:27:28 1997  Ian Lance Taylor  <ian@cygnus.com>
2787
2788         From Jason Merrill <jason@cygnus.com>:
2789         * read.c (do_align): If BFD_ASSEMBLER, only use NOP_OPCODE if
2790         SEC_CODE is set.
2791         * config/tc-i386.h (md_maybe_text): Define.
2792         (md_do_align): Use md_maybe_text.
2793
2794 Fri Jun 27 19:15:27 1997  Michael Meissner  <meissner@cygnus.com>
2795
2796         * config/tc-ppc.h (tc_fix_adjustable): Only check for GOT type
2797         relocations, don't check for symbol being external, weak, etc.
2798
2799 Mon Jun 16 19:12:51 1997  Geoff Keating  <geoffk@ozemail.com.au>
2800
2801         * config/tc-ppc.h (tc_fix_adjustable): Don't let the assembler
2802         calculate relocations to any external symbol, because we might be
2803         linking a shared object and the symbol might be overriden or moved
2804         (for instance, moved into a static executable's .bss section).
2805         (GLOBAL_OFFSET_TABLE_NAME): Delete. This is an i386 wierdness.
2806
2807         * config/tc-ppc.h (tc_fix_adjustable): GOT-based relocations can't
2808         be calculated by the assembler.
2809
2810         * config/tc-ppc.c (md_apply_fix3): Handle @plt or @local branch
2811         whose destination lies in the same file, by ignoring the @plt or
2812         @local and aiming the branch at its destination.
2813
2814 Mon Jun 16 13:59:18 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
2815
2816         * symbols.c (copy_symbol_attributes): Copy BSF_OBJECT flag.
2817         * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Copy size
2818         expression.
2819
2820         * config/obj-multi.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define instead
2821         of obj_copy_symbol_attributes.
2822
2823 Mon Jun 16 12:45:56 1997  Ian Lance Taylor  <ian@cygnus.com>
2824
2825         * config/tc-ppc.c (ppc_insert_operand): In 32 bit mode, with a
2826         signed operand, sign extend a 32 bit value to the host size.
2827
2828         * Makefile.in (CFLAGS): Subsitute from configure script.  From
2829         Jeff Makey <jeff@cts.com>.
2830
2831         * config/tc-i386.c (i386_operand): Use alloca rather than a fixed
2832         buffer size to make a copy of the symbol.
2833
2834         * Makefile.in (OBJS): Put @extra_objects@ on the same line as
2835         macro.o.
2836
2837 Thu Jun 12 12:16:20 1997  Ian Lance Taylor  <ian@cygnus.com>
2838
2839         * write.c (write_object_file): In non BFD_ASSEMBLER code, as we
2840         step through the frags calling cvt_frag_to_fill, switch to
2841         SEG_DATA when we reach data_frag_root.
2842
2843 Tue Jun 10 17:08:34 1997  Jeffrey A Law  (law@cygnus.com)
2844
2845         * config/tc-mn10300.c (md_assemble): Allow an empty register
2846         list for instructions which use register lists.
2847
2848 Tue Jun 10 11:18:09 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
2849
2850         * config/tc-arm.c (md_apply_fix3): Make temp unsigned long.
2851
2852         * config/tc-arm.c (arm_adjust_symtab): Only set storage classes if
2853         OBJ_COFF.
2854
2855         * config/tc-arm.c: Add prototypes for many static functions.
2856         (struct asm_opcode ): Add prototypes for parms field.
2857         (struct thumb_opcode ): Likewise.
2858         (fp_op2): Remove unused flags parameter.
2859         (output_inst): Make static.
2860         (arm_after_pass_hook): Remove unused ignore parameter.
2861         * config/tc-arm.h (arm_after_pass_hook): Declare.
2862         (arm_start_line_hook): Declare.
2863         (arm_frob_label): Declare.
2864
2865 Mon Jun  9 12:55:45 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
2866
2867         * depend.c (wrap_output): new prototype.
2868
2869 Mon Jun  9 12:52:44 1997  Ian Lance Taylor  <ian@cygnus.com>
2870
2871         * config/tc-sh.c (md_apply_fix): Check for overflow.
2872
2873         * config/tc-m68k.c (md_section_align): If a.out and BFD, force
2874         section size to be aligned.
2875
2876 Fri Jun  6 17:15:55 1997  Ian Lance Taylor  <ian@cygnus.com>
2877
2878         * config/tc-sh.h (md_cons_align): Define.
2879         (sh_cons_align): Declare.
2880         * config/tc-sh.c (md_pseudo_table): Add .uaword and .ualong.
2881         (sh_no_align_cons): New static variable.
2882         (s_uacons): New static function.
2883         (sh_cons_align): New function.
2884         (sh_handle_align): Warn about misaligned data.
2885         * doc/c-sh.texi: Document .uaword and .ualong.
2886
2887 Thu Jun  5 15:38:17 1997  Ian Lance Taylor  <ian@cygnus.com>
2888
2889         * macro.c (macro_expand): In MRI mode, treat single quote as a
2890         separator character when checking for a positional argument.
2891
2892 Tue Jun  3 16:15:13 1997  Nick Clifton  <nickc@cygnus.com>
2893
2894         * config/tc-arm.c (md_parse_option): Merge in changes from
2895         armT-970328-branch.
2896
2897         * config/tc-arm.h: Merge in changes from armT-970328-branch.
2898
2899         * configure.in (emulations): Add Thumb architecture support from
2900         armT-9703-28-branch.
2901
2902 Mon Jun  2 16:25:07 1997  Nick Clifton  <nickc@cygnus.com>
2903
2904         * doc/all.texi: Add enabling of ARM documentation.
2905
2906         * doc/as.texinfo: Add ARM documentation from armT-970328-branch.
2907
2908 Mon Jun  2 11:55:12 1997  Gavin Koch  <gavin@cygnus.com>
2909
2910         * config/tc-mips.c: Added r3900 support.
2911
2912 Thu May 29 12:58:26 1997  Ben Pfaff  <pfaffben@pilot.msu.edu>
2913
2914         * as.c: (parse_args) `-t' option requires an argument.
2915
2916 Wed May 28 15:45:07 1997  Nick Clifton  <nickc@cygnus.com>
2917
2918         * config/tc-arm.c (md_begin): Change call to
2919         coff_arm_bfd_set_private_flags() to a call to
2920         bfd_set_private_flags(). 
2921
2922 Wed May 28 16:17:34 1997  Ian Lance Taylor  <ian@cygnus.com>
2923
2924         * Makefile.in: Rebuild dependencies.
2925
2926         * config/tc-i386.c (tc_gen_reloc): Don't try to convert the type
2927         of a BFD_RELOC_RVA reloc.
2928
2929 Wed May 28 10:48:14 1997  Jeffrey A Law  (law@cygnus.com)
2930
2931         * config/tc-hppa.c (tc_fix_adjustable): Reject absolute calls/jumps.
2932         (hppa_force_relocation): Force a relocation for an absolute
2933         call/jump.
2934
2935 Mon May 26 13:24:25 1997  Ian Lance Taylor  <ian@cygnus.com>
2936
2937         * doc/as.texinfo: Don't use @value in section names or index
2938         entries; it confuses texinfo.tex.
2939
2940 Fri May 23 00:09:35 1997  Tom Tromey  <tromey@cygnus.com>
2941
2942         * doc/as.texinfo: Updated for -MD option.
2943         * Makefile.in (CFILES): Added depend.c.
2944         (OBJS): Added depend.o.
2945         * as.h (start_dependencies, register_dependency,
2946         print_dependencies): New declarations.
2947         * depend.c: New file.
2948         * as.c (parse_args): Added -MD option.
2949         (main): Call print_dependencies.
2950         (show_usage): Added help for -MD.
2951         * read.c (s_app_file): Call register_dependency.
2952         (s_include): Call register_dependency when file is found.
2953         (read_a_source_file): Call register_dependency.
2954
2955 Wed May 21 17:39:28 1997  Ian Lance Taylor  <ian@cygnus.com>
2956
2957         * config/obj-coff.c (symbol_to_chars): If TE_PE, don't add the
2958         section address to the symbol value.
2959
2960 Tue May 20 11:23:31 1997  Gavin Koch  <gavin@cygnus.com>
2961
2962         * config/tc-mips.c (macro_build,mips_ip): Move the INSN_ISA field
2963         into the new membership field.
2964
2965 Thu May 15 10:00:53 1997  Nick Clifton  <nickc@cygnus.com>
2966
2967         * config/tc-arm.c (md_begin): If no cpu type is specified on the
2968         command line then the ARM7 is now chosen by default when setting
2969         the BFD machine and architecture.
2970
2971 Wed May 14 09:54:53 1997  Nick Clifton  <nickc@cygnus.com>
2972
2973         * config/tc-arm.c (global variables): Added 'uses_apcs_26' flag to
2974         hold APCS selection.
2975         (md_begin): Added code to generate flags to be set into the COFF
2976         header and the calls to the BFD functions to do this.
2977         (md_parse_option, md_show_usage): Added new command line
2978         options -mapcs-32, -mapcs-26, -marmv2, -marmv2a, -marmv3,
2979         -marmv3m, -marmv4, -marmv4t. 
2980
2981         * tc-arm.h (LOCAL_LABEL): Removed the definition of this macro
2982         as it is never used.
2983
2984 Tue May 13 22:26:14 1997  Jeffrey A Law  (law@cygnus.com)
2985
2986         * config/tc-mn10200.c (md_convert_frag): Prefix temporary
2987         label name with ".".
2988         * config/tc-mn10300.c (md_convert_frag): Likewise.
2989
2990 Tue May 13 14:44:39 1997  Ian Lance Taylor  <ian@cygnus.com>
2991
2992         * config/tc-mips.c (set_at): Check for bignum.
2993         (check_absolute_expr, macro, mips16_macro): Likewise.
2994
2995 start-sanitize-tic80
2996 Tue May 13 10:45:56 1997  Fred Fish  <fnf@cygnus.com>
2997
2998         * config/tc-tic80.c (md_apply_fix): Check PC relative relocations
2999         for overflow/underflow, only insert lower 15 bits into instruction.
3000
3001 end-sanitize-tic80
3002 Mon May 12 13:33:08 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
3003
3004         * config/tc-i386.c (pi): Check for RegMMX.
3005
3006 Thu May  8 11:10:15 1997  Ian Lance Taylor  <ian@cygnus.com>
3007
3008         * expr.c (expr): When subtracting values in the same frag,
3009         subtract X_add_number rather than adding it.
3010
3011 Wed May  7 15:39:48 1997  Ian Lance Taylor  <ian@cygnus.com>
3012
3013         * config/obj-coff.c (write_object_file): Just pass NULL to
3014         md_do_align, not the address of a char holding NOP_OPCODE.
3015
3016         * config/tc-mips.c (macro): Handle constants for M_LI_D and
3017         M_LI_DD.
3018         (mips_ip): For 'F', 'L', 'f', and 'l', generate a constant rather
3019         than an address if the floating point value looks sufficiently
3020         simple.
3021
3022 Tue May  6 12:18:09 1997  Ian Lance Taylor  <ian@cygnus.com>
3023
3024         * config/tc-i386.c (md_section_align): If a.out and BFD, force
3025         section size to be aligned.
3026
3027 Mon May  5 17:16:55 1997  Ian Lance Taylor  <ian@cygnus.com>
3028
3029         * cond.c: Include "macro.h".
3030         (struct conditional_frame): Add macro_nest field.
3031         (initialize_cframe): Initialize macro_nest.
3032         (cond_finish_check): Add nest parameter.  Change all callers.
3033         (cond_exit_macro): New function.
3034         * as.h (cond_finish_check): Update declaration.
3035         (cond_exit_macro): Declare.
3036         * input-scrub.c (macro_nest): Make globally visible.
3037         (input_scrub_next_buffer): Call cond_finish_check.
3038         * macro.h (macro_nest): Declare.
3039         * read.c (s_mexit): Call cond_exit_macro.
3040
3041         * config/tc-i386.h (RegMMX): Define.
3042         * config/tc-i386.c (pi): Check for all register types.
3043         (type_names): Add RegMMX.
3044         (md_assemble): Handle RegMMX.
3045
3046 Wed Apr 30 12:47:00 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3047
3048         * config/obj-coff.c (c_section_symbol): Clear the LOCAL bit #ifdef
3049         TE_DELTA.
3050
3051 Tue Apr 29 20:23:10 1997  Jim Wilson  <wilson@cygnus.com>
3052
3053         * config/tc-mips.c (nopic_need_relax): Add new parameter
3054         before_relaxing.  Use it when testing ecoff_extern_size.
3055         (load_address, macro, md_estimate_size_before_relax): Fix all
3056         callers.
3057
3058 Tue Apr 29 19:54:36 1997  Richard Henderson  <rth@tamu.edu>
3059
3060         * config/obj-elf.c (elf_pseudo_table): Add "subsection".
3061         (obj_elf_subsection): New static function.
3062
3063 Tue Apr 29 19:52:47 1997  Ian Lance Taylor  <ian@cygnus.com>
3064
3065         * config/obj-coff.c (coff_header_append): Don't reset string_size
3066         each time through the loop.
3067
3068 Fri Apr 25 14:17:46 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
3069
3070         * Makefile.in (DISTSTUFF): Add itbl-parse.h.
3071
3072 Fri Apr 25 12:03:15 1997  Ian Lance Taylor  <ian@cygnus.com>
3073
3074         * doc/internals.texi (Porting GAS): Correct documentation for
3075         current configure handling of targ-cpu.h, et. al.
3076         (CPU backend): Document listing macros.
3077
3078         * listing.c (data_buffer): Set size based on other listing macros,
3079         rather than always using 100.
3080         (data_buffer_size): Remove static variable.
3081         (calc_hex): Make data_buffer_size a local variable.  Don't leave
3082         any slop when filling data_buffer.
3083
3084 Mon Apr 21 15:33:19 1997  Ian Lance Taylor  <ian@cygnus.com>
3085
3086         * doc/c-mips.texi: Document .set autoextend.
3087
3088 Sat Apr 19 23:09:25 1997  Niklas Hallqvist  <niklas@petra.appli.se>
3089
3090         * configure.in (i386-*-openbsd*, m68k-*-openbsd*,
3091         mips-dec-openbsd*, ppc-*-*bsd*, ns32k-pc532-openbsd*,
3092         sparc-*-openbsd*): New targets.
3093         * configure: Rebuild.
3094
3095 Sat Apr 19 22:52:03 1997  Jim Wilson  <wilson@cygnus.com>
3096
3097         * config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT
3098         for all undefined symbols.
3099
3100 Fri Apr 18 13:37:35 1997  Ian Lance Taylor  <ian@cygnus.com>
3101
3102         * config/tc-ppc.c (ppc_fix_adjustable): Handle zero length csects
3103         correctly.
3104
3105 Fri Apr 18 11:51:35 1997  Niklas Hallqvist  <niklas@appli.se>
3106
3107         * configure.in (alpha*-*-openbsd*): New target.
3108         * configure: Rebuild.
3109
3110 Thu Apr 17 13:59:47 1997  Per Fogelstrom  <pefo@openbsd.org>
3111
3112         * configure.in (mips-*-openbsd*): New target.
3113         * configure: Rebuild.
3114
3115 start-sanitize-d30v
3116 Wed Apr 16 12:31:24 1997  Martin Hunt <hunt@cygnus.com>
3117
3118         * config/tc-d30v.c (parallel_ok): Fix parallel checking
3119         for instructions using conditional execution.
3120
3121 end-sanitize-d30v       
3122 Tue Apr 15 18:11:44 1997  Gavin Koch  <gavin@cygnus.com>
3123
3124         * config/tc-mips.c (insn_uses_reg): Correct test for fpr pairs.
3125
3126 Tue Apr 15 13:04:47 1997  Ian Lance Taylor  <ian@cygnus.com>
3127
3128         * Makefile.in (srcroot): Remove.
3129         (INSTALL): Set to @INSTALL@.
3130         (INSTALL_XFORM, INSTALL_XFORM1): Remove.
3131         (all, dvi): Don't set srcroot.
3132         (install): Depend upon as.new, gasp.new, and installdirs.  Use
3133         $(program_transform_name) directly, rather than using
3134         $(INSTALL_XFORM) and $(INSTALL_XFORM1).
3135         (installdirs): New target.
3136         * doc/Makefile.in (INSTALL_XFORM1): Remove.
3137         (install): Depend upon installdirs.  Use $(program_transform_name)
3138         directly, rather than using $(INSTALL_XFORM) and
3139         $(INSTALL_XFORM1).
3140         (installdirs): New target.
3141         (install-info-as): Run mkinstalldirs.
3142         (install-info-gasp): Likewise.
3143
3144 Mon Apr 14 11:59:08 1997  Ian Lance Taylor  <ian@cygnus.com>
3145
3146         * Makefile.in (INSTALL): Change install.sh to install-sh.
3147
3148         * symbols.c (resolve_symbol_value): Check for division by zero.
3149
3150         From Thomas Graichen <graichen@rzpd.de>:
3151         * Makefile.in: Always use $(SHELL) when running move-if-change.
3152         * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub.
3153         * configure: Rebuild.
3154
3155 Thu Apr 10 14:40:00 1997  Doug Evans  <dje@canuck.cygnus.com>
3156
3157         * cgen.c (cgen_parse_operand): Renamed from cgen_asm_parse_operand.
3158         New argument `want'.  Update enum cgen_parse_operand_result values.
3159         Initialize if CGEN_PARSE_OPERAND_INIT.
3160         * config/tc-m32r.c (md_begin): Set cgen_parse_operand_fn.
3161         (md_assemble): Call cgen_asm_init_parse.
3162         Update call to m32r_cgen_assemble_insn, call as_bad if assembly failed.
3163
3164 Wed Apr  9 11:49:41 1997  Ian Lance Taylor  <ian@cygnus.com>
3165
3166         * config/tc-m68k.c (m68k_ip): Handle #j.
3167
3168 Tue Apr  8 16:37:57 1997  Jeffrey A Law  (law@cygnus.com)
3169
3170         * config/tc-mn10300.c (md_convert_frag): Create fixup at the
3171         right address for call label:32,regs,imm.
3172
3173 Mon Apr  7 14:58:22 1997  Jeffrey A Law  (law@cygnus.com)
3174
3175         * config/tc-hppa.c (pa_subspace_start): If OBJ_ELF, then always return
3176         zero.
3177         * config/tc-hppa.h (tc_frob_symbol): Don't reset the value of the
3178         symbol for OBJ_ELF anymore.
3179
3180 Mon Apr  7 10:54:59 1997  Doug Evans  <dje@canuck.cygnus.com>
3181
3182         * Makefile.in: Regenerate dependencies.
3183         (TARG_CPU): New variable.
3184         (cgen.o): Depend on cgen.h, $(TARG_CPU)-opc.h.
3185         (.dep1): Delete creating of cgen-opc.h.
3186         (.tcdep): Put proper contents in cgen-opc.h.
3187         * configure.in (m32r): Delete setting of extra_files, extra_links.
3188         (AC_OUTPUT): Create cgen-opc.h.
3189         * configure: Regenerated.
3190
3191 Sat Apr  5 13:19:12 1997  Klaus Kaempf  <kkaempf@progis.de>
3192
3193         * makefile.vms: Update to build gasp.exe.
3194
3195 Fri Apr  4 16:10:02 1997  Doug Evans  <dje@canuck.cygnus.com>
3196
3197         * write.c (relax_frag): Make non-static.
3198         * write.h (relax_frag): Add prototype for.
3199         * config/tc-m32r.h (md_do_align): New arg `max'.
3200         * config/tc-m32r.c (m32r_do_align): Likewise.
3201         Update calls to frag_align, frag_align_pattern.
3202         (fill_insn): Update call to m32r_do_align.
3203         (m32r_scomm): Update call to frag_align.
3204
3205         * config/tc-m32r.[ch]: New files.
3206         * cgen.c: New file.
3207         * Makefile.in (CPU_TYPES): Add m32r.
3208         (TARGET_CPU_CFILES): Add tc-m32r.c.
3209         (TARGET_CPU_HFILES): Add tc-m32r.h.
3210         (DISTCLEAN_HERE): Add cgen-opc.h.
3211         (.dep1,.tcdep): Create empty cgen-opc.h.
3212         (cgen.o): Add dependencies.
3213         (dependencies): Regenerate.
3214         * as.h (struct frag): New member fr_targ.
3215         (fr_pcrel_adjust,fr_bsr): Move into union fr_targ.ns32k.
3216         * conf.in (USING_CGEN): New macro.
3217         * configure.in (m32r-*-*): Add entry for.
3218         Add cgen.o to extra_objects.
3219         * configure: Regenerate.
3220         * frags.c (frag_var): fr_pcrel_adjust renamed to
3221         fr_targ.ns32k.pcrel_adjust.  fr_bsr renamed to fr_targ.ns32k.bsr.
3222         (frag_variant): Likewise.
3223         * write.c (relax_frag): Likewise.
3224         * config/tc-ns32k.c (*): Likewise.
3225
3226 Fri Apr  4 13:26:10 1997  Ian Lance Taylor  <ian@cygnus.com>
3227
3228         * config/tc-hppa.h (TC_EOL_IN_INSN): Check explicitly for '!',
3229         rather than for any end of line character.
3230
3231         * config/tc-hppa.c (tc_gen_reloc): If hppa_ren_reloc_type fails,
3232         call abort (i.e., as_abort) rather than crashing.
3233
3234         * config/tc-mips.c: Protect uses of STO_MIPS16 with an ifdef of
3235         OBJ_ELF, rather than of S_GET_OTHER.
3236
3237         * Makefile.in (DISTCLEAN_HERE): Add site.exp and site.bak.
3238
3239 Thu Apr  3 13:16:18 1997  Ian Lance Taylor  <ian@cygnus.com>
3240
3241         * Makefile.in (VERSION): Set to 2.8.1.
3242
3243         * Branched binutils 2.8.
3244
3245 Wed Apr  2 12:24:10 1997  Ian Lance Taylor  <ian@cygnus.com>
3246
3247         * COPYING: Update FSF address.
3248
3249         * config/tc-mips.c (mips16_macro): Handle M_DMUL and M_MUL.
3250
3251 Tue Apr  1 18:29:47 1997  Jim Wilson  <wilson@cygnus.com>
3252
3253         * config/tc-mips.c (md_begin): Don't set interlocks for 4100.
3254
3255 Tue Apr  1 16:24:28 1997  Klaus Kaempf  <kkaempf@progis.de>
3256
3257         * config-gas.com: Update to handle both vax and alpha.
3258         * makefile.vms: Update to use config-gas.
3259         * conf-a-gas.com: Remove file.
3260
3261 Tue Apr  1 16:08:21 1997  Ian Lance Taylor  <ian@cygnus.com>
3262
3263         * Makefile.in: Remove unnecessary itbl-parse.h, ibtl-parse.c, and
3264         itbl-lex.c dependencies.  Remove rules for itbl-lex.o,
3265         itbl-parse.o, and itbl-ops.o; just use the normal .c.o rule.
3266
3267 start-sanitize-tic80
3268 Tue Apr  1 11:25:56 1997  Michael Meissner  <meissner@cygnus.com>
3269
3270         * config/tc-tic80.c (line_comment_char): Make '#' start comments
3271         at the beginning of a line for compatibility with .S files where
3272         cpp leaves the filename transitions beginning with '#'.
3273
3274 end-sanitize-tic80
3275 Tue Apr  1 00:07:30 1997  Ian Lance Taylor  <ian@cygnus.com>
3276
3277         * config/tc-m68k.c: Only compile tc_coff_symbol_emit_hook and
3278         tc_coff_sizemachdep if OBJ_COFF.
3279
3280 Mon Mar 31 23:53:44 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
3281
3282         * config/tc-ppc.c (register_name): Declare.
3283
3284 Mon Mar 31 16:31:04 1997  Joel Sherrill  <joel@oarcorp.com>
3285
3286         * configure.in (hppa*-*-rtems*): New target, like hppa-*-*elf*.
3287         * configure: Rebuild.
3288
3289 Mon Mar 31 14:15:19 1997  Ian Lance Taylor  <ian@cygnus.com>
3290
3291         * config/tc-mips.c (mips_pseudo_table): Add "stabn".
3292         (mips16_mark_labels): New static function.
3293         (append_insn): Call mips16_mark_labels.
3294         (mips_emit_delays): Likewise.
3295         (s_insn): Likewise.  Don't call mips_clear_insn_labels.
3296         (s_mips_stab): New static function.
3297
3298         * configure.in: Use ELF for mips-*-gnu*.
3299         * configure: Rebuild.
3300
3301 Mon Mar 31 14:01:40 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
3302
3303         * config/tc-m68k.h (TARGET_FORMAT): Set to "coff-m68k-sysv" if
3304         TE_DELTA.
3305
3306 Fri Mar 28 18:03:19 1997  Alan Modra  <alan@spri.levels.unisa.edu.au>
3307
3308         * configure.in: Add AC_ARG_ENABLE for commonbfdlib.  If it is set,
3309         set OPCODES_LIB to empty.
3310         * configure: Rebuild.
3311
3312 Fri Mar 28 15:25:24 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
3313
3314         * configure.in (sparc-*-linux*aout*, sparc-*-linux*): New
3315         targets.
3316         * configure: Rebuild.
3317
3318 Fri Mar 28 13:08:33 1997  Ian Lance Taylor  <ian@cygnus.com>
3319
3320         * itbl-parse.y (yyerror): Make static.  Declare.
3321
3322         From Ralf Baechle <ralf@gnu.ai.mit.edu>:
3323         * configure.in: Set emulations for mips-*-linux*-*.
3324         * configure: Rebuild.
3325
3326         * config/tc-mips.c (struct mips_set_options): Define.
3327         (mips_opts): New static variable.
3328         (mips_isa): Remove.  Now a field in mips_opts.  Change all
3329         references.
3330         (mips16, mips16_autoextend, mips_warn_about_macros): Likewise.
3331         (mips_noreorder, mips_nomove, mips_noat, mips_nobopt): Likewise.
3332         (struct mips_option_stack): Define.
3333         (mips_opts_stack): New static variable.
3334         (s_mipsset): Add support for .set push and .set pop.
3335         * doc/c-mips.texi: Document .set push and .set pop.
3336
3337         * config/obj-elf.c (obj_elf_section_change_hook): New function.
3338         * config/obj-elf.h (obj_elf_section_change_hook): Declare it.
3339         * config/tc-mips.c (s_change_sec): Call it if OBJ_ELF.
3340
3341 Thu Mar 27 12:23:56 1997  Ian Lance Taylor  <ian@cygnus.com>
3342
3343         * as.c (parse_args): Update copyright date in version message.
3344
3345         * Makefile.in (clean-here): Remove dependency files.
3346
3347         * read.c (s_comm): Check S_IS_COMMON as well as S_IS_DEFINED.
3348         (s_mri_common): Check S_IS_COMMON unconditionally.
3349         * symbols.c (colon): Check S_IS_COMMON as well as S_IS_DEFINED.
3350         * config/tc-alpha.c (s_alpha_comm): Likewise.
3351         * config/tc-mips.c (nopic_need_relax): Likewise.
3352         * config/tc-ppc.c (ppc_elf_lcomm): Likewise.
3353         (ppc_pe_comm): Likewise.
3354         * config/obj-elf.c (obj_elf_common): Likewise.  Set segment of
3355         common symbol to bfd_com_section_ptr.
3356         * config/tc-sparc.c (s_common): Likewise.
3357         (tc_gen_reloc): Likewise.
3358
3359 start-sanitize-d30v
3360 Thu Mar 27 00:29:46 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
3361
3362         * config/tc-d30v.c (md_apply_fix3): Get the relocs right.
3363
3364 end-sanitize-d30v       
3365 Wed Mar 26 13:35:15 1997  H.J. Lu  <hjl@lucon.org>
3366
3367         * config/tc-i386.c (tc_i386_fix_adjustable): Only define if
3368         BFD_ASSEMBLER.
3369
3370 Wed Mar 26 11:32:51 1997  Ian Lance Taylor  <ian@cygnus.com>
3371
3372         * input-scrub.c (input_scrub_next_buffer): Handle very long input
3373         lines correctly.
3374
3375         * listing.c (print_lines): Add lineno parameter.  Change all
3376         callers.
3377         (listing_listing): Only call calc_hex for the right line.
3378         (listing_list): Set the new edict based on the current edict, in
3379         order to handle listing commands in macros correctly.
3380
3381         * config/tc-mips.c (insn_uses_reg): Map register numbers in mips16
3382         instructions.
3383
3384         * cond.c (cond_finish_check): New function.
3385         * as.h (cond_finish_check): Declare.
3386         * as.c (main): Call cond_finish_check.
3387
3388 start-sanitize-d30v
3389 Tue Mar 25 14:45:54 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
3390
3391         * config/tc-d30v.c (md_assemble): If two instructions
3392         are supposed to be assembled in parallel and the first one is
3393         long, print an error and stop.
3394         (md_apply_fix3): Don't calculate absolute relocs.  Just write
3395         them out.
3396
3397 end-sanitize-d30v       
3398 Mon Mar 24 12:11:18 1997  Ian Lance Taylor  <ian@cygnus.com>
3399
3400         * config/tc-i386.h (iclrKludge): Define.
3401         * config/tc-i386.c (md_assemble): Handle iclrKludge.
3402
3403         * config/tc-alpha.h (tc_frob_file_before_adjust): Define if
3404         OBJ_ECOFF.
3405         (alpha_frob_file_before_adjust): Declare if OBJ_ECOFF.
3406         * config/tc-alpha.c (alpha_debug): New static variable.
3407         (md_parse_option): Set alpha_debug if -g is seen.
3408         (alpha_frob_file_before_adjust): New function if OBJ_ECOFF.
3409
3410 start-sanitize-d30v
3411 Sun Mar 23 18:03:31 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
3412
3413         * config/tc-d30v.c (build_insn): Enable range-checking code.
3414         (postfix): Stop at space or comma. Fixes PR 11862.
3415         (md_assemble): Change error message.
3416
3417 end-sanitize-d30v       
3418 Sat Mar 22 13:44:28 1997  Ian Lance Taylor  <ian@cygnus.com>
3419
3420         * Makefile.in: Added automatic dependency building.
3421         * dep-in.sed: New file.
3422
3423 Fri Mar 21 15:42:37 1997  Ian Lance Taylor  <ian@cygnus.com>
3424
3425         * config/obj-ieee.c (segment_name): Don't define function if this
3426         is a macro.
3427
3428         * config/obj-coff.h (DO_STRIP): Don't define.
3429         * config/tc-h8300.h (DO_STRIP): Don't define.
3430         * config/tc-h8500.h (DO_STRIP): Don't define.
3431         * config/tc-w65.h (DO_STRIP): Don't define.
3432         * config/tc-z8k.h (DO_STRIP): Don't define.
3433
3434         * symbols.c (colon): Call obj_frob_label if it is defined.
3435         * config/obj-vms.h (obj_frob_label): Rename from tc_frob_label.
3436
3437         * configure.in: Don't set files and links.  Don't call
3438         AC_LINK_FILES.  Substitute te_file.  Create targ-cpu.h,
3439         obj-format.h, targ-env.h, and itbl-cpu.h in AC_OUTPUT.
3440         * configure: Rebuild.
3441         * Makefile.in (TARG_CPU_C): New variable.
3442         (TARG_CPU_O, TARG_CPU_H): New variables.
3443         (OBJ_FORMAT_C, OBJ_FORMAT_O, OBJ_FORMAT_H): New variables.
3444         (TARG_ENV_H, ATOF_TARG_C, ATOF_TARG_O): New variables.
3445         (SOURCES): Rename from REAL_SOURCES.  Delete old definition.
3446         (LINKED_SOURCES): Remove.
3447         (HEADERS): Rename from REAL_HEADERS.  Delete old definition.
3448         (LINKED_HEADERS): Remove.
3449         (OBJS): Use $(TARG_CPU_O), etc., rather than targ-cpu.o, etc.
3450         ($(OBJS)): Depend upon $(TARG_ENV_H), etc., rather than
3451         targ-cpu.h, etc.
3452         ($(TARG_CPU_O), $(OBJ_FORMAT_O) $(ATOF_TARG_O)): New targets.
3453         (targ-cpu.o, obj-format.o, atof-targ.o): Remove targets.
3454         (itbl-cpu.h): Remove target.
3455         (DISTCLEAN_HERE): Remove targ-cpu.c, obj-format.c, atof-targ.c,
3456         atof-targ.h.
3457
3458 Thu Mar 20 19:18:58 1997  Ian Lance Taylor  <ian@cygnus.com>
3459
3460         * doc/as.texinfo (Symbol Names): Don't use obsolete @ctrl macro.
3461
3462 Thu Mar 20 16:49:14 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3463
3464         * config/tc-m68k.c (mri_chip): Replace calls to get_symbol_end by
3465         open coded loop that does not require the name to start with a
3466         name beginner.
3467
3468 Thu Mar 20 13:42:01 1997  H.J. Lu  <hjl@lucon.org>
3469
3470         * frags.c (frag_var): Change offset parameter to offsetT.
3471         (frag_variant): Likewise.
3472         * frags.h (frag_variant, frag_var): Update declarations.
3473         * config/tc-m68k.c (struct m68k_it): Change foff field to
3474         offsetT.
3475         (add_frag): Change off parameter to offsetT.
3476         * Several files: Add casts to calls to frag_var.
3477
3478         * Makefile.in (m68k-parse.c): Depend upon itbl-parse.c, to
3479         serialize a parallel make.
3480         (itbl-parse.h): Split target out from itbl-parse.c.
3481
3482 Thu Mar 20 12:48:45 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
3483
3484         * config/m68k-parse.y (motorola_operand): Allow (zdireg,EXPR).
3485
3486         * config/te-delta.h (COFF_COMMON_ADDEND): Define.
3487         * config/obj-coff.c (fixup_segment): Check COFF_COMMON_ADDEND when
3488         storing the value of a common symbol.
3489
3490 Wed Mar 19 11:37:57 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
3491
3492         * config/obj-coff.c (glue_symbols): Unused variable symbolP
3493         removed.
3494         (crawl_symbols): Do not modify symbol_rootP and symbol_lastP here;
3495         that is done by symbol_remove and symbol_insert.
3496
3497         * config/obj-coff.h (S_IS_LOCAL): Return 0 for a debugging
3498         symbol.
3499
3500 Wed Mar 19 11:06:29 1997  Ian Lance Taylor  <ian@cygnus.com>
3501
3502         * config/tc-mips.c (load_register): In 32 bit mode, when not
3503         dealing with a 64 bit number, permit the upper 32 bits to be set
3504         even if bit 31 is not set.
3505
3506 Tue Mar 18 23:30:14 1997  Ian Lance Taylor  <ian@cygnus.com>
3507
3508         * read.c (potable): Add "equiv".
3509         (s_set): Handle .equiv based on argument.
3510         * doc/as.texinfo (Equiv): New node to document .equiv.
3511         (Err): New node to document .err.
3512
3513 Tue Mar 18 15:50:13 1997  H.J. Lu  <hjl@lucon.org>
3514
3515         * Many files: Add function prototypes.
3516         * as.c (show_usage, parse_args): Make static.
3517         * frags.h (frag_alloc): Declare.
3518         * subsegs.c (subseg_set_rest): Don't declare frag_alloc.
3519         * symbols.c (dollar_label_instance): Change return type to long.
3520         * symbols.h (print_symbol_value): Declare.
3521         (print_expr, print_expr_1, print_symbol_value_1): Declare.
3522         * write.c (fix_new_exp): Don't declare make_expr_symbol.
3523         (remove_subsegs, relax_frag): Make static.
3524         * config/atof-vax.c (atof_vax_sizeof): Change letter to int.
3525         (what_kind_of_float): Likewise.
3526         (atof_vax): Make static.  Change what_kind to int.
3527         (md_atof): Change what_statement_type to int.
3528         * config/obj-ecoff.h (obj_ecoff_set_ext): Declare.
3529         * config/tc-alpha.c (vax_md_atof): Declare.
3530         (md_atof): Don't declare atof_ieee and vax_md_atof.
3531         * config/tc-i386.c (set_16bit_code_flag): Make static.
3532         * config/tc-i386.h (tc_i386_fix_adjustable): Declare.
3533         * config/tc-m68k.c (add_fix): Change width to int.
3534         (insert_reg): Change regname to const.
3535         (md_atof): Don't declare atof_ieee.
3536         (demand_empty_rest_of_line): Don't declare.
3537         * config/tc-m88k.c (md_atof): Don't declare atof_ieee.
3538         * config/tc-sparc.c (cmp_reg_entry): Change args to const PTR.
3539         (parse_keyword_arg): Change lookup_fn to take const arg.
3540         (md_atof): Don't declare atof_ieee.
3541         * config/tc-sparc.h: Add ifdef for multiple inclusion.
3542         (tc_aout_pre_write_hook): Don't declare.
3543
3544 Mon Mar 17 11:21:09 1997  Ian Lance Taylor  <ian@cygnus.com>
3545
3546         * as.h (bfd_alloc_by_size_t): Don't declare.
3547         * Many files: Use xmalloc rather than bfd_alloc_by_size_t.
3548
3549 Sun Mar 16 13:49:21 1997  Philippe De Muyter <phdm@info.ucl.ac.be>
3550
3551         * symbols.c (symbol_new): Don't call debug_verify_symchain.
3552         (symbol_append): Set sy_next and sy_previous when adding a single
3553         symbol to an empty list.  Call debug_verify_symchain.
3554         (verify_symbol_chain): Use assert, not know.
3555
3556 Sat Mar 15 20:27:12 1997  Fred Fish  <fnf@cygnus.com>
3557
3558         * NEWS: Note BeOS support.
3559         * configure.in: (ppc-*-beos): New target, use coff as object format.
3560         * configure: Regenerate with autoconf.
3561         
3562 Sat Mar 15 19:14:02 1997  Ian Lance Taylor  <ian@cygnus.com>
3563
3564         * config/tc-mips.c (md_apply_fix): Improve error message for out
3565         of range branch.
3566
3567         * Makefile.in: Add dependencies on obstack.h where needed.
3568
3569 Fri Mar 14 15:33:38 1997  Ian Lance Taylor  <ian@cygnus.com>
3570
3571         * config/tc-mips.c (md_estimate_size_before_relax): Handle the
3572         case of a symbol equated to another symbol when using SVR4_PIC.
3573
3574         * Makefile.in (TARG_CPU_DEP_sparc): Add opcode/sparc.h.
3575
3576 Thu Mar 13 11:20:51 1997  Ian Lance Taylor  <ian@cygnus.com>
3577
3578         * read.c (read_a_source_file): Call LISTING_NEWLINE before
3579         HANDLE_CONDITIONAL_ASSEMBLY when handling an MRI line label.
3580
3581         * config/obj-elf.c (obj_elf_data): Call md_flush_pending_output
3582         and md_elf_section_change_hook if they are defined.
3583         (obj_elf_text, obj_elf_previous): Likewise.
3584
3585 Wed Mar 12 11:40:20 1997  Ian Lance Taylor  <ian@cygnus.com>
3586
3587         * config/obj-multi.h (struct elf_obj_sy): Define if
3588         OBJ_MAYBE_ELF.
3589         (OBJ_SYMFIELD_TYPE): Define as struct elf_obj_sy if
3590         OBJ_MAYBE_ELF.
3591         * config/obj-elf.h (struct elf_obj_sy): Don't define if
3592         OBJ_SYMFIELD_TYPE is defined.
3593
3594         * doc/as.texinfo (bss): Improve description of .bss section.  In
3595         ELF or COFF, you are permitted to switch into the section.
3596         (Comm): Rewrite description of common symbols.
3597         (Lcomm): Mention that some targets permit a third argument.
3598
3599 Tue Mar 11 01:13:31 1997  Ian Lance Taylor  <ian@cygnus.com>
3600
3601         * config/tc-ppc.c (ppc_elf_lcomm): Don't call S_CLEAR_EXTERNAL.
3602
3603         * symbols.c (colon): Change type of local to int.  From Alan Modra
3604         <alan@spri.levels.unisa.edu.au>.
3605
3606         * config/tc-m88k.c (m88k_do_align): Don't use a special nop
3607         alignment if a zero fill pattern was explicitly specified.
3608         * config/tc-sh.c (sh_do_align): Likewise.
3609
3610         * read.c (equals): Always permit register names to be redefined.
3611
3612         * config/tc-mips.c (mips_fix_adjustable): Permit a reloc against a
3613         mips16 symbol to be adjusted if a symbol is being subtracted from
3614         it.
3615
3616         From Eric Youngdale <eric@andante.jic.com>:
3617         * config/obj-elf.c (obj_elf_symver): Check for duplicate or
3618         illegal symbol version names.
3619         (elf_frob_symbol): Check for external default versions.
3620
3621 Sun Mar  9 23:49:12 1997  Ian Lance Taylor  <ian@cygnus.com>
3622
3623         From Eric Youngdale <eric@andante.jic.com>:
3624         * config/obj-elf.h (struct elf_obj_sy): Define.
3625         (OBJ_SYMFIELD_TYPE): Define to elf_obj_sy struct.  Change all
3626         users.
3627         * config/obj-elf.c (obj_elf_symver): Just record the name.
3628         (obj_symbol_new_hook): Initialized versioned_name field.
3629         (elf_frob_symbol): If there is a versioned_name, either rename the
3630         symbol, or add an alias with that name.
3631
3632 Thu Mar  6 13:55:32 1997  Jeffrey A Law  (law@cygnus.com)
3633
3634         * config/tc-mn10300.c (md_relax_table): Define.
3635         (md_convert_frag): Implement.
3636         (md_assemble): Handle relaxable operands/instructions correctly.
3637         (md_estimate_size_before_relax): Implement.
3638         * config/tc-mn10300.h (TC_GENERIC_RELAX_TABLE): Define.
3639
3640         * config/tc-mn10200.c (md_relax_table): Fix typos.
3641
3642         * config/tc-mn10300.c (md_assemble): Don't use any MN10300 specific
3643         relocs anymore.  Tweak fx_offset for pc-relative relocs.
3644
3645 Wed Mar  5 15:46:16 1997  Ian Lance Taylor  <ian@cygnus.com>
3646
3647         * cond.c (s_ifc): Call mri_comment_field and mri_comment_end when
3648         in MRI mode.
3649
3650 start-sanitize-tic80
3651 Tue Mar  4 19:34:21 1997  Fred Fish  <fnf@cygnus.com>
3652
3653         * config/tc-tic80.c (md_pseudo_table): Add "sect" and "section"
3654         pseudo-ops.
3655         * config/tc-tic80.c (md_begin): Declare external variable
3656         coff_flags and insert an F_AR32WR bit into it.
3657
3658 end-sanitize-tic80
3659 Tue Mar  4 10:01:04 1997  Ian Lance Taylor  <ian@cygnus.com>
3660
3661         * read.c (equals): Add reassign parameter.  Change all callers.
3662         * read.h (equals): Update declaration.
3663
3664 Sat Mar  1 01:04:04 1997  Ian Lance Taylor  <ian@cygnus.com>
3665
3666         * config/tc-mips.c (mips16_extended_frag): Don't assume that we
3667         can rely on the frag address to determine whether a frag is
3668         earlier or later.
3669
3670 Fri Feb 28 14:40:00 1997  Ian Lance Taylor  <ian@cygnus.com>
3671
3672         * write.h (LOCAL_LABEL): Only define if not BFD_ASSEMBLER.
3673         (S_LOCAL_NAME): Likewise.
3674         (FAKE_LABEL_NAME): Define unconditionally.
3675         * symbols.c (colon): Call bfd_is_local_label, not LOCAL_LABEL, if
3676         BFD_ASSEMBLER.
3677         (S_IS_LOCAL): Call bfd_is_local_label_name, not LOCAL_LABEL.
3678         * config/tc-*.h: Only define LOCAL_LABEL if not BFD_ASSEMBLER.
3679         Don't define FAKE_LABEL_NAME.
3680         * config/te-ic960.h: Likewise.
3681         * config/tc-mips.h (tc_frob_file_before_adjust): Define.
3682         (mips_frob_file_before_adjust): Declare.
3683         * config/tc-mips.c (mips_frob_file_before_adjust): New function.
3684         (mips_local_label): Remove.
3685
3686         * config/te-sco386.h: Remove; not used.
3687
3688 start-sanitize-tic80
3689 Thu Feb 27 15:39:16 1997  Fred Fish  <fnf@cygnus.com>
3690
3691         * config/tc-tic80 (md_pseudo_table): Add align pseudo op to do
3692         byte alignment rather than power-of-two alignment that is the
3693         GAS default.
3694
3695 end-sanitize-tic80
3696 Thu Feb 27 13:29:04 1997  Ian Lance Taylor  <ian@cygnus.com>
3697
3698         * config/tc-m68k.c (md_assemble): Handle a reloc width of 'W'.
3699
3700         * gasp.c (hash_add_to_string_table): Correct misspelling in error
3701         message, and add newline.
3702         (process_file): Don't process assignments in the label if this is
3703         a equ or assign pseudo-op.
3704         (process_pseudo_op): Swap first argument to do_assign for K_ASSIGN
3705         and K_EQU, to match documentation.
3706
3707 Thu Feb 27 12:00:03 1997  Michael Meissner  <meissner@cygnus.com>
3708
3709         * config/obj-coff.c (obj_coff_section): Add 'r' section attribute
3710         to denote read-only data sections.
3711
3712 Thu Feb 27 00:26:33 1997  Ian Lance Taylor  <ian@cygnus.com>
3713
3714         * config/obj-elf.c (obj_elf_common): Set BSF_OBJECT in flags.
3715         * config/tc-sparc.c (s_common): Likewise, if BFD_ASSEMBLER.
3716
3717         * expr.c (operand): Simplify 0b handling.  Don't treat 0b as a
3718         binary number if the next character is '+' or '-'.
3719
3720 start-sanitize-tic80
3721 Wed Feb 26 20:47:12 1997  Fred Fish  <fnf@cygnus.com>
3722
3723         * config/tc-tic80.c (FLT_CHARS): Change from "dD" to "fF".
3724         (find_opcode): Match operands that can be floats.
3725         (build_insn): Handle O_big (float) expressions and build
3726         correct opcode.
3727
3728 end-sanitize-tic80
3729 Wed Feb 26 18:19:00 1997  Stan Shebs  <shebs@andros.cygnus.com>
3730
3731         * configure.in (mips*-*-lnews*): New target, also make empty
3732         emulation list for this target.
3733         * configure: Update.
3734         * tc-mips.c (ECOFF_LITTLE_FORMAT): Define.
3735         (mips_target_format): Use.
3736         * te-lnews.h: New file.
3737
3738 start-sanitize-tic80
3739 Wed Feb 26 15:33:46 1997  Fred Fish  <fnf@cygnus.com>
3740
3741         * config/tc-tic80.c (find_opcode, build_insn): Changes to match
3742         operands with :m or :s modifiers and generate the right opcodes
3743         for them.
3744
3745 end-sanitize-tic80
3746 Wed Feb 26 11:56:11 1997  Ian Lance Taylor  <ian@cygnus.com>
3747
3748         * Makefile.in (itbl-parse.c itbl-parse.h): Use $(BISON) and
3749         $(BISONFLAGS), not $(YACC) and $(YACCFLAGS).
3750
3751 Tue Feb 25 22:02:23 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
3752
3753         * config/tc-m68k.c (instring): Useless local declaration of
3754         crack_operand removed.
3755         * expr.h (expressionS): Changed type of X_op field to operatorT if
3756         __GNUC__.
3757
3758 Tue Feb 25 13:17:27 1997  Ian Lance Taylor  <ian@cygnus.com>
3759
3760         Based on patches from Robert Lipe <robertl@dgii.com>:
3761         * configure.in: Add i386coff and i386elf to emulation list.
3762         * configure: Rebuild.
3763         * as.c (i386coff, i386elf): Declare.
3764         * obj.h (coff_format_ops): Declare.
3765         * config/obj-coff.c (OBJ_HEADER): Define.
3766         (coff_obj_symbol_new_hook): Rename from obj_symbol_new_hook.
3767         (coff_obj_read_begin_hook): Rename from obj_read_begin_hook.
3768         (obj_pseudo_table): Add "version".
3769         (coff_pop_insert): New static function.
3770         (coff_sec_sym_ok_for_reloc): New static function.
3771         (no_func): New static function.
3772         (coff_format_ops): New variable.
3773         * config/obj-coff.h (coff_obj_symbol_new_hook): Declare.
3774         (obj_symbol_new_hook): Define.
3775         (coff_obj_read_begin_hook): Declare.
3776         (obj_read_begin_hook): Define.
3777         * config/tc-i386.h (i386_target_format): Declare.
3778         * config/tc-i386.c: Check OBJ_MAYBE_ELF as well as OBJ_ELF; check
3779         OUTPUT_FLAVOR when appropriate.
3780         (i386_target_format): New function.
3781         * Makefile.in (obj-coff.o): New target.
3782         (e-i386coff.o, e-i386elf.o): New targets.
3783
3784         From Stephen Williams <steve@icarus.icarus.com>:
3785         * config/tc-i960.h (TC_SYMFIELD_TYPE): Define if OBJ_COFF.
3786         (_tc_get_bal_of_call): Don't declare.
3787         (tc_get_bal_of_call): Declare as function, don't define as macro.
3788         * config/tc-i960.c (tc_set_bal_of_call): If OBJ_COFF, store balP
3789         in sy_tc field, not x_balntry field.
3790         (tc_get_bal_of_call): Rename from _tc_get_bal_of_call.  Change
3791         return type to symbolS *.  If OBJ_COFF, retrieve value from sy_tc
3792         field, not x_balntry field.
3793
3794         * config/obj-elf.c (obj_elf_section): Permit a .note section to
3795         have the SHF_ALLOC attribute.
3796
3797         * Makefile.in ($(OBJS)): Don't depend upon $(IT_HDRS).
3798         (TARG_CPU_DEP_mips): Depend upon $(srcdir)/itbl-ops.h.
3799         (itbl-lex.o): Depend upon itbl-parse.h.
3800
3801         * itbl-parse.y (yyerror): Change return type to int.  Change to
3802         use old style function declaration.
3803
3804         * Makefile.in (itbl-lex.o): Remove -Wall.
3805         (itbl-parse.o): Likewise.
3806
3807         * cond.c (s_ifdef): If we should omit conditionals from listings,
3808         call listing_list.
3809         (s_if, s_ifc, s_endif, s_else, s_ifeqs): Likewise.
3810         * listing.c (list_info_struct): Add EDICT_NOLIST_NEXT.
3811         (listing_listing): Handle EDICT_NOLIST_NEXT.
3812         (listing_list): An argument of 2 means EDICT_NOLIST_NEXT.
3813         * listing.h (LISTING_NOCOND): Define.
3814         (LISTING_SKIP_COND): Define.
3815         * as.c (show_usage): Mention c as a suboption of -a.
3816         (parse_args): Handle c as a suboption of -a.
3817         * doc/as.texinfo: Document -alc.
3818
3819 start-sanitize-tic80
3820 Mon Feb 24 23:34:14 1997  Fred Fish  <fnf@cygnus.com>
3821
3822         * config/tc-tic80.c (md_apply_fix): Handle R_ABS type fixups.
3823
3824 end-sanitize-tic80
3825 Mon Feb 24 18:27:43 1997  Eric Youngdale  <eric@andante.jic.com>
3826
3827         * doc/as.texinfo: Document .symver.
3828
3829 Mon Feb 24 15:19:57 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
3830
3831         * config/tc-d10v.c: Change pre_defined_registers to 
3832         d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt.
3833
3834 Mon Feb 24 10:40:45 1997  Fred Fish  <fnf@cygnus.com>
3835
3836         * config/obj-coff.c: Fix typo in comment section.
3837 start-sanitize-tic80
3838         * config/tc-tic80.c (md_pseudo_table): Add entry for bss, which takes
3839         an additional alignment argument.
3840         (find_opcode): Allow O_symbol relocs for any 32 bit field, not just
3841         base relative ones.
3842         (build_insn): Handle O_symbol relocs for any 32 bit field, not just
3843         base relative ones.
3844 end-sanitize-tic80
3845
3846 Mon Feb 24 02:23:00 1997  Dawn Perchik  <dawn@cygnus.com>
3847
3848         * Makefile.in: Remove dependancies on itbl-cpu.h.
3849         * as.c: Define stubs for itbl_parse and itbl_init if HAVE_ITBL_CPU 
3850         is not defined.
3851
3852 Mon Feb 24 02:03:00 1997  Dawn Perchik  <dawn@cygnus.com>
3853
3854         * itbl-ops.h: Include as.h.
3855
3856 Mon Feb 24 01:04:00 1997  Dawn Perchik  <dawn@cygnus.com>
3857
3858         * as.c: Remove -t option.
3859         * configure, configure.in: Move itbl-cpu.h to mips specific configure.
3860         * itbl-ops.h: Include itbl-cpu.h only if HAVE_ITBL_CPU is defined.
3861         * config/tc-mips.h: Define HAVE_ITBL_CPU.
3862
3863 Sun Feb 23 18:01:00 1997  Dawn Perchik  <dawn@cygnus.com>
3864
3865         * itbl-ops.c: Don't define DEBUG.
3866
3867 Sun Feb 23 17:49:00 1997  Dawn Perchik  <dawn@cygnus.com>
3868
3869         * Makefile.in: Update itbl-test.c to reflect its new location.
3870
3871 Sun Feb 23 15:50:00 1997  Dawn Perchik  <dawn@cygnus.com>
3872
3873         * itbl-ops.c: Add test for itbl_have_entries.
3874         * config/tc-mips.c: Remove test for itbl_have_entries.
3875         * config/tc-mips.h: Define tc_init_after_args to mips_init_after_args.
3876
3877 Sun Feb 23 18:13:19 1997  Ian Lance Taylor  <ian@cygnus.com>
3878
3879         * Makefile.in (DISTSTUFF): Remove itbl-parse.y, itbl-lex.l, and
3880         itbl-ops.c.  Add itbl-parse.c and itbl-lex.c.
3881         (LEX, LEXFLAGS): Define.
3882         * itbl-ops.c (append_insns_as_macros): Remove bogus ASSERT.
3883
3884 Sat Feb 22 21:25:00 1997  Dawn Perchik  <dawn@cygnus.com>
3885
3886         * itbl-parse.y: Fix indentation mistakes from indent program.
3887         * itbl-lex.l: Fix indentation mistakes from indent program.
3888         * itbl-ops.h: Add include for ansidecl.h.
3889         Add PARAMS around function arguments.
3890         Add declaration for itbl_have_entries.
3891         * itbl-ops.c: Add PARAMS around function arguments.
3892         * Makefile.in: Add itbl build rules.
3893         Add dependancies for itbl files to mips target.
3894         * as.c: Add itbl support.
3895         Add new option "--insttbl" for dynamically extending instruction set.
3896         * as.h: Declare insttbl_file_name;
3897         the name of file defining extensions to the basic instruction set 
3898         * configure.in, configure: Add itbl-parse.o, itbl-lex.o, and 
3899         itbl-ops.o to extra_objects for mips configuration.
3900         Add include file link from itbl-cpu.h to 
3901         config/itbl-${target_cpu_type}.h.
3902         * config/tc-mips.c: Allow copz instructions.
3903         Add notes for future additions to the itbl support.
3904         Add debug macros.
3905         (macro): Call itbl_assemble to assemble itbl instructions.
3906         See if an unknown register is specified in an itbl entry.
3907
3908 Sat Feb 22 20:53:01 1997  Fred Fish  <fnf@cygnus.com>
3909         * doc/internals.texi (CPU backend): Fix typo in md_section_align
3910         description.
3911 start-sanitize-tic80
3912         * config/tc-tic80.h (NEED_FX_R_TYPE): Define.
3913         * config/tc-tic80.c (find_opcode): Add code to support O_symbol
3914         operands.
3915         (build_insn): Grab a frag early so we can use the address in
3916         fixups.  Take one's complement of BITNUM values before insertion
3917         in opcode.  Add code to support O_symbol operands.
3918         (md_apply_fix): Replace unimplemented warning with implementation.
3919         (md_pcrel_from): Ditto.
3920         (tc_coff_fix2rtype): Ditto.
3921 end-sanitize-tic80
3922
3923 Fri Feb 21 14:34:31 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
3924 start-sanitize-d30v
3925         * config/tc-d30v.c (parallel_ok): New function. 
3926         * config/tc-d30v.h: Define TARGET_BYTES_BIG_ENDIAN.
3927 end-sanitize-d30v
3928         * config/tc-d10v.c (md_pcrel_from_section): Return 0 if
3929         relocation is in different section. Fixes PR11574.
3930
3931 Fri Feb 21 10:08:25 1997  Jim Wilson  <wilson@cygnus.com>
3932
3933         * tc-mips.c (mips_ip): If configured for an embedded ELF system,
3934         don't set the section alignment to 2**4.
3935
3936 Fri Feb 21 11:55:03 1997  Ian Lance Taylor  <ian@cygnus.com>
3937
3938         * config/tc-m68k.c (line_comment_chars): Add '*'.
3939
3940         * app.c (LEX_IS_TWOCHAR_COMMENT_2ND): Don't define.
3941         (do_scrub_begin): Don't set lex['*'].
3942         (do_scrub_chars): When handling LEX_IS_TWOCHAR_COMMENT_1ST, don't
3943         check for LEX_IS_TWOCHAR_COMMENT_2ND.  Instead, just check for
3944         a literal '*'.
3945
3946         * configure.in: Set em=svr4 for m68k-*-sysv4*.
3947         * configure: Rebuild.
3948         * config/te-svr4.h: New file.
3949         * config/tc-m68k.c (m68k_comment_chars): Only include `#' if
3950         TE_SVR4 or TE_DELTA.
3951
3952 Thu Feb 20 22:24:39 1997  Jeffrey A Law  (law@cygnus.com)
3953
3954         * config/tc-mn10200.c (md_convert_frag): Create a fixup for the
3955         short conditional branch around a long unconditional branch.
3956
3957 Thu Feb 20 13:56:00 1997  Ian Lance Taylor  <ian@cygnus.com>
3958
3959         * config/obj-coff.c (obj_coff_ln [both versions]): Call
3960         new_logical_line.
3961
3962         * config/tc-arm.c (fix_new_arm): Use make_expr_symbol to handle a
3963         complex expression.
3964
3965         * symbols.c (resolve_symbol_value): If both left and right
3966         operands are undefined, warn about both of them.
3967
3968 Wed Feb 19 00:53:28 1997  Ian Lance Taylor  <ian@cygnus.com>
3969
3970         Based on patches from Eric Youngdale <eric@andante.jic.com>:
3971         * config/obj-elf.c (elf_pseudo_table): Add "symver".
3972         (obj_elf_symver): New static function.
3973         * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Copy the st_other
3974         field.
3975
3976         * write.c (relax_segment): Make type and printf format agree.
3977
3978         * read.c (get_line_sb): Don't end the line on a semicolon inside a
3979         string.
3980
3981 start-sanitize-d30v
3982 Tue Feb 18 18:42:51 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
3983
3984         * config/tc-d30v.c, config/tc-d30v.h: New files.
3985
3986         * configure: Rebuilt.
3987         
3988         * configure.in: Add case for d30v.
3989
3990 end-sanitize-d30v       
3991 Sun Feb 16 17:47:29 1997  Fred Fish  <fnf@cygnus.com>
3992
3993         * config/tc-alpha.h (md_operand): Define with a null expansion,
3994         like all the other targets.
3995         * doc/internals.texi (CPU backend): Add missing word in 
3996         md_flush_pending_output description.  Fix typo in md_convert_frag
3997         description.
3998 start-sanitize-tic80
3999         * config/tc-tic80: Minor comment additions/changes.
4000 end-sanitize-tic80
4001         
4002 Fri Feb 14 18:09:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
4003
4004         * config/tc-m68k.c (LOCAL_LABEL): Macro redefined if TE_DELTA.
4005         (tc_canonicalize_symbol_name): Macro defined if TE_DELTA.
4006         * config/obj-coff.c (obj_coff_def): Use
4007         tc_canonicalize_symbol_name if defined.
4008         (obj_coff_tag, obj_coff_val): Likewise.
4009         * expr.c (operand): Reject '~' as operator if is_name_beginner.
4010
4011 Fri Feb 14 17:24:48 1997  Ian Lance Taylor  <ian@cygnus.com>
4012
4013         Based on notes from Peter Eriksson <peter@ifm.liu.se>.  The target
4014         does not actually work, though:
4015         * configure.in (i386-sequent-bsd*): New target.
4016         * configure: Rebuild.
4017         * config/tc-dynix.h: New file.
4018         * config/tc-i386.h: Define TARGET_FORMAT if TE_DYNIX.
4019
4020         * read.c (do_align): Add max parameter.  Change all callers.
4021         Remove useless static variables.
4022         (s_align): New static function.  Do common portion of
4023         s_align_bytes and s_align_ptwo.
4024         (s_align_bytes, s_align_ptwo): Just call s_align.
4025         * frags.c (frag_align): Add max parameter.  Change all callers.
4026         (frag_align_pattern): Likewise.
4027         * frags.h (frag_align, frag_align_pattern): Update declarations.
4028         * write.c (relax_segment): Limit alignment change to fr_subtype.
4029         Fix some types to be addressT.
4030         * config/obj-coff.c (size_section): Likewise.
4031         * config/obj-ieee.c (size_section): Likewise.
4032         * config/tc-d10v.h (md_do_align): Add max parameter.
4033         * config/tc-i386.h (md_do_align): Likewise.
4034         * config/tc-m88k.h (md_do_align): Likewise.
4035         * config/tc-m88k.c (m88k_do_align): Likewise.
4036         * config/tc-sh.h (md_do_align): Likewise.
4037         * config/tc-sh.c (sh_do_align): Likewise.
4038         * as.h: Improve comments on rs_align and rs_align_code.
4039         * doc/as.texinfo: Document new alignment arguments.
4040         * doc/internals.texi (Frags): Document use of fr_subtype field for
4041         rs_align and rs_align_code.
4042
4043 Fri Feb 14 15:56:06 1997  Gavin Koch  <gavin@cygnus.com>
4044
4045         * config/tc-mips.c: Changed opcode parsing.
4046
4047 Thu Feb 13 20:02:16 1997  Fred Fish  <fnf@cygnus.com>
4048
4049         * config/{tc-alpha.h, tc-d10v.h, tc-generic.h, tc-i960.h,
4050         tc-mn10200.h, tc-mn10300.h, tc-sh.h, tc-vax.h, tc-w65.h}:
4051         Add default definition of zero for TARGET_BYTES_BIG_ENDIAN.
4052         * config/{tc-arm.h, tc-hppa.h, tc-i386.h, tc-mips.h, tc-ns32k.h,
4053         tc-ppc.h, tc-sparc.h}: Move definition of TARGET_BYTES_BIG_ENDIAN
4054         to a location consistent with the rest of the target include files.
4055         * config/tc-i386.c: Remove misleading comment.
4056         * doc/internals.texi (CPU backend): Add description of function
4057         md_undefined_symbol.
4058 start-sanitize-tic80
4059         * config/tc-tic80.c: Add code to insert predefined symbols into the
4060         symbol table so they can be parsed by the standard expression parser.
4061         Remove custom code that use to parse them.
4062         * config/tc-tic80.h: Move definition of TARGET_BYTES_BIG_ENDIAN
4063         to a location consistent with the rest of the target include files.
4064 end-sanitize-tic80
4065         
4066 Thu Feb 13 21:44:18 1997  Klaus Kaempf  <kkaempf@progis.de>
4067
4068         * as.h: GNU c provides unlink() function.
4069
4070         Unify section handling on openVMS/Alpha:
4071         * config/tc-alpha.c(s_alpha_link): Remove.
4072         (s_alpha_section): New function.
4073         Remove case-hacking of symbols
4074         Add .code_address pseudo-op.
4075         (BFD_RELOC_ALPHA_CODEADDR): New relocation.
4076         (s_alpha_code_address): New function.
4077         (alpha_ctors_section, alpha_dtors_section): New sections for C++
4078         static constructors/destructors.
4079         Add debug code for crash debugs, to be removed when traceback code
4080         is added to object code.
4081         (s_alpha_name): New function for .name pseudo-op.
4082         (alpha_print_token): New function to print token expressions with
4083         alpha specific extensions.
4084
4085         * makefile.vms: Allow compilation with current gcc snapshot.
4086
4087 Thu Feb 13 16:29:04 1997  Fred Fish  <fnf@cygnus.com>
4088
4089         * doc/Makefile.in (TEXI2DVI): Set to just name of program.
4090         (DVIPS): Set to dvips.
4091         (ps, as.ps, gasp.ps): New targets.
4092         (internals.info, gasp.dvi, internals.dvi): Set both TEXINPUTS
4093         and MAKEINFO env variables.
4094         (internals.ps): Use DVIPS macro.
4095         (clean): Remove core and backup files.
4096         (distclean): Remove temporary files from building internals.
4097         (clean-dvi): Ditto.
4098         * doc/internals.texi (Frags): Fix typo.
4099         (GAS processing): Ditto.
4100         (CPU backend): Ditto.
4101         * ecoff.c (init_file): Use TARGET_BYTES_BIG_ENDIAN value directly.
4102         * mpw-config.in: Define TARGET_BYTES_BIG_ENDIAN as 1.
4103         * read.c: Remove ugly hack that dealt with config files not
4104         correctly defining TARGET_BYTES_BIG_ENDIAN.
4105         (target_big_endian): Use TARGET_BYTES_BIG_ENDIAN directly.
4106         * config/arm-big.mt: Define TARGET_BYTES_BIG_ENDIAN to 1.
4107         * config/arm-lit.mt: Define TARGET_BYTES_BIG_ENDIAN to 0.
4108         * config/mips-big.mt: Define TARGET_BYTES_BIG_ENDIAN to 1.
4109         * config/mips-lit.mt: Define TARGET_BYTES_BIG_ENDIAN to 0.
4110         * config/ppc-lit.mt: Define TARGET_BYTES_BIG_ENDIAN to 1.
4111         * config/ppc-sol.mt: Replace TARGET_BYTES_LITTLE_ENDIAN
4112         with TARGET_BYTES_BIG_ENDIAN defined to 0.
4113         * config/tc-arm.h: Remove use of TARGET_BYTES_LITTLE_ENDIAN
4114         and simplify.  Test value of TARGET_BYTES_BIG_ENDIAN, not just
4115         whether it is defined or not.
4116         * config/tc-mips.h: Remove use of TARGET_BYTES_LITTLE_ENDIAN.
4117         * config/tc-ppc.h: Remove use of TARGET_BYTES_LITTLE_ENDIAN
4118         and simplify. Test value of TARGET_BYTES_BIG_ENDIAN, not just
4119         whether it is defined or not.
4120 start-sanitize-tic80
4121         * config/tic80.h (TARGET_FORMAT): Define to coff-tic80.
4122         (TARGET_BYTES_BIG_ENDIAN): Define to 0.
4123 end-sanitize-tic80
4124         
4125 Thu Feb 13 14:40:16 1997  Doug Evans  <dje@canuck.cygnus.com>
4126
4127         * write.c (write_relocs): Correct text in as_fatal error message,
4128         bfd_perform_relocation -> bfd_install_relocation.
4129
4130 Thu Feb 13 14:48:03 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
4131
4132         * config/tc-m68k.c (LEX_TILDE): Define if TE_DELTA.
4133         * read.c (LEX_TILDE): Define if not defined.
4134         (lex_type): Use LEX_TILDE.
4135         * expr.c (get_symbol_end): Check first char with is_name_beginner,
4136         not is_part_of_name.
4137
4138 Thu Feb 13 11:40:58 1997  Ian Lance Taylor  <ian@cygnus.com>
4139
4140         * config/tc-sparc.c (md_show_usage): Add missing backslash at end
4141         of continued line.
4142
4143         * config/tc-mips.c (mips16_extended_frag): Correct base address
4144         for an extended PC relative instruction.
4145         (md_convert_frag): Likewise.
4146
4147         * config/tc-mips.c (prev_nop_frag): New static variable.
4148         (prev_nop_frag_holds): New static variable.
4149         (prev_nop_frag_required): New static variable.
4150         (prev_nop_frag_since): New static variable.
4151         (append_insn): If we aren't reordering, and prev_nop_frag is not
4152         NULL, and we don't need any nops, then decrease the size of
4153         prev_nop_frag.  Don't insert nops because of instructions in
4154         noreorder sections.  Remember whether the previous instructions
4155         where in noreorder sections even when not reordering.
4156         (mips_no_prev_insn): Add preserver parameter.  Change all
4157         callers.  Refer prev_nop_frag variables when appropriate.
4158         (mips_emit_delays): Set up prev_nop_frag.
4159         (s_mipsset): Clear prev_nop_frag if reordering.
4160
4161 Wed Feb 12 14:36:29 1997  Ian Lance Taylor  <ian@cygnus.com>
4162
4163         * config/tc-mips.c (append_insn): Remove useless code which
4164         handled swapping a mips16 jump with a mips16 instruction with a
4165         reloc.
4166
4167         * config/tc-mips.c (md_parse_option): When debugging, set
4168         mips_optimize to 1, not 0.
4169
4170         * config/tc-mips.c (mips16_ip): Handle an extend operand.
4171
4172         * config/tc-mips.c (my_getExpression): In mips16 mode, if it looks
4173         like the expression was based on `.', adjust the value of the
4174         symbol.
4175
4176         * config/tc-mips.c (append_insn): Warn about an attempt to put an
4177         extended instruction in a delay slot when not reordering.
4178         (md_convert_frag): Warn if an extended instruction appears in a
4179         delay slot.
4180
4181         * config/tc-mips.c (mips_pseudo_table): Add "insn".
4182         (s_insn): New static function.
4183         * doc/c-mips.texi: Document .insn.
4184
4185         * config/tc-mips.c (md_begin): Add the general registers to the
4186         symbol table.
4187         (mips16_ip): First parse the expression, and then see whether it
4188         came up with a register, rather than trying to first see whether
4189         we are looking at a register.
4190
4191 start-sanitize-tic80
4192 Tue Feb 11 15:13:39 1997  Fred Fish  <fnf@cygnus.com>
4193
4194         * config/tc-tic80.c: Numerous changes and additions to flesh
4195         out functions that were previously just stubs, and fix some
4196         problems found using the new TIc80 testsuite cases.
4197
4198 end-sanitize-tic80
4199 Tue Feb 11 15:52:22 1997  Ian Lance Taylor  <ian@cygnus.com>
4200
4201         * config/tc-mips.c (mips16_ip): Handle %gprel modifier.
4202         (md_apply_fix): Handle BFD_RELOC_MIPS16_GPREL.
4203
4204         * config/tc-mips.c (append_insn): Output jump instruction as a
4205         pair of 2 byte instructions, rather than as a single 4 byte
4206         instruction.
4207
4208 start-sanitize-r5900
4209         * config/tc-mips.c (md_begin): Correct test of mips_5900.
4210         (mips_ip): Don't check INSN_ISA for a macro.
4211
4212 end-sanitize-r5900
4213 start-sanitize-r5900
4214 Fri Feb  7 11:11:06 1997  Gavin Koch  <gavin@cygnus.com>
4215         
4216         * config/tc-mips.c: added r5900.
4217         
4218 end-sanitize-r5900
4219 Mon Feb 10 22:06:00 1997  Dawn Perchik  (dawn@cygnus.com)
4220
4221         * itbl-ops.c, itbl-lex.l, itbl-parse.y, itbl-ops.h,
4222         config/itbl-mips.h: Add copyright message and fix indentation.
4223
4224 Mon Feb 10 18:09:00 1997  Dawn Perchik  (dawn@cygnus.com)
4225
4226         * itbl-ops.c: New file.  Add support for dynamically read 
4227         instruction registers, opcodes and formats.  Build internal table 
4228         for new instructions and provide callbacks for assembler and 
4229         disassembler.
4230         * itbl-lex.l, itbl-parse.y: Lex and yacc parsers for instruction 
4231         spec table.
4232         * itbl-ops.h: New file.  Header file for itbl support.
4233         * config/itbl-mips.h: New file.  Mips specific definitions for
4234         itbl support.
4235
4236 Fri Feb  7 09:52:34 1997  Jeffrey A Law  (law@cygnus.com)
4237
4238         * config/tc-mn10200.c (md_assemble): If a constant operand won't
4239         fit into the constant field of a relaxable operand, then it does
4240         not match.
4241
4242 Thu Feb  6 20:08:12 1997  Jeffrey A Law  (law@cygnus.com)
4243
4244         * config/tc-mn10200.c (md_estimate_size_before_relax): Treat
4245         a jsr target in a different section just like a jsr to
4246         an undefined target.
4247
4248 Thu Feb  6 16:52:57 1997  Ian Lance Taylor  <ian@cygnus.com>
4249
4250         * config/tc-mips.c (mips_fix_adjustable): Don't adjust relocations
4251         against any mips16 symbols, not just externally visible ones.
4252         (md_apply_fix): Corresponding change.
4253
4254 Wed Feb  5 11:11:06 1997  Ian Lance Taylor  <ian@cygnus.com>
4255
4256         * config/tc-mips.c (mips16_ip): Accept floating point registers in
4257         the operand of the exit instruction.
4258
4259 Tue Feb  4 14:12:39 1997  Ian Lance Taylor  <ian@cygnus.com>
4260
4261         * symbols.c (resolve_symbol_value): If we leave an equated symbol
4262         as O_symbol, copy over the segment.
4263
4264 Mon Feb  3 12:35:54 1997  Ian Lance Taylor  <ian@cygnus.com>
4265
4266         * config/tc-mips.c (md_apply_fix): If we aren't adjusting this
4267         fixup to be against the section symbol, adjust the value
4268         accordingly.
4269
4270         * symbols.c (resolve_symbol_value): Don't change X_add_number for
4271         an equated symbol.
4272         * write.c (write_relocs): Avoid looping on equated symbols.
4273         Adjust fx_offset by X_add_number for each symbol.
4274         * config/obj-coff.c (do_relocs_for): Avoid looping on equated
4275         symbols.
4276         (fixup_segment): Add a loop to track down equated symbols and
4277         adjust fx_offset appropriately.
4278
4279 Fri Jan 31 15:21:02 1997  Jeffrey A Law  (law@cygnus.com)
4280
4281         * config/tc-mn10200.c (md_relax_table): Add entries to allow
4282         jmp -> bra relaxing.
4283         (md_convert_frag): Handle jmp->bra relaxing.
4284         (md_assemble): Handle jmp->bra relaxing.
4285         (md_estimate_size_before_relax): Likewise.
4286
4287 Fri Jan 31 13:15:05 1997  Alan Modra  <alan@spri.levels.unisa.edu.au>
4288
4289         * config/tc-i386.c (i386_align_code): Add comments explaining the
4290         nop instructions.
4291
4292 Fri Jan 31 10:46:14 1997  Ian Lance Taylor  <ian@cygnus.com>
4293
4294         * config/tc-sparc.c (enforce_aligned_data): New static variable.
4295         (sparc_cons_align): Don't do anything unless enforce_aligned_data
4296         is set.
4297         (md_longopts): Add "enforce-aligned-data".
4298         (md_show_usage): Mention --enforce-aligned-data.
4299         * doc/c-sparc.texi (Sparc-Aligned-Data): New node; document
4300         enforce-aligned-data.
4301
4302         * config/tc-ppc.c (md_pseudo_table): If OBJ_XCOFF, add "long",
4303         "word", and "short".
4304         (ppc_xcoff_cons): New static function.
4305
4306         * write.c (relax_segment): Give an error if a .space symbol is
4307         common or undefined.
4308
4309         * read.c (read_a_source_file): Don't handle mri_pending_align if
4310         the handler is s_globl or s_ignore.
4311
4312 Thu Jan 30 11:46:59 1997  Fred Fish  <fnf@cygnus.com>
4313
4314         * config/tc-d10v.c (find_opcode): Remove unused variable "numops".
4315 start-sanitize-tic80
4316         * config/tc-tic80.c: Many additions to previous placeholder file.
4317         * config/tc-tic80.h: Ditto.
4318 end-sanitize-tic80
4319
4320 Thu Jan 30 12:28:18 1997  Alan Modra  <alan@spri.levels.unisa.edu.au>
4321
4322         * config/tc-i386.c (i386_align_code): Improve the nop patterns.
4323
4324 Thu Jan 30 12:08:40 1997  Ian Lance Taylor  <ian@cygnus.com>
4325
4326         * config/tc-mips.c (mips_fix_adjustable): New function.
4327         * config/tc-mips.h (tc_fix_adjustable): Call mips_fix_adjustable.
4328         (mips_fix_adjustable): Declare.
4329
4330         Ideas from Srinivas Addagarla <srinivas@cdotd.ernet.in>:
4331         * read.c (read_a_source_file): After doing an mri_pending_align,
4332         adjust the line_label if there is one.
4333         (s_space): Set mri_pending_align if an odd number of bytes were
4334         output.
4335
4336 Wed Jan 29 15:31:12 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
4337
4338         * config/tc-d10v.h (md_do_align): Add this hook to call
4339         d10v_cleanup() when a ".align" is detected.  Fixes PR11487.
4340
4341         * config/tc-d10v.c (find_opcode): Correctly calculate
4342         branch displacement when .aligns are present.
4343
4344 Wed Jan 29 09:42:11 1997  Jeffrey A Law  (law@cygnus.com)
4345
4346         * config/tc-mn10200.c (md_relax_table): Define.
4347         (md_convert_frag): Implement.
4348         (md_assemble): Handle relaxable operands/instructions correctly.
4349         (md_estimate_size_before_relax): Implement.
4350         * config/tc-mn10200.h (TC_GENERIC_RELAX_TABLE): Define.
4351
4352 Tue Jan 28 15:27:28 1997  Ian Lance Taylor  <ian@cygnus.com>
4353
4354         * config/tc-mips.c (append_insn): Give an error for jumps to a
4355         misaligned address.
4356         (md_apply_fix): Make a branch to an odd address an error rather
4357         than a warning.
4358
4359         * config/tc-mips.c (md_convert_frag): If the user explicitly
4360         requested an extended opcode, pass warn as true to mips16_immed.
4361
4362         * config/tc-mips.c (mips16_ip): Handle a missing expression like
4363         an explicit 0, so that explicitly extended instructions work
4364         correctly.
4365
4366 Mon Jan 27 17:41:20 1997  Ian Lance Taylor  <ian@cygnus.com>
4367
4368         * ecoff.c (ecoff_build_symbols): Don't generate a local ECOFF
4369         symbol for a common symbol.
4370
4371 Wed Jan 22 10:39:39 1997  Doug Evans  <dje@canuck.cygnus.com>
4372
4373         Patch presumed to have been checked in awhile ago but wasn't.
4374         Mon Nov 25 10:45:14 1996  Doug Evans  <dje@seba.cygnus.com>
4375         * write.c: Delete "ifndef md_relax_frag" around is_dnrange.
4376         (relax_segment, case rs_org): Move code inside braces.  Move locals
4377         target,after inside too.
4378         (relax_segment, case rs_machine_dependent): Guts moved to ...
4379         (relax_frag): New function.
4380         Call md_prepare_relax_scan if defined.
4381
4382 Mon Jan 20 10:56:47 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4383
4384         * config/tc-m68k.c (m68k_ip): Reject pc-relative addresses for the
4385         'p' operand specifier.
4386
4387 Mon Jan 20 10:39:36 1997  J.T. Conklin  <jtc@cygnus.com>
4388
4389         * config/tc-m68k.c (HAVE_LONG_BRANCH): New macro, returns true for
4390         m68k family cpus which support long branch addressing modes.
4391         (m68k_ip, md_convert_frag_1, md_estimate_size_before_relax,
4392         md_create_long_jump): Use it.
4393
4394 Mon Jan 20 12:42:06 1997  Ian Lance Taylor  <ian@cygnus.com>
4395
4396         * config/tc-mips.c (md_begin): Don't set SEC_ALLOC or SEC_LOAD for
4397         the .reginfo or .MIPS.options section if configured for an
4398         embedded target.
4399
4400         * config/tc-mips.c (md_begin): Don't set interlocks for
4401         mips_4650.
4402
4403 Wed Jan 15 13:51:50 1997  Ian Lance Taylor  <ian@cygnus.com>
4404
4405         * read.c (read_a_source_file): Make sure the symbol ends with
4406         whitespace before checking whether the next character is '='.
4407
4408 Tue Jan 14 15:07:27 1997  Robert Lipe <robertl@dgii.com>
4409
4410         * config/tc-i386.c (sco_id): Moved from here...
4411         * config/obj-elf.c (sco_id): ...to here.  Adding the identifier
4412         really is an SCO ELF specific thing, not just a SCO x86 specific
4413         thing.
4414
4415 start-sanitize-tic80
4416 Mon Jan 13 22:43:01 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
4417
4418         * configure.in (tic80-*-*): Don't require 'coff'.
4419         * configure: Regenerate.
4420
4421 end-sanitize-tic80
4422 Thu Jan  9 09:08:43 1997  Ian Lance Taylor  <ian@cygnus.com>
4423
4424         * read.c (emit_expr): Check for overflow of a negative value
4425         correctly.
4426         * write.c (fixup_segment): Likewise.
4427         * config/obj-coff.c (fixup_segment): Likewise.
4428
4429         * config/tc-m68k.c (struct label_line): Define.
4430         (labels, current_label): New static variables.
4431         (md_assemble): Mark current_label as text, and clear it.
4432         (m68k_frob_label): New function.
4433         (m68k_flush_pending_output): New function.
4434         (m68k_frob_symbol): New function.
4435         * config/tc-m68k.h (tc_frob_label): Define.
4436         (md_flush_pending_output): Define.
4437         (tc_frob_symbol): Don't warn, just call m68k_frob_symbol.
4438         (tc_frob_coff_symbol): Likewise.
4439
4440         * read.c (read_a_source_file): When defining a macro in MRI mode,
4441         don't add the symbol to the symbol table.
4442
4443 Tue Jan  7 11:21:42 1997  Jeffrey A Law  (law@cygnus.com)
4444
4445         * config/tc-mn10300.c (tc_gen_reloc): Handle sym1-sym2 fixups
4446         here since fixup_segment doesn't (linkrelax is set).
4447         * config/tc-mn10200.c (tc_gen_reloc): Likewise.
4448
4449 Mon Jan  6 15:19:32 1997  Jeffrey A Law  (law@cygnus.com)
4450
4451         * config/tc-mn10200.c (md_assemble): Tweak fx_offset for pc-relative
4452         relocs.
4453
4454 Fri Jan  3 16:47:08 1997  Jeffrey A Law  (law@cygnus.com)
4455
4456         * config/tc-hppa.c (struct hppa_fix_struct): Tweak fx_r_field's type
4457         to avoid warnings with the native HP compiler.
4458         (fix_new_hppa): Similarly for the r_type argument.
4459         (pa_build_unwind_subspace, hppa_elf_mark_end_of_function): Enclose
4460         in an #if OBJ_ELF to keep gcc -Wall quiet.
4461         (md_apply_fix): Always initialize "result".
4462
4463         * config/tc-mn10200.c (md_assemble): Generate relocations.
4464
4465 Fri Jan  3 18:17:23 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4466
4467         * config/tc-m68k.c (s_even): Adjust the alignment of the current
4468         section.
4469
4470 Fri Jan  3 17:10:33 1997  Richard Henderson  <rth@tamu.edu>
4471
4472         * config/obj-elf.c (elf_file_symbol): When using ECOFF debugging,
4473         pass on the new file hook.
4474
4475         * config/tc-alpha.c (alpha_fix_adjustable): Not quite the same as
4476         !alpha_force_relocation, as local LITERALs can be adjusted to be
4477         relative to the section.
4478
4479 Fri Jan  3 12:09:24 1997  Ian Lance Taylor  <ian@cygnus.com>
4480
4481         * config/obj-coff.c (yank_symbols): If tc_frob_coff_symbol is
4482         defined, call it.
4483         * config/tc-m68k.h (tc_frob_symbol): Check whether text label is
4484         aligned to odd boundary.
4485         (tc_frob_coff_symbol): Define.
4486
4487         * doc/as.texinfo (Set): Change parenthesized @xref to @pxref.
4488
4489         * macro.c (macro_expand_body): In MRI mode, just copy a single &.
4490
4491         * config/tc-m68k.c (m68k_ip): Call frag_grow before adding a
4492         PCINDEX frag.  From Ronald F. Guilmette <rfg@monkeys.com>.
4493
4494         * config/tc-m68k.c (m68k_ip): Accept 'B' as a size for an
4495         immediate value.
4496         (md_assemble): If the size is 'B', set fx_signed.
4497         (md_apply_fix_2): Use fx_signed when checking for overflow.
4498
4499         * write.h (struct fix): Add fx_signed field.
4500         * write.c (fix_new_internal): Initialize fx_no_overflow and
4501         fx_signed fields.
4502         (fixup_segment): Use fx_signed when checking for overflow.
4503         * config/obj-coff.c (fixup_segment): Check fx_no_overflow and
4504         fx_signed when checking for overflow.
4505
4506 Thu Jan  2 13:37:29 1997  Ian Lance Taylor  <ian@cygnus.com>
4507
4508         * NOTES, NOTES.config: Removed.  These are rarely, if ever,
4509         updated, and all the useful information is in doc/internals.texi.
4510
4511         Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
4512         * read.c (read_a_source_file): Check for conditional operators
4513         before doing an MRI pending alignment.
4514         * config/tc-m68k.h (m68k_conditional_pseudoop): Declare.
4515         (tc_conditional_pseudop): Define.
4516         * config/tc-m68k.c (m68k_conditional_pseudop): New function.
4517         * doc/internals.texi (CPU backend): Describe
4518         tc_conditional_pseudoop.
4519
4520         Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
4521         * config/tc-m68k.c (m68k_rel32_from_cmdline): New static
4522         variable.
4523         (md_begin): Check m68k_rel32_from_cmdline before setting
4524         m68k_rel32.
4525         (m68k_mri_mode_change): Likewise.
4526         (md_longopts): Add --disp-size-default-16 and
4527         --disp-size-default-32.
4528         (md_parse_option): Handle new options.
4529         (md_show_usage): Mention new options.
4530         * doc/c-m68k.texi (M68K-Opts): Document new options.
4531
4532         Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
4533         * config/tc-m68k.c (m68k_index_width_default): New static
4534         variable.
4535         (m68k_ip): Use m68k_index_width_default to set the size of a base
4536         register whose size was not given.
4537         (md_longopts): Add --base-size-default-16 and
4538         --base-size-default-32.
4539         (md_parse_option): Handle new options.
4540         (md_show_usage): Mention new options.
4541         * doc/c-m68k.texi (M68K-Opts): Document new options.
4542
4543         * doc/c-mips.texi: Mention ISA level 4, and the -mips16 option.
4544
4545         * configure.in: Recognize mips-*-linux* target.
4546         * configure: Rebuild.
4547
4548         * config/tc-mips.c (load_register): Rewrite 64 bit handling to
4549         work if valueT is only 32 bits.
4550
4551         * config/tc-mips.c: Throughout, check target_big_endian rather
4552         than byte_order.
4553         (byte_order): Remove.
4554         (mips_init_after_args): Remove.
4555         * config/tc-mips.h (LITTLE_ENDIAN, BIG_ENDIAN): Don't define.
4556         (mips_init_after_args): Don't declare.
4557         (tc_init_after_args): Don't define.
4558
4559         * config/tc-mips.h (tc_frob_after_relocs): Define if
4560         OBJ_MAYBE_ELF.
4561         (mips_elf_final_processing): Likewise.
4562         (ELF_TC_SPECIAL_SECTIONS): Likewise.
4563
4564 Tue Dec 31 15:12:35 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4565
4566         * config/tc-v850.c (md_assemble): If this is sst.{h,w} or
4567         sld.{h,w} and the operand is relocatable, adjust the adend by
4568         shifting it right one bit.
4569
4570 Tue Dec 31 12:56:41 1996  Ian Lance Taylor  <ian@cygnus.com>
4571
4572         * read.c (read_a_source_file): Check mri_pending_align after
4573         checking for a macro.  From Ronald F. Guilmette
4574         <rfg@monkeys.com>.
4575
4576         * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE.
4577
4578         * config/tc-sparc.c (md_apply_fix3): Rename from md_apply_fix, and
4579         add segment argument.  If OBJ_ELF, treat a relocation against a
4580         symbol in a linkonce section like a relocation against an external
4581         symbol.
4582         * config/tc-sparc.h (MD_APPLY_FIX3): Define.
4583
4584 Mon Dec 30 11:35:40 1996  Ian Lance Taylor  <ian@cygnus.com>
4585
4586         * config/tc-mips.c (mips16_macro): Add case for M_ABS.
4587
4588 Fri Dec 27 22:51:51 1996  Fred Fish  <fnf@cygnus.com>
4589
4590         * NOTES.config (Implementation): as.h #define's "GAS" not "gas",
4591         includes config.h instead of host.h, tc.h instead of tp.h, and
4592         targ-env.h instead of target-environment.h.
4593         Also, obj-format.h includes targ-cpu.h instead of
4594         target-processor.h.
4595 start-sanitize-tic80
4596         * configure.in (case ${generic_target}): Add tic80-*-coff entry.
4597         * configure: Rebuild with autoconf.
4598         * config/obj-coff.h (coff/tic80.h): Include if TC_TIC80 defined.
4599         (TARGET_FORMAT): Define to "coff-tic80".
4600         * config/tc-tic80.c: New file for TIc80 support.
4601         * config/tc-tic80.h: New file for TIc80 support.
4602 end-sanitize-tic80
4603         
4604 Fri Dec 27 11:42:29 1996  Ian Lance Taylor  <ian@cygnus.com>
4605
4606         * doc/as.texinfo (M): Mention explicitly that -M changes macro
4607         handling.
4608
4609 Thu Dec 19 12:06:08 1996  Ian Lance Taylor  <ian@cygnus.com>
4610
4611         * write.c (adjust_reloc_syms): If the fixup symbol has been
4612         equated to an undefined symbol, convert the fixup to being against
4613         the target symbol.  Remove obsolete code handling a special case
4614         for i386 PIC.
4615
4616 Wed Dec 18 22:54:39 1996  Stan Shebs  <shebs@andros.cygnus.com>
4617
4618         * mpw-make.sed: Use NewFolderRecursive for installation.
4619
4620 Wed Dec 18 16:00:42 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4621
4622         * config/tc-d10v.c (do_assemble): Correct previous bug fix.
4623
4624 Wed Dec 18 15:27:40 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4625
4626         * config/tc-d10v.c (md_assemble): Fix bug which caused
4627         second instruction in a line to be case sensitize. PR11312
4628
4629 Wed Dec 18 10:08:46 1996  Jeffrey A Law  (law@cygnus.com)
4630
4631         * config/tc-mn10200.c (mn10200_insert_operand): Don't
4632         range check operands with MN10200_OPERAND_NOCHECK set.
4633         (check_operand): Likewise.
4634
4635 Tue Dec 17 10:59:32 1996  Ian Lance Taylor  <ian@cygnus.com>
4636
4637         * config/tc-mips.c: Undo part of last Friday's alignment changes.
4638         (md_begin): Always align the text section to a four byte
4639         boundary.
4640         (append_insn): Remove call to record_align.
4641
4642         * config/tc-mips.c (insn_label): Remove.
4643         (struct insn_label_list): Define.
4644         (insn_labels, free_insn_labels): New static variables.
4645         (mips_clear_insn_labels): New static function.
4646         (append_insn): Mark all mips16 text labels, and make them odd.
4647         Handle all labels after emitting a nop, not just one.  Call
4648         mips_clear_insn_labels rather than just clearing insn_label.
4649         (mips_emit_delays): Add insns parameter, and use it to decide
4650         whether to mark mips16 labels.  Handle all labels, not just one.
4651         Force mips16 labels to be odd.  Change all callers.
4652         (mips16_immed): Don't check for an odd branch target.
4653         (md_apply_fix): Don't check mips16 mode for a branch reloc.
4654         (mips16_extended_frag): Ignore the low bit in a branch target.
4655         (md_convert_frag): Likewise.
4656         (mips_no_prev_insn): Call mips_clear_insn_labels rather than just
4657         clearing insn_label.
4658         (mips_align, mips_flush_pending_output, s_cons): Likewise.
4659         (s_float_cons, s_gpword): Likewise.
4660         (s_align): Use insn_labels rather than insn_label.
4661         (s_cons, s_float_cons, s_gpword): Likewise.
4662         (mips_frob_file_after_relocs): New function.
4663         (mips_define_label): Rewrite to add to insn_labels list.
4664         * config/tc-mips.h (tc_frob_file_after_relocs): Define.
4665         * ecoff.c (ecoff_build_symbols): If the size of a function comes
4666         out odd, increment it.
4667
4668         * config/tc-mips.c (append_insn): Only update prev_insn when not
4669         reordering if place is NULL.
4670
4671         * config/tc-mips.c (mips16_ip): Check for a missing expression
4672         when using the register indirect addressing mode.
4673
4674 Mon Dec 16 10:08:46 1996  Jeffrey A Law  (law@cygnus.com)
4675
4676         * config/tc-mn10200.c (mn10200_insert_operand): Don't
4677         check 24bit operands for overflow.
4678         (check_operand): Likewise.
4679
4680 Mon Dec 16 11:50:40 1996  Ian Lance Taylor  <ian@cygnus.com>
4681
4682         * doc/as.texinfo (Section): Document how to use the .section
4683         pseudo-op for COFF and ELF.
4684
4685 Sun Dec 15 15:26:37 1996  Ian Lance Taylor  <ian@cygnus.com>
4686
4687         * write.c (adjust_reloc_syms): Fix linkonce check for ELF.
4688
4689 Sat Dec 14 22:37:27 1996  Ian Lance Taylor  <ian@cygnus.com>
4690
4691         * config/tc-mips.c (prev_insn_reloc_type): New static variable.
4692         (RELAX_MIPS16_ENCODE): Add dslot and jal_dslot arguments, and
4693         store them.  Adjust other RELAX_MIPS16 macros.
4694         (RELAX_MIPS16_DSLOT): Define.
4695         (RELAX_MIPS16_JAL_DSLOT): Define.
4696         (append_insn): Pass new arguments to RELAX_MIPS16_ENCODE.  Correct
4697         handling of whether previous instruction has a fixup.  Set
4698         prev_insn_reloc_type.
4699         (mips_no_prev_insn): Clear prev_insn_reloc_type.
4700         (mips16_extended_frag): Use the right base address for a PC
4701         relative add or load.
4702         (md_convert_frag): Likewise.  If a PC relative add or load is
4703         used, record the alignment for the section.
4704
4705 Fri Dec 13 13:00:33 1996  Ian Lance Taylor  <ian@cygnus.com>
4706
4707         * write.c (adjust_reloc_syms): Don't reduce a reloc against a
4708         linkonce section into a reloc against the section symbol.
4709
4710         * config/tc-mips.c (mips16_macro): Remove nop instructions after
4711         branch instructions.
4712
4713         * config/tc-mips.c (md_begin): If configured for an embedded ELF
4714         system, don't set the section alignment to 2**4.
4715         (s_change_sec): Likewise.
4716         (append_insn): Call record_alignment for the section.
4717         (md_section_align): Don't align the section size for an embedded
4718         ELF system.
4719
4720 Thu Dec 12 16:40:47 1996  Ian Lance Taylor  <ian@cygnus.com>
4721
4722         * write.c (adjust_reloc_syms): Make sure that symbols are
4723         resolved; expression symbols may have been skipped.
4724         * config/obj-coff.c (fixup_segment): Likewise.
4725
4726 Thu Dec 12 15:18:21 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4727
4728         * config/tc-ppc.c (ppc_elf_suffix): Move @plt to
4729         BFD_RELOC_24_PLT_PCREL relocation.
4730         (md_apply_fix3): Support BFD_RELOC_24_PLT_PCREL.
4731
4732 Tue Dec 10 13:51:55 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4733
4734         * config/tc-d10v.c (write_2_short): Remove code that called
4735         parallel_ok() when the programmer specified parallel instructions.
4736
4737 Tue Dec 10 12:23:19 1996  Jeffrey A Law  (law@cygnus.com)
4738
4739         * config/tc-mn10300.c (md_assemble): Update to handle endianness
4740         issues correctly.
4741
4742         * config/tc-mn10200.c (md_assemble): Opcode 0x0 is valid!
4743         * config/tc-mn10300.c (md_assemble): Likewise.
4744
4745 Tue Dec 10 11:37:14 1996  Ian Lance Taylor  <ian@cygnus.com>
4746
4747         * config/tc-mips.c (append_insn): Make sure there is enough room
4748         in a frag after a mips16 instruction to switch it with a jump
4749         instruction.
4750
4751         * config/tc-mips.c (mips16_extended_frag): Give an error for an
4752         attempt to use a non absolute symbol in an extending frag.
4753
4754 Mon Dec  9 16:48:20 1996  Jeffrey A Law  (law@cygnus.com)
4755
4756         * config/tc-mn10200.c: Flesh out assembler support for MN10200.
4757         * config/tc-mn10200.h: Likewise.
4758
4759 Mon Dec  9 17:09:42 1996  Ian Lance Taylor  <ian@cygnus.com>
4760
4761         * app.c (do_scrub_chars): At the end of a C comment, pass space to
4762         UNGET rather than PUT.  Set old_state before setting state to -2.
4763
4764         * config/tc-mips.c (mips16_extended_frag): Avoid an infinite loop
4765         when extending because the value is exactly maxtiny + 1.
4766
4767         * config/tc-mips.c (RELAX_MIPS16_ENCODE): Add small and ext
4768         arguments, and store them.  Adjust other RELAX_MIPS16 macros.
4769         (RELAX_MIPS16_USER_SMALL): Define.
4770         (RELAX_MIPS16_USER_EXT): Define.
4771         (mips16_small, mips16_ext): New static variables.
4772         (append_insn): Pass mips16_small and mips16_ext to
4773         RELAX_MIPS16_ENCODE.
4774         (mips16_ip): Set mips16_small and mips16_ext.
4775         (mips16_immed): Don't check mips16_autoextend.
4776         (mips16_extended_frag): Check USER_SMALL and USER_EXT.
4777
4778         * write.c (write_relocs): Print an error for an out of range
4779         fixup, rather than calling abort.
4780
4781         * as.c (main): Unlink the output file if there are errors while
4782         generating the fixups.
4783
4784 Fri Dec  6 18:48:13 1996  Ian Lance Taylor  <ian@cygnus.com>
4785
4786         * config/tc-mips.c (mips16_extended_frag): Don't call
4787         S_GET_VALUE.
4788         (md_convert_frag): Call resolve_symbol_value before calling
4789         S_GET_VALUE, and don't add in the frag address.
4790
4791         * config/tc-mips.c (mips16_immed): Add file and line parameters,
4792         and use them when reporting errors.  Change all callers.
4793
4794 Fri Dec  6 15:36:32 1996  Jeffrey A Law  (law@cygnus.com)
4795
4796         * config/tc-mn10300.c: Fix various gcc -Wall warnings.
4797         Remove '$' prefixing for registers.
4798
4799 Fri Dec  6 00:55:48 1996  Martin  <hunt@cygnus.com>
4800
4801         * config/tc-d10v.c (md_assemble): Check to see if prev_seg
4802         is initialized before using it.
4803         (d10v_cleanup): No longer uses its argument, so make it void.
4804
4805         * config/tc-d10v.h (d10v_cleanup): Change prototype.
4806         
4807 Thu Dec  5 11:03:31 1996  Ian Lance Taylor  <ian@cygnus.com>
4808
4809         * write.c (fixup_segment): Don't discard the symbol for a PC
4810         relative fixup to an absolute symbol.
4811
4812 Wed Dec  4 15:42:41 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4813
4814         * config/tc-d10v.c (md_assemble, d10v_cleanup): Fix bug
4815         with multiple sections.
4816
4817 Wed Dec  4 13:00:07 1996  Ian Lance Taylor  <ian@cygnus.com>
4818
4819         * config/tc-mips.c (md_longopts): Rename mips-16 to mips16, and
4820         no-mips-16 to no-mips16.
4821         (s_mipsset): Accept .set mips16 and .set nomips16.
4822
4823 Wed Dec  4 10:35:33 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4824
4825         * config/tc-ppc.c (ppc_elf_suffix): Take expressionS pointer
4826         argument, and check for +/- constant following the suffix, folding
4827         it into the expression.
4828         (ppc_elf_cons): Change ppc_elf_suffix calls.
4829         (md_assemble): Ditto.
4830         (shlib): Replace boolean mrelocatable with enumeration shlib.
4831         (md_parse_option): Discriminate between PIC style shared libraries
4832         and -mrelocatable.
4833         (ppc_elf_validate_fix): Don't report warnings for PIC style shared
4834         libraries.
4835
4836 Tue Dec  3 23:18:29 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4837
4838         * config/tc-ppc.h ({tc,ppc}_comment_chars): Define, so that we can
4839         change the comment characters.
4840
4841         * config/tc-ppc.c (comment_chars): Delete in favor of
4842         tc_comment_chars.
4843         (ppc_{eabi,solaris}_comment_chars): Eabi and Solaris versions of
4844         comment chars.
4845         (ppc_comment_chars): Select appropriate comment chars by default.
4846         (msolaris): New flag for -m{,no-}solaris.
4847         (md_parse_option): Recognize -K pic.  Add support for
4848         -m{,no-}solaris.
4849         (md_show_usage): Update.
4850         (md_begin): Do not set ELF flags if Solaris.
4851         (ppc_elf_suffix): @local sets R_PPC_LOCAL24PC relocation.
4852         (md_apply_fix3): Add support for R_PPC_LOCAL24PC.
4853
4854 Mon Dec  2 13:48:57 1996  Ian Lance Taylor  <ian@cygnus.com>
4855
4856         * as.c (main): Correct handling of flag_always_generate_output.
4857
4858 Sun Dec  1 21:46:05 1996  Jeffrey A Law  (law@cygnus.com)
4859
4860         * config/tc-mn10300.c (tc_gen_reloc): Get the addend from
4861         fx_offset, not fx_addnumber.
4862
4863         * config/tc-mn10300.h (tc_fix_adjustable): Don't do any
4864         reloc adjustments.
4865
4866 Sat Nov 30 17:34:48 1996  Eliot Dresselhaus  <eliot@wally.edc.com>
4867
4868         * config/tc-i386.c: Correct misspelling: balenced to balanced.
4869
4870 Wed Nov 27 13:25:39 1996  Ian Lance Taylor  <ian@cygnus.com>
4871
4872         * config/tc-mips.c (md_section_align): Check for an alignment of
4873         4, not an alignment of 16.  Corrects August 7 patch.
4874
4875 Tue Nov 26 10:33:16 1996  Ian Lance Taylor  <ian@cygnus.com>
4876
4877         * configure, conf.in: Rebuild with autoconf 2.12.
4878
4879         * config/tc-ppc.c (ppc_elf_lcomm): Don't give an error if no
4880         alignment is specified.
4881
4882         Add support for mips16 (16 bit MIPS implementation):
4883         * config/tc-mips.c: Extensive additions for mips16 support, not
4884         listed here.
4885         (RELAX_OLD, RELAX_NEW): Use only 7 bits each.
4886         (insn_uses_reg): Change last parameter to an enum.
4887         * config/tc-mips.h (LOCAL_LABELS_DOLLAR): Define as 0.
4888         (md_relax_frag): Define as mips_relax_frag.
4889         (mips_relax_frag): Declare.
4890         (struct mips_cl_insn): Add use_extend and extend fields.
4891         (tc_fix_adjustable): Define.
4892         * config/obj-elf.h (S_GET_OTHER): Define.
4893         (S_SET_OTHER): Define.
4894
4895 Mon Nov 25 18:02:29 1996  J.T. Conklin  <jtc@beauty.cygnus.com>
4896
4897         * config/tc-m68k.c (m68k_ip): Implement cases for new <, >, m, n,
4898         o and p operand specifiers.
4899
4900 Mon Nov 25 10:45:14 1996  Doug Evans  <dje@seba.cygnus.com>
4901
4902         * write.c: Delete "ifndef md_relax_frag" around is_dnrange.
4903         (relax_segment, case rs_org): Move code inside braces.  Move locals
4904         target,after inside too.
4905         (relax_segment, case rs_machine_dependent): Guts moved to ...
4906         (relax_frag): New function.
4907         Call md_prepare_relax_scan if defined.
4908         * config/tc-m68k.h (md_prepare_relax_scan): Renamed from
4909         M68K_AIM_KLUDGE.
4910
4911 Mon Nov 25 08:49:36 1996  Jeffrey A Law  (law@cygnus.com)
4912
4913         * config/tc-mn10300.c (address_registers): Use '$' as register
4914         prefix instead of '%'.
4915         (data_registers, other_registers, md_assemble): Likewise.
4916
4917         * config/tc-mn10300.c (address_registers): Use '%' prefix for regs.
4918         (data_registers, other_registers, md_assemble): Likewise.
4919
4920         * config/tc-mn10300.c (md_assemble): Correctly determine the
4921         correct location and type for each relocation.
4922         (md_pcrel_from): Simplify.
4923
4924 Fri Nov 22 15:42:26 1996  Ian Lance Taylor  <ian@cygnus.com>
4925
4926         * config/tc-sh.c (md_convert_frag): Improve warning when branch is
4927         converted into branch around branch.
4928
4929 Thu Nov 21 11:56:11 1996  Jeffrey A Law  (law@cygnus.com)
4930
4931         * config/tc-mn10300.h (DIFF_EXPR_OK): Don't define this.
4932         (tc_fix_adjustable): Don't adjust relocs against weak symbols or 
4933         pc-relative relocs.
4934         * config/tc-mn10300.c (md_begin): Set linkrelax.
4935         (md_assemble): Create fixups as needed.
4936         (md_apply_fix3): Gut.  It shouldn't ever get called anymore.
4937
4938 Tue Nov 19 17:48:06 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4939
4940         * config/tc-d10v.c (parallel_ok): When automatically converting
4941         serial ops to parallel, do not consider a branch as the first
4942         instruction.
4943
4944 Tue Nov 19 13:35:22 1996  Jeffrey A Law  (law@cygnus.com)
4945
4946         * config/tc-mn10300.c (md_assemble): Handle MN10300_OPERAND_REG_LIST.
4947
4948 Mon Nov 18 15:26:55 1996  Jeffrey A Law  (law@cygnus.com)
4949
4950         * config/tc-mn10300.c (mn10300_insert_operand): Provide prototype
4951         via PARAMS.
4952         (check_operand): Likewise.
4953
4954 Mon Nov 18 15:22:28 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4955
4956         * config/tc-d10v.c (parallel_ok): Branch and link instructions
4957         modify r13.
4958         (write_2_short): Call parallel_ok to check whether two short
4959         instructions the user requested execute in parallel, can be
4960         executed that way.
4961
4962 Thu Nov 14 11:17:49 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4963
4964         * config/tc-d10v.c (write_2_short): Fix bug that wouldn't
4965         allow a branch and link in parallel with an exe instruction.
4966
4967 Fri Nov  8 13:55:03 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4968
4969         * doc/c-d10v.texi: Add info on @word modifier.
4970
4971 Wed Nov  6 13:46:07 1996  Jeffrey A Law  (law@cygnus.com)
4972         
4973         * config/tc-mn10300.c (mn10300_insert_operand): MN10300_OPERAND_SPLIT
4974         operands are assumed to be 32bits.  Use "bits" field to hold the
4975         number of bits in the main instruction word for MN10300_OPERAND_SPLIT.
4976         (mn10300_check_operand): MN10300_OPERAND_SPLIT operands are assumed
4977         to be 32bits.
4978
4979         * config/tc-mn10300.c (mn10300_insert_operand): Shift low part
4980         of a MN10300_OPERAND_SPLIT operand by operand->shift.
4981
4982         * config/tc-mn10300.c (mn10300_insert_operand): Handle
4983         MN10300_OPERAND_SPLIT.
4984
4985 Tue Nov  5 13:30:40 1996  Jeffrey A Law  (law@cygnus.com)
4986
4987         * config/tc-mn10300.c (md_assemble): Insert operands into
4988         the extension part of the instruction if necessary.
4989         (mn10300_insert_operand): Accept pointer to extension word
4990         argument.  Make insn a pointer argument too.  Return type
4991         is now void.  All callers changed.
4992
4993 Mon Nov  4 12:53:40 1996  Jeffrey A Law  (law@cygnus.com)
4994
4995         * config/tc-mn10300.c (mn10300_insert_operand): Handle
4996         repeated register operands.
4997
4998 Fri Nov  1 10:42:49 1996  Ian Lance Taylor  <ian@cygnus.com>
4999
5000         * doc/as.texinfo: Added section on reporting bugs.
5001
5002         * config/tc-alpha.c: Change uses of void * to PTR.  Change the
5003         alpha_macro emit field to expect a const argument, and change the
5004         arg field to be const.  Fix some spacing to follow the GNU
5005         standard.
5006
5007 Fri Nov  1 10:32:03 1996  Richard Henderson  <rth@tamu.edu>
5008
5009         * config/tc-alpha.c (md_parse_option): Add knowledge of 21164pc
5010         (pca56) and 21264 (ev6) cpus.
5011         (md_apply_fix): Private relocation types are now negative.
5012         (alpha_force_relocation): Likewise.
5013         (tc_gen_reloc): Likewise.
5014         (emit_insn): Likewise.
5015         (emit_ldXu): Do the right thing when the hardware can do byte insns.
5016         (emit_stX): Likewise.
5017         (emit_sextX): Likewise.
5018
5019 Thu Oct 31 16:33:21 1996  Ian Lance Taylor  <ian@cygnus.com>
5020
5021         * config/obj-coff.c (do_relocs_for): Call resolve_symbol_value on
5022         a symbol found in a reloc.
5023
5024         * symbols.c (resolve_symbol_value): Improve the error message if
5025         an undefined symbol is used in an expression.
5026
5027 Wed Oct 30 20:15:35 1996  Ian Lance Taylor  <ian@cygnus.com>
5028
5029         * doc/internals.texi: Rewrite, and add a lot of documentation.
5030         * doc/Makefile.in (internals.info): New target.
5031
5032 Wed Oct 30 14:55:57 1996  Jeffrey A Law  (law@cygnus.com)
5033
5034         * config/tc-v850.h (tc_fix_adjustable): Don't adjust relocs
5035         against weak symbols.
5036
5037 Tue Oct 29 12:28:16 1996  Jeffrey A Law  (law@cygnus.com)
5038
5039         * config/tc-v850.c (md_assemble): Don't lose for relaxable
5040         addresses like .+6.
5041
5042         * config/tc-v850.c (md_convert_frag): Make sure we insert the
5043         fixup at the right address within the frag.
5044
5045         * config/tc-v850.c (md_convert_frag): Don't set fragP->fr_fix
5046         to an absolute value, instead increment it as needed.
5047
5048         * config/tc-v850.h (TC_GENERIC_RELAX_TABLE): Define.
5049         * config/tc-v850.c: Fix some indention problems.
5050         (md_relax_table): Define for D9->D99 branch displacement
5051         relaxing.
5052         (md_convert_frag): Do something useful instead of aborting.
5053         (md_estimate_size_before_relax): Likewise.
5054         (md_assemble): Note if the matching instruction has a relaxable
5055         operand.  If it does, allocate frag with frag_var and don't
5056         do any fixups.
5057
5058 Mon Oct 28 10:48:40 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5059
5060         * config/tc-d10v.h (md_cleanup): New function.  This is needed to
5061         write out any buffered instructions when a ".end" is found.
5062
5063 Mon Oct 28 10:43:45 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5064
5065         * read.c (read_a_source_file): New hook md_cleanup().
5066
5067 Fri Oct 25 00:01:00 1996  Ian Lance Taylor  <ian@cygnus.com>
5068
5069         * write.c (fix_new_exp): Use make_expr_symbol to build an
5070         expression symbol for a complex fixup.
5071
5072 Thu Oct 24 14:31:04 1996  Jeffrey A Law  (law@cygnus.com)
5073
5074         * config/tc-v850.c (v850_reloc_prefix): Several disgusting
5075         hacks to improve parsing of complex hi, lo, zda, etc
5076         expressions.
5077         (md_assemble): Don't demand and eat a trailing ')' after finding
5078         a v850 relocation prefix.  Sign extend the constant in a
5079         BFD_RELOC_LO16 expression.  Do eat a trailing ')' after a complete
5080         operand.
5081         (parse_cons_expression_v850): Don't eat a trailing ')' after
5082         finding a v850 relocation prefix.
5083
5084         * config/tc-v850.h (TC_PARSE_CONS_EXPRESSION): Define.
5085         (TC_CONS_FIX_NEW): Likewise.
5086         * config/tc-v850.c (parse_cons_expression_v850): New function.
5087         (cons_fix_new_v850): Likewise.
5088
5089         * config/tc-v850.h (tc_fix_adjustable): Don't adjust TDA relocs.
5090
5091 Wed Oct 23 18:20:29 1996  Ian Lance Taylor  <ian@cygnus.com>
5092
5093         * config/tc-ppc.c (md_apply_fix3): Give a better warning message
5094         for an unknown relocation type.
5095
5096 Wed Oct 23 16:21:28 1996  Jeffrey A Law  (law@cygnus.com)
5097
5098         * config/tc-v850.c (md_pseudo_table): Add .word; allocates
5099         4 bytes of space.
5100
5101 Tue Oct 22 22:01:25 1996  Jeffrey A Law  (law@cygnus.com)
5102
5103         * config/tc-v850.c (md_assemble): Handle TDAOFF relocs
5104         differently for movea & sst/sld insns.
5105
5106 Tue Oct 22 17:09:32 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5107
5108         * config/tc-d10v.c (parallel_ok): Don't allow illegal combinations
5109         of instructions.
5110
5111 Tue Oct 22 11:28:39 1996  Ian Lance Taylor  <ian@cygnus.com>
5112
5113         * obj.h (struct format_ops): Add frob_file_after_relocs field.
5114         * config/obj-multi.h (obj_frob_file_after_relocs): Define.
5115         * config/obj-ecoff.c (ecoff_format_ops): Initialize new
5116         frob_file_after_relocs field.
5117         * config/obj-elf.c (elf_format_ops): Likewise.
5118         * config/tc-mips.c: Undefine obj_frob_file_after_relocs before
5119         including obj-elf.h.
5120
5121 Mon Oct 21 11:38:30 1996  Ian Lance Taylor  <ian@cygnus.com>
5122
5123         * config/tc-mips.c (cons_fix_new_mips): Only treat 8 byte reloc
5124         specially if not ELF.
5125         (md_apply_fix): Handle BFD_RELOC_64.
5126         (tc_gen_reloc): Handle BFD_RELOC_64.
5127
5128         * config/tc-i386.c (md_apply_fix3): Don't increment value for a PC
5129         relative reloc when BFD_ASSEMBLER and OBJ_AOUT (more ugly gas
5130         reloc hacking).
5131
5132         * config/obj-aout.h (S_IS_DEFINE): non BFD_ASSEMBLER version:
5133         Don't check S_GET_OTHER.
5134
5135 Fri Oct 18 14:06:26 1996  Ian Lance Taylor  <ian@cygnus.com>
5136
5137         * config/tc-mips.c (mips_ip): Accept an odd floating point
5138         register with l.s or s.s.
5139
5140         * config/obj-aout.c (obj_pseudo_table): Use obj_aout_type for
5141         .type pseudo-op.
5142         (obj_aout_type): New static function.
5143
5144 Thu Oct 17 17:55:17 1996  Ian Lance Taylor  <ian@cygnus.com>
5145
5146         * Makefile.in ($(OBJS)): Depend upon libiberty.h.
5147
5148 Wed Oct 16 11:28:31 1996  Jeffrey A Law  (law@cygnus.com)
5149
5150         * config/tc-v850.c (v850_reloc_prefix): Recognize zdaoff, tdaoff
5151         and sdaoff expressions.
5152
5153         * write.c (fixup_segment): Don't add symbol value to addend if
5154         TC_V850 and OBJ_ELF.
5155         * config/tc-v850.h (tc_fix_adjustable): Don't adjust any
5156         pc-relative fixups.
5157
5158         * config/tc-v850.c (md_pcrel_from): Undo yesterday's changes.
5159         (md_pcrel_from_section): Likewise.
5160         * config/tc-v850.h (MD_PCREL_FROM_SECTION): Likewise.
5161
5162 Tue Oct 15 23:19:00 1996  Jeffrey A Law  (law@cygnus.com)
5163
5164         * config/tc-v850.c (md_pcrel_from): Delete unused function.
5165         (md_pcrel_from_section): New function.
5166         * config/tc-v850.h (MD_PCREL_FROM_SECTION): Define.
5167
5168 Mon Oct 14 13:59:12 1996  Ian Lance Taylor  <ian@cygnus.com>
5169
5170         * config/tc-mips.c (load_register): Add cast to offsetT when using
5171         a constant with &~.
5172
5173 Mon Oct 14 11:24:28 1996  Richard Henderson  <rth@tamu.edu>
5174
5175         * config/obj-elf.c (elf_frob_file): Move ECOFF debug processing to ...
5176         (elf_frob_file_after_relocs): ... here.  New function.
5177         * config/obj-elf.h (obj_from_file_after_relocs): New macro.
5178         * write.c (write_object_file): Call *frob_after_relocs after the
5179         call to write_relocs.
5180
5181         * config/tc-alpha.c: Use new BFD_RELOC_ALPHA_ELF_LITERAL reloc.
5182
5183         * config/tc-alpha.c (load_expression): Don't SET_VALUE on the section
5184         symbol, as this messes up linking.  Instead, expand the recursive call
5185         inline and change up the appropriate bits to get the 0x8000 offset
5186         in the reloc addend.
5187
5188 Thu Oct 10 17:30:31 1996  Ian Lance Taylor  <ian@cygnus.com>
5189
5190         * config/tc-sparc.h (tc_fix_adjustable): Permit the difference of
5191         two symbols in the same segment to be adjusted.
5192
5193         * configure.in: Don't get confused by CPU-VENDOR-linux-gnu.
5194         * configure: Rebuild.
5195
5196 Thu Oct 10 17:22:18 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5197
5198         * config/tc-ppc.c (ppc_insert_operand): Change most warnings into
5199         errors.
5200         (ppc_elf_validate_fix): Ditto.
5201         (md_assemble): Ditto.
5202         (ppc_tc): Ditto.
5203         (ppc_pe_section): Ditto.
5204         (ppc_frob_symbol): Ditto.
5205
5206 Thu Oct 10 12:05:45 1996  Jeffrey A Law  (law@cygnus.com)
5207
5208         * config/mn10300.c (md_assemble): Pass an extra shift count
5209         to mn10300_insert_operand based on the opcode format.
5210         (mn10300_insert_operand): Accept and use extra shift count
5211         parameter.
5212
5213         * config/tc-mn10300.c (md_assemble): Use FMT_* macros for
5214         formats rather than hard-coded constants.
5215
5216         * config/tc-mn10300.c (md_assemble): Format D5 instructions
5217         are 7 bytes long.  Write out instructions in big-endian format.
5218
5219 Tue Oct  8 14:56:15 1996  Jeffrey A Law  (law@cygnus.com)
5220
5221         * config/tc-mn10300.c (md_assemble): Tweak further so
5222         that all instructions are parsed correctly.
5223
5224 Tue Oct  8 13:02:21 1996  Ian Lance Taylor  <ian@cygnus.com>
5225
5226         * as.h: Include libiberty.h.
5227         (xmalloc, xrealloc): Don't declare.
5228         * as.c: Don't include libiberty.h.
5229         * expr.c, read.c, stabs.c, config/obj-coff.c: Likewise.
5230         * config/tc-mips.c: Likewise.
5231         * messages.c: Likewise.
5232         (xstrerror): Don't declare.
5233         * xmalloc.c: Remove.
5234
5235 Mon Oct  7 16:53:23 1996  Jeffrey A Law  (law@cygnus.com)
5236
5237         * config/tc-mn10300.h (pre_defined_registers) Remove.
5238         (system_registers, cc_names): Likewise.
5239         (address_registers, data_registers, other_registers): New register
5240         arrays.
5241         (register_name, system_register_name, cc_name): Remove.
5242         (mn10300_reloc_prefix): Likewise.
5243         (data_register_name): New function.
5244         (address_register_name, other_register_name): Likewise.
5245         (md_assemble): Rough cut at parsing operands.  Remove lots of
5246         unwanted code.
5247         (md_apply_fix3): Disable for now.
5248
5249 Mon Oct  7 11:38:34 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5250
5251         * config/tc-m68k.c (select_control_regs): New function, extracted
5252         out of m68k_init_after_args.
5253         (m68k_init_after_args): Use it.
5254         (mri_chip): Use it here as well to update set of allowed control
5255         regs for movec.
5256
5257 Mon Oct  7 11:24:29 1996  Ian Lance Taylor  <ian@cygnus.com>
5258
5259         * config/obj-elf.c (elf_begin): New function.
5260         (obj_elf_section): Add the section symbol to the symbol table.
5261         * config/obj-elf.h (obj_begin): Define.
5262         (elf_begin): Declare.
5263         * as.c (perform_an_assembly_pass): Call obj_begin if it is
5264         defined.
5265
5266 Fri Oct  4 18:37:32 1996  Ian Lance Taylor  <ian@cygnus.com>
5267
5268         * config/obj-coff.c (fixup_segment): Subtract the section address
5269         from a PC relative reloc if TC_M68K.
5270
5271 Thu Oct  3 15:15:30 1996  Ian Lance Taylor  <ian@cygnus.com>
5272
5273         * config/tc-sparc.c (md_pseudo_table): Make .uahalf, .uaword, and
5274         .uaxword available even if not OBJ_ELF.
5275         (md_atof): Remove unused local variable wordP.
5276
5277 Thu Oct  3 00:16:50 1996  Jeffrey A Law  (law@cygnus.com)
5278
5279         * config/tc-mn10x00.c, config/tc-mn10x00.h: New files
5280         for Matsushita MN10x00 support.
5281         * configure.in: Recognize mn10x00-*-*
5282         * configure: Rebuilt.
5283
5284 Wed Oct  2 15:54:03 1996  Klaus Kaempf  <kkaempf@progis.de>
5285
5286         * obj-evax.h: move openvms definitions from here to tc-alpha.c.
5287         * tc-alpha.c: add support for vms_case_hack like in vax/vms.
5288         (load_expression): track clobbering of base reg before jmp/jsr.
5289         (s_alpha_file): pass case_hack flags and source filename via
5290         symbol table to bfd.
5291         * tc-alpha.h (TC_CONS_FIX_NEW): define
5292
5293 Tue Oct  1 16:16:01 1996  Joel Sherrill  <joel@oarcorp.com>
5294
5295         * configure.in (mips-*-rtems*): New target, like mips-*-elf*.
5296         * configure: Rebuild.
5297
5298 Tue Oct  1 12:37:48 1996  Ian Lance Taylor  <ian@cygnus.com>
5299
5300         * read.c (s_macro): Warn if a macro has the same name as a
5301         pseudo-op.
5302         (s_space): In m68k MRI mode, align to a word boundary.
5303         * macro.c (define_macro): Add namep parameter.  Change all
5304         callers.
5305         * macro.h (define_macro): Update declaration.
5306
5307         * as.c (show_usage): Print bug report address.
5308         (parse_args): Change version printing to match current GNU
5309         standards.
5310         * gasp.c (show_usage): Print bug report address.
5311         (main): Change version printing to match current GNU standards.
5312
5313         * config/tc-m68k.c (init_table): Correct access control unit
5314         register numbers.  From Ken Rose <rose@netcom.com>.
5315
5316         * config/tc-alpha.c: Add some static function prototypes.
5317         (alpha_macros): Move to top of file.  Make static.
5318         (alpha_num_macros): Move to top of file.
5319
5320 Tue Oct  1 09:36:19 1996  Stu Grossman  (grossman@critters.cygnus.com)
5321
5322         * tc-v850.h:  Define LOCAL_LABEL to recognise _.L_* symbols
5323         generated by DWARF.
5324
5325 Sat Sep 28 03:38:08 1996  Ian Lance Taylor  <ian@cygnus.com>
5326
5327         * listing.c (list_symbol_table): Remove bogus code in BFD64 case,
5328         and just call sprintf_vma.
5329
5330 Thu Sep 26 16:04:11 1996  Ian Lance Taylor  <ian@cygnus.com>
5331
5332         * expr.c (expr): Change >>= to >> (fix typo).  (From meissner).
5333
5334 Tue Sep 24 19:05:08 1996  Ian Lance Taylor  <ian@cygnus.com>
5335
5336         * read.c (float_cons): Call md_flush_pending_output if it is
5337         defined.
5338
5339 Tue Sep 24 12:22:18 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5340
5341         * config/tc-d10v.c (md_operand): Created.  Allows operands to 
5342         start with '#'.
5343         * config/tc-d10v.h (md_operand): Undefined.
5344
5345 Mon Sep 23 12:13:18 1996  Ian Lance Taylor  <ian@cygnus.com>
5346
5347         * config/tc-m68k.c (add_fix): Treat a width of '3' like 'B'.
5348         (md_assemble): A fixup width of '3' means a 1 byte reloc.
5349
5350 Thu Sep 19 12:21:24 1996  Ian Lance Taylor  <ian@cygnus.com>
5351
5352         * config/obj-coff.c (fixup_segment): Don't adjust PC relative
5353         reloc for the i960 for a reloc in the same section.  This undoes
5354         one of the two changes made Aug 19.
5355
5356 Wed Sep 18 12:11:58 1996  Ian Lance Taylor  <ian@cygnus.com>
5357
5358         * config/obj-coff.c (obj_coff_endef): Both versions: Move C_STAT
5359         symbols to the position of the debugging information.
5360
5361 Mon Sep 16 11:41:40 1996  Ian Lance Taylor  <ian@cygnus.com>
5362
5363         * expr.c (expr): Always use unsigned right shifts for >>.
5364
5365 Thu Sep 12 10:25:45 1996  James G. Smith  <jsmith@cygnus.co.uk>
5366
5367         * config/tc-arm.c (md_apply_fix3): Update two thumb instruction
5368         slots when processing BL fixups.
5369
5370         * config/tc-arm.c (output_inst): Ensure Thumb BL fixup is marked
5371         on the first half of the instruction.
5372
5373 Wed Sep 11 00:09:35 1996  Ian Lance Taylor  <ian@cygnus.com>
5374
5375         * ecoff.c (ecoff_stab): Create an expression symbol for a complex
5376         stabs expression, rather than giving an error.
5377
5378         * ecoff.c (ecoff_new_file): Don't do anything if we are still in
5379         the same file.
5380
5381 Tue Sep 10 11:45:37 1996  Ian Lance Taylor  <ian@cygnus.com>
5382
5383         * config/tc-mips.c (append_insn): Fill in the value for a constant
5384         jump, rather than creating a reloc.
5385
5386 Mon Sep  9 10:57:42 1996  Ian Lance Taylor  <ian@cygnus.com>
5387
5388         * config/tc-mips.c (append_insn): Don't swap an instruction which
5389         sets a condition code with an instruction which uses a condition
5390         code.
5391         (mips_ip): In cases 'N' and 'M', look for $fccN rather than an
5392         immediate value.
5393
5394         * config/tc-mips.c (md_begin): Recognize r5000 for cpu.
5395         (mips_ip): Give a better error message if the ISA level is wrong.
5396         (md_parse_option): Recognize -mcpu=[v][r]5000.
5397
5398 Sat Sep  7 13:25:55 1996  James G. Smith  <jsmith@cygnus.co.uk>
5399
5400         * config/tc-mips.c (COUNT_TOP_ZEROES): Added macro to count
5401         leading zeroes.
5402         (load_register): Ensure hi32 bits are not lost during lo32bit
5403         processing. Fix shift offset that was overflowing into the next
5404         instruction field. Add code to generate shorter sequences for
5405         constants with a single contiguous seqeuence of ones.
5406
5407 Fri Sep  6 17:07:12 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5408
5409         * config/tc-d10v.c (d10v_dot_word): New function to support
5410         "@word" with the word pseudo-op.
5411         (md_apply_fix3): Cleanup and changes to support correct sizes
5412         for 16 and 18-bit relocs.
5413
5414 Fri Sep  6 16:00:29 1996  Doug Evans  <dje@canuck.cygnus.com>
5415
5416         * configure.in (sparc-*-aout): Set `em'.
5417         * configure: Regenerated.
5418         * config/te-sparcaout.h: New file.
5419         * config/tc-sparc.h (TARGET_BYTES_BIG_ENDIAN): Define.
5420         Ifdef TE_SPARCOUT define TARGET_FORMAT and SPARC_BIENDIAN.
5421         * config/tc-sparc.c (INSN_BIG_ENDIAN): New macro.
5422         (SPECIAL_CASE_{SETSW,SETX}): Define.
5423         ({NOP,OR,FMOVS,SETHI,SLLX,SRA}_INSN): Define.
5424         (md_begin): Delete setting of `target_big_endian'.
5425         (output_insn): New function.
5426         (md_assemble): Rewrite.  Add `setx' support.
5427         (sparc_ip): Handle `0' operand char.  Recognize setuw, setsw, setx
5428         special cases.
5429         (md_atof): Add little endian support.
5430         (md_number_to_chars): Likewise.
5431         (md_apply_fix): Likewise.
5432         (md_longopts): Recognize -EL,-EB ifdef SPARC_BIENDIAN.
5433         (md_parse_option): Likewise.
5434         (md_show_usage): Print -EL, -EB ifdef SPARC_BIENDIAN.
5435
5436 Thu Sep  5 13:40:29 1996  Ian Lance Taylor  <ian@cygnus.com>
5437
5438         * ecoff.c (ecoff_new_file): New function.
5439         * ecoff.h (ecoff_new_file): Declare.
5440         * config/obj-ecoff.h (obj_app_file): Define.
5441
5442 Thu Sep  5 13:39:25 1996  Richard Henderson  <rth@tamu.edu>
5443
5444         * config/tc-alpha.c (load_expression): Bias the .lit8 section
5445         symbol by 32k so that our 16-bit signed offset can address the
5446         entire chunk.  Reported by <matt@lkg.dec.com>.
5447
5448 Wed Sep  4 10:23:20 1996  Ian Lance Taylor  <ian@cygnus.com>
5449
5450         * config/tc-mips.c (load_register): Remove unused variable tmp.
5451
5452 Wed Sep  4 11:24:29 1996  James G. Smith  <jsmith@cygnus.co.uk>
5453
5454         * config/tc-mips.c (load_register): Remove unnecessary code that
5455         was causing the high 32bits of 64bit constants to be lost.
5456         
5457 Tue Sep  3 13:52:56 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5458
5459         * config/tc-d10v.c: Added changes to support function
5460         pointers and "@word" syntax.
5461
5462 Tue Sep  3 11:57:18 1996  Jeffrey A Law  (law@cygnus.com)
5463
5464         * config/tc-v850.c: Remove commented out and #if 0'd code.
5465         (v850_reloc_prefix): Provide prototype.
5466         (postfix, get_reloc, build_insn): Remove prototypes for nonexistant
5467         functions.
5468         (md_begin, md_assemble, md_apply_fix3): Remove unused variables.
5469         (md_assemble): Add default to case statement.
5470
5471 Sat Aug 31 16:03:00 1996  Jeffrey A Law  (law@cygnus.com)
5472
5473         * config/tc-v850.c (md_assemble): Compute size of the instrction
5474         from the opcode.
5475
5476         * config/tc-v850.c (md_apply_fix3): Do simple byte, short and
5477         word fixups too.
5478
5479 Fri Aug 30 23:50:08 1996  Jeffrey A Law  (law@cygnus.com)
5480
5481         * config/tc-v850.c (md_apply_fix3): Use little endian get/put
5482         routines to fetch/store the updated instruction from/to memory.
5483         (v850_insert_operand): If the operand has a specialized insert
5484         routine, call it.
5485
5486 Fri Aug 30 18:35:26 1996  J.T. Conklin  <jtc@hippo.cygnus.com>
5487
5488         * config/tc-v850.c (reg_name_search): Align calling convention to
5489         be like identical function found in tc-ppc.c.
5490         (get_reloc): Removed.
5491         (v850_reloc_prefix): New function, parse lo(), hi() and hi0().
5492         (md_assemble): emit fixups.
5493         (md_pcrel_from): renamed from md_pcrel_from_section, emit proper
5494         displacement.
5495         (md_apply_fix3): handle fixups/relocs.
5496         * config/tc-v850.h (MD_PCREL_FROM_SECTION): Removed definition.
5497         
5498 Fri Aug 30 18:12:00 1996  Ian Lance Taylor  <ian@cygnus.com>
5499
5500         Add SH ELF support.
5501         * configure.in (sh-*-elf*): New target.
5502         * config/tc-sh.h (TARGET_ARCH): Define.
5503         (WORKING_DOT_WORD): Define.
5504         (TC_COFF_FIX2RTYPE): Only define if OBJ_COFF.
5505         (BFD_ARCH, COFF_MAGIC, TC_COUNT_RELOC): Likewise.
5506         (TC_RELOC_MANGLE, tc_coff_symbol_emit_hook): Likewise.
5507         (DO_NOT_STRIP, NEED_FX_R_TYPE, TC_KEEP_FX_OFFSET): Likewise.
5508         (TC_COFF_SIZEMACHDEP, tc_frob_file): Likewise.
5509         (SUB_SEGMENT_ALIGN): Likewise.
5510         (RELOC_32): Don't define.
5511         (tc_frob_file_before_adjust): Define if BFD_ASSEMBLER.
5512         (target_big_endian): Declare if OBJ_ELF.
5513         (TARGET_FORMAT): Define if OBJ_ELF.
5514         * config/tc-sh.c: Use BFD reloc codes instead of SH COFF reloc
5515         numbers throughout.
5516         (tc_crawl_symbol_chain): Only define if OBJ_COFF.
5517         (tc_headers_hook, tc_coff_sizemachdep): Likewise.
5518         (struct sh_count_relocs): Define.
5519         (sh_count_relocs): New static function, broken out of
5520         sh_frob_file.  Add BFD_ASSEMBLER code.
5521         (sh_frob_section): Likewise.
5522         (sh_frob_file): Call sh_frob_section.
5523         (md_convert_frag): If BFD_ASSEMBLER, change type of headers, and
5524         call section_symbol rather than seg_info (seg)->dot.
5525         (md_section_align): Add OBJ_ELF version.
5526         (SWITCH_TABLE_CONS): Define.
5527         (SWITCH_TABLE): Use SWITCH_TABLE_CONS.
5528         (md_apply_fix): Change parameter types if BFD_ASSEMBLER.  Only
5529         handle fx_r_type == 0 if not BFD_ASSEMBLER.  Return 0 if
5530         BFD_ASSEMBLER.
5531         (struct reloc_map): Define if not BFD_ASSEMBLER.
5532         (coff_reloc_map): Likewise.
5533         (sh_coff_reloc_mangle): Use coff_reloc_map to convert fx_r_type.
5534         (tc_gen_reloc): New function if BFD_ASSEMBLER.
5535         * write.c (write_relocs): Ifdef out fx_where test which triggers
5536         inappropriately for SH ELF.
5537         (write_object_file): Call tc_frob_file_before_adjust and
5538         obj_frob_file_before_adjust if they are defined.
5539
5540         * write.c (write_object_file): Use BFD_RELOC_16, not
5541         BFD_RELOC_NONE, when calling fix_new_exp for a broken word.
5542
5543         * read.c (emit_expr): Fix conversion of byte count to BFD reloc
5544         code.
5545
5546 Fri Aug 30 14:47:38 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5547
5548         * config/tc-d10v.c (find_opcode): Fix problem with calculating 
5549         branch sizes in across sections.
5550
5551 Fri Aug 30 00:44:13 1996  Jeffrey A Law  (law@cygnus.com)
5552
5553         * config/tc-850.c (md_assemble): Handle hi() correctly.  Handle
5554         hi0() too.
5555
5556 Wed Aug 28 23:11:08 1996  Jeffrey A Law  (law@cygnus.com)
5557
5558         * config/tc-v850.c (md_begin): Deal with end of opcode
5559         table marker.
5560
5561 Wed Aug 28 19:20:04 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5562
5563         * config/tc-d10v.c (find_opcode): Fix a bug which could generate
5564         the wrong opcode for cases like st2w where there are many forms
5565         of the same instruction.
5566
5567 Tue Aug 27 13:53:22 1996  Ian Lance Taylor  <ian@cygnus.com>
5568
5569         * expr.c (operand): If md_parse_name is defined, call it before
5570         calling symbol_find_or_make.
5571         * config/tc-ppc.h (md_parse_name): Define.
5572         (ppc_parse_name): Declare.
5573         * config/tc-ppc.c (reg_name_search): Add regs and regcount
5574         parameters.
5575         (register_name): Update call to reg_name_search.
5576         (cr_operand): New static variable.
5577         (cr_names): New static const array.
5578         (ppc_parse_name): New function.
5579         (md_assemble): If PPC_OPERAND_CR is set in the operand flags, set
5580         cr_operand before calling expression.
5581
5582 Tue Aug 27 09:05:50 1996  Jeffrey A Law  (law@cygnus.com)
5583
5584         * config/tc-hppa.c (tc_gen_reloc): Add new argument to
5585         hppa_gen_reloc_type call.
5586
5587 Mon Aug 26 18:24:51 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5588
5589         * config/tc-d10v.c: Fixed ".word".  Fixed problem with range checking
5590         on addresses.  Improved error messages.
5591         * doc/c-d10v.texi: Added docs for register pairs.
5592
5593 Mon Aug 26 13:39:27 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5594
5595         * config/tc-d10v.c (parallel_ok): Fix bug in parallel 
5596         checking code.
5597
5598 Mon Aug 26 14:38:22 1996  Ian Lance Taylor  <ian@cygnus.com>
5599
5600         * ecoff.c (init_file): Initialize fMerge to 1.
5601         (add_file): Restore old file merging code, but only merge files if
5602         fMerge is set.
5603         (ecoff_directive_loc): Clear fMerge field of current file.
5604         (ecoff_generate_asm_lineno): Likewise.
5605
5606 Fri Aug 23 11:40:47 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5607
5608         * doc/c-d10v.texi: Fix typo. 
5609
5610 Fri Aug 23 10:41:32 1996  Jeffrey A Law  (law@cygnus.com)
5611
5612         * config/tc-v850.c (md_assemble): Correct bit masking for
5613         hi and lo expressions.
5614
5615         * config/tc-v850.c (md_assemble): Rough cut at demanding
5616         "ep" or "r30" in sst and sld instructions.
5617         (md_apply_fix3): Don't abort.  Just warn that we don't
5618         have relocs yet.
5619
5620         * config/tc-v850.c (CC_NAME_CNT): Define.
5621         (cc_name): New function.
5622         (md_assemble): Handle V850_OPERAND_CC correctly.
5623
5624         * config/tc-v850.c (md_assemble): Don't forget to initialize
5625         "insn"!
5626
5627         * config/tc-v850.c (reg_name_search): Generalize to search
5628         any given register table.
5629         (register_name): Pass appropriate table and size to reg_name_search.
5630         (system_register_name): New function.
5631         (SYSREG_NAME_CNT): Define.
5632         (md_assemble): Handle operands which are system registers.
5633         
5634         * config/tc-v850.c (md_assemble): If we find a register, but the
5635         opcode doesn't want a register, then we don't have a match.
5636         (md_assemble): Get size of the instruction from the opcode table.
5637
5638 Thu Aug 22 10:20:30 1996  Ian Lance Taylor  <ian@cygnus.com>
5639
5640         * configure.in: Set and substitute HLDENV.
5641         * configure: Rebuild.
5642         * Makefile.in (HLDENV): New variable.
5643         (as.new): Use $(HLDENV).
5644
5645         * ecoff.c (ecoff_directive_endef): Avoid a division by zero error
5646         if an array dimension is not known.
5647
5648 Thu Aug 22 10:50:00 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5649
5650         * config/tc-d10v.c: Fix a reloc bug caused by my last change. 
5651         * doc/c-d10v.texi: Cleanup.
5652         
5653 Tue Aug 20 15:15:16 1996  J.T. Conklin  <jtc@hippo.cygnus.com>
5654
5655         * config/tc-v850.c: New file.
5656         * config/tc-v850.h: New file.
5657         * configure (v850-*-elf): New target.
5658         * configure.in (v850-*-elf): New target.
5659         
5660 Wed Aug 21 15:50:54 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5661
5662         * doc/c-d10v.texi: New file.
5663         * doc/all.texi: Added D10V stuff.
5664         * doc/as.texinfo: Added D10V stuff.
5665
5666 Tue Aug 20 14:10:02 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5667
5668         * config/tc-d10v.c: All references to defined symbols should
5669         now use the optimal instruction.  .float and .double now work. 
5670
5671 Mon Aug 19 14:41:36 1996  Ian Lance Taylor  <ian@cygnus.com>
5672
5673         * config/obj-coff.c (fixup_segment): Adjust PC relative reloc by
5674         section address for the i960 as is done for the i386.
5675
5676 Thu Aug 15 16:37:59 1996  Stan Shebs  <shebs@andros.cygnus.com>
5677
5678         * mpw-config.in: Add wildcards for config matching, add mips-*-*
5679         case, forward-include bfd/elf-bfd.h.
5680
5681 Thu Aug 15 13:24:30 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5682
5683         * config/tc-d10v.c: Add additional information to the opcode
5684         table to help determinine which instructions can be done
5685         in parallel. 
5686
5687 Thu Aug 15 17:01:31 1996  James G. Smith  <jsmith@cygnus.co.uk>
5688
5689         * config/tc-arm.c: Major changes to add Thumb support, with lots
5690         of change input from <rearnsha@armltd.co.uk>.
5691         Reverted to INSN_SIZE macro, rather than insn_size variable.
5692         (insns): Added ARM "bx" instruction support.
5693         (tinsns): Added Thumb instruction definition structure.
5694         (arm_tops_hsh): Added hash structure for Thumb opcodes.
5695         (md_pseudo_table): Added ".arm", ".thumb" and ".code" pseudo-ops.
5696         (opcode_select,s_arm,s_thumb,s_code): Added.
5697         (decode_shift): Allow upper-case RRX.
5698         (do_ldst): Simpler halfword support.
5699         (do_ldmstm): Improved.
5700         (reg_list, do_bx, thumb_reg, thumb_add_sub, thumb_shift,
5701         thumb_mov_compare, thumb_load_store, do_t_arit, do_t_add,
5702         do_t_asr, do_t_branch, do_t_bx, do_t_compare, do_t_ldmstm,
5703         do_t_ldrb, do_t_ldrh, do_t_lds, do_t_lsl, do_t_lsr, do_t_mov,
5704         do_t_push_pop, do_t_str, do_t_strb, do_t_strh, do_t_sub, do_t_swi,
5705         do_t_adr): Added.
5706         (md_apply_fix3): Add support for BFD_RELOC_ARM_THUMB_* relocations.
5707         (md_parse_option): Add support for -mthumb.
5708         (md_show_usage): Updated to reflect new command line option.
5709         (arm_data_in_code, arm_canonicalize_symbol_name): Added.
5710         * config/tc-arm.h: Provide TC_FIX_TYPE to allow private ARM
5711         fragment information to be held.
5712
5713 Thu Aug 15 16:12:00 1996  Richard Earnshaw (rearnsha@armltd.co.uk)
5714
5715         * tc-arm.c (md_apply_fix3): Also set fixP->fx_done if fx_addsy is 
5716         non-null, but is a constant.
5717         (fix_new_arm): Call make_expr_symbol to make the expression symbol
5718         so that error reporting will work correctly.
5719
5720 Wed Aug 14 10:37:21 1996  Ian Lance Taylor  <ian@cygnus.com>
5721
5722         * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust relocs
5723         against weak symbols.
5724
5725 Tue Aug 13 17:39:24 1996  Ian Lance Taylor  <ian@cygnus.com>
5726
5727         * config/tc-ppc.h (TC_FORCE_RELOCTION): Define if OBJ_XCOFF.
5728         (ppc_force_relocation): Declare if OBJ_XCOFF.
5729         * config/tc-ppc.c (ppc_force_relocation): New function if
5730         OBJ_XCOFF.
5731
5732 Mon Aug 12 16:49:43 1996  Ian Lance Taylor  <ian@cygnus.com>
5733
5734         * config/tc-mips.h (BYTE_ORDER): Don't define.  No longer used.
5735
5736 Fri Aug  9 17:48:28 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5737
5738         * config/tc-d10v.c: Fix problem with relocs. 
5739
5740 Fri Aug  9 14:16:14 1996  Ian Lance Taylor  <ian@cygnus.com>
5741
5742         * config/tc-sh.c (sh_do_align): If not BFD_ASSEMBLER, always align
5743         with nops if not in data_section or bss_section.
5744
5745 Thu Aug  8 12:32:56 1996  Klaus Kaempf  <kkaempf@progis.de>
5746
5747         Add support for openVMS/Alpha.
5748         * as.h (PRINTF_LIKE): Don't define if VMS, for now.
5749         * config/obj-evax.c: New file.
5750         * config/obj-evax.h: New file.
5751         * config/tc-alpha.c: Add support for EVAX format if OBJ_EVAX is
5752         defined.
5753         * config/tc-alpha.h: Add support for EVAX format if OBJ_EVAX is
5754         defined.  Add case for bfd_target_evax_flavour.
5755         * config/vms-a-conf.h: New file.
5756         * conf-a-gas.com: New file.
5757         * configure.in: Add target alpha-*-*vms*.
5758         * configure: Rebuild.
5759         * makefile.vms: New file.
5760         * read.c (s_lcomm): Align bss_seg on 8 byte boundary if OBJ_EVAX.
5761         Don't call ffs on openVMS/Alpha.
5762
5763 Wed Aug  7 14:19:03 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
5764
5765         * configure.in: Make GAS_CHECK_DECL_NEEDED include <string.h> or
5766         <strings.h> if they exist.  Call GAS_CHECK_DECL_NEEDED on strstr
5767         and sbrk.
5768         * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
5769         (NEED_DECLARATION_SBRK): New macro.
5770         * configure, conf.in: Rebuild.
5771         * as.h: Only include <strings.h> if HAVE_STRINGS_H.
5772         (strstr): Declare if NEED_DECLARATION_STRSTR.
5773         * as.c: If HAVE_SBRK and NEED_DECLARATION_SBRK, declare sbrk.
5774
5775 Wed Aug  7 11:50:26 1996  Ian Lance Taylor  <ian@cygnus.com>
5776
5777         * symbols.c (resolve_symbol_value): Handle addition or subtraction
5778         by a constant before entering the main switch.  Reject attempts to
5779         apply an arithmetic function to non-absolute symbols, except for
5780         the special case of subtraction of two symbols in the same
5781         section.
5782
5783         * config/tc-mips.c (md_section_align): Do align if OBJ_ELF, but
5784         not to more than a 16 byte boundary.
5785
5786         * config/tc-i386.c (tc_gen_reloc): Accept all relocs; remove
5787         #ifndef OBJ_ELF lines.  From Eric Valette <valette@crf.canon.fr>.
5788         (tc_gen_reloc): If out of memory call as_fatal rather than
5789         assert.  If no howto found, call as_bad_where rather than
5790         as_fatal.  Change the error message slightly.  Set howto to a
5791         non-NULL value in order to keep going.
5792
5793 Tue Aug  6 12:58:03 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5794
5795         * config/tc-d10v.c: Added code to support 32-bit fixups for stabs.
5796
5797 Tue Aug  6 11:15:26 1996  Jeffrey A Law  (law@cygnus.com)
5798
5799         * config/tc-h8300.c (get_specific): New operand "size" derived
5800         from ".b", ".w" and ".l" extensions.  All callers changed.  If
5801         the base instruction has no operands, then use the size to
5802         determine which specific instruction to use.
5803
5804 Mon Aug  5 14:21:10 1996  Ian Lance Taylor  <ian@cygnus.com>
5805
5806         * config/tc-i960.c (mem_fmt): Call parse_expr before emit.
5807
5808 Fri Aug  2 11:23:31 1996  Ian Lance Taylor  <ian@cygnus.com>
5809
5810         * config/tc-mips.c (md_section_align): Don't change addr if
5811         OBJ_ELF.
5812
5813 Thu Aug  1 23:51:52 1996  Jeffrey A Law  (law@cygnus.com)
5814
5815         * config/tc-hppa.c: Revert yesterday's changes.
5816         
5817 Wed Jul 31 14:46:11 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5818
5819         * config/tc-d10v.c: Disable range checking on 16-bit values.
5820
5821 Wed Jul 31 16:27:19 1996  Ian Lance Taylor  <ian@cygnus.com>
5822
5823         * config/tc-m68k.c (m68k_ip): Set ok_arch for every instruction,
5824         not just the ones that don't match.
5825
5826 Wed Jul 31 11:45:15 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5827
5828         * config/tc-d10v.c: Fixed bugs in short relocs and range checking.
5829
5830 Wed Jul 31 15:41:42 1996  James G. Smith  <jsmith@cygnus.co.uk>
5831
5832         * config/tc-arm.c: Changed INSN_SIZE to variable insn_size, as
5833         pre-cursor to adding Thumb support. Also added cpu_variant flag
5834         information to each of the asm_flg structures.
5835         (md_parse_option): Updated ARM7 parsing to allow 't' for
5836         thumb/halfword support, aswell as 'm' for long multiply.
5837         (md_show_usage): Updated help message.
5838         (md_assemble): Check that instruction flags are applicated to the
5839         current cpu variant.
5840         (md_apply_fix3, tc_gen_reloc): Add BFD_RELOC_ARM_OFFSET_IMM8 and
5841         BFD_RELOC_ARM_HWLITERAL relocation support for new halfword and
5842         signextension instructions.
5843         (do_ldst): Generate halfword and signextension variants if
5844         mnemonic flags match.
5845         (ldst_extend): Do not allow shifts in the offset field of halfword
5846         or signextension instructions.
5847         (validate_offset_imm): Provide check on halfword and signextension
5848         immediate range.
5849         (add_to_lit_pool): Merge identical literal pool values.
5850
5851 Tue Jul 30 14:28:23 1996  Jeffrey A Law  (law@cygnus.com)
5852
5853         * config/tc-hppa.c (selector_table): Add 'E' selector.
5854         (cons_fix_new_hppa): Don't coke on e_esel.
5855         (tc_gen_reloc, SOM version): Handle R_COMP2 when used
5856         to help generate exception handling tables.
5857         (md_apply_fix): Don't try to apply fixups with an e_esel
5858         selector.
5859         (hppa_fix_adjustable): Fixups with e_esel selectors
5860         are not adjustable.
5861
5862 Tue Jul 30 15:51:41 1996  Ian Lance Taylor  <ian@cygnus.com>
5863
5864         * config/tc-sparc.c (md_pseudo_table): Add 2byte, 4byte, and 8byte
5865         pseudo-ops.
5866
5867 Fri Jul 26 11:43:03 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5868
5869         * config/tc-d10v.c: Added lots of error checking.  Added hacks
5870         to support accumulator shifts.
5871         
5872 Fri Jul 26 11:56:08 1996  Ian Lance Taylor  <ian@cygnus.com>
5873
5874         * symbols.c (S_SET_EXTERNAL): Let .weak override.
5875         (S_CLEAR_EXTERNAL): Likewise.
5876         (S_SET_WEAK): Remove error; just let .weak override.
5877
5878 Thu Jul 25 15:22:51 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5879
5880         * config/tc-d10v.c (md_assemble): Now handles multiline
5881         instructions.
5882
5883 Thu Jul 25 12:03:33 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5884
5885         * config/tc-d10v.c: Fix packaging bug. Added range checking.
5886         Added kludge for divs instruction.  Fixed minor problem with
5887         multiple text sections.
5888         * config/tc-d10v.h (d10v_cleanup): Change prototype. 
5889         
5890 Tue Jul 23 10:49:36 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5891
5892         * config/tc-d10v.c (md_apply_fix3): Fix all instruction
5893         addresses to be right-shifted by 2.
5894
5895 Mon Jul 22 11:32:36 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5896
5897         * config/tc-d10v.c: Many changes to get relocs working.
5898         (register_name): No longer creates a symbol for register names.
5899         (pre_defined_registers): moved to opcodes/d10v-opc.c.
5900         (d10v_insert_operand): Now works correctly for either container.
5901         * config/tc-d10v.h (d10v_cleanup): Declare. 
5902         
5903 Mon Jul 22 14:01:33 1996  Ian Lance Taylor  <ian@cygnus.com>
5904
5905         * config/tc-mips.c (tc_gen_reloc): BFD_RELOC_PCREL_HI16_S and
5906         BFD_RELOC_PCREL_LO16 are expected to be PC relative.
5907
5908 Mon Jul 22 12:46:55 1996  Richard Henderson  <rth@tamu.edu>
5909
5910         * tc-alpha.c: Patches to track current minimum alignment to reduce
5911         the number of fragments created with frag_align.
5912         (alpha_current_align): New static variable.
5913         (s_alpha_text): Reset alignment to 0.
5914         (s_alpha_data, s_alpha_rdata, s_alpha_sdata): Likewise.
5915         (s_alpha_stringer, s_alpha_space): New functions.
5916         (s_alpha_cons, alpha_flush_pending_output): Remove functions.
5917         (alpha_cons_align): New function to replace both of them.
5918         (emit_insn): Only align if alpha_current_align is less than 2;
5919         reset alpha_current_align to 2.
5920         (s_alpha_gprel32): Likewise.
5921         (s_alpha_section): New function.  Basically duplicate the other
5922         alpha section change hooks.  Only define for ELF.
5923         (s_alpha_float_cons): Simplify alignment handling.
5924         (md_pseudo_table): Only define "rdata" and "sdata" if OBJ_ECOFF.
5925         If OBJ_ELF, define "section", "section.s", "sect", and "sect.s".
5926         Don't define the s_alpha_cons pseudo-ops.  Do define
5927         s_alpha_stringer and s_alpha_space pseudo-ops.
5928         (alpha_align): Skip if less than current default alignment.  Set
5929         default alignment.
5930         * tc-alpha.h (md_flush_pending_output): Remove.
5931         (md_cons_align): Add.
5932
5933         * tc-alpha.c: Add oodles of function description comments.
5934         (md_bignum_to_chars): Remove; there are no callers.
5935         (md_show_usage): Mention some more variants.
5936
5937 Thu Jul 18 15:54:54 1996  Ian Lance Taylor  <ian@cygnus.com>
5938
5939         From Andrew Gierth <ANDREWG@microlise.co.uk>:
5940         * configure.in (sparc-*-sysv4*): New target.
5941         * configure: Rebuild.
5942
5943         * config/tc-sparc.c (md_pseudo_table): Change uahalf, uaword, and
5944         uaxword to use s_uacons.
5945         (sparc_no_align_cons): New static variable.
5946         (s_uacons): New static function.
5947         (sparc_cons_align): If sparc_no_align_cons is set, just clear it
5948         and return.
5949
5950         * config/tc-sparc.c (s_common): Remove unused label allocate_bss.
5951
5952         * configure.in: Add mips-*-irix6* target.  Handle Irix 6 like Irix
5953         5 with regard to shared libraries.
5954         * configure: Rebuild.
5955
5956         * config/tc-m68k.c (m68k_ip): Use the correct length when
5957         allocating space for the unsupported architecture error message.
5958
5959 Thu Jul 18 12:57:10 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5960
5961         * configure.in (d10v-*-*): Allow d10v-*-*, don't require d10v-*-elf*.
5962
5963 Wed Jul 17 14:25:13 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
5964
5965         * config/tc-d10v.c: New file.
5966         * config/tc-d10v.h: New file.
5967         * configure (d10v-*-elf): New target.
5968         * configure.in (d10v-*-elf): New target.
5969         
5970 Fri Jul 12 20:54:19 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5971
5972         * config/tc-ppc.c (md_parse_option): Recognize -K PIC.
5973
5974 Wed Jul 10 12:39:08 1996  Richard Henderson  <rth@tamu.edu>
5975
5976         * config/tc-alpha.c (alpha_align): Change fill parameter
5977         to a pointer.  Take NULL as 0 or nop depending on section.  Change
5978         all callers.
5979         (s_alpha_align): Rename local variables.
5980
5981         * doc/as.texinfo (.align): Document action of omitted
5982         fill parameter.
5983
5984 Wed Jul 10 00:23:30 1996  Ian Lance Taylor  <ian@cygnus.com>
5985
5986         * config/tc-ppc.c (md_apply_fix3): Give a useful error message
5987         when an unsupported PC relative reloc is seen, rather than calling
5988         abort.
5989
5990         * app.c (do_scrub_chars): Remove not_cpp_line local variable.
5991         Instead, check state when '#' comment is seen.
5992
5993 Mon Jul  8 14:11:49 1996  Ian Lance Taylor  <ian@cygnus.com>
5994
5995         * config/tc-mips.c (mips_regmask_frag): Only define if OBJ_ELF or
5996         OBJ_MAYBE_ELF.
5997         (tc_gen_reloc): If fixup was changed to be PC relative, change
5998         reloc type accordingly.  Use name of reloc in error message.
5999
6000         * as.h: Don't define const or volatile.
6001         * flonum.h: Don't define const.
6002
6003         * config/tc-m68k.c (tc_gen_reloc): Change the code appropriately
6004         if fx_pcrel is set.  Correct setting the addend case in the
6005         OBJ_ELF case (from Andreas Schwab
6006         <schwab@issan.informatik.uni-dortmund.de>).
6007         (md_show_usage): Correct -mfc5200 to -m5200.
6008
6009 Fri Jul  5 10:32:58 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
6010
6011         * doc/c-m68k.texi: Document -m5200 flag.
6012         * doc/as.texinfo: Likewise.
6013
6014         * config/tc-m68k.c (m68k_ip): The coldfire does not support 8x
6015         scale factor.
6016
6017 Fri Jul  5 11:07:24 1996  Ian Lance Taylor  <ian@cygnus.com>
6018
6019         * symbols.c (S_SET_EXTERNAL): Change as_warn to as_bad.
6020         (S_CLEAR_EXTERNAL, S_SET_WEAK): Likewise.
6021
6022 Thu Jul  4 11:59:46 1996  Ian Lance Taylor  <ian@cygnus.com>
6023
6024         * Makefile.in (VERSION): Set to cygnus-2.7.1.
6025
6026         * Released binutils 2.7.
6027
6028 Thu Jul  4 10:11:33 1996  James G. Smith  <jsmith@cygnus.co.uk>
6029
6030         * config/tc-mips.c (mips_ip): Only perform range check when
6031         dealing with O_constant expressions.
6032
6033 Wed Jul  3 15:02:21 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
6034
6035         * m68k-parse.h (m68k_register): Add new coldfile control
6036         registers.
6037
6038         * config/tc-m68k.c (mcf5200_control_regs): New variable, 
6039         array of control registers for the coldfire.
6040         (cpu_of_arch): Added mcf5200.
6041         (archs): Added mcf5200.
6042         (init_table): Add new control registers.
6043         (m68k_ip): Added support for new control registers.
6044         (m68k_init_after_args): Likewise.
6045
6046         * config/tc-m68k.c (md_show_usage): Add -m5200 to usage text.
6047
6048 Wed Jul  3 16:05:50 1996  Ian Lance Taylor  <ian@cygnus.com>
6049
6050         * read.h (is_it_end_of_statement): Declare.
6051         * read.c (is_it_end_of_statement): Remove declaration.
6052
6053         * config/tc-ppc.c (ppc_elf_suffix): Correct parenthesization of ||
6054         within &&.
6055         (md_assemble): Fix handling of @l with an unsigned constant.  Add
6056         default case to reloc switch.
6057
6058         * config/tc-i386.h (AOUT_MACHTYPE): Define as 0 if TE_386BSD.
6059
6060         Based on patches from Tom Quiggle <quiggle@sgi.com>:
6061         * ecoff.c (last_lineno): New static variable.
6062         (add_procedure): Set last_lineno.
6063         (ecoff_directive_loc): Likewise.
6064         (ecoff_generate_asm_lineno): Likewise.
6065         (ecoff_fix_loc): New function.
6066         * ecoff.h (ecoff_fix_loc): Declare.
6067         * config/tc-mips.c (append_insn): When inserting nops, and using
6068         ECOFF debugging, call ecoff_fix_loc.
6069
6070 Tue Jul  2 23:02:12 1996  Jeffrey A Law  (law@cygnus.com)
6071
6072         * config/tc-h8300.c (build_bytes): If an operand type is 
6073         marked as SRC_IN_DST retrieve it from the "destination" op.
6074
6075 Sat Jun 29 13:38:31 1996  Ian Lance Taylor  <ian@cygnus.com>
6076
6077         * configure.in (arm-*-riscix*): Set emulation to riscix.
6078         * configure: Rebuild.
6079         * config/te-riscix.h: New file to define TE_RISCIX.
6080
6081         * config/tc-sh.h (SUB_SEGMENT_ALIGN): Define.
6082
6083 Fri Jun 28 15:14:31 1996  Ian Lance Taylor  <ian@cygnus.com>
6084
6085         * Makefile.in (config.status): Just run config.status as other
6086         tools do.
6087
6088 Fri Jun 28 11:09:38 1996  Stan Shebs  <shebs@andros.cygnus.com>
6089
6090         * mpw-config.in (TARGET_OS): Add definition to conf.
6091
6092 Thu Jun 27 20:39:40 1996  James G. Smith  <jsmith@cygnus.co.uk>
6093
6094         * config/tc-mips.c (append_insn): Parenthesize
6095         cop_interlocks expressions.
6096
6097 Thu Jun 27 12:18:26 1996  Ian Lance Taylor  <ian@cygnus.com>
6098
6099         * listing.c (listing_print): Close the listing file if it is not
6100         stdout.  Close the other files opened for the listing.
6101
6102         * config/tc-sparc.h (md_cons_align): Define.
6103         (sparc_cons_align): Declare.
6104         (HANDLE_ALIGN): Define.
6105         (sparc_handle_align): Declare.
6106         * config/tc-sparc.c (sparc_cons_align): New function.
6107         (sparc_handle_align): New function.
6108         * read.c (cons_worker): Call md_cons_align if it is defined.
6109
6110         * as.h (struct frag): Add fr_file and fr_line fields.
6111         * frags.c (frag_new): Set fr_file and fr_line.
6112         (frag_var): Likewise.
6113         (frag_variant): Likewise.
6114
6115         * as.h (struct frag): Remove unused align_mask and align_offset
6116         fields.
6117
6118         * listing.c (calc_hex): Offset by fr_fix when examining fr_var.
6119         From <uddeborg@carmen.se>.
6120
6121 Wed Jun 26 13:21:34 1996  Ian Lance Taylor  <ian@cygnus.com>
6122
6123         * configure.in (mips-*-osf*): New target.
6124         * configure: Rebuild.
6125
6126         * config/tc-m68k.c: Add 68ec060 as a synonym for 68060.
6127
6128 Wed Jun 26 16:23:08 1996  James G. Smith  <jsmith@cygnus.co.uk>
6129
6130         * config/tc-mips.c: Added cop_interlocks, to avoid NOP insertion
6131         between co-processor comparisons and branches for the VR4300.
6132
6133 Mon Jun 24 18:02:50 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
6134
6135         * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
6136         INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
6137         (docdir): Removed.
6138         * configure.in (AC_PREREQ): autoconf 2.5 or higher.
6139         * doc/Makefile.in (bindir, libdir, datadir, mandir, infodir,
6140         includedir): Use autoconf set values.
6141         (docdir): Removed.
6142
6143 Mon Jun 24 11:58:14 1996  Ian Lance Taylor  <ian@cygnus.com>
6144
6145         * listing.c (listing_eject): Don't do anything if listing is 0.
6146         (listing_list): Likewise.
6147         (listing_source_line): Likewise.
6148         (listing_title): Don't save title if listing is 0.
6149         (listing_source_file): Check listing rather than listing_tail.
6150
6151         * configure.in: On alpha*-*-osf*, link against libbfd.a if not
6152         using shared libraries.
6153         * configure: Rebuild.
6154
6155 Fri Jun 21 18:22:23 1996  Ian Lance Taylor  <ian@cygnus.com>
6156
6157         * config/tc-mips.c (mips_ip): In case 'i'/'j', don't require an
6158         absolute expression if a relocation type was specified.
6159
6160 Fri Jun 21 17:40:16 1996  Joel Sherrill  <joel@merlin.gcs.redstone.army.mil>
6161
6162         * configure.in: Add support for *-*-rtems* configurations.
6163         * configure: Rebuild.
6164
6165 Fri Jun 21 16:01:18 1996  Richard Henderson  <rth@tamu.edu>
6166
6167         * configure.in: Add alpha-*-linuxecoff* target.  Use elf for
6168         alpha-*-linux* target.  Force bfd_gas for alpha-*.  Require
6169         opcodes library for alpha.
6170         * configure: Rebuild with autoconf 2.10.
6171         * config/tc-alpha.c: Substantial rewrite to add ELF support and
6172         use new opcode table.
6173         * config/tc-alpha.h (md_undefined_symbol): Don't define.
6174         (LOCAL_LABEL): Define differently if OBJ_ELF.
6175         (FAKE_LABEL_NAME): Define if OBJ_ELF.
6176         * config/alpha-opcode.h: Remove.
6177         * config/obj-elf.h: If TC_ALPHA, define ECOFF_DEBUGGING.
6178         * Makefile.in (TARG_CPU_DEP_alpha): Depend upon
6179         include/opcode/alpha.h rather than config/alpha-opcode.h.
6180
6181 Thu Jun 20 19:10:28 1996  Ian Lance Taylor  <ian@cygnus.com>
6182
6183         * config/obj-aout.c (obj_emit_relocations): Give an error if the
6184         relocation symbol was not resolved.
6185         * config/obj-coff.c (do_relocs_for): Likewise.
6186
6187         * write.c (adjust_reloc_syms): Refetch the symbol section after
6188         calling S_GET_VALUE, since it may have changed.
6189
6190         * expr.c (struct expr_symbol_line): Define.
6191         (expr_symbol_lines): New static variable.
6192         (make_expr_symbol): Add entry to expr_symbol_lines.
6193         (expr_symbol_where): New function.
6194         * expr.h: Use extern on function declarations.
6195         (expr_symbol_where): Declare.
6196         * symbols.c (resolve_symbol_value): Try to use expr_symbol_where
6197         rather than printing the meaningless name of an expression
6198         symbol.
6199
6200 Thu Jun 20 15:57:41 1996  Ken Raeburn  <raeburn@cygnus.com>
6201
6202         * config/tc-i386.c (md_number_to_chars): Deleted.
6203         * config/tc-i386.h (md_number_to_chars): New macro.
6204
6205         * config/tc-alpha.c (build_operate_n, build_mem): Moved earlier in
6206         the file.
6207         (load_symbol_address, load_expression): Use build_mem.
6208         (build_operate): New function.
6209         (emit_addq_r): Use it.
6210
6211         Wed Mar 13 22:14:14 1996  Pat Rankin  <rankin@eql.caltech.edu>
6212
6213         * symbols.c (colon):  #if VMS, use S_SET_OTHER to store `const_flag'.
6214
6215         Tue Mar  5 14:31:45 1996  Pat Rankin  <rankin@eql.caltech.edu>
6216
6217         * config/tc-vax.h (NOP_OPCODE): Define.
6218
6219         Sun Feb  4 21:01:03 1996  Pat Rankin  <rankin@eql.caltech.edu>
6220
6221         * config/obj-vms.h (S_IS_COMMON): Define.
6222         (S_IS_LOCAL): Check for \002 as well as \001.
6223         (LONGWORD_ALIGNMENT): New macro.
6224         (SUB_SEGMENT_ALIGN): Use it.
6225
6226         Fri Jan 26 17:44:09 1996  Pat Rankin  <rankin@eql.caltech.edu>
6227
6228         * config/vms-conf.h: Reconcile with conf.in.
6229
6230 Wed Jun 19 11:31:50 1996  Ian Lance Taylor  <ian@cygnus.com>
6231
6232         * write.c (is_dnrange): Only define if TC_GENERIC_RELAX_TABLE is
6233         defined.
6234
6235         * doc/as.texinfo: Document that any number of hex digits can
6236         follow \x.
6237
6238         * as.c (struct defsym_list): Define.
6239         (defsyms): New static variable.
6240         (parse_args): Just put --defsym arguments on defsyms list, rather
6241         than defining them.
6242         (main): Define defsyms after output file is created.
6243
6244         * config/tc-m68k.c (m68k_ip): Reject PRE and POST indexing mode on
6245         cpu32.  From Eric Norum <Eric.Norum@usask.ca>.
6246
6247         * config/tc-mips.c (mips_ip): In cases 'I', 'i', and 'j', set
6248         insn_error rather than calling check_absolute_expr.
6249
6250         * as.c (emulation_name): Remove unused static variable.
6251         (default_emul_bfd_name): Add return NULL to avoid warning.
6252         * ecoff.c (ecoff_stab): Remove unused variables name and
6253         name_end.
6254         * frags.c (frag_new): Remove unused variable tmp.
6255         * hash.c (hash_grow): Parenthesize + within <<.
6256         (hash_print_statistics): Use %lu, not %d, to print unsigned
6257         long variables.
6258         * messages.c: Include "libiberty.h".
6259         (fprint_value): Add cast to avoid printf warning.
6260         (sprint_value): Likewise.
6261         * read.c: Include "ecoff.h".
6262         (emit_expr): Add casts to avoid printf warnings.
6263         * read.h: Use extern for function declarations.
6264         (pop_insert): Declare.
6265         * stabs.c: Include "ecoff.h".
6266         * subsegs.c (subseg_set_rest): Remove unused variables tmp,
6267         former_last_fragP, and new_fragP.
6268         * subsegs.h (subsegs_print_statistics): Declare.
6269         * symbols.c (debug_verify_symchain): Change macro to discard
6270         arguments.
6271         * write.c (dump_section_relocs): Likewise.
6272         * write.h: Use extern for function declarations.
6273         (write_print_statistics): Declare.
6274         * config/e-mipsecoff.c (mipsecoff_bfd_name): Return NULL to avoid
6275         warning.
6276         * config/e-mipself.c (mipself_bfd_name): Likewise.
6277         * config/obj-elf.h (elf_ecoff_set_ext): Declare.
6278
6279         * config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): If OBJ_ELF, always
6280         emit relocations against external symbols.
6281
6282         * config/tc-alpha.c (tc_gen_reloc): Output a sensible error
6283         message if bfd_reloc_type_lookup fails, rather than calling
6284         assert.
6285
6286         * config/tc-alpha.c (alpha_force_relocation): Add
6287         BFD_RELOC_12_PCREL to switch.
6288
6289 Tue Jun 18 20:29:57 1996  Doug Evans  <dje@canuck.cygnus.com>
6290
6291         * config/tc-i386.h (LOCAL_LABEL,FAKE_LABEL_NAME): Use defaults for
6292         TE_PE (Lfoo, not .Lfoo).
6293
6294 Tue Jun 18 17:13:33 1996  Ian Lance Taylor  <ian@cygnus.com>
6295
6296         * read.c (s_fill): Don't warn about a zero repeat count.
6297
6298         * config/tc-mips.c (mips_ip): Don't warn about using AT as a
6299         coprocessor register.
6300
6301         * config/tc-i386.c (md_assemble): When checking the size of a
6302         register to set the size of an instruction, do a bitwise and with
6303         Reg8 and Reg16 rather than requiring the type to be exactly Reg8
6304         or Reg16.
6305
6306 Tue Jun 18 13:19:51 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
6307
6308         * config/tc-h8300.c (parse_reg): Tweak error messages.
6309         (build_bytes): Likewise.
6310         (skip_colonthing): Handle :32 suffix.
6311         (get_specific): Promote L_24 to L_32 if it makes a match.
6312         Don't always promote L_8 to L_16.
6313         (do_a_fix_imm): Clean up L_32 and L_24 handling.
6314
6315         * config/tc-h8300.c (Smode): New variable.
6316         (h8300hmode): Turn off Hmode.
6317         (h8300smode): New function.  Turn on Smode and Hmode.
6318         (md_pseudo_table): New ".h8300s" pseudo-op.
6319         (parse_reg): Handle "exr" register.
6320         (get_operand): Handle bizarre syntax for "stm.l" and "ldm.l".
6321         Handle "mach" and "machl" operands for ldmac.
6322         (get_specific): Handle "stm.l" and "ldm.l".
6323         (build_bytes): Handle "stm.l" and "ldm.l"; handle MACREG operands.
6324         * config/tc-h8300.h (COFF_MAGIC): Handle H8/S magic number.
6325         (Smode): Declare.
6326
6327 Mon Jun 17 15:50:53 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
6328
6329         * doc/as.texinfo: Reorder chapter of machine dependent options so
6330         that it is sorted by chip name.  
6331
6332         * doc/as.texinfo: Use consistant spelling of Vax.
6333         * doc/c-vax.texi: Likewise.
6334
6335 Mon Jun 17 11:26:56 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
6336
6337         * config/tc-hppa.c (md_pseudo_table): Add ".begin_try" and ".end_try"
6338         pseudo ops.
6339         (tc_gen_reloc, SOM version): Handle R_BEGIN_TRY and R_END_TRY.
6340         (md_apply_fix): Likewise.
6341         (pa_try): New function.
6342         (hppa_force_relocation): Force relocs for BEGIN_TRY and END_TRY.
6343
6344 Sun Jun 16 22:57:47 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
6345
6346         * config/tc-hppa.c (md_pseudo_table): Add ".level" pseudo op.
6347         (pa_level): New function.
6348
6349 Fri Jun 14 20:06:44 1996  Ian Lance Taylor  <ian@cygnus.com>
6350
6351         * listing.c (listing_newline): Don't do anything if listing is 0.
6352
6353 Thu Jun 13 17:50:54 1996  Ian Lance Taylor  <ian@cygnus.com>
6354
6355         * subsegs.c (section_symbol): If symbol_table_frozen is set, call
6356         symbol_create, not symbol_new.
6357
6358 Wed Jun 12 14:10:44 1996  Ian Lance Taylor  <ian@cygnus.com>
6359
6360         * write.c (adjust_reloc_syms): Don't set sy_used_in_reloc for an
6361         absolute symbol unless TC_FORCE_RELOCATION returns true.
6362
6363         * config/obj-coff.c (previous_file_symbol): Remove BFD_ASSEMBLER
6364         version.
6365         (c_dot_file_symbol): BFD_ASSEMBLER version: Don't set the value of
6366         the symbol to a pointer.  Don't set previous_file_symbol.
6367         Simplify symbol list rearrangement.
6368         (coff_frob_symbol): Don't do anything with C_FILE symbols.
6369         (coff_adjust_symtab): Don't check previous_file_symbol.
6370
6371 Mon Jun 10 14:52:29 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6372
6373         * config/tc-ppc.c (ppc_elf_lcomm): New function for .lcomm
6374         directive.
6375         (md_pseudo_table): Add ppc_elf_lcomm.
6376
6377 Mon Jun 10 11:45:51 1996  Ian Lance Taylor  <ian@cygnus.com>
6378
6379         * config/tc-m68k.c (m68k_ip): Accept ABSL for 'O', so that `bfextu
6380         d0{24:1},d0' works without an immediate prefix on the bit numbers.
6381         (md_begin): Add digits to alt_notend_table.
6382         (md_parse_option): Make s a const pointer.
6383
6384         * config/tc-sparc.c (md_pseudo_table): Add "empty".
6385         (s_empty): New static function.
6386
6387         * config/obj-coff.c (struct filename_list): Only define if not
6388         BFD_ASSEMBLER.
6389         (filename_list_head, filename_list_tail): Likewise.
6390         (c_section_symbol): Remove unused BFD_ASSEMBLER version.
6391         (obj_coff_endef, BFD_ASSEMBLER version): Don't set the debugging
6392         flag for C_MOS, C_MOE, C_MOU, or C_EOS symbols, since they should
6393         have a section of N_ABS rather than N_DEBUG.  If we do a merge,
6394         remove the new symbol from the list.
6395         (obj_coff_endef, both versions): Call tag_insert even if there is
6396         an old symbol with the same name, if the old symbol does not
6397         happen to be a tag.
6398         (coff_frob_symbol): Check SF_GET_TAG, C_EOF, and C_FILE outside of
6399         the SF_GET_DEBUG condition.  Don't call SA_SET_SYM_ENDNDX with a
6400         symbol that will be moved to the end of the symbol list.
6401         (coff_adjust_section_syms): Always call section_symbol for .text,
6402         .data, and .bss.
6403         (coff_frob_section): Likewise.  Also, remove unused variable
6404         strname.
6405
6406         * config/tc-ns32k.c (convert_iif): Call frag_grow rather than
6407         manipulating frags directly.
6408         (md_number_to_field): Adjust mem_ptr correctly if ENDIAN is
6409         defined.
6410
6411         * app.c (do_scrub_chars): If '/' is LINE_COMMENT_START, check
6412         whether the next character is '*' before checking whether we are
6413         at the start of a line.  Permit LINE_COMMENT_START to start a
6414         comment in state 1 (seen some whitespace) as well, to match the
6415         documentation.
6416
6417         * gasp.c (do_align): Permit a fill value for .align.
6418
6419 Wed Jun  5 17:09:26 1996  Ian Lance Taylor  <ian@cygnus.com>
6420
6421         * read.c (next_char_of_string): Warn if a newline is seen in the
6422         middle of a string.  Call bump_line_counters when appropriate.
6423
6424 Wed Jun  5 17:08:36 1996  Richard Henderson  <rth@tamu.edu>
6425
6426         * symbols.c (colon): Use LOCAL_LABEL.
6427
6428 Tue Jun  4 10:55:16 1996  Tom Tromey  <tromey@csk3.cygnus.com>
6429
6430         * Makefile.in (install): Don't check to see if tooldir exists.
6431         Make $(tooldir) and $(tooldir)/bin.
6432
6433 Tue Jun  4 10:14:53 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6434
6435         * config/ppc-sol.mt (TDEFINES): Don't turn on -mregnames by
6436         default.
6437
6438 Mon Jun  3 11:34:41 1996  Ian Lance Taylor  <ian@cygnus.com>
6439
6440         * config/tc-mips.c (mips_ip): Don't call as_warn if we are setting
6441         insn_error.  Don't put the string "ERROR" in insn_error.  Set
6442         insn_error rather than calling as_warn for an unsupported opcode.
6443
6444 Sat Jun  1 21:51:55 1996  Ian Lance Taylor  <ian@cygnus.com>
6445
6446         * config/tc-mips.c (md_parse_option): Check for a 64 bit format
6447         before permitting -64.
6448         * output-file.c (output_file_create): Remove duplicate
6449         bfd_perror.
6450
6451 Fri May 31 01:08:06 1996  Ian Lance Taylor  <ian@cygnus.com>
6452
6453         * config/tc-mips.c (md_begin): If -64, create a .MIPS.options
6454         section rather than a .reginfo section.
6455         (mips_elf_final_processing): If -64, write out 64 bit RegInfo
6456         information.
6457
6458         * config/tc-mips.c (load_register): If mips_isa < 3, permit a 32
6459         bit value with the high bit set.
6460
6461 Thu May 30 19:00:19 1996  Ian Lance Taylor  <ian@cygnus.com>
6462
6463         * read.c (s_lcomm): Set section flags for .sbss section.
6464
6465         * config/tc-mips.c (mips_64): New static variable.
6466         (mips_target_format): If mips_64, return elf64 targets rather than
6467         elf32 ones.
6468         (md_longopts): Add "32" and "64".
6469         (md_parse_option): Handle -32 and -64.
6470         (md_show_usage): Mention -32 and -64.
6471         (cons_fix_new_mips): If mips_64, don't convert an 8 byte reloc to
6472         a 4 byte one.
6473
6474 Thu May 30 10:36:19 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6475
6476         * config/tc-ppc.c (comment_chars): Make '!' a comment character
6477         for Solaris compatibility.
6478
6479         * stabs.c (s_stab_generic): Under PowerPC Solaris, convert a
6480         .stabd with 4 arguments into a .stabn.
6481
6482 Wed May 29 16:43:16 1996  Ian Lance Taylor  <ian@cygnus.com>
6483
6484         * config/tc-mips.c (macro): When passing X_add_number to
6485         macro_build, cast it to int first.
6486
6487 Tue May 28 13:29:39 1996  Ian Lance Taylor  <ian@cygnus.com>
6488
6489         * config/tc-z8k.c (md_apply_fix): Handle fx_r_type of 0, as
6490         created by emit_expr.
6491
6492         * symbols.c (symbol_create): If bfd_make_empty_symbol fails, call
6493         as_perror rather than assert.
6494
6495 Fri May 24 18:24:11 1996  Ian Lance Taylor  <ian@cygnus.com>
6496
6497         * config/tc-mips.c (mips_ip): Mark sections created to hold
6498         floating point information as read only.
6499
6500 Fri May 24 12:07:54 1996  David Edelsohn  <edelsohn@mhpcc.edu>
6501
6502         * config/tc-ppc.c (ppc_set_cpu): Change defaults to match AIX.
6503
6504 Thu May 23 17:34:24 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6505
6506         * read.c (potable): Add .skip as a synonym for .space.
6507
6508         * stabs.c (s_stab_generic): For PowerPC ELF, allow .stabd to take
6509         4 arguments, providing the 4th argument is 0, to allow
6510         compatibility with the Solaris assembler.
6511
6512 Thu May 16 15:51:48 1996  Ian Lance Taylor  <ian@cygnus.com>
6513
6514         * config/tc-sh.h (struct sh_segment_info_type): Define.
6515         (TC_SEGMENT_INFO_TYPE): Define.
6516         (sh_frob_label): Declare.
6517         (tc_frob_label): Define.
6518         (sh_flush_pending_output): Declare.
6519         (md_flush_pending_output): Define.
6520         * config/tc-sh.c (md_assemble): If relaxing, emit a R_SH_CODE
6521         reloc before the instruction if necessary.
6522         (sh_frob_label): New function.
6523         (sh_flush_pending_output): New function.
6524         (sh_coff_frob_file): Ignore ALIGN, CODE, DATA, and LABEL relocs
6525         when looking for the reloc for the target of .uses.
6526         (md_convert_frag): Fix printf format (%0xlx to 0x%lx).
6527         (sh_force_relocation): Force CODE, DATA, and LABEL relocs to be
6528         emitted.
6529         (md_apply_fix): Ignore CODE, DATA, and LABEL relocs.
6530         (sh_coff_reloc_mangle): Force CODE, DATA, and LABEL relocs to use
6531         the absolute symbol.
6532
6533         * subsegs.h (segment_info_type): Add tc_segment_info_data field if
6534         TC_SEGMENT_INFO_TYPE is defined.
6535
6536 Wed May 15 12:23:53 1996  Ian Lance Taylor  <ian@cygnus.com>
6537
6538         * config/tc-i386.c (md_assemble): Make sure the opcode suffix
6539         matches the register size.
6540
6541 Wed May 15 08:33:37 1996  Jeffrey A Law  (law@cygnus.com)
6542
6543         * config/obj-coff.c (count_entries_in_chain): Ignore Fixups with
6544         fx_done set. 
6545         (do_relocs_for): Likewise.
6546         (fixup_segment): Don't just quit if linkrelax is set.  Try to
6547         apply non pc-relative sym1-sym2 fixups, even if linkrelax is
6548         nonzero.
6549
6550 Fri May 10 14:16:59 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6551
6552         * config/tc-ppc.c (ppc_elf_validate_fix): Allow GOT and section
6553         relative relocations with -mrelocatable.  Also allow unfixed
6554         relocs in .ex_shared.
6555
6556 Tue May  7 11:24:10 1996  Ian Lance Taylor  <ian@cygnus.com>
6557
6558         * config/obj-coff.c (yank_symbols): Check that FNAME_OFFSET is
6559         non-zero before assuming this is a long file name.
6560         (w_strings): Likewise.
6561         (c_dot_file_symbol): Set FNAME_OFFSET to 1 for a long file name.
6562
6563         * config/obj-coff.c (w_strings): Move declaration of i inside
6564         #ifdef block which uses it.
6565
6566 Tue May  7 00:49:58 1996  Jeffrey A Law  (law@cygnus.com)
6567
6568         * config/tc-h8300.c (do_a_fix_imm): Rename last argument to
6569         "relaxmode".  Output relocs which identify various relaxing
6570         possibilities for mov.[bwl] instructions.
6571         (build_bytes): Pass in a relaxing mode to do_a_fix_imm.
6572
6573 Mon May  6 15:26:28 1996  Doug Evans  <dje@canuck.cygnus.com>
6574
6575         * config/tc-arm.h (TC_HANDLES_FX_DONE): Define.
6576         (MD_APPLY_FIX3): Define.
6577         * config/tc-arm.c (my_get_expression): Only watch for bad segments
6578         if OBJ_AOUT.
6579         (md_apply_fix3): Renamed from md_apply_fix.
6580         If pcrel reloc and symbol is in different section, undo effects
6581         of md_pcrel_from.
6582
6583 Sat May  4 12:49:35 1996  Jeffrey A Law  (law@cygnus.com)
6584
6585         * config/tc-hppa.c (hppa_fix_adjustable): Don't adjust
6586         any reloc with an LR% or RR% field selector for SOM.
6587
6588 Sat May  4 11:26:19 1996  Ian Lance Taylor  <ian@cygnus.com>
6589
6590         * Makefile.in: Add subsegs.h to appropriate TARG_CPU_DEP_*
6591         variables.
6592
6593 Fri May  3 17:58:31 1996  Ian Lance Taylor  <ian@cygnus.com>
6594
6595         * config/obj-coff.c (coff_frob_symbol): Don't merge a symbol with
6596         SF_GET_STATICS set.
6597         (yank_symbols): Likewise.
6598
6599 Wed May  1 13:38:17 1996  Ian Lance Taylor  <ian@cygnus.com>
6600
6601         * subsegs.h (segment_info_type): If MANY_SEGMENTS and not
6602         BFD_ASSEMBLER, add name field.
6603         * config/obj-coff.c: Include "libiberty.h".
6604         (coff_header_append): Handle long section names.
6605         (crawl_symbols): Just use the name field for the symbol name,
6606         without worrying about null byte termination.
6607         (w_strings): Handle long section names.
6608         (write_object_file): Likewise.  Also, use the name field, rather
6609         than scnhdr.s_name.
6610         (obj_coff_add_segment): Permit long section names.
6611         (obj_coff_init_stab_section): Use the name field, rather than
6612         scnhdr.s_name.
6613         (adjust_stab_section): Likewise.
6614         * config/te-pe.h (COFF_LONG_SECTION_NAMES): Define.
6615
6616         * config/tc-i960.c (brtab_emit): Don't set fx_im_disp field.
6617         (mem_fmt): Likewise.
6618         (md_apply_fix): Don't check fx_im_disp field.
6619
6620 Thu Apr 25 11:39:51 1996  Ian Lance Taylor  <ian@cygnus.com>
6621
6622         * configure.in: Add * after sparc*-*-vxworks.
6623         * configure: Rebuild.
6624
6625         * app.c (do_scrub_begin): If tc_comment_chars is not defined,
6626         define it to comment_chars.  Use tc_comment_chars rather than
6627         comment_chars.
6628         (do_scrub_chars): Use tc_comment_chars rather than comment_chars.
6629         * config/tc-m68k.h (tc_comment_chars): Define.
6630         (m68k_comment_chars): Declare.
6631         * config/tc-m68k.c (m68k_comment_chars): Rename from
6632         comment_chars.  Change into a pointer rather than an array.
6633         (md_longopts): Add "bitwise-or".
6634         (md_parse_option): Handle OPTION_BITWISE_OR.
6635         (md_show_usage): Mention --bitwise-or.
6636         * doc/c-m68k.texi: Document --bitwise-or.
6637
6638 Wed Apr 24 11:28:38 1996  Ian Lance Taylor  <ian@cygnus.com>
6639
6640         * config/tc-m68k.c (m68k_ip): Prevent attempts to use long offsets
6641         in 68000 mode.
6642
6643         * config/obj-coff.c (obj_coff_section): BFD_ASSEMBLER version:
6644         call demand_empty_rest_of_line.  Non BFD_ASSEMBLER version:
6645         correct handling of input line pointer, and call
6646         demand_empty_rest_of_line.
6647
6648 Mon Apr 22 18:02:37 1996  Doug Evans  <dje@blues.cygnus.com>
6649
6650         * config/tc-sparc.c (in_bitfield_range): New static function.
6651         (sparc_ip): New cases X,Y.  Use SPARC_OPCODE_ARCH_V9_P.
6652         (md_apply_fix, cases BFD_RELOC_32_PCREL_S2,
6653         BFD_RELOC_SPARC_{WDISP16,WDISP19}): Fix undefined code.
6654         (md_apply_fix): New cases BFD_RELOC_SPARC_[56].
6655         (tc_gen_reloc): New cases BFD_RELOC_SPARC_[56].
6656
6657 Thu Apr 18 18:58:33 1996  Ian Lance Taylor  <ian@cygnus.com>
6658
6659         * config/obj-coff.c: BFD_ASSEMBLER:
6660         (coff_last_bf): New static variable.
6661         (coff_frob_symbol): Set endndx of a .bf symbol.
6662         Non BFD_ASSEMBLER:
6663         (obj_coff_endef): Call SF_SET_PROCESS on a .bf symbol.
6664         (last_bfP): New static variable.
6665         (yank_symbols): Set endndx of a .bf symbol.
6666
6667 Thu Apr 18 11:53:58 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6668
6669         * config/tc-ppc.c (md_parse_option): Add support for Solaris's -le
6670         and -s options.  Add -be for good measure.
6671
6672 Wed Apr 17 12:31:01 1996  Ian Lance Taylor  <ian@cygnus.com>
6673
6674         * read.c (s_space): Support non-constant fill value.  Handle fill
6675         value correctly for a size other than 1.
6676
6677 Tue Apr 16 15:17:40 1996  Doug Evans  <dje@canuck.cygnus.com>
6678
6679         * config/tc-arm.c (my_get_float_expression): Update call to
6680         gen_to_words, X_PRECISION changed from 6 to 5.
6681
6682 Tue Apr 16 10:25:42 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6683
6684         * config/tc-ppc.c (register_name,reg_name_search): Move register
6685         name lookup from PE specific code to all targets.  Add support for
6686         -mregnames/-mno-regnames to control whether register names are
6687         expanded or not.
6688         (md_assemble): Call register_name for all platforms.
6689         (md_parse_option): Add support for -mregnames/-mno-regnames.
6690
6691         * configure.in (powerpcle*-*-solaris): Add support.
6692         (powerpc*-*-linux): Ditto.
6693         * configure: Regenerate.
6694
6695         * config/ppc-sol.mt: New config file for PowerPC Solaris.
6696
6697 Mon Apr 15 12:26:33 1996  Ian Lance Taylor  <ian@cygnus.com>
6698
6699         * config/tc-mips.c (mips_frob_file): Permit multiple %hi relocs to
6700         be associated with a single %lo reloc.
6701
6702         * config/tc-mips.c (load_address): Cast X_add_number to valueT
6703         before comparing against MAX_GPREL_OFFSET, so that negative
6704         numbers are handled correctly.
6705         (macro): Likewise.
6706
6707 Thu Apr 11 12:39:02 1996  Ian Lance Taylor  <ian@cygnus.com>
6708
6709         * config/tc-sparc.c (last_insn): New static variable.
6710         (md_assemble): Warn about putting floating point branches in a
6711         delay slot.  If architecture is less than v9, insert NOP
6712         instructions between floating point instructions and floating
6713         point branches.  (The SunOS assembler does both these operations.)
6714         Save the last instruction opcode.
6715         (sparc_ip): Add pinsn parameter.  Change caller.
6716
6717         * config/tc-m68k.c (md_estimate_size_before_relax): Correct check
6718         for byte jump to next instruction to skip empty frags.
6719
6720 Wed Apr 10 16:48:12 1996  Ian Lance Taylor  <ian@cygnus.com>
6721
6722         * config/tc-alpha.c (alpha_ip): If we are going to call emit_add64
6723         for addq with a 16 bit signed value, just emit a lda instruction
6724         instead.
6725
6726 Wed Apr 10 14:34:49 1996  Jeffrey A Law  (law@cygnus.com)
6727
6728         * config/tc-h8300.c (do_a_fix_imm): Don't cut off high bits
6729         of a 32bit operand.
6730
6731 Mon Apr  8 14:42:53 1996  Ian Lance Taylor  <ian@cygnus.com>
6732
6733         * configure.in: Permit --enable-shared to specify a list of
6734         directories.
6735         * configure: Rebuild.
6736
6737 Fri Apr  5 17:01:35 1996  Jeffrey A Law  (law@cygnus.com)
6738
6739         * config/tc-h8300.c (get_specific): Remove some #if 0 code.
6740         (build_bytes): Remove all ABSMOV related code; it's unnecessary.
6741
6742 Fri Apr  5 15:13:10 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6743
6744         * config/atof-ieee.c: Fix handling of denormalized extended
6745         precision numbers and overflow/underflow detection.
6746         (MAX_PRECISION, X_PRECISION, P_PRECISION): Changed from 6 to 5, to
6747         not include the 16 bit gap in the m68k extended precision format.
6748
6749 Fri Apr  5 14:29:23 1996  Ian Lance Taylor  <ian@cygnus.com>
6750
6751         * configure.in: Add i386-*-freebsdelf* target; from John Polstra
6752         <jdp@polstra.com>.
6753         * configure: Rebuild.
6754
6755 Fri Apr  5 18:39:28 1996  James G. Smith  <jsmith@cygnus.co.uk>
6756
6757         * config/tc-mips.c: Allow non-zero offsets from .sdata symbols to
6758         be accessed using the $gp register.
6759         * config/tc-mips.h (MAX_GPREL_OFFSET): Added.
6760
6761 Wed Apr  3 10:56:14 1996  Doug Evans  <dje@canuck.cygnus.com>
6762
6763         * config/tc-sparc.c (sparc_md_end): Set bfd machine number to
6764         bfd_mach_sparc_sparclet if current_architecture is sparclet.
6765
6766 Mon Apr  1 16:55:44 1996  Ian Lance Taylor  <ian@cygnus.com>
6767
6768         * read.c (get_line_sb): Bump line counters based on
6769         input_line_pointer[-1], not *input_line_pointer.  Don't bother to
6770         call LISTING_NEWLINE.
6771         (s_macro): Don't call demand_empty_rest_of_line.
6772         * app.c (do_scrub_chars): When handling C style comments, unget
6773         ch2 rather than ch.
6774
6775 Fri Mar 29 16:15:06 1996  Ian Lance Taylor  <ian@cygnus.com>
6776
6777         * read.h (enum linkonce_type): Define.
6778         (s_linkonce): Declare.
6779         * read.c (potable): Add "linkonce".
6780         (s_linkonce): New function.
6781         * subsegs.h (segment_info_type): Add linkonce field to
6782         MANY_SEGMENTS && ! BFD_ASSEMBLER section.
6783         * config/obj-coff.h (obj_handle_link_once): Define if TE_PE.
6784         (obj_coff_pe_handle_link_once): Declare if TE_PE.
6785         * config/obj-coff.c: If TE_PE and not BFD_ASSEMBLER, #include
6786         "coff/pe.h".
6787         (obj_coff_pe_handle_link_once): New function, defined if TE_PE.
6788         (c_section_symbol): If TE_PE, set the x_comdat field in the aux
6789         entry based on the linkonce field in segment_info.
6790         * doc/as.texinfo: Document .linkonce.
6791
6792 Fri Mar 29 11:31:27 1996  J.T. Conklin  (jtc@lisa.cygnus.com)
6793
6794         * doc/as.1: Changed to be recognized by catman -w on Solaris.
6795
6796 Thu Mar 28 15:27:47 1996  Ian Lance Taylor  <ian@cygnus.com>
6797
6798         * stabs.c (s_stab_generic): Call the listing functions before
6799         doing the rest of the processing, which may involve freeing the
6800         string.  Pass string, not string + stroff, to OBJ_PROCESS_STAB in
6801         SEPARATE_STAB_SECTIONS case.
6802
6803         * config/tc-hppa.c: Remove nested comment.
6804         (tc_gen_reloc): Move label done inside the ifdef in which it is
6805         used.
6806         (md_apply_fix): Pass pointers to correct types to libhppa.h
6807         functions.  Always return a value.
6808
6809         * config/tc-mips.h (tc_frob_file): Define.
6810         (mips_frob_file): Declare.
6811         * config/tc-mips.c (struct mips_hi_fixup): Define.
6812         (mips_hi_fixup_list): New static variable.
6813         (imm_unmatched_hi): New static variable.
6814         (md_assemble): Clear imm_reloc, imm_unmatched_hi, and
6815         offset_reloc.  Pass imm_unmatched_hi to append_insn.
6816         (append_insn): Add unmatched_hi parameter.  If it is set, add the
6817         new fixup to mips_hi_fixup_list.  Change all callers.
6818         (mips_ip): Set imm_unmatched_hi when appropriate.
6819         (mips_frob_file): New function.
6820
6821 Thu Mar 28 11:47:59 1996  Doug Evans  <dje@canuck.cygnus.com>
6822
6823         * configure.in (sparc-*-solaris2*): Renamed from sparc*-*-solaris2*.
6824         * configure: Regenerated.
6825
6826 Tue Mar 26 18:19:12 1996  Ian Lance Taylor  <ian@cygnus.com>
6827
6828         * as.c (main): Call bfd_set_error_program_name.
6829
6830 Fri Mar 22 11:13:00 1996  Ian Lance Taylor  <ian@cygnus.com>
6831
6832         * as.h (strdup): Don't declare.
6833         * stabs.c: Include libiberty.h
6834         (get_stab_string_offset): Use xstrdup rather than strdup.
6835         (s_stab_generic): Likewise.
6836         * as.c (parse_args): Likewise.
6837         * read.c (s_mri_sect): Likewise.
6838
6839         * gasp.c (change_base): Recognize \(...) construct documented to
6840         pass through enclosed characters literally through to the output.
6841         (process_assigns): Likewise.  Also, be more careful to avoid
6842         looking past the end of the buffer.
6843
6844 Thu Mar 21 13:18:43 1996  Ian Lance Taylor  <ian@cygnus.com>
6845
6846         * config/tc-i386.c (md_parse_option): If OBJ_ELF, ignore -k for
6847         FreeBSD compatibility.  From John Polstra <jdp@polstra.com>.
6848
6849 Wed Mar 20 18:13:32 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6850
6851         * doc/as.texinfo, doc/c-i960.texi: Fix typos.
6852
6853 Wed Mar 20 17:05:16 1996  David Mosberger-Tang  <davidm@azstarnet.com>
6854
6855         * config/alpha-opcode.h: Added cvtst instruction.
6856
6857 Mon Mar 18 13:12:46 1996  Ian Lance Taylor  <ian@cygnus.com>
6858
6859         * ecoff.c (ecoff_stab): Don't try to make a symbol out of the stab
6860         string.  Extract the addend from the result of expression.
6861
6862 Fri Mar 15 17:10:43 1996  Ian Lance Taylor  <ian@cygnus.com>
6863
6864         * app.c (do_scrub_chars): If whitespace is seen in state 11, and
6865         LABELS_WITHOUT_COLONS is not defined, and we are not in m68k MRI
6866         mode, change the state to 3 rather than 1.
6867
6868 Thu Mar 14 18:18:25 1996  Ian Lance Taylor  <ian@cygnus.com>
6869
6870         * config/obj-coff.h (C_REGISTER_SECTION): Change from 20 to 50, to
6871         correspond to 11 March change.
6872
6873 Thu Mar 14 15:27:10 1996  Jeffrey A Law  (law@cygnus.com)
6874
6875         * config/tc-h8300.c (build_bytes, MEMIND case): Generate
6876         an R_MEM_INDIRECT reloc rather than R_RELBYTE.
6877
6878 Tue Mar 12 12:21:10 1996  Ian Lance Taylor  <ian@cygnus.com>
6879
6880         * configure: Rebuild with autoconf 2.8.
6881
6882 Mon Mar 11 18:57:12 1996  Ian Lance Taylor  <ian@cygnus.com>
6883
6884         * config/atof-ieee.c (gen_to_words): Improve handling of
6885         X_PRECISION numbers.  Based on patches from Andreas Schwab
6886         <schwab@issan.informatik.uni-dortmund.de>.
6887
6888 Mon Mar 11 09:59:53 1996  Steve Chamberlain  <sac@slash.cygnus.com>
6889
6890         * as.h (SEG_NORMAL, SEG_LIST): Bump segment limit from 10 to 40.
6891         (SEG_LAST): New.
6892         * subsegs.c (MANY_SEGMENTS): Increase segment limit.
6893         * obj-coff.c (seg_N_TYPE, seg_info_off_by_4): Likewise.
6894         (do_relocs_for, w_symbols, obj_coff_add_segment, do_linenos_for,
6895         crawl_symbols, coff_header_append): Loop to SEG_LAST rather than
6896         SEG_E9.
6897         
6898 Thu Mar  7 15:17:39 1996  Doug Evans  <dje@charmed.cygnus.com>
6899
6900         * config/tc-sparc.c (sparc_ip): Handle operand char 'O' (neg reg).
6901
6902 Thu Mar  7 09:19:15 1996  Jeffrey A Law  (law@cygnus.com)
6903
6904         * config/tc-hppa.c (SUBSEG_MILLI): Define.
6905         (pa_def_subspaces): Add $MILLICODE$.
6906         (pa_spaces_begin): Set section flags for $MILLICODE$.
6907
6908 Wed Mar  6 14:11:30 1996  Ian Lance Taylor  <ian@cygnus.com>
6909
6910         * config/obj-elf.c (obj_elf_section): Only SEC_LOAD if the type is
6911         not SHT_NOBITS.  Don't tamper with flags based on type if a
6912         special section was found (revert Feb 29 change).
6913
6914         * config/tc-sh.c (sh_do_align): Only align using the nop pattern
6915         if aligning to a longword boundary or greater.
6916
6917 Tue Mar  5 15:10:43 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
6918
6919         * config/tc-sh.c (sh_do_align): Pass 1 not 2 to frag_align.
6920
6921 Mon Mar  4 20:50:57 1996  Steve Chamberlain  <sac@slash.cygnus.com>
6922
6923         * configure.in (i386-*-cygwin32): Don't use bfd_gas.
6924         * configure: Regenerated.
6925
6926 Mon Mar  4 10:13:06 1996  Jeffrey A Law  (law@cygnus.com)
6927
6928         * config/tc-hppa.c: Add default definitions for R_N0SEL and
6929         R_N1SEL since they're not defined for old versions of hpux.
6930
6931         * config/tc-hppa.c (tc_gen_reloc): Fix typo in R_COMP2 code.
6932         Set "sym_ptr_ptr" and "addend" fields to dummy values for
6933         R_N0SEL and R_N1SEL.
6934
6935 Fri Mar  1 10:20:52 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6936
6937         * flonum-konst.c: Add two more constants for 1e+-2048 and
6938         1e+-4096, and correct the other constants.
6939
6940         * symbols.c (resolve_symbol_value): Handle O_logical_not.
6941
6942 Thu Feb 29 13:58:35 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6943
6944         * config/obj-elf.c (obj_elf_section): Allow predefined section
6945         types to set the nobits type.  Avoid a shadowed declaration.
6946
6947 Wed Feb 28 15:38:56 1996  Jeffrey A Law  (law@cygnus.com)
6948
6949         * config/tc-hppa.c (hppa_fix_adjustable): For SOM, don't
6950         reduce relocs using e_nlrsel field selectors.
6951
6952         * write.c (fix_new_exp): Don't use #elif.  Some compilers
6953         don't handle it.
6954
6955         * config/tc-hppa.c (selector_table): Add "n", "nl", and "nlr" to
6956         the selector table.
6957         (pa_chk_field_selector): Handle new field selectors for SOM.
6958
6959 Tue Feb 27 14:42:27 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6960
6961         * configure.in (m68k-*-linux*aout*, m68k-*-linux*): New targets.
6962         * configure: Rebuild.
6963         * config/te-linux.h (LOCAL_LABELS_FB): Define.
6964         * config/tc-m68k.h (TARGET_FORMAT) [TE_LINUX]: Define to
6965         "a.out-m68k-linux".
6966         * config/tc-m68k.c (comment_chars): Don't include '#' if TE_LINUX
6967         is defined.
6968
6969 Mon Feb 26 18:58:58 1996  Stan Shebs  <shebs@andros.cygnus.com>
6970
6971         * mpw-make.sed: Update to handle shared library support.
6972
6973 Mon Feb 26 10:34:10 1996  Doug Evans  <dje@charmed.cygnus.com>
6974
6975         * config/tc-sparc.c (sparc_ip): Print all architectures that support
6976         the insn on mismatch.
6977
6978 Fri Feb 23 21:44:39 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
6979
6980         * configure.in: Add support for a29-coff.
6981         * configure: Rebuild.
6982
6983 Thu Feb 22 16:39:43 1996  Ian Lance Taylor  <ian@cygnus.com>
6984
6985         * config/tc-sh.c (sh_coff_frob_file): Don't consider the address
6986         of the section when looking for the R_SH_USES fixup, because the
6987         frag addresses have not yet been adjusted.
6988
6989         * gdbinit.in: Set a breakpoint on as_warn_where.
6990
6991         * config/tc-mips.c (macro): Add missing arguments to macro_build
6992         omitted in last change.  From Jim Wilson <wilson@cygnus.com>.
6993
6994 Wed Feb 21 17:00:32 1996  Ian Lance Taylor  <ian@cygnus.com>
6995
6996         * config/tc-h8300.c (tc_reloc_mangle): Change reloc based on size
6997         if it is TC_CONS_RELOC.  Set a size of 4 to R_RELLONG.
6998
6999 Wed Feb 21 09:25:39 1996  Doug Evans  <dje@charmed.cygnus.com>
7000
7001         * config/tc-sparc.c (sparc_ip): Recognize %asr0 for v8.
7002
7003 Tue Feb 20 21:48:03 1996  Doug Evans  <dje@charmed.cygnus.com>
7004
7005         * config/tc-sparc.c (parse_keyword_arg): Accept leading '%'.
7006         (sparc_ip): Accept %asr[1..31] for v8 and %asr[%16..31] for v9.
7007         Recognize [uU] format args as sparclet cpregs.
7008
7009 Tue Feb 20 22:25:55 1996  Ian Lance Taylor  <ian@cygnus.com>
7010
7011         * config/tc-sh.c (sh_handle_align): Don't emit R_SH_ALIGN relocs
7012         in bss_section.
7013
7014 Mon Feb 19 14:16:24 1996  Ian Lance Taylor  <ian@cygnus.com>
7015
7016         * config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): Check S_IS_WEAK as
7017         well as S_IS_EXTERNAL.
7018         (tc_fix_adjustable): Likewise.
7019         * config/tc-sparc.c (md_apply_fix): In OBJ_ELF case, check for
7020         S_IS_WEAK as well as S_IS_EXTERNAL when deciding whether to return
7021         early.
7022         (tc_gen_reloc): Check S_IS_WEAK as wel as S_IS_EXTERNAL when
7023         deciding whether to convert BFD_RELOC_32_PCREL_S2 if PIC.
7024
7025 Mon Feb 19 02:15:57 1996  Doug Evans  <dje@charmed.cygnus.com>
7026
7027         * config/tc-sparc.c (max_architecture): Change to sparclite for
7028         32 bit arch.
7029         (default_compatible): Delete.
7030         (sparc_ffs): New function.
7031         (md_begin): Only call SPARC_OPCODE_CONFLICT_P once.
7032         (sparc_ip): Rewrite architecture match and bump logic.
7033
7034 Sun Feb 18 15:03:50 1996  Ian Lance Taylor  <ian@cygnus.com>
7035
7036         * configure.in: Check for 'do not mix' from native linker before
7037         trying to use -rpath.
7038         * configure: Rebuild.
7039
7040 Fri Feb 16 16:53:31 1996  Ian Lance Taylor  <ian@cygnus.com>
7041
7042         * config/obj-coff.h (SF_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
7043         (SF_GET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
7044         (SF_SET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
7045         * config/obj-coff.c (obj_coff_endef): Set ADJ_LNNOPTR when LNNOPTR
7046         is set.
7047         (w_symbols): If ADJ_LNNOPTR is set, add the section lnnoptr field
7048         to the symbol lnnoptr field, to get the correct file offset.
7049
7050 Thu Feb 15 14:48:38 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
7051
7052         * config/obj-elf.c (elf_frob_symbol): On the PowerPC, force all
7053         symbols that are not function, file, or section symbols to be
7054         object types.
7055
7056 Thu Feb 15 11:20:18 1996  Ian Lance Taylor  <ian@cygnus.com>
7057
7058         * configure: Set and substitute RPATH_ENVVAR.
7059         * configure: Rebuild.
7060         * Makefile.in (RPATH_ENVVAR): New variable.
7061         (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
7062
7063         * configure.in: Accept i686.  From H.J. Lu <hjl@zoom.com>: i386
7064         doesn't need opcodes.  If configuring shared, opcodes needs bfd.
7065         * configure: Rebuild.
7066
7067 Wed Feb 14 16:33:12 1996  Martin Anantharaman  <martin@mail.imech.uni-duisburg.de>
7068
7069         * read.c (s_mri_sect): Don't return '\0' in type.  Set all
7070         appropriate flags in BFD section.
7071
7072         * configure.in (m68k-*-psos*): New target.
7073         * configure: Rebuild.
7074         * config/te-psos.h: New file.
7075         * config/tc-m68k.c (comment_chars): Don't include '#' if TE_PSOS
7076         is defined.
7077
7078 Wed Feb 14 13:43:24 1996  Ian Lance Taylor  <ian@cygnus.com>
7079
7080         From Alan Modra <alan@spri.levels.unisa.edu.au>:
7081         * configure.in: Remove duplicate setting of cpu_type.  Check
7082         whether opcodes library is required for on all targets, not just
7083         primary one.
7084         * configure: Rebuild.
7085
7086         * config/tc-mips.c (mips_big_got): New static variable.
7087         (s_extern): Don't declare.
7088         (reg_needs_delay): New static function.
7089         (macro_build): Permit GOT/CALL_HI/LO relocs.
7090         (macro_build_lui): If place is not NULL, use the number in the
7091         expression.
7092         (load_address): Handle mips_big_got case.
7093         (macro): Handle mips_big_got for M_LA_AB, M_JAL_A, and load and
7094         store macros.
7095         (OPTION_XGOT): Define.
7096         (md_longopts): Add "xgot" if OBJ_ELF.
7097         (md_parse_option): Handle -xgot.
7098         (md_show_usage): Mention -xgot.
7099         (md_apply_fix): Permit GOT/CALL_HI/LO relocs.
7100         (tc_gen_reloc): Handle GOT/CALL_HI/LO relocs.
7101
7102 Wed Feb 14 11:22:27 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7103
7104         * config/tc-m68k.c (m68k_ip) [operand kind '#']: When fixing
7105         the byte relocation, point it to the low byte of the word.
7106
7107 Tue Feb 13 15:31:18 1996  Ian Lance Taylor  <ian@cygnus.com>
7108
7109         * configure.in: Set HDLFLAGS for *-*-hpux with --enable-shared.
7110         * configure: Rebuild.
7111
7112 Mon Feb 12 15:53:46 1996  Doug Evans  <dje@charmed.cygnus.com>
7113
7114         * configure.in: Recognize any sparc* cpu.
7115         * configure: Regenerated.
7116
7117 Mon Feb 12 15:41:21 1996  Ian Lance Taylor  <ian@cygnus.com>
7118
7119         * read.c (potable): Add "mri" and ".mri".
7120         (s_mri): New function.
7121         * read.h (s_mri): Declare.
7122         * app.c (scrub_m68k_mri): New static variable.
7123         (mri_pseudo): New static variable.
7124         (do_scrub_begin): Add m68k_mri parameter.  Use it rather than
7125         flag_m68k_mri.  Initialize scrub_m68k_mri.
7126         (mri_state, mri_last_ch): New static variables.
7127         (struct app_save): Add scrub_m68k_mri, mri_state, and mri_last_ch
7128         fields.
7129         (app_push): Save new fields.
7130         (app_pop): Restore new fields.
7131         (do_scrub_chars): Check scrub_m68k_mri rather than flag_mri_mri.
7132         If TC_M68K, use a trivial state machine to look for occurrences of
7133         the .mri pseudo-op, and change the mode appropriately.
7134         * as.h (do_scrub_begin): Update prototype.
7135         * input-scrub.c (input_scrub_begin): Pass flag_m68k_mri to
7136         do_scrub_begin.
7137         * config/tc-m68k.c (reg_prefix_optional_seen): New static
7138         variable.
7139         (m68k_mri_mode_change): New function.
7140         (md_parse_option): Set reg_prefix_optional_seen.
7141         * config/tc-m68k.h (m68k_mri_mode_change): Declare.
7142         (MRI_MODE_CHANGE): Define.
7143         * doc/as.texinfo: Document .mri pseudo-op.
7144
7145         * app.c (do_scrub_chars): In MRI mode, don't treat '#' as a
7146         comment character.
7147
7148 Mon Feb 12 15:16:29 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7149
7150         Support for OBJ_ELF on m68k, mostly inside #ifdef OBJ_ELF:
7151         * config/m68k-parse.h (enum pic_relocation): Define.
7152         (struct m68k_exp): Add pic_reloc field.
7153         * config/tc-m68k.h (TC_RELOC_RTSYM_LOC_FIXUP): Define.
7154         (tc_fix_adjustable): Define to call tc_m68k_fix_adjustable.
7155         (NO_RELOC): Define to BFD_RELOC_NONE if BFD_ASSEMBLER, to zero
7156         otherwise.
7157         * config/tc-m68k.c: Delete definition of NO_RELOC.
7158         (struct m68k_it): Add pic_reloc field.
7159         (add_fix): Copy over pic_reloc field.
7160         (md_pseudo_table): Interpret .align parameter as byte count.
7161         (mote_pseudo_table): Likewise.
7162         (tc_m68k_fix_adjustable): New function.
7163         (get_reloc_code): New function.
7164         (md_assemble): Use it as last argument to fix_new_exp.
7165         (md_apply_fix_2): For a relocation against a symbol don't put the
7166         addend into the data.
7167         (tc_gen_reloc): Different addend computation for OBJ_ELF.
7168         (m68k_ip): Don't relax an operand that requires pic relocation.
7169         (md_begin): Align .text, .data and .bss on 4 byte boundary by
7170         default.
7171         * write.c (fixup_segment): Don't add symbol value to addend if
7172         TC_M68K and OBJ_ELF.
7173         * config/m68k-parse.y (yylex): Handle @PLTPC, etc.
7174         (motorola_operand): Add rule for `(zapc, EXPR)'.
7175
7176 Mon Feb 12 10:07:33 1996  David Mosberger-Tang  <davidm@azstarnet.com>
7177
7178         * ecoff.c (ecoff_directive_weakext): Fixed so that whitespace
7179         *really* is permissible before the comma.
7180
7181 Mon Feb 12 00:12:13 1996  Ian Lance Taylor  <ian@cygnus.com>
7182
7183         * config/tc-sh.c (sh_do_align): Align to a 2 byte boundary before
7184         inserting nop instructions.
7185
7186 Fri Feb  9 10:54:19 1996  Ian Lance Taylor  <ian@cygnus.com>
7187
7188         * config/te-aux.h: Change include of aux.h to aux-coff.h.
7189
7190 Thu Feb  8 20:02:58 1996  Ian Lance Taylor  <ian@cygnus.com>
7191
7192         * config/tc-i960.c (tc_coff_symbol_emit_hook): Correct storage
7193         class setting for a CALLNAME symbol in COFF.
7194
7195         * read.c (potable): Pass negative numbers for new .balign[wl] and
7196         .p2align[wl] pseudo-ops.
7197         (s_align_bytes): Treat a negative argument as specifying the fill
7198         length.
7199         (s_align_ptwo): Likewise.
7200
7201 Wed Feb  7 14:12:03 1996  Ian Lance Taylor  <ian@cygnus.com>
7202
7203         * read.c (potable): Add balignw, balignl, p2alignw, and p2alignl.
7204         (do_align): Take new len parameter.  Change all callers.  Pass it
7205         to md_do_align.
7206         (s_align_bytes): Arg now indicates the length of the fill pattern.
7207         (s_align_ptwo): Likewise.
7208         * config/obj-coff.c (write_object_file): Pass length to
7209         md_do_align.
7210         * config/tc-i386.h (md_do_align): Take new len parameter.
7211         * config/tc-m88k.h (md_do_align): Likewise.
7212         * config/tc-m88k.c (m88k_do_align): Likewise.
7213         * config/tc-sh.h (md_do_align): Likewise.
7214         * config/tc-sh.c (sh_do_align): Likewise.
7215         * doc/as.texinfo: Document new pseudo-ops.
7216
7217         * config/obj-coff.c (fixup_mdeps): Divide offset by fr_var, as is
7218         done in cvt_frag_to_fill.
7219
7220         * config/tc-sh.h (sh_do_align): Declare.
7221         (md_do_align): Define.
7222         * config/tc-sh.c (sh_do_align): New function.
7223
7224         * ecoff.c (ecoff_build_lineno): Don't try to store the address
7225         difference if the next address is before the current one.
7226
7227         * config/tc-m68k.c (struct m68k_cpu): Add alias field.
7228         (archs): Initialize new field.
7229         (m68k_ip): Don't list alias names when listing CPUs which support
7230         an instruction.
7231
7232         * as.c (main): Call parse_args before read_begin.
7233         * app.c (do_scrub_chars): If flag_m68k_mri, don't put a dot in
7234         front of generated pseudo-ops.
7235         * read.c (potable): Ignore "name".
7236         (s_app_file): Permit a single quote after the string, since one
7237         may appear in m68k MRI mode.
7238
7239         * configure.in: Check for --enable-shared.  If linking against
7240         shared BFD and opcodes, fix library name on SunOS, and try to set
7241         -rpath reasonably.
7242         * configure: Rebuild.
7243
7244 Tue Feb  6 15:16:17 1996  Ian Lance Taylor  <ian@cygnus.com>
7245
7246         * as.h (flag_m68k_mri): Declare.
7247         * as.c (parse_args): If TC_M68K, set flag_m68k_mri for -M.
7248         * Many files: For MRI syntax that is specific to the m68k MRI
7249         assembler, check flag_m68k_mri rather than flag_mri or
7250         MRI_MODE_NEEDS_PSEUDO_DOT.
7251
7252 Mon Feb  5 16:29:11 1996  Ian Lance Taylor  <ian@cygnus.com>
7253
7254         * config/tc-i960.c (ARCH_HX): Define.
7255         (arch_tab): Add HX.
7256         (targ_has_sfr): Handle ARCH_HX.
7257         (targ_has_iclass): Handle ARCH_HX.
7258         (tc_coff_fix2rtype): Add return 0 to avoid warning.
7259         (tc_headers_hook): If the architecture was specified explicitly,
7260         use it when setting the flags.  Set the extern variable coff_flags
7261         rather than headers->filehdr.f_flags, since the latter is set
7262         unconditionally in obj-coff.c.
7263         (i960_handle_align): Remove unused variable fixp.
7264
7265         Support for building bfd and opcodes as shared libraries, based on
7266         patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
7267         * configure.in: Set OPCODES and BFD to search directories.
7268         Substitute OPCODES_DEP and BFDDEP.  On SunOS, set HLDFLAGS.
7269         * configure: Rebuild.
7270         * Makefile.in (LDFLAGS, HLDFLAGS): New variables.
7271         (LIBDEPS): New variable.
7272         (as.new0: Depend upon $(LIBDEPS) rather than $(LIBS).  Use
7273         $(HLDFLAGS) in link.
7274         (check): Set LD_LIBRARY_PATH in the environment.
7275
7276 Fri Feb  2 17:41:53 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
7277
7278         * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Make .sdata2, .sbss2,
7279         .PPC.EMB.sdata0, and .PPC.EMB.sbss0 sections all default to
7280         read-only, not read/write.
7281
7282 Fri Feb  2 14:09:25 1996  Alan Modra  <alan@spri.levels.unisa.edu.au>
7283
7284         * Makefile.in (INSTALL_XFORM): Remove -e.
7285
7286 Fri Feb  2 12:32:15 1996  Ian Lance Taylor  <ian@cygnus.com>
7287
7288         * write.c (write_relocs): Use S_IS_DEFINED and S_IS_COMMON rather
7289         than comparing S_GET_SEGMENT to undefined_section.
7290         (write_object_file): Skip symbols which were equated to an
7291         undefined or common symbol.
7292         * symbols.c (resolve_symbol_value): Use S_IS_DEFINED and
7293         S_IS_COMMON rather than comparing S_GET_SEGMENT to
7294         undefined_section.
7295         (S_GET_VALUE): Likewise.  Avoid recursion problems if S_IS_DEFINED
7296         or S_IS_COMMON call S_GET_VALUE.
7297         * config/obj-aout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER.
7298         * config/obj-aout.c (obj_emit_relocations): If a reloc is equated
7299         to an undefined or common symbol, convert the reloc to be against
7300         the target symbol.
7301         (obj_crawl_symbol_chain): Skip symbols which were equated to an
7302         undefined or common symbol.
7303         * config/obj-bout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER.
7304         * config/obj-bout.c (obj_emit_relocations): If a reloc is equated
7305         to an undefined or common symbol, convert the reloc to be against
7306         the target symbol.
7307         (obj_crawl_symbol_chain): Skip symbols which were equated to an
7308         undefined or common symbol.
7309         * config/obj-coff.c (do_relocs_for): Use S_IS_DEFINED and
7310         S_IS_COMMON rather than comparing S_GET_SEGMENT to
7311         undefined_section.
7312         (yank_symbols): Skip symbols which were equated to an undefined or
7313         common symbol.
7314
7315 Thu Feb  1 15:34:32 1996  Ian Lance Taylor  <ian@cygnus.com>
7316
7317         * config/obj-aout.h (S_IS_LOCAL): Check for \002 as well as \001.
7318         * config/obj-bout.h (S_IS_LOCAL): Likewise.
7319
7320         * configure.in: Make sure we only add m68k-parse.o to
7321         ${extra_objects} once, no matter how many m68k targets have been
7322         enabled.
7323         * configure: Rebuild.
7324
7325 Wed Jan 31 18:31:46 1996  Steve Chamberlain  <sac@slash.cygnus.com>
7326
7327         * configure.in (i386-*-cygwin32, ppc-*-cygwin32): New.
7328         * configure: Rebuild.
7329
7330 Wed Jan 31 14:03:17 1996  Richard Henderson  <rth@tamu.edu>
7331
7332         * config/tc-m68k.c (md_pseudo_table): Add "extend" and "ldouble".
7333         * doc/c-m68k.texi: Document .extend and .ldouble.
7334
7335         * configure.in (m68*-apple-aux*): New target.
7336         * config/te-aux.h: New file.
7337         * config/obj-coff.c (compare_external_relocs): New static function
7338         if TE_AUX.
7339         (do_relocs_for): Sort relocs if TE_AUX.
7340         (fixup_segment): If TE_AUX, store common symbol value in segment.
7341         * config/tc-m68k.h (TARGET_FORMAT): Define if TE_AUX.
7342
7343 Wed Jan 31 12:24:58 1996  Ian Lance Taylor  <ian@cygnus.com>
7344
7345         * config/obj-coff.h (S_IS_LOCAL): Check for \002 as well as \001.
7346
7347         * config/tc-mips.c (s_mips_globl): Set BSF_OBJECT if it is not
7348         BSF_FUNCTION.
7349         (s_cpload): Set BSF_OBJECT for _gp_disp symbol.
7350         * read.c (s_lcomm): If S_SET_SIZE is defined, set the size of the
7351         symbol.
7352         * ecoff.c (add_procedure): Set the BSF_FUNCTION flag.
7353         (ecoff_build_symbols): If S_SET_SIZE is defined, set the size of
7354         an undefined symbol and the size of a function symbol.
7355         * config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT
7356         for all common symbols.
7357
7358 Tue Jan 30 12:35:24 1996  Ken Raeburn  <raeburn@cygnus.com>
7359
7360         * config/tc-i960.c (parse_memop): In MRI mode, don't use implicit
7361         scaling of index.
7362
7363         * expr.c (operand): Accept 0x hex constants in MRI mode if not on
7364         m68k.
7365
7366 Mon Jan 29 12:21:30 1996  Ian Lance Taylor  <ian@cygnus.com>
7367
7368         * config/obj-elf.c (obj_elf_type): Set BSF_OBJECT flag for a type
7369         of object.  From Ronald F. Guilmette <rfg@monkeys.com>.
7370
7371         * ecoff.c (localsym_t): Add addend field.
7372         (add_ecoff_symbol): Add addend argument.  Change all callers.
7373         (coff_sym_value): Make static.
7374         (coff_sym_addend): New static variable.
7375         (ecoff_directive_def): Initialize coff_sym_addend.
7376         (ecoff_directive_val): Accept symbol + constant.
7377         (ecoff_directive_endef): Pass coff_sym_addend to add_ecoff_symbol.
7378         (ecoff_build_symbols): Include the addend in the symbol value.
7379
7380 Fri Jan 26 19:28:52 1996  Kim Knuttila  <krk@cygnus.com>
7381
7382         * config/tc-ppc.c (md_assemble): Ignore overflow on 
7383         BFD_RELOC_16_GOTOFF and BFD_RELOC_PPC_TOC16.
7384
7385 Fri Jan 26 16:14:17 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
7386
7387         * config/tc-ppc.c (md_apply_fix3): SDA21 relocations are now 4
7388         bytes in size, so offset appropriately in big endian mode when
7389         writing the bottom 2 bytes.
7390
7391 Thu Jan 25 20:26:23 1996  Doug Evans  <dje@charmed.cygnus.com>
7392
7393         * config/tc-sparc.c (default_compatible): New static local.
7394         (md_begin): Initialize it.  Rewrite warn_on_bump handling.
7395         (sparc_ip): If no architecture or -bump specified, don't mark as
7396         mismatched those in default_compatible.
7397
7398 Thu Jan 25 12:21:53 1996  Ian Lance Taylor  <ian@cygnus.com>
7399
7400         SCO ELF support from Robert Lipe <robertl@arnet.com>:
7401         * configure.in (i386-*-sco*elf*): Use fmt elf, targ sco5.
7402         * configure: Rebuild.
7403         * config/sco5.mt: New file; set TDEFINES to -DSCO_ELF.
7404         * config/tc-i386.c (sco_id): New function, if SCO_ELF.
7405         * config/tc-i386.h (tc_init_after_args): Define if SCO_ELF.
7406         (sco_id): Declare if SCO_ELF.
7407
7408 Thu Jan 25 03:10:53 1996  Doug Evans  <dje@charmed.cygnus.com>
7409
7410         * config/tc-sparc.c (initial_architecture,can_bump_v9_p): Deleted.
7411         ({max,warn_after}_architecture): New static locals.
7412         (md_begin): Replace NUMOPCODES with sparc_num_opcodes.
7413         If both architecture and -bump requested, set max_architecture to max.
7414         (sparc_md_end): Simplify.
7415         (sparc_ip): Replace references to can_bump_v9_p with max_architecture.
7416         Rewrite code to bump architecture and check for conflicts.
7417         (md_longopts): Recognize -xarch={v8plus,v8plusa} for compatibility
7418         with Solaris assembler.
7419         (md_parse_option): Likewise.  Call sparc_opcode_lookup_arch.
7420         (md_show_usage): Update.
7421
7422 Wed Jan 24 22:11:03 1996  Doug Evans  <dje@charmed.cygnus.com>
7423
7424         * Makefile.in (RUNTEST): Fix reference to $${srcdir}.
7425
7426 Mon Jan 22 09:21:36 1996  Doug Evans  <dje@charmed.cygnus.com>
7427
7428         * config/tc-sparc.h (TARGET_FORMAT): Use #ifdef SPARC_ARCH64 instead of
7429         #ifdef sparcv9 when choosing value.
7430         (ENV64): Delete.
7431         (md_end): Define.
7432         (sparc_md_end): Declare.
7433         * config/tc-sparc.c (SPARC_V9): Renamed from sparcv9.
7434         (initial_architecture): New static local.
7435         (can_bump_v9_p): Likewise.
7436         (NO_V9): Delete all occurrences.
7437         (sparc_md_end): New function.
7438         (sparc_ip): New local v9_arg_p.  Rework fp reg number test.
7439         Don't bump architecture to v9 unless can_bump_v9_p set.
7440         (md_parse_option): -A<arch> passed, set can_bump_v9_p accordingly.
7441         * configure.in (sparc64 target cpu): Don't set obj_format here.
7442         (SPARC_V9): Renamed from sparcv9.
7443         (sparc64-*-elf*): Define SPARC_ARCH64.
7444         * configure: Regenerated.
7445         * acconfig.h (SPARC_V9): Renamed from sparcv9.
7446         (SPARC_ARCH64): Add.
7447         * conf.in: Regenerated.
7448         * config/vmsconf.h: Update.
7449
7450 Mon Jan 22 17:24:47 1996  James G. Smith  <jsmith@cygnus.co.uk>
7451
7452         * config/tc-mips.c (load_register): Optimise "dli" loads.
7453         (md_show_usage): add "-mcpu=vr4100" to help text.
7454
7455 Mon Jan 22 11:53:00 1996  Ian Lance Taylor  <ian@cygnus.com>
7456
7457         * symbols.c (resolve_symbol_value): If a symbol is equated to an
7458         undefined symbol, preserve the X_op of O_symbol.
7459         (S_GET_VALUE): Fix check to permit this case.
7460         * write.c (write_relocs): If a reloc is against an undefined
7461         symbol equated to another symbol, change the reloc to be against
7462         the latter symbol.
7463         * config/obj-coff.c (do_relocs_for): Likewise.
7464
7465         * config/tc-ppc.c (ppc_csect): An unnamed csect is storage class
7466         XMC_PR.
7467
7468 Mon Jan 22 10:59:48 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
7469
7470         * config/obj-elf.c (elf/ppc.h): Include elf/ppc.h if target
7471         computer is PowerPC.
7472
7473         * config/tc-ppc.c (md_apply_fix3): Add more embedded relocations.
7474
7475         * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Add sections
7476         mentioned in the eabi.
7477
7478 Thu Jan 18 17:58:19 1996  Kim Knuttila  <krk@cygnus.com>
7479
7480         * config/tc-ppc.c (ppc_reldata): Changed alignement on reldata_section
7481         * config/tc-ppc.c (ppc_pdata): Changed the alignment on pdata_section
7482
7483 Mon Jan 15 17:43:42 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
7484
7485         * config/tc-ppc.c (mapping): Add more relocation suffixes.
7486
7487 Sun Jan 14 21:29:36 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
7488
7489         * config/tc-ppc.c (ppc_elf_validate_fix): Allow .gcc_except_table
7490         as a section it is ok to have unadorned -mrelocatable pointers in.
7491
7492 Sat Jan 13 11:09:08 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
7493
7494         * config/tc-ppc.c (ppc_section*): Wrap these functions inside
7495         #ifdef OBJ_ELF.
7496
7497 Fri Jan 12 15:32:07 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
7498
7499         * config/obj-elf.c (obj_elf_section): Add hooks so machine
7500         dependent section attributes can be handled.
7501
7502         * config/tc-ppc.h: (md_elf_section_{letter,type,word,flags}): New
7503         macros to add support for exclude section flag and ordered section
7504         type.
7505
7506         * config/tc-ppc.c (ppc_elf_section_{letter,type,word,flags}): New
7507         functions to add support for exclude section flag and ordered
7508         section type.
7509
7510 Fri Jan 12 12:04:00 1996  Ian Lance Taylor  <ian@cygnus.com>
7511
7512         * subsegs.c (section_symbol): Don't try to look up the section
7513         symbol in the hash table.  It should be possible to have a symbol
7514         with the same name as a section, but no connection to it.
7515
7516         * read.c (cons_worker): Only call mri_comment_end from flag_mri.
7517         From James Carlson <carlson@xylogics.com>.
7518
7519         * expr.c (operand): Skip whitespace after a close parenthesis.
7520         From James Carlson <carlson@xylogics.com>.
7521
7522 Tue Jan  2 12:43:23 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
7523
7524         * config/tc-sh.c (md_apply_fix): Call as_bad_where instead of
7525         as_warn_where for relocation overflow.
7526         (parse_reg): Accept register name only if next character is
7527         not alphanumeric.
7528
7529 Sat Dec 30 23:42:51 1995  Jeffrey A Law  (law@cygnus.com)
7530
7531         * ecoff.c (ecoff_stab): Simplify.  Correctly handle sym + offset
7532         addresses for static variables.
7533
7534 Thu Dec 21 12:54:32 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
7535
7536         * config/tc-ppc.c (mapping): Make @got give a real GOT relocation,
7537         and xgot give the old toc16 relocation.
7538         (md_apply_fix3): Support all GOT relocations.
7539
7540 Wed Dec 20 14:57:17 1995  Ian Lance Taylor  <ian@cygnus.com>
7541
7542         * config/tc-mips.c (load_address): Correctly handle a constant in
7543         SVR4_PIC case.  From Richard Kenner <kenner@vlsi1.ultra.nyu.edu>.
7544
7545 Fri Dec 15 14:25:07 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
7546
7547         * config/tc-sh.c (parse_reg): Recognize SH3 registers.
7548         (get_specific): Handle A_SSR, A_SPC and A_REG_B.
7549         (build_Mbytes): Handle REG_B.
7550
7551 Fri Dec 15 16:07:25 1995  Ian Lance Taylor  <ian@cygnus.com>
7552
7553         * ecoff.c (ecoff_build_aux): Use new bfd_big_endian macro.
7554
7555 Fri Dec 15 12:11:48 1995  Raymond Jou  <rjou@mexican.cygnus.com>
7556
7557         * mpw-make.sed: If linking, edit ALL_CFLAGS to CFLAGS.
7558
7559 Thu Dec 14 15:09:52 1995  Ian Lance Taylor  <ian@cygnus.com>
7560
7561         * config/obj-coff.c (write_object_file): Set the s_align field to
7562         the number of bytes, rather than to the power of 2.
7563
7564 Tue Dec 12 12:19:37 1995  Ian Lance Taylor  <ian@cygnus.com>
7565
7566         * Makefile.in (DISTCLEAN_HERE): New variable.
7567         (distclean): Use it.
7568         (maintainer-clean): Depend upon clean-here rather than clean,
7569         distclean, and clean-info.  Run make maintainer-clean in doc.
7570         Remove files listed in DISTCLEAN_HERE.
7571         * doc/Makefile.in (maintainer-clean realclean): Split out from
7572         distclean.  Depend upon clean-info and distclean.
7573
7574 Mon Dec 11 16:23:51 1995  Stan Shebs  <shebs@andros.cygnus.com>
7575
7576         * mac-as.r: Fix copyright and version strings.
7577         (cfrg): Use PROG_NAME instead of literal name.
7578
7579 Mon Dec 11 14:14:08 1995  Ian Lance Taylor  <ian@cygnus.com>
7580
7581         * read.c (read_a_source_file): If tc_unrecognized_line is defined,
7582         call it.
7583         * config/tc-a29k.h (tc_unrecognized_line): Define.
7584         * config/tc-a29k.c (a29k_unrecognized_line): New function.
7585         (md_operand): Handle a29k style local dollar labels.
7586
7587 Wed Dec  6 17:52:52 1995  Ian Lance Taylor  <ian@cygnus.com>
7588
7589         * config/obj-multi.h: If OBJ_MAYBE_ELF, define OBJ_SYMFIELD_TYPE.
7590
7591 Tue Dec  5 13:26:34 1995  Ken Raeburn  <raeburn@cygnus.com>
7592
7593         * read.c (s_fill): If md_flush_pending_output is defined, call
7594         it.
7595
7596 Mon Dec  4 15:10:53 1995  Ken Raeburn  <raeburn@cygnus.com>
7597
7598         * config/obj-coff.c (size_section, fill_section, fixup_mdeps):
7599         Treat rs_align_code like rs_align.
7600
7601 Sun Dec  3 16:46:54 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
7602
7603         * config/tc-arm.c (cp_address_required_here): Set pre_inc when
7604         converting an absolute address into a PC-relative one.
7605
7606 Fri Dec  1 11:57:56 1995  Stan Shebs  <shebs@andros.cygnus.com>
7607
7608         * mpw-config.in: Don't always use te-generic.h for emulation.
7609         (powerpc-apple-macos): Use emulation te-macos.h.
7610         * mpw-make.sed (install, install-only): Edit in Mac-specific
7611         install procedure.
7612
7613 Fri Dec  1 10:59:25 1995  Ian Lance Taylor  <ian@cygnus.com>
7614
7615         * configure.in: Improve message about unsupported ELF targets.
7616         * configure: Rebuild.
7617
7618         * config/tc-m88k.c (m88k_do_align): Correct check for whether fill
7619         pattern is zero.  From Manfred Hollstein.
7620
7621 Thu Nov 30 13:25:49 1995  Kim Knuttila  <krk@cygnus.com>
7622
7623         * config/tc-ppc.c (ppc_pe_section): To get the alignment right for
7624         the various idata sections, we check the name on the .section pseudo.
7625
7626 Thu Nov 30 11:23:42 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
7627
7628         * config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not
7629         add section's paddr to add_number; compatibility to native as and
7630         ld forbids.
7631
7632 Wed Nov 29 23:14:27 1995  Ken Raeburn  <raeburn@cygnus.com>
7633
7634         * configure.in: Treat m68k-sysv4 like m68k-elf, not m68k-sysv3.
7635
7636         * hash.c (struct hash_entry): Moved here...
7637         * hash.h (struct hash_entry): ...from here.
7638
7639         * config/obj-elf.c (elf_frob_symbol): Don't free and clear sy_obj
7640         if it's already known to be null.
7641
7642 Wed Nov 29 13:00:20 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
7643
7644         * config/tc-ppc.c (md_apply_fix3): Don't adjust the value for 32
7645         bit relocs converted to PC relative relocs.  This turned out to
7646         add the offset from the beginning of .text twice.
7647
7648 Tue Nov 28 10:42:36 1995  Ken Raeburn  <raeburn@cygnus.com>
7649
7650         * stabs.c (s_stab_generic): In 's' case, free string from
7651         obstack.
7652
7653         * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Remove unused field
7654         sy_name_offset.
7655         * config/obj-multi.h (ELF_TARGET_SYMBOL_FIELDS) [OBJ_MAYBE_ELF]:
7656         Ditto.
7657
7658         * subsegs.h (segment_info_type): Make bitfields unsigned.
7659
7660         * expr.h (struct expressionS): Make X_op and X_unsigned bitfields,
7661         and move them together.  On most systems this will reduce the
7662         structure size by one word.
7663         (operatorT): Define O_max.
7664         * expr.c (expr_begin): Verify that X_op is wide enough to hold
7665         O_max.
7666
7667         * read.c (pop_insert): Print error returned by hash table
7668         insertion code.
7669
7670         * as.c (dump_statistics): Split out from main; dump some hash
7671         table stats and target-specific stats.
7672         (start_time): No longer automatic to main.
7673         (main): Set file-level start_time and call dump_statistics at
7674         exit.  Exit by calling xexit.
7675         (show_usage): Make --statistics description less specific.
7676         * subsegs.c (subsegs_print_statistics): New function.
7677         * write.c (write_print_statistics): New function.
7678         (n_fixups): New static variable.
7679         (fix_new_internal): Increment it.
7680         * read.c (read_print_statistics): New function.
7681         * read.h (read_print_statistics): Declare.
7682         * symbol.c (symbol_print_statistics): New function.
7683         * symbol.h (symbol_print_statistics): Declare.
7684         * hash.c (hash_print_statistics): New function.
7685         * hash.h (hash_print_statistics): Declare.
7686         * config/tc-i386.c (i386_print_statistics): New function.
7687         * config/tc-i386.h (i386_print_statistics): Declare.
7688         (tc_print_statistics): New macro.
7689         * messages.c (as_fatal, as_assert, as_abort): Use xexit, not
7690         exit.
7691
7692         * hash.c (DELETED): Rewrite to use a valid but unique address.
7693         (START_POWER): Reduce to 10.
7694         (enum stat_enum): New enumerator, replacing STAT_* index macros.
7695         Add new values for counting strcmp calls.
7696         (GROW_FACTOR): New macro.
7697         (hash_grow): Use GROW_FACTOR.  Rewrite for quick returns instead
7698         of nesting blocks.
7699         (FULL_VALUE): New macro.  Use 1/4 of table size instead of 1/2.
7700         (hash_new): Use FULL_VALUE.
7701         (struct hash_control): Definition moved here.
7702         (hash_code): Don't mask to low bits.
7703         (hash_ask): Mask returned hash code here.  Check hash value before
7704         calling strcmp; count strcmp calls.
7705         * hash.h (struct hash_control): Declare, don't define, here.
7706         (HASH_STATLENGTH): Deleted.
7707         (struct hash_entry): Add field for hash code.
7708         (hash_say, hash_apply): Don't declare.
7709
7710         * hash.c (destroy): Return void.
7711         (applicatee): Ditto.
7712         (main): Fix declarations.
7713         (hash_apply): Return void.  Argument `function' returns void.  Put
7714         inside "#ifdef TEST".
7715         (hash_say): Define only if TEST is defined.
7716         * hash.h (hash_apply, hash_say): Declarations deleted.
7717
7718 Mon Nov 27 13:18:25 1995  Ian Lance Taylor  <ian@cygnus.com>
7719
7720         * configure: Rebuild with autoconf 2.7.
7721
7722 Tue Nov 21 18:39:01 1995  Ian Lance Taylor  <ian@cygnus.com>
7723
7724         * aclocal.m4 (AC_PROG_CC): Remove local definition.
7725         * configure: Rebuild with autoconf 2.6.
7726
7727 Mon Nov 20 17:26:00 1995  Ian Lance Taylor  <ian@cygnus.com>
7728
7729         * config/tc-ppc.c (ppc_debug_name_section_size): Remove.
7730         (ppc_stabx): Don't increment ppc_debug_name_section_size.
7731         (ppc_bc): Likewise.
7732         (ppc_frob_file): Remove.
7733         * config/tc-ppc.h (tc_frob_file): Don't define.
7734         (ppc_frob_file): Don't declare.
7735
7736 Mon Nov 20 13:37:05 1995  Ken Raeburn  <raeburn@cygnus.com>
7737
7738         * Makefile.in (TARG_CPU_DEP_alpha): Mention alpha-opcode.h.
7739         * config/alpha-opcode.h: Include one-operand variants of jmp and
7740         jsr.
7741
7742         * config/te-delt88.h: Renamed from te-delta88.h, to avoid conflict
7743         with te-delta.h in 8.3 file systems.
7744         * configure.in: Adjusted.
7745
7746 Thu Nov 16 12:49:38 1995  Ian Lance Taylor  <ian@cygnus.com>
7747
7748         * config/tc-mips.c (s_err): Remove; just use the one in read.c.
7749
7750         * config/m68k-parse.y (yylex): In MRI mode, '@' can start an octal
7751         number.
7752         * expr.c (operand): Handle MRI suffixes after unadorned 0.
7753
7754 Thu Nov 16 00:21:44 1995  Ken Raeburn  <raeburn@cygnus.com>
7755
7756         Version 2.6 released.
7757         * Makefile.in (VERSION): Updated to 2.6.
7758
7759         * config/obj-coff.c (write_object_file): Change use of md_do_align
7760         to pass a pointer rather than a fill value, to match other uses.
7761
7762 Wed Nov 15 03:52:00 1995  Ken Raeburn  <raeburn@cygnus.com>
7763
7764         * config/tc-ns32k.h (TC_FIX_TYPE): Add missing semicolon.
7765
7766         * as.c (main): Move md_end call to just after call to
7767         perform_an_assembly_pass.  Delete cpu-specific code here.
7768         * config/tc-i960.h (md_end): New macro, calls brtab_emit.
7769         * config/tc-arm.c (md_end): Unused function deleted.
7770         * config/tc-ns32k.c (md_end): Ditto.
7771
7772         * config/tc-i386.c (i386_align_code): New function, moved here
7773         from HANDLE_ALIGN macro.
7774         * config/tc-i386.h (HANDLE_ALIGN): Call it.
7775
7776         Mon Jul 31 14:53:19 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
7777
7778         * config/tc-i386.h (md_do_align): cast fill and 0x90 to char
7779         before comparing
7780
7781         Mon May  1 10:91:49 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
7782
7783         * config/tc-i386.h (md_do_align):  Make ".align n,0x90" generate
7784         multi-byte nops to avoid changing gcc.  The necessary gcc change
7785         might break old assemblers.
7786
7787         Sat Apr 22 20:53:05 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
7788
7789         * config/tc-i386.h (md_do_align, HANDLE_ALIGN):  Add macros to
7790         generate optimal multi-byte nop instructions for ".align n"
7791         ".align n,0x90", and aligns requiring more than 15 bytes of
7792         padding still generate multiple 0x90's as before.
7793
7794 Mon Nov 13 17:40:21 1995  Ian Lance Taylor  <ian@cygnus.com>
7795
7796         * config/tc-m68k.c (s_mri_until): Call pop_mri_control.
7797
7798 Mon Nov 13 20:39:06 1995  Stan Shebs  <shebs@andros.cygnus.com>
7799
7800         * configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations.
7801         * configure: Update.
7802         * mpw-make.sed: Reorder commands to make sed happier.
7803         * config/te-macos.h: New file.
7804         * config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac.
7805
7806 Sun Nov 12 21:14:56 1995  Jeffrey A Law  (law@cygnus.com)
7807
7808         * config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for
7809         conditional branches.
7810         (md_apply_fix): Likewise.
7811
7812 Thu Nov  9 16:14:01 1995  Ian Lance Taylor  <ian@cygnus.com>
7813
7814         * config/tc-a29k.c (md_apply_fix): Warn if an attempt is made to
7815         generate a reloc which the linker will not handle correctly.  Fix
7816         overflow checking--R_IREL is 18 bits, not 17.
7817
7818 Wed Nov  8 19:59:36 1995  Ian Lance Taylor  <ian@cygnus.com>
7819
7820         * config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from
7821         from a PC relative reloc if TC_A29K.
7822
7823         * config/tc-a29k.c (line_separator_chars): Restore '@'.  Existing
7824         code depends upon it.
7825
7826         * config/tc-a29k.c (md_operand): Handle $float, $double, and
7827         $extend.  Based on code from Eric Freudenthal
7828         <freudenthal@nyu.edu>.
7829         * config/tc-a29k.h (LEX_DOLLAR): Define.
7830         * read.c (LEX_DOLLAR): Define if not defined.
7831         (lex_type): Use LEX_DOLLAR.
7832
7833 Wed Nov  8 16:38:14 1995  Eric Freudenthal <freudenthal@nyu.edu>
7834
7835         * configure.in (a29k-nyu-sym1): New target, just like other a29k
7836         targets.
7837
7838 Wed Nov  8 11:38:48 1995  Ian Lance Taylor  <ian@cygnus.com>
7839
7840         * config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return.
7841
7842 Tue Nov  7 09:14:35 1995  Kim Knuttila  <krk@cygnus.com>
7843
7844         * config/tc-ppc.c (md_apply_fix3): Added BFD_RELOC_RVA. Currently
7845         used only by "dlltool.c".
7846
7847 Mon Nov  6 18:51:26 1995  Ian Lance Taylor  <ian@cygnus.com>
7848
7849         * config/tc-alpha.c: Undefine inline if not __GNUC__.
7850         (md_pseudo_table): Don't define "extern".
7851
7852 Sat Nov  4 00:51:21 1995  Ian Lance Taylor  <ian@cygnus.com>
7853
7854         * config/tc-ppc.c (ppc_biei): Force symbol into text_section.
7855
7856         * config/tc-ppc.c (md_show_usage): Put backslash at end of line.
7857
7858 Fri Nov  3 13:02:59 1995  Ian Lance Taylor  <ian@cygnus.com>
7859
7860         * macro.c (macro_expand_body): Don't warn about == with a
7861         nonexistent parameter, in case it is in a comment field.
7862
7863         * as.c (main): On TC_A29K, call macro_init with macro_alternate
7864         set to 1.
7865         * macro.c (get_any_string): Don't keep quotes if macro_strip_at is
7866         set, even if macro_alternate is set.
7867         (get_apost_token): If macro_strip_at, only skip kind if it is '@'.
7868         (sub_actual): If macro_strip_at, and kind is '@', don't look up
7869         the token unless it ended in '@'.
7870         * config/tc-a29k.c (line_separator_chars): Remove '@'.
7871         * doc/c-a29k.texi: Document macro usage on A29K.
7872
7873 Thu Nov  2 23:07:57 1995  Ian Lance Taylor  <ian@cygnus.com>
7874
7875         * config/tc-m68k.c (m68k_ip): Handle new 'W' place, meaning a
7876         signed word.
7877         (install_operand): Likewise.
7878
7879         * config/obj-elf.c (ecoff_debug_pseudo_table): Add "extern".
7880
7881 Wed Nov  1 15:17:02 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
7882
7883         * configure.in (m88k-motorola-sysv*): New target.
7884         * configure: Rebuild.
7885         * config/te-delta88.h: New file.
7886         * config/obj-coff.c (write_object_file): Use md_do_align if it is
7887         defined.
7888         * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define.
7889         (md_do_align): Define.
7890         * config/tc-m88k.c: Include "subsegs.h".
7891         (m88k_do_align): New function.
7892
7893         * config/te-delta.h (STRIP_UNDERSCORE): Don't define.
7894         (COFF_NOLOAD_PROBLEM): Define.
7895         (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): Define.
7896
7897 Wed Nov  1 16:07:43 1995  Ken Raeburn  <raeburn@cygnus.com>
7898
7899         * config/tc-i386.c (md_assemble): For a jump instruction with
7900         non-constant target, require 7 available bytes in the current
7901         frag, not 6.
7902
7903 Tue Oct 31 15:37:16 1995  Fred Fish  <fnf@rtl.cygnus.com>
7904
7905         * config/obj-elf.h: Include bfd/elf-bfd.h rather than
7906         bfd/libelf.h.
7907
7908 Tue Oct 31 16:34:28 1995  David Mosberger-Tang  <davidm@azstarnet.com>
7909
7910         * configure.in (alpha-*-linux*): Use ecoff.
7911         * configure: Rebuild.
7912         * ecoff.c (ecoff_directive_extern): New function.
7913         (ecoff_directive_weakext): New function.
7914         (ecoff_build_symbols): Handle weak symbols.
7915         (ecoff_setup_ext): Likewise.
7916         (ecoff_frob_symbol): Warn about weak common symbols.
7917         * ecoff.h (ecoff_directive_extern): Declare.
7918         (ecoff_directive_weakext): Declare.
7919         * symbols.c (S_IS_WEAK): New function.
7920         * symbols.h (S_IS_WEAK): Declare.
7921         * config/obj-ecoff.c (obj_pseudo_table): Add "extern" and
7922         "weakext".
7923         * config/tc-mips.c (mips_pseudo_table): Remove "extern".
7924         (s_extern): Remove.
7925
7926 Tue Oct 31 13:29:08 1995  Ian Lance Taylor  <ian@cygnus.com>
7927
7928         * config/tc-ppc.c (ppc_lglobl): Do the right thing.
7929
7930         * config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS.
7931         (ppc_eb): Likewise.  Set the storage class to C_BLOCK, not C_FCN.
7932         (ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT.
7933         * config/obj-coff.c (coff_frob_symbol): Don't call
7934         SA_SET_SYM_ENDNDX with the current symbol; call it with the next
7935         one.  If OBJ_XCOFF, try to figure out whether the symbol is going
7936         to be dropped.
7937
7938         * config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec".
7939         (ppc_stab_symbol): New static variable.
7940         (ppc_change_csect): Check that ppc_toc_csect is not NULL.
7941         (ppc_stabx): Set ppc_stab_symbol around call to symbol_make.  Set
7942         sy_tc.real_name to the stab string.
7943         (ppc_bc, ppc_ec): New static functions.
7944         (ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't
7945         do anything.
7946         (ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a
7947         suffix.
7948         (ppc_frob_symbol): Set BSF_NOT_AT_END for symbols with csect aux
7949         entries.
7950
7951         * input-scrub.c (input_scrub_push): Reset sb_index.
7952
7953 Mon Oct 30 17:52:46 1995  Ian Lance Taylor  <ian@cygnus.com>
7954
7955         * listing.c (listing_newline): Don't create a frag in the absolute
7956         section.
7957
7958 Sat Oct 28 01:02:05 1995  Ian Lance Taylor  <ian@cygnus.com>
7959
7960         * config/tc-ppc.c (md_pseudo_table): Add "data" and "text".
7961         (ppc_csect): Move most of the code to ppc_change_csect, and call
7962         it.
7963         (ppc_change_csect): New static function, taken from ppc_csect.
7964         (ppc_section): New static function.
7965         (ppc_saw_abs): New static varable.
7966         (ppc_frob_symbol): Create aux entry for absolute symbols.  Warn if
7967         a symbol has no csect.
7968         (ppc_adjust_symtab): New function.
7969         * config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF.
7970         (ppc_adjust_symtab): Declare if OBJ_XCOFF.
7971
7972         * write.c (write_object_file): If tc_adjust_symtab is defined,
7973         call it just before the call to obj_adjust_symtab.
7974
7975         * symbols.c (symbol_find_or_make): Change name to be const.
7976         * symbols.h (symbol_find_or_make): Update declaration.
7977
7978 Thu Oct 26 19:18:27 1995  Ken Raeburn  <raeburn@cygnus.com>
7979
7980         * doc/as.texinfo (Align): Mention SH.
7981         * doc/c-m68k.texi (M68K-Directives, .even): Describe behavior, not
7982         .align value.
7983         * doc/c-z8k.texi (Z8000 Directives, global): Fix minor typo.
7984         (Z8000 Directives, even): Don't give numeric align value, instead
7985         explain behavior.
7986
7987 Thu Oct 26 11:45:03 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
7988
7989         * tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a pre-increment
7990         instruction.
7991
7992 Wed Oct 25 11:59:24 1995  Per Bothner  <bothner@kalessin.cygnus.com>
7993
7994         * Makefile.in (diststuff):  Also make info.
7995         (maintainer-clean realclean):  Also make clean-info.
7996
7997 Tue Oct 24 15:21:33 1995  Jeffrey A Law  (law@cygnus.com)
7998
7999         * config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode.
8000         (pa_subspace): For ".nsubspa", always create a new subspace
8001         with the given attributes, even if one already exists with the
8002         same name.
8003
8004 Tue Oct 24 14:50:38 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
8005
8006         * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Rename from
8007         TC_FORCE_RELOCATION, taking an additional section argument.  If
8008         the section of the target symbol is not the same as the current
8009         section, always force the relocation to be used.
8010         (MD_PCREL_FROM_SECTION): New macro to call md_pcrel_from_section.
8011
8012         * config/tc-ppc.c (md_pcrel_from_section): Rename from the
8013         md_pcrel_from function, taking an additional section argument.
8014         Invoke TC_FORCE_RELOCATION_SECTION instead of TC_FORCE_RELOCATION.
8015
8016         * write.c (TC_FORCE_RELOCATION_SECTION): Define in terms of the
8017         older TC_FORCE_RELOCATION if not defined.
8018         (MD_PCREL_FROM_SECTION): If not defined, invoke md_pcrel_from.
8019         (fixup_segment): Use MD_PCREL_FROM_SECTION instead of
8020         md_pcrel_from, and TC_FORCE_RELOCATION_SECTION instead of
8021         TC_FORCE_RELOCATION.
8022         
8023 Mon Oct 23 16:20:04 1995  Ken Raeburn  <raeburn@cygnus.com>
8024
8025         * input-scrub.c (as_where): Set name to null pointer if we don't
8026         have a file name.
8027         * messages.c (identify): Only print filename if non-null.
8028         (as_show_where): Ditto, for line number too.
8029         (as_warn_internal, as_bad_internal): Ditto.
8030
8031         * input-file.c (input_file_open): If the input file can't be
8032         opened, consider it an error.
8033
8034 Mon Oct 23 11:15:44 1995  James G. Smith  <jsmith@pasanda.cygnus.co.uk>
8035
8036         * config/tc-mips.c: Added mips_4100 control, and support for
8037         accepting the 4100 as a MIPS architecture variant (md_begin,
8038         macro_build, mips_ip, md_parse_option). Adding suitable
8039         command-line OPTIONs, and updating the help text (md_show_usage).
8040         
8041 Wed Oct 18 13:20:32 1995  Ken Raeburn  <raeburn@cygnus.com>
8042
8043         * subsegs.c (subseg_begin): Only set absolute_frchain.fix_* when
8044         BFD_ASSEMBLER is defined.
8045
8046         * Use one active frag and one obstack per frag chain:
8047         * frags.c (frags): Variable deleted.
8048         (frag_alloc): New function.
8049         (frag_grow, frag_more, frag_variant, frag_now_fix,
8050         frag_append_1_char): Refer to frchain_now->frch_obstack instead of
8051         frags variable.
8052         (frag_new): Ditto.  Verify that frch_last and frag_now match on
8053         entry and exit, and that old frag_now has non-zero type.  Replace
8054         "know" uses with "assert".  Use frag_alloc instead of mucking with
8055         obstack alignment.
8056         * frags.h (frags): Declaration deleted.
8057         * subsegs.h (struct frchain): Add new field frch_frag_now.
8058         * subsegs.c (frchains, dummy_frag, absolute_frchain): New static
8059         variables.
8060         (subsegs_begin): Initialize frchains obstack.  Under gcc, don't
8061         give it any stricter alignment than frchainS structures need.  Do
8062         not initialize frags obstack.  Set frag_now to point to
8063         dummy_obstack.  Initialize absolute_frchain.
8064         (subseg_set_rest): Save and restore frag_now in frch_frag_now
8065         field of frchainS.  Don't create new frags on section switch, and
8066         use frag_alloc when creating a new frag chain.  For absolute
8067         section, set frchain_now to absolute_frchain.  Verify that
8068         frch_last and frag_now match on entry and exit.  Initialize
8069         per-chain obstack, and under gcc, set required alignment to that
8070         needed by fragS structure.
8071
8072         * write.c (chain_frchains_together_1): Verify fr_type is nonzero.
8073
8074         * stabs.c (get_stab_string_offset): Only copy input string if a
8075         fresh copy is needed, not if the section already exists.
8076         (s_stab_generic): Cache stab section name to bypass lookups, since
8077         usually it will match.  Could be made faster still by changing the
8078         memory allocation rules.
8079         (s_xstab): Cache section name to bypass repeated string
8080         allocation.
8081
8082         * frags.c (frag_new): Deleted register declarations.
8083
8084         * listing.c (frag_now): Don't declare.
8085
8086         * as.c (chunksize): New variable.
8087         (debug_memory): New variable.
8088         (main): If debug_memory is set, reduce chunksize and
8089         _bfd_chunksize.
8090         * as.h (chunksize): Declare it.
8091         * read.c (read_begin): Use it.
8092
8093         * config/tc-alpha.c (md_shortopts): Include 'g'.
8094         (md_parse_option): Ignore it.
8095
8096         * Makefile.in (distclean): Remove Makefile and config.status from
8097         testsuite directory.
8098         (clean-here): Don't delete testsuite.  Instead, delete only the
8099         files within it that would be generated by running tests.
8100
8101         * config/tc-hppa.c (hppa_elf_mark_end_of_function): Call
8102         frag_now_fix instead of accessing obstack info directly.
8103         * config/tc-arm.c (s_ltorg): Ditto.
8104         (md_assemble): Ditto.
8105
8106         * config/tc-i386.c (md_assemble): Call frag_grow instead of
8107         obstack_room.
8108
8109 Wed Oct 18 12:22:59 1995  Ken Raeburn  <raeburn@cygnus.com>
8110
8111         * stabs.c (aout_process_stab): Insert debug symbol into symbol
8112         chain after parsing value expression, if any, to avoid separating
8113         continued .stabs lines.
8114
8115 Mon Oct 16 10:56:41 1995  Ian Lance Taylor  <ian@cygnus.com>
8116
8117         * config/tc-mips.c (mips_elf_pseudo_table): Remove.
8118         (mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table.
8119
8120 Mon Oct 16 07:07:37 1995  Michael Meissner  <meissner@wogglebug.tiac.net>
8121
8122         * config/tc-ppc.c (md_begin): Use new flags PPC_OPCODE_COMMON for
8123         -mcom support and PPC_OPCODE_ANY for -many.
8124         (md_parse_option): Ditto.
8125         (ppc_arch): Ditto.
8126         (md_begin): For duplicate instructions, print all duplicates
8127         before aborting.
8128
8129 Sun Oct 15 22:06:14 1995  Michael Meissner  <meissner@cygnus.com>
8130
8131         * config/tc-ppc.c (md_parse_option): Support for -mcom to turn on
8132         common mode operation.
8133         (md_show_usage): Add -mcom to usage message.
8134
8135 Fri Oct 13 13:32:45 1995  steve chamberlain  <sac@slash.cygnus.com>
8136
8137         * expr.c (op_rank): Add O_symbol_rva.
8138         * expr.h (operatorT): Add O_symbol_rva.
8139         * read.c (cons_worker): Set O_symbol_rva when necessary.
8140         * write.c (fix_new_exp): Understand O_symbol_rva.
8141
8142 Tue Oct 10 11:34:14 1995  Ian Lance Taylor  <ian@cygnus.com>
8143
8144         * config/tc-mips.c: Correct s_cons arguments.  From Michael
8145         Joosten <joost@ori.cadlab.de>.
8146
8147 Mon Oct  9 19:59:53 1995  Ian Lance Taylor  <ian@cygnus.com>
8148
8149         * config/tc-ppc.c (ppc_macro): Make count unsigned.
8150         (ppc_biei): Set segment to now_seg and value to coff_n_line_nos.
8151         (ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting
8152         the fix_line field.
8153         * config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and
8154         make non-static.  Change all users.
8155         * config/obj-coff.h (coff_n_line_nos): Declare.
8156
8157 Fri Oct  6 16:24:27 1995  Ken Raeburn  <raeburn@cygnus.com>
8158
8159         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8160
8161         * configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message.
8162
8163         * config/obj-elf.c (obj_elf_common): Convert specified byte
8164         alignment to power of two.  Set size of local bss symbol.
8165
8166         * config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name.
8167
8168 Fri Oct  6 15:22:25 1995  Ian Lance Taylor  <ian@cygnus.com>
8169
8170         * sb.c, macro.c: Decide whether to include <string.h> or
8171         <strings.h> just as as.h does.
8172
8173 Fri Oct  6 09:55:33 1995  Doug Evans  <dje@canuck.cygnus.com>
8174
8175         * Makefile.in (site.exp): Fix setting of $srcdir.
8176
8177         * config/tc-arm.c (md_atof): Fix little-endian output.
8178         * config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for
8179         all coff targets.
8180
8181 Thu Oct  5 20:17:30 1995  Ken Raeburn  <raeburn@cygnus.com>
8182
8183         * doc/as.texinfo: Split out the NS32k family documentation,
8184         despite its being commented out for now.
8185         * doc/c-ns32k.texi: New file.
8186
8187         * sb.c, macro.c: Include string.h.
8188
8189         * Makefile.in (comparison): Only check *.o; we don't care if
8190         timestamps inserted by the native linker differ.
8191
8192         * config/tc-alpha.c (alpha_align): Only fill with a no-op pattern
8193         if alignment stricter than 4 bytes is requested; in that case,
8194         align to a 4-byte boundary first.
8195
8196         Thu Sep 28 19:35:27 1995  Pat Rankin  <rankin@eql.caltech.edu>
8197
8198         * config/obj-vms.c (VMS_RSYM_Parse): eliminate "might be used
8199         uninitialized" warning for `Max_Source_Offset'.
8200
8201 Wed Oct  4 16:17:02 1995  Kim Knuttila  <krk@cygnus.com>
8202
8203         * config/tc-ppc.c (parse_toc_entry): New function to parse [toc]
8204         qualifiers and detect errors if present.
8205         (md_assemble): Add call to parse_toc_entry. Also added some support
8206         for the [tocv] qualifier.
8207         (ppc_pe_tocd): New function to support data in the toc section.
8208
8209 Wed Oct  4 14:03:39 1995  Ian Lance Taylor  <ian@cygnus.com>
8210
8211         * config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for
8212         an absolute symbol.
8213
8214 Tue Oct  3 12:18:19 1995  Ian Lance Taylor  <ian@cygnus.com>
8215
8216         * config/tc-m68k.c (isword): Accept all values from -65536 to
8217         +65535, so ~VAL will not be rejected.
8218
8219         * cond.c (s_endif): Call demand_empty_rest_of_line.  In MRI mode,
8220         skip characters after the pseudo-op.
8221         (s_else): Likewise.
8222         * read.c (get_line_sb): Don't look past buffer_limit.
8223         (s_include): In MRI mode, skip characters after the file name.
8224
8225 Mon Oct  2 16:15:27 1995  Ian Lance Taylor  <ian@cygnus.com>
8226
8227         * config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit
8228         periods in register names.
8229
8230 For older changes see ChangeLog.1.