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