Add tag support. Error for dangling qualifying predicates.
[external/binutils.git] / gas / ChangeLog
1 2000-10-31  Jim Wilson  <wilson@redhat.com>
2
3         * config/tc-ia64.c (struct md): New field tag_fixups.
4         (ia64_flush_insns): Handle tag_fixups.  Error if dangling
5         qualifying predicate.
6         (emit_one_bundle): Delete spurious multiplication by one.  Handle
7         tag_fixups.
8         (ia64_start_line): Error if dangling qualifying predicate.
9         (defining_tag): New static variable.
10         (ia64_unrecognized_line, case '['): Parse tags.
11         (ia64_frob_label): Create tag_fixups.
12         (md_assemble): Reset md.qp.X_op after using it.
13         
14 2000-10-31  Kaz Kojima <kkojima@rr.iij4u.or.jp>
15
16         * config/tc-sh.c (md_apply_fix [BFD_RELOC_SH_PCDISP12BY2]): Allow 4094.
17
18 2000-10-31  Bernd Schmidt  <bernds@redhat.co.uk>
19
20         * tc-ia64.c (extra_goodness): Only prefer F in slot 1 and B in slot 2.
21
22 2000-10-30  Kazu Hirata  <kazu@hxi.com>
23
24         * expr.c: Fix formatting.
25         * flonum-copy.c: Likewise.
26         * flonum.h: Likewise.
27         * gasp.c: Likewise.
28         * hash.c: Likewise.
29
30 2000-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
31
32         * as.h (OPTION_MD_BASE): Bump to 190.
33         * as.c (parse_args) <std_longopts>: Add comment about the need to
34         check OPTION_MD_BASE in as.h.
35
36         * config/tc-sh.c (md_apply_fix): For ELF, do not "adjust back" VAL
37         for weak symbols.
38
39 2000-10-27  Nick Clifton  <nickc@redhat.com>
40
41         * configure.in (emulations): Add m68hc12.
42         * configure: Regenerate.
43         * po/gas.pot: Regenerate.
44         
45 2000-10-27  Aldy Hernandez  <aldyh@redhat.com>
46
47         * config/tc-arm.c (psrs): Remove lowercase versions of spsr* and
48         cpsr*.
49         (arm_psr_parse): Handle lowercase CPSR and SPSR.
50
51 2000-10-25  Nick Clifton  <nickc@redhat.com>
52
53         * dwarf2out.c (dwarf2_generate_asm_lineno): New function: Generate
54         a DWARF2 line number information sequence.
55
56         *dwarf2out.h: Add prototype for dwarf2_generate_asm_lineno.
57
58         * read.c (generate_lineno_debug): Update comment describing why
59         DWARF2 line number debug information is not generated
60         automatically by this function.
61
62         * doc/as.texinfo: Note that --gdwarf2 only works on some targets,
63         not all.
64         
65         * config/tc-arm.h (md_end): Define.
66         (DWARF2_LINE_MIN_INSN_LENGTH): Define.
67         
68         * config/tc-arm.c (output_inst): Call dwarf2_generate_asm_lineno
69         if generating DWARF2 line numbers.
70         (arm_end_of_source): New function.  Call dwarf2_finish if
71         necessary.
72
73         * config/tc-hppa.c (md_assemble): Use dwarf2_generate_asm_lineno.
74         * config/tc-m68hc11.c (m68hc11_new_insn): Use dwarf2_generate_asm_lineno.
75         * config/tc-sh.c (md_assemble): Use dwarf2_generate_asm_lineno.
76         
77 2000-10-25  Diego Novillo  <dnovillo@cygnus.com>
78
79         * tc-i386.c: Fix prototype declarations for functions taking no
80         arguments.
81
82 2000-10-24  Diego Novillo  <dnovillo@cygnus.com>
83
84         * tc-i386.c (i386_operand_modifier): Remove.
85         (build_displacement_string): Remove.
86         (i386_parse_seg): Remove.
87         (i386_intel_memory_operand): Remove.
88         (i386_intel_operand): Re-write using recursive descent parser based
89         on MASM documentation.
90         (struct intel_parser_s): New structure.
91         (intel_parser): New static variable.
92         (struct intel_token): New structure.
93         (cur_token, prev_token): New static variables.
94         (T_NIL): Define.
95         (T_CONST): Define.
96         (T_REG): Define.
97         (T_BYTE): Define.
98         (T_WORD): Define.
99         (T_DWORD): Define.
100         (T_QWORD): Define.
101         (T_XWORD): Define.
102         (T_SHORT): Define.
103         (T_OFFSET): Define.
104         (T_PTR): Define.
105         (T_ID): Define.
106         (intel_match_token): New function.
107         (intel_get_token): New function.
108         (intel_putback_token): New function.
109         (intel_expr): New function.
110         (intel_e05): New function.
111         (intel_e05_1): New function.
112         (intel_e06): New function.
113         (intel_e06_1): New function.
114         (intel_e09): New function.
115         (intel_e09_1): New function.
116         (intel_e10): New function.
117         (intel_e10_1): New function.
118         (intel_e11): New function.
119
120 2000-10-20  Jakub Jelinek  <jakub@redhat.com>
121
122         * config/tc-sparc.c (sparc_ip): Fix a bug which caused v9_arg_p
123         instructions to loose any special insn->architecture mask.
124
125         * config/tc-sparc.c (v9a_asr_table): Add v9b ASRs.
126         (sparc_md_end, sparc_arch_types, sparc_arch,
127         sparc_elf_final_processing): Handle v8plusb and v9b architectures.
128         (sparc_ip): Handle siam mode operands. Support v9b ASRs (and
129         request v9b architecture if they are used).
130
131 2000-10-18  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
132
133         * config/tc-m68k.c: Fix the previous misapplied patch.
134
135 2000-10-18  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
136
137         * config/tc-m68k.h (RELAX_RELOC_*): New definitions for both
138         BFD_ASSEMBLER and !BFD_ASSEMBLER.
139         * config/tc-m68k.c (md_convert_frag_1): Use them instead of
140         BFD_RELOC_*.
141
142 2000-10-17  Kazu Hirata  <kazu@hxi.com>
143
144         * debug.c: Fix formatting.
145         * depend.c: Likewise.
146         * dwarf2dbg.c: Likewise.
147         * dwarf2dbg.h: Likewise.
148         * ecoff.c: Likewise.
149         * expr.c: Likewise.
150         * expr.h: Likewise.
151         * flonum-konst.c: Likewise.
152         * frags.h: Likewise.
153
154 2000-10-17  Chandrakala Chavva  <cchavva@redhat.com>
155
156         * as.c: New option OPTION_TARGET_HELP. Prints all target specific
157         options.
158         * doc/as.texinfo: Added notes about this new option.
159
160 2000-10-16  Hans-Peter Nilsson  <hp@bitrange.com>
161
162         * config/tc-sh.c (JREG): Remove.
163         (md_convert_frag): Remove #if 0:d code using JREG.
164
165 2000-10-15  Diego Novillo  <dnovillo@cygnus.com>
166
167         * config/tc-i386.c (i386_operand_modifier): Only match
168         modifiers SHORT and FLAT if they are followed by a space.
169         (parse_register): When `allow_naked_reg' is set, do not confuse
170         identifiers that start with a register name with a register.
171
172 2000-10-12  Kazu Hirata  <kazu@hxi.com>
173
174         * app.c: Fix formatting.
175         * as.c: Likewise.
176         * as.h: Likewise.
177         * bit_fix.h: Likewise.
178         * cgen.c: Likewise.
179         * cgen.h: Likewise.
180         * cond.c: Likewise.
181
182 2000-10-11  Alan Modra  <alan@linuxcare.com.au>
183
184         * config/obj-elf.c (elf_frob_symbol): Revert 2000-10-07 change.
185
186 2000-10-07  Alan Modra  <alan@linuxcare.com.au>
187
188         * config/tc-hppa.c (md_apply_fix): Remove plainly wrong assert.
189         Re-arrange function a little and improve error message.
190
191         * write.c (write_relocs): Fix a comment.
192
193         * config/obj-elf.c (elf_frob_symbol): Make section syms global on
194         link-once sections.
195
196 2000-10-05  Jim Wilson  <wilson@cygnus.com>
197
198         * config/tc-ia64.c (resources_match): Handle IA64_RS_PRr.
199
200 2000-10-05  Alan Modra  <alan@linuxcare.com.au>
201
202         * config/tc-i386.c: Delete some useless comments, reformat others.
203
204         * config/tc-i386.h (TC_FIX_ADJUSTABLE): Add check to cover
205         non-global syms in linkonce sections.
206
207 2000-10-04  Ralf Baechle  <ralf@gnu.org>
208
209         * config/tc-ia64.c (operand_match): Don't use // style comments.
210         * config/tc-i370.c: Likewise.
211
212 2000-09-29  Hans-Peter Nilsson  <hp@axis.com>
213
214         Changes to handle varying register prefix and user symbol prefix.
215         * config/tc-cris.c (SYNTAX_RELAX_REG_PREFIX,
216         SYNTAX_ENFORCE_REG_PREFIX, SYNTAX_USER_SYM_LEADING_UNDERSCORE,
217         SYNTAX_USER_SYM_NO_LEADING_UNDERSCORE, REGISTER_PREFIX_CHAR): New.
218         (s_syntax, cris_force_reg_prefix, cris_relax_reg_prefix,
219         cris_sym_leading_underscore, cris_sym_no_leading_underscore): New.
220         (demand_register_prefix): New variable.
221         (md_pseudo_table): New pseudo ".syntax".
222         (md_longopts): New options --no-underscore and --underscore.
223         (cris_target_format): Return elf32-us-cris or elf32-cris depending
224         on symbols_have_leading_underscore.
225         (get_gen_reg): Accept or require REGISTER_PREFIX_CHAR.
226         (get_spec_reg): Ditto.
227         (cris_number_to_imm) <case BFD_RELOC_VTABLE_ENTRY>: Remove FIXME.
228         Fix formatting.
229         (md_parse_option) <case 'h' 'H'>: Deprecate; add reference to
230         --help.
231         <case OPTION_NO_US, case OPTION_US>: New.
232         (md_show_usage): Be brief and reformat to match continuation of
233         --help.
234         * po/gas.pot: Regenerate.
235
236 2000-09-28  Alan Modra  <alan@linuxcare.com.au>
237
238         * config/tc-hppa.c (hppa_force_relocation): If OBJ_SOM, don't
239         force relocs for 12 bit branches.
240         (md_apply_fix): Similarly, adjust logic here.
241
242 2000-09-28  Alan Modra  <alan@linuxcare.com.au>
243
244         * config/tc-hppa.c (md_apply_fix): Add fmt assertion.  Don't
245         adjust for external and weak syms as we will use a reloc.  Allow
246         for +8 offset when calculating limits of branches.
247         (hppa_fix_adjustable): Undo 2000-09-23 change.
248         (hppa_force_relocation): Likewise.  Add fx_addsy assertion.
249         Correct distance calculation.
250         (tc_gen_reloc): Print the file name and line number if we can't
251         handle a fixup.
252
253         From John David Anglin <dave@hiauly1.hia.nrc.ca>
254         * config/tc-hppa.c (nonzero_dibits): Define.
255         (arg_reloc_stub_needed): Check each arg and return value
256         separately for zero case.
257         (pa_align): Declare argument `bytes'.
258
259 2000-09-25  Kazu Hirata  <kazu@hxi.com>
260
261         * config/tc-cris.c: Fix formatting.
262         * config/tc-d10v.h: Likewise.
263         * config/tc-d30v.c: Likewise.
264         * config/tc-d30v.h: Likewise.
265         * config/tc-fr30.c: Likewise.
266         * config/tc-fr30.h: Likewise.
267         * config/tc-m68k.c: Likewise.
268         * config/tc-m68k.h: Likewise.
269         * config/tc-pj.h: Likewise.
270         * config/tc-ppc.c: Likewise.
271         * config/tc-ppc.h: Likewise.
272         * config/tc-sh.c: Likewise.
273         * config/tc-sh.h: Likewise.
274         * config/tc-sparc.c: Likewise.
275         * config/tc-v850.h: Likewise.
276         * config/tc-vax.h: Likewise.
277         * config/tc-w65.h: Likewise.
278         * config/tc-z8k.h: Likewise.
279
280 2000-09-23  Alan Modra  <alan@linuxcare.com.au>
281
282         * config/tc-hppa.c (hppa_fix_adjustable): Do the external and weak
283         checks only for ELF.
284         (hppa_force_relocation): Likewise.
285
286 2000-09-22  Jim Wilson  <wilson@cygnus.com>
287
288         * config/tc-ia64.c (dv_sem): Add "stop".
289         (specify_resource, case IA64_RS_PR): Only handles regs 1 to 15 now.
290         (specify_resource, case IA64_RS_PRr): New for regs 16 to 62.
291         (specify_resource, case IA64_RS_PR63): Reorder (note == 7) test to
292         match above.
293         (mark_resources): Check IA64_RS_PRr.
294
295 2000-09-22  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
296
297         * config/tc-m68k.c (md_relax_table, m68k_ip, md_convert_frag_1,
298         md_estimate_size_before_relax): Redesign and clean up the
299         relaxation mechanism.
300
301 2000-09-21  Kazu Hirata  <kazu@hxi.com>
302
303         * config/tc-ns32k.c: Fix formatting.
304         * config/tc-ns32k.h: Likewise.
305
306 2000-09-20  Kazu Hirata  <kazu@hxi.com>
307
308         * config/tc-m32r.c: Fix formatting.
309         * config/tc-m32r.h: Likewise.
310         * config/tc-m68851.h: Likewise.
311         * config/tc-m68hc11.c: Likewise.
312         * config/tc-m68hc11.h: Likewise.
313         * config/tc-m88k.c: Likewise.
314         * config/tc-mcore.c: Likewise.
315         * config/tc-mcore.h: Likewise.
316         * config/tc-mips.c: Likewise.
317         * config/tc-mips.h: Likewise.
318         * config/tc-mn10200.h: Likewise.
319         * config/tc-mn10300.h: Likewise.
320         * config/tc-tahoe.c: Likewise.
321         * config/tc-tahoe.h: Likewise.
322
323 2000-09-19  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
324
325         * config/tc-vax.c (synthetic_votstrs): Remove jbssi and jbcci.
326         Likewise in relaxation description comments.
327
328 2000-09-18  Alan Modra  <alan@linuxcare.com.au>
329
330         * config/tc-hppa.h (TC_FORCE_RELOCATION_SECTION): Allow
331         subtraction of two syms without emitting a relocation.
332
333         From  David Huggins-Daines  <dhd@linuxcare.com>
334         * config/tc-hppa.c (hppa_force_relocation): Force relocations for
335         global or weak symbols.
336
337 2000-09-15  Kazu Hirata  <kazu@hxi.com>
338
339         * config/tc-h8300.h: Fix formatting.
340         * config/tc-h8500.c: Likewise.
341         * config/tc-h8500.h: Likewise.
342         * config/tc-hppa.h: Likewise.
343         * config/tc-i370.h: Likewise.
344         * config/tc-i386.h: Likewise.
345         * config/tc-i860.c: Likewise.
346         * config/tc-i860.h: Likewise.
347         * config/tc-i960.h: Likewise.
348         * config/tc-ia64.c: Likewise.
349         * config/tc-ia64.h: Likewise.
350
351 2000-09-14  Kazu Hirata  <kazu@hxi.com>
352
353         * config/tc-a29k.c: Fix formatting.
354         * config/tc-alpha.c: Likewise.
355         * config/tc-arc.c: Likewise.
356         * config/tc-arc.h: Likewise.
357         * config/tc-arm.c: Likewise.
358         * config/tc-arm.h: Likewise.
359         * config/tc-avr.c: Likewise.
360         * config/tc-avr.h: Likewise.
361         * config/tc-tic30.c: Likewise.
362         * config/tc-tic30.h: Likewise.
363         * config/tc-tic54x.c: Likewise.
364         * config/tc-tic54x.h: Likewise.
365         * config/tc-tic80.c: Likewise.
366         * config/tc-tic80.h: Likewise.
367
368 2000-09-14  Timothy Wall  <twall@cygnus.com>
369
370         * config/tc-ia64.c (specify_resource): For PR%/PR63, note types of
371         parallel comparisons for later use.
372         (struct rsrc): Add parallel comparison type.
373         (resources_match): Skip special cases of PR usage (non-conflicting
374         parallel compares).
375
376 2000-09-13  Kazu Hirata  <kazu@hxi.com>
377
378         * config/obj-ecoff.c: Fix formatting.
379         * config/obj-elf.c: Likewise.
380         * config/obj-elf.h: Likewise.
381         * config/obj-evax.h: Likewise.
382         * config/obj-generic.h: Likewise.
383         * config/obj-hp300.c: Likewise.
384         * config/obj-hp300.h: Likewise.
385         * config/obj-ieee.h: Likewise.
386         * config/obj-vms.c: Likewise.
387         * config/obj-vms.h: Likewise.
388
389 2000-09-13  Anders Norlander  <anorland@acc.umu.se>
390
391         * config/tc-mips.c (md_begin): Recognize 4Kc, 4Km and 4Kp processors.
392         (md_parse_option): Ditto.
393         (md_longopts): Add -mips32 option.
394         (md_show_usage): Document new options.
395         (mips_ip): Assemble sdbbp 20 bit 'm' args for MIPS32.
396         (mips_ip): Assemble mfc0 with a sub-selection code.
397         (validate_mips_insn): Handle 'H' (OP_*_SEL) and 'm' (OP_*_CODE20).
398         (mips_cpu_to_str): New function.
399         (mips_ip): Use mips_cpu_to_str instead of printing numeric cpu value.
400         Use CPU_* defines instead of hardcoded numbers.
401
402         * doc/as.texinfo: Document new options.
403         * doc/c-mips.texi: Ditto.
404
405 2000-09-12  Kazu Hirata  <kazu@hxi.com>
406
407         * as.h: Fix formatting.
408         * asintl.h: Likewise.
409         * bit_fix.h: Likewise.
410         * config/obj-aout.c: Likewise.
411         * config/obj-aout.h: Likewise.
412         * config/obj-bout.c: Likewise.
413         * config/obj-bout.h: Likewise.
414         * config/obj-coff.c: Likewise.
415         * config/obj-coff.h: Likewise.
416         * dwarf2dbg.h: Likewise.
417         * expr.h: Likewise.
418         * flonum.h: Likewise.
419         * frags.h: Likewise.
420         * itbl-ops.h: Likewise.
421         * macro.h: Likewise.
422         * read.h: Likewise.
423         * sb.h: Likewise.
424         * struc-symbol.h: Likewise.
425         * subsegs.h: Likewise.
426         * symbols.h: Likewise.
427         * tc.h: Likewise.
428         * write.h: Likewise.
429
430 2000-09-11  Kazu Hirata  <kazu@hxi.com>
431
432         * bignum-copy.c: Fix formatting.
433         * config/tc-i370.c: Likewise.
434         * config/tc-i960.c: Likewise.
435         * config/tc-m68k.c: Likewise.
436         * ehopt.c: Likewise.
437         * flonum-copy.c: Likewise.
438         * flonum-konst.c: Likewise.
439         * flonum-mult.c: Likewise.
440         * literal.c: Likewise.
441         * read.c: Likewise.
442         * sb.c: Likewise.
443         * stabs.c: Likewise.
444         * subsegs.c: Likewise.
445
446 2000-09-09  Philip Blundell  <philb@gnu.org>
447
448         * configure.in (arm*-*-uclinux*): New target.
449         * configure: Regenerate.
450
451 2000-09-09  Kazu Hirata  <kazu@hxi.com>
452
453         * input-file.c: Fix formatting.
454         * itbl-ops.c: Likewise.
455         * messages.c: Likewise.
456
457 2000-09-08  Philip Blundell  <philb@gnu.org>
458
459         * config/tc-arm.c (md_apply_fix3): Correct handling of ADRL when
460         offset is negative.
461
462 2000-09-07  H.J. Lu  <hjl@gnu.org>
463
464         * configure.in (AC_ISC_POSIX): Put after AC_CANONICAL_SYSTEM.
465         * configure: Rebuild.
466
467 2000-09-07  Kazu Hirata  <kazu@hxi.com>
468
469         * atof-generic.c: Fix formatting.
470         * config/tc-mips.c: Likewise.
471         * config/tc-vax.c: Likewise.
472         * input-scrub.c: Likewise.
473
474 2000-09-07  Alexandre Oliva  <aoliva@redhat.com>
475
476         * config/tc-sh.h (TARGET_FORMAT): Use sh-linux targets.
477         * configure.in (sh-*-linux*): Added.
478         * configure: Rebuilt.
479
480 2000-09-06  Kazu Hirata  <kazu@hxi.com>
481
482         * config/tc-hppa.c: Fix formatting.
483
484         * ecoff.c: Fix formatting.
485
486 2000-09-06  Alexandre Oliva  <aoliva@redhat.com>
487
488         * configure: Rebuilt with new libtool.m4.
489
490 2000-09-05  Kazu Hirata  <kazu@hxi.com>
491
492         * cgen.c: Fix formatting.
493         * config/tc-ia64.c: Likewise.
494
495 2000-09-05  Nick Clifton  <nickc@redhat.com>
496
497         * aclocal.m4: Regenerate.
498         * config.in: Regenerate.
499         * configure: Regenerate.
500         * po/gas.pot: Regenerate.
501
502 2000-09-05  Hans-Peter Nilsson  <hp@axis.com>
503
504         * config/tc-cris.c: Correct comment typos.
505
506 2000-09-05  Eric Christopher  <echristo@cygnus.com>
507
508         * config/tc-mn10300.c: Cleanup.
509         (md_pcrel_from): Enable.
510
511 2000-09-05  Alan Modra  <alan@linuxcare.com.au>
512
513         * expr.c (operand): Fix a comment typo.
514         * write.c (write_relocs): Fix a signed/unsigned warning.
515
516         * config/tc-hppa.c (fudge_reg_expressions): New
517         (hppa_force_reg_syms_absolute): New.
518         (pa_equ): Allow reg_section expressions.
519         * config/tc-hppa.c (md_optimize_expr): Define.
520         (hppa_force_reg_syms_absolute): Prototype.
521
522         * config/tc-hppa.c (pa_11_fp_reg_struct): Delete.
523         (pa_parse_number): Pass in arg to select fp reg parsing.
524         Return 1 to indicate format checks pass.  If strict, then only
525         accept a register or register symbol.  Return value in...
526         (pa_number): New static for pa_parse_number.
527         (FP_REG_BASE): Define.
528         (FP_REG_RSEL): Define.
529         (pre_defined_registers): Apply FP_REG_BASE and FP_REG_RSEL as
530         appropriate.  White space changes.
531         (need_pa11_opcode): Don't bother passing any params, get them from
532         globals instead.
533         (pa_ip): Modify all calls to pa_parse_number and need_pa11_opcode.
534         Remove extraneous check in case 'Q'.
535         (pa_equ): Modify call to pa_parse_number to do strict parsing. If
536         reg, set section of resulting symbol to reg_section.
537         (pa_parse_space_stmt): Modify call to pa_parse_number.
538         (pa_space): Likewise.
539
540         * config/tc-hppa.c: (md_apply_fix): Handle vtable relocs.
541         (hppa_force_relocation): Handle vtable relocs.
542         (pa_vtable_entry): New.
543         (pa_vtable_inherit): New.
544         (md_pseudo_table): Add entries for vtable pseudos.
545         (hppa_fix_adjustable): Reject reduction of R_PARISC_GNU_VTINHERIT
546         and R_PARISC_GNU_VTENTRY relocs.  Reject reduction of relocs
547         against weak syms.
548         (tc_gen_reloc): Remove ELF_ARG_RELOC_INSN code.
549         (pa_type_args): Don't call symbol_get_bfdsym multiple times.
550         Set STT_PARISC_MILLICODE for OBJ_ELF when encountering a
551         millicode import.
552         * config/obj-elf.c (obj_elf_type): Allow md_elf_symbol_type to
553         specify a symbol type.
554
555         * config/tc-hppa.h: Reorganize file a little, grouping OBJ_ELF
556         dependent things together.
557         (md_elf_symbol_type): Define.
558
559         * config/tc-hppa.c (fix_new_hppa): Elide "$PIC_pcrel$0" pseudo
560         symbol.
561         * config/tc-hppa.h (tc_frob_symbol): Elide "$PIC_pcrel$0" here too.
562
563         * config/obj-elf.h (obj_elf_vtable_inherit): Declare.
564         (obj_elf_vtable_entry): Declare.
565
566         * config/obj-elf.c (obj_elf_vtable_inherit): Return struct fix *
567         and export function.
568         (obj_elf_vtable_entry): Similarly.
569         (elf_pseudo_table): Fix the damage with a cast.
570
571 2000-09-03  Richard Henderson  <rth@cygnus.com>
572
573         * config/tc-ia64.c (emit_one_bundle): Stop collecting insns
574         for template selection when a label is needed.
575
576 2000-09-02  Kazu Hirata  <kazu@hxi.com>
577
578         * config/tc-ia64.c: Fix formatting.
579
580 2000-09-02  Nick Clifton  <nickc@redhat.com>
581
582         * configure.in: Increase version number to 2.10.91.
583         * configure: Regenerate.
584         * aclocal.m4: Regenerate.
585         * config.in: Regenerate.
586         * po/gas.pot: Regenerate.
587         * Makefile.in: Regenerate.
588
589 2000-09-01  Alexandre Oliva  <aoliva@redhat.com>
590
591         * config/tc-sh.h [OBJ_ELF] (TC_FIX_ADJUSTABLE): Define.
592         * config/tc-sh.c (md_apply_fix): Map 32-bit relocations that
593         become PC-relative to BFD_RELOC_32_PCREL.  Reject 16- or 8-bit
594         similar relocs.
595         (sh_obj_adjustable): Return 1 for PC-relative offsets used in
596         branches.
597
598 2000-09-01  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>
599
600         * config/tc-sh.h (DIFF_EXPR_OK, GLOBAL_OFFSET_TABLE_NAME,
601         TC_RELOC_GLOBAL_OFFSET_TABLE, TC_RELOC_RTSYM_LOC_FIXUP): Define.
602         * config/tc-sh.c (sh_elf_cons, sh_elf_suffix): New functions.
603         [OBJ_ELF] (md_pseudo_table) <long, int, word, short>: Use them.
604         (GOT_symbol): New variable.
605         (md_undefined_symbol): Set it.
606
607 2000-09-01  Richard Henderson  <rth@cygnus.com>
608
609         * config/tc-ia64.c (match): Don't inline.
610         (extra_goodness): New.
611         (md_begin): Prefer nop.f and nop.b for best_template.
612
613 2000-08-31  Kazu Hirata  <kazu@hxi.com>
614
615         * as.c: Fix formatting.
616         * cond.c: Likewise.
617         * frags.c: Likewise.
618         * macro.c: Likewise.
619
620 2000-08-31  Eric Christopher  <echristo@cygnus.com>
621
622         * config/tc-mn10300.c:  Cleanup and fix warnings.
623         (md_pseudo_table): Add initializers.
624         (md_show_usage): Cleanup.
625         (md_parse_option): Fix warnings.
626         (md_undefined_symbol): Fix warnings.
627         (md_conver_frag): Fix warnings.
628         (tc_gen_reloc): Fix warnings.
629         (md_apply_fix3): Fix warnings.
630         (check_operand): Fix warnings.
631
632 2000-08-31  Alexandre Oliva  <aoliva@redhat.com>
633
634         * acinclude.m4: Include libtool and gettext macros from the
635         top level.
636         * aclocal.m4, configure: Rebuilt.
637
638 2000-08-30  Mark Hatle  <mhatle@mvista.com>
639
640         * config/tc-ppc.c (md_parse_option): Recognize -m405.
641
642 2000-08-31  Kazu Hirata  <kazu@hxi.com>
643
644         * listing.c: Fix formatting.
645
646 2000-08-29  Kazu Hirata  <kazu@hxi.com>
647
648         * app.c: Fix a comment typo.  Fix formatting.
649
650 2000-08-25  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
651
652         * tc-vax.c (md_convert_frag): Correctly calculate the pc relative
653         offset of the target destination for jmp instructions.
654         (md_assemble): Change mode to VAX_ABSOLUTE_MODE as per comments.
655
656 2000-08-24  Hans-Peter Nilsson  <hp@axis.com>
657
658         * NEWS: Mention support for CRIS.
659
660 Thu Aug 24 20:41:05 2000  Denis Chertykov  <denisc@overta.ru>
661
662         * config/tc-avr.h (TC_IMPLICIT_LCOMM_ALIGNMENT): New macros.
663         Sets `.lcomm' alignment to zero.
664
665 2000-08-23  Alexandre Oliva  <aoliva@redhat.com>
666
667         * config/tc-i386.h <OBJ_MAYBE_ELF, OBJ_MAYBE_COFF>
668         (TC_FIX_ADJUSTABLE): Define.
669
670 2000-08-23  Jim Wilson  <wilson@cygnus.com>
671
672         * config/tc-ia64.c (output_unw_records): Set U & E flags only if
673         unwind.personality_routine is set.
674
675 2000-08-23  H.J. Lu  <hjl@gnu.org>
676
677         * write.c (TC_FIX_ADJUSTABLE): Remove the duplicate.
678
679 2000-08-23  Alexandre Oliva  <aoliva@redhat.com>
680
681         * config/tc-i386.h (TC_FIX_ADJUSTABLE): Do *NOT* define if target
682         environment is pe.
683
684 2000-08-22  H.J. Lu  <hjl@gnu.org>
685
686         * config.in (STRICTCOFF): New for strict COFF.
687
688         * configure.in: Define STRICTCOFF for i386-*-msdosdjgpp*,
689         i386-*-go32* and i386-go32-rtems*.
690         * configure: Rebuilt.
691
692         * config/obj-coff.c (obj_coff_endef): Follow the historical
693         behavior if STRICTCOFF is not defined.
694
695         * doc/internals.texi: Document STRICTCOFF.
696
697 2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
698
699         * write.c (TC_FIX_ADJUSTABLE): Define to 1, if not defined.
700         (fixup_segment) Use it instead of TC_DONT_FIX_NON_ADJUSTABLE.
701         * config/tc-i386.h (TC_DONT_FIX_NON_ADJUSTABLE): Remove.
702         <OBJ_ELF, OBJ_COFF, TE_PE> (TC_FIX_ADJUSTABLE): Define.
703         * config/tc-arm.h (TC_DONT_FIX_NON_ADJUSTABLE): Remove.
704         <OBJ_ELF> (TC_FIX_ADJUSTABLE): Define.
705         * config/tc-i960.h, config/tc-m68k.h, config/tc-v850.h:
706         Likewise.
707
708 2000-08-22  Eric Christopher  <echristo@cygnus.com>
709
710         * config/tc-mn10300.c: (md_apply_fix): New function.
711         (mn10300_force_relocation): New function.
712         (mn10300_fix_adjustable): New function.
713
714         * config/tc-mn10300.h: (TC_FORCE_RELOCATION): Define.
715         (TC_HANDLES_FX_DONE): Define.
716         (obj_fix_adjustable): Define.
717         (MD_APPLY_FIX3): Define.
718         (TC_LINKRELAX_FIXUP): Define.
719
720         * write.c: (TC_LINKRELAX_FIXUP):  Define if not
721         previously defined.
722         (fixup_segment): Use TC_LINKRELAX_FIXUP.
723
724         * doc/internals.texi: Document TC_LINKRELAX_FIXUP.
725
726 2000-08-21  Jason Eckhardt  <jle@cygnus.com>
727
728         * config/tc-i860.c (md_apply_fix3): Do not insert the immediate
729         if the fixup resulted in a relocation.
730
731 2000-08-18  Nick Clifton  <nickc@redhat.com>
732
733         * config/tc-arm.c (decode_shift): Replace as_tsktsk with as_warn.
734         Make reference to first element of shift_names explicit.
735
736 2000-08-18  Alexandre Oliva  <aoliva@redhat.com>
737
738         * write.c (fixup_segment) [TC_DONT_FIX_NON_ADJUSTABLE]: Use
739         obj_fix_adjustable() and tc_fix_adjustable() to tell whether to
740         add a symbol's address.  Removed all target-specific #ifdefs that
741         used to accomplished the same.
742         * config/tc-v850.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
743         * config/tc-m68k.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
744         * config/tc-arm.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
745         * config/tc-i960.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
746         * config/tc-i386.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
747
748 2000-08-17  Kazu Hirata  <kazu@hxi.com>
749
750         * dwarf2dbg.c: Fix formatting.
751
752 2000-08-17  Nick Clifton  <nickc@redhat.com>
753
754         * config/tc-arm.c (decode_shift): Allow illegal shifts by zero
755         to be recoded as logical shift lefts by zero.
756
757 2000-08-16  Jim Wilson  <wilson@cygnus.com>
758
759         * config/tc-ia64.c (specify_resource, case IA64_RS_GR): Handle
760         postincrement modified registers.  Handle IA64_OPND_R3_2 addl
761         source registers.
762         (note_register_values): Handle IA64_OPND_R3_2 operands.
763
764 2000-08-16  Jason Eckhardt  <jle@cygnus.com>
765
766         * config/tc-i860.c (md_operand): Silly typo fixed.
767
768 2000-08-16  Nick Clifton  <nickc@redhat.com>
769
770         * config/tc-arm.c (struct asm_shift): Delete.
771         (shift[]): Delete.
772         (enum asm_shift_index): New.
773         (struct asm_shift_properties): New.
774         (struct asm_shift_name): New.
775         (shift_properties[]); New.
776         (shift_names[]); New.
777
778         (decode_shift): Use new structures.
779         Issue a warning is "ROR #0" is used.
780         Issue a warning if "ASR #0" or "LSR #0" is used.
781
782         (md_begin): Initialise arm_shift_hsh table from new
783         asm_shift_name array.
784
785 2000-08-16  Jakub Jelinek  <jakub@redhat.com>
786
787         * config/tc-sparc.c: Kill all warnings.
788         (md_parse_option): Set -32/-64 for -xarch=, allow all -A archs
789         in -xarch= as well.
790         (md_show_usage): Update usage text.
791
792 2000-08-16  Nick Clifton  <nickc@redhat.com>
793
794         * config/tc-arm.c (do_bx): Warn about "bx px" not being very
795         useful.
796
797 2000-08-15  Will Cohen  <wcohen@redhat.com>
798
799         * config/tc-sh.h (DWARF2_LINE_MIN_INSN_LENGTH): Defined.
800
801         * config/tc-sh.c (md_assemble): Changed so debug_type
802         test performed for ppi_assemble
803         * config/tc-sh.c: Included dwarf2dbg.h.
804         (debug_line): Defined.
805         (md_assemble): Generates dwarf2 line info.
806         (sh_finalize): New function.  Finalize dwarf2 info.
807         (assemble_ppi): Returns size of code generated.
808         (build_Mytes): Returns size of code generated.
809         (md_pseudo_table): Added "file" and "loc" psuedo ops.
810         * config/tc-sh.h (md_end): Defined.
811         (sh_finalize): Declared.
812
813 2000-08-15  Alexandre Oliva  <aoliva@redhat.com>
814
815         * config/tc-sh.c (md_apply_fix) [BFD_RELOC_32, BFD_RELOC_16]: Use
816         md_number_to_chars.
817
818 2000-08-14  Nick Clifton  <nickc@redhat.com>
819
820         * config/tc-arm.c (do_bx): Allow "bx pc".
821
822 2000-08-14  Jim Wilson  <wilson@cygnus.com>
823
824         * config/tc-ia64.c (md_longopts): Add -mconstant-gp and -mauto-pic.
825         (md_parse_option):  Add OPTION_MCONSTANT_GP and OPTION_MAUTO_PIC.
826         (md_begin): Change assignment to md.flag to OR in the new bit.
827
828 2000-08-14  Mark Elbrecht  <snowball3@bigfoot.com>
829
830         * config/obj-coff.c (obj_coff_endef) [BFD_ASSEMBLER]: Set the debug
831           flag for storage types C_ARG, C_REGPARM, C_FIELD, C_MOS, C_MOE,
832           C_MOU, and C_EOS.
833
834 2000-08-14  Jason Eckhardt  <jle@cygnus.com>
835
836         * NEWS: Mention i860 support.
837
838 Mon Aug 14 11:49:12 2000  Jeffrey A Law  (law@cygnus.com)
839
840         * config/tc-mn10300.h (DWARF2_LINE_MIN_INSN_LENGTH): Define.
841
842 2000-08-14  Andreas Schwab  <schwab@suse.de>
843
844         * doc/c-arm.texi (ARM Directives): Fix warnings from makeinfo.
845
846 2000-08-11  Andreas Schwab  <schwab@suse.de>
847
848         * doc/c-i860.texi (Opcodes for i860): Remove braces from @item
849         argument.
850
851 2000-08-11  Kazu Hirata  <kazu@hxi.com>
852
853         * expr.c: Fix formatting.
854         * config/obj-bout.c: Likewise.
855
856 2000-08-10  Jason Eckhardt  <jle@cygnus.com>
857
858         * doc/c-i860.texi: Flesh out the i860 section more.
859
860 2000-08-10  Kazu Hirata  <kazu@hxi.com>
861
862         * symbols.c: Fix formatting.
863         * expr.c: Likewise.
864
865 Wed Aug  9 16:28:21 EDT 2000    Diego Novillo <dnovillo@cygnus.com>
866
867         * tc-i386.c (md_assemble): Skip suffix check if the opcode modifier
868         has the IgnoreSize bit set.
869
870 2000-08-09  Alan Modra  <alan@linuxcare.com.au>
871
872         From  Rodney Brown  <RodneyBrown@mynd.com>
873         * configure.in: Use elf on Unixware 7 (i586-sco-sysv5uw7.1.0)
874         * configure: Regenerate.
875
876 2000-08-09  Kazu Hirata  <kazu@hxi.com>
877
878         * hash.c: Fix formatting.
879         * gasp.c: Likewise.
880
881 2000-08-08  Jason Eckhardt  <jle@cygnus.com>
882
883         * config/tc-i860.h: Rework completely for BFD_ASSEMBLER.
884         (i860_fix_info): New enum.
885         (MD_APPLY_FIX3): Define.
886         (WORKING_DOT_WORD): Define.
887         (TC_HANDLES_FX_DONE): Define.
888         (DIFF_EXPR_OK): Define.
889         (LISTING_HEADER): Define.
890         (TARGET_FORMAT): Select target format based on endian flag.
891         (TARGET_BYTES_BIG_ENDIAN): Default to little endian.
892         (target_big_endian): Add external declaration.
893
894         * config/tc-i860.c: All existing code reworked completely. Other
895         new code shown below.
896         (SYNTAX_SVR4): Define.
897         (target_warn_expand): New variable.
898         (md_shortopts): Declare and define (-Qy, -Qn, and -V options).
899         (md_longopts): Declare and define with new options (-EL, -EB,
900         and -mwarn-expand).
901         (md_show_usage): New function.
902         (md_operand): New function.
903         (obtain_reloc_for_imm16): New function.
904         (md_apply_fix3): New function.
905         (tc_gen_reloc): New function.
906
907 2000-08-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
908
909         * config/tc-m68hc11.c (build_jump_insn): Make sure the
910         2 bytes of the jump address are in the same frag.
911         (find): Accept 68hc12 register indirect modes.
912
913         * NEWS: Mention 68HC11 & 68HC12 support.
914
915 2000-08-07  Richard Henderson  <rth@cygnus.com>
916
917         * config/tc-ia64.c (unwind): Add prologue_mask member.
918         (dot_vframe): Elide psp_gr record if it overlaps prologue_gr.
919         (dot_save): Likewise for pfs_gr, rp_gr, and preds_gr.
920         (dot_body): Clear unwind.prologue_mask.
921         (dot_prologue): Set it.  Accept a register second argument.
922
923 2000-08-07  Kazu Hirata  <kazu@hxi.com>
924
925         * config/atof-ieee.c: Fix formatting.
926         * config/atof-tahoe.c: Likewise.
927
928 2000-08-06  Nick Clifton  <nickc@cygnus.com>
929
930         * config/tc-sparc.c (md_begin): Fix typo in recent formatting
931         work.
932
933         * doc/as.texinfo (Pseudo Ops): Update to include descriptions
934         of .popsection, .previous, .pushsection, .subsection,
935         .version, .vtable_entry, .vtable_inherit and .weak.
936
937 2000-08-05  Kazu Hirata  <kazu@hxi.com>
938
939         * config/tc-cris.c: Fix formatting.
940         * config/tc-i386.c: Likewise.
941         * config/tc-sparc.c (sparc_ip): Simplify the code.
942
943 2000-08-04  Kazu Hirata  <kazu@hxi.com>
944
945         * config/tc-cris.c: Rearrange code for readability.
946         * config/tc-d10v.c: Fix formatting.
947         * config/tc-m32r.c: Likewise.
948         * config/tc-sparc.c: Likewise.
949
950 2000-08-02  Jim Wilson  <wilson@cygnus.com>
951
952         * config/tc-ia64.c (emit_one_bundle): Call ia64_free_opcode
953         before ia64_find_opcode.
954         (md_assemble): Likewise.
955
956 2000-08-01  Nick Clifton  <nickc@cygnus.com>
957
958         * config/tc-arm.c (do_mrs): Fix skip of 'cpsr_all' flag.
959         Undo some formatting fixes.
960
961 2000-08-01  Kazu Hirata  <kazu@hxi.com>
962
963         * config/obj-som.c: Fix formatting.
964         * config/obj-ieee.c: Likewise.
965         * config/tc-arm.c: Likewise.
966         * config/tc-v850.c: Likewise.
967
968 2000-08-01  Nick Clifton  <nickc@redhat.com>
969
970         * doc/c-m68k.texi (section M680x0 Options): Turn into a table
971         index by command line option.
972
973 2000-08-01  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
974
975         * doc/c-m68k.texi (@cindex @samp{--pcrel}): Rewrite option description.
976         (@node M68K-Branch): Rewrite to match the reality.
977
978 2000-07-31  Jason Eckhardt  <jle@cygnus.com>
979
980         * doc/c-i860.texi: New file.
981         * doc/Makefile.am (CPU_DOCS): Add c-i860.texi.
982         * doc/Makefile.in: Regenerate.
983         * doc/all.texi: Add I860 as relevant architecture.
984         * doc/as.texinfo: Include i860 dependent file c-i860.texi.
985
986 2000-07-31  Kazu Hirata  <kazu@hxi.com>
987
988         * config/tc-d30v.c: Fix formatting.
989
990 2000-07-31  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
991
992         * config/tc-m68k.c (flag_keep_pcrel, OPTION_PCREL): Add --pcrel option.
993         (md_convert_frag_1, md_estimate_size_before_relax): When making DBcc
994         long emit a long branch if available instead of an absolute jump, never
995         emit absolute jumps for anything with --pcrel.
996
997         * doc/c-m68k.texi: Document new command line option.
998
999 2000-07-29  Marek Michalkiewicz  <marekm@linux.org.pl>
1000
1001         * config/tc-avr.c: Use PARAMS macro in function declarations.
1002         Don't declare md_pcrel_from_section (already in tc-avr.h).
1003         (avr_operands): Use AVR_UNDEF_P and AVR_SKIP_P macros.
1004         (avr_operand): Don't set (unsigned) op_mask to -1.
1005
1006 2000-07-28  Jason Eckhardt  <jle@cygnus.com>
1007
1008         * configure.in: Add bits for i860-stardent-{sysv4, elf}*.
1009         * configure: Regenerated.
1010         * config/obj-elf.c (obj_elf_type): Recognize a fifth type
1011         of operand to the .type directive (.e.g, "type").
1012
1013 2000-07-28  Alan Modra  <alan@linuxcare.com.au>
1014
1015         * as.h (warn_comment, found_comment, found_comment_file): Declare.
1016         * app.c (do_scrub_chars): Record where first comment found.
1017         * read.c (read_a_source_file): Init found_comment on entry, and
1018         notify whether comments found on exit.
1019         * config/tc-hppa.c (md_shortopts): Add "c".
1020         (md_longopts): Add warn-comment.
1021         (md_parse_option): Handle it.
1022         (md_show_usage): Show available options.
1023         * config/tc-hppa.h (WARN_COMMENTS): Define if TE_LINUX
1024
1025 Thu Jul 27 11:25:01 2000  Andrew Cagney  <cagney@b1.cygnus.com>
1026
1027         * config/tc-mn10300.c (md_convert_frag): Fix printfs.
1028         (tc_gen_reloc): Add cast when assigning bfd_abs_symbol to
1029         sym_ptr_ptr
1030         (md_estimate_size_before_relax): Don't fall off end of function.
1031
1032 2000-07-27  Kazu Hirata  <kazu@hxi.com>
1033
1034         * config/tc-avr.c: Fix formatting.
1035         * config/tc-ns32k.c: Likewise.
1036
1037 2000-07-27  Alan Modra  <alan@linuxcare.com.au>
1038
1039         * config/tc-d10v.c (find_opcode): Remove extraneous `='.
1040
1041 2000-07-27  Kazu Hirata  <kazu@hxi.com>
1042
1043         * config/tc-d10v.c: Fix formatting.
1044         * config/tc-z8k.c: Likewise.
1045         * config/tc-sparc.c: Likewise.
1046
1047 2000-07-26  Dave Brolley  <brolley@redhat.com>
1048
1049         * cgen.c (queue_fixup): Declare opinfo.
1050         (gas_cgen_parse_operand): Mark unused parameters with ATTRIBUTE_UNUSED.
1051         (gas_cgen_md_operand): Ditto.
1052         (gas_cgen_md_apply_fix3): Ditto.
1053
1054 2000-07-24  Mark Elbrecht  <snowball3@bigfoot.com>
1055
1056         * config/obj-coff.c (obj_frob_symbol): Don't merge
1057         labels. Don't merge if the symbol isn't constant. Return
1058         immediately if a symbol is merged.
1059
1060 2000-07-22  Alan Modra  <alan@linuxcare.com.au>
1061
1062         * frags.c (frag_align): Correct absolute section alignment.
1063
1064 2000-07-20  DJ Delorie  <dj@redhat.com>
1065
1066         * config/obj-coff.c (obj_frob_symbol): revert previous change,
1067         it breaks linking against DLLs.
1068
1069 2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
1070
1071         * configure.in: Add CRIS support.
1072         * configure: Regenerate.
1073         * Makefile.am: (CPU_TYPES): Add cris.
1074         (CPU_OBJ_VALID) [aout]: Add cris.
1075         (MULTI_CPU_TYPES): Add cris.
1076         (MULTI_CPU_OBJ_VALID) [aout]: Add cris.
1077         [coff]: Only i386 and mips are valid.
1078         (TARGET_CPU_CFILES): Add config/tc-cris.c.
1079         (TARGET_CPU_HFILES): Add config/tc-cris.h.
1080         (MULTI_CFILES): Add config/e-crisaout.c and config/e-criself.c.
1081         Regenerate dependencies.
1082         * Makefile.in: Regenerate.
1083         * aclocal.m4: Regenerate.
1084         * as.c: Declare crisaout, criself.
1085         * config/tc-cris.h, config/tc-cris.c: New.
1086         * config/e-criself.c, config/e-crisaout.c: New.
1087         * po/POTFILES.in, po/gas.pot: Regenerate.
1088
1089 2000-07-20  Kazu Hirata  <kazu@hxi.com>
1090
1091         * read.c: Fix formatting.
1092         * write.c: Fix formatting.
1093
1094 2000-07-19  H.J. Lu  <hjl@gnu.org>
1095
1096         * sb.c: Include <stdlib.h> if exists for abort ().
1097
1098 2000-07-19  Alan Modra  <alan@linuxcare.com.au>
1099
1100         * config/tc-hppa.c (hppa_fix_adjustable): Correct LR%/RR% comment.
1101         (arg_reloc_stub_needed): #ifdef OBJ_SOM, not #ifdef SOM.
1102         (pa_type_args): Same here.
1103
1104 2000-07-17  Mark Elbrecht  <snowball3@bigfoot.com>
1105
1106         * config/obj-coff.c (obj_frob_symbol): Don't merge labels. Don't
1107         merge if the symbol isn't constant. Don't call S_SET_EXTERNAL if
1108         the storage class is already set.
1109
1110 2000-07-17  Kazu Hirata  <kazu@hxi.com>
1111
1112         * config/tc-m68hc11.c: Fix formatting.
1113         * config/tc-mn10200.c: Likewise.
1114         * config/tc-mn10300.c: Likewise.
1115         * config/tc-pj.c: Likewise.
1116         * config/tc-tic80.c: Likewise.
1117         * config/tc-w65.c: Likewise.
1118
1119 2000-07-17  Frank Ch. Eigler  <fche@redhat.com>
1120
1121         * expr.c (operand): Permit %bin literals if LITERAL_PREFIXPERCENT_BIN
1122         is defined.
1123
1124 2000-07-15  Ian Lance Taylor  <ian@zembu.com>
1125
1126         * doc/c-mips.texi (MIPS Opts): Remove erroneous space after
1127         @code.
1128
1129 2000-07-15  Alan Modra  <alan@linuxcare.com.au>
1130
1131         * config/tc-hppa.c (hppa_fix_adjustable): Use the same checks for
1132         ELF as are used for SOM (except the 32-bit reloc one) to decide
1133         whether a symbol can be reduced to a section symbol.  Expand on
1134         the comment for symbols involved in LR% and RR% expressions.
1135
1136 2000-07-14  Nick Clifton  <nickc@cygnus.com>
1137
1138         * config/tc-mips.c (mips_disable_float_construction): New
1139         static variable.  Set to true if doubles should not be
1140         constructed by loading two single width fp registers with
1141         halves of the value.
1142         (mips_ip): Test mips_disable_float_construction.
1143         (md_longopts): Add command line switches --construct-floats
1144         and --no-construct-floats.
1145         (md_parse_option): Parse new command line options.
1146         (md_show_usage): Describe new command line options.
1147
1148         * doc/c-mips.texi: Document new command line options.
1149
1150 2000-07-13  Koundinya K  <kk@ddeorg.soft.net>
1151
1152         * configure.in: Remove the test /usr/dde for mips-*-sysv4*MP*
1153         * configure: Regenerate.
1154
1155 2000-07-13  Hans-Peter Nilsson  <hp@axis.com>
1156
1157         * configure.in (DEFAULT_EMULATION setting): Revert part of
1158         2000-07-01 change that set te_multi=multi unless set to tmips.
1159         * configure: Regenerate.
1160
1161 2000-07-12  Mark Elbrecht  <snowball3@bigfoot.com>
1162
1163         * config/obj-coff.c (coff_frob_section): Add padding to the last
1164           section when aligning it increases its size.
1165
1166 2000-07-11  Kazu Hirata  <kazu@hxi.com>
1167
1168         * config/tc-tic54x.c: Fix formatting.
1169
1170 2000-07-10  Kazu Hirata  <kazu@hxi.com>
1171
1172         * config/tc-h8500.c: Fix formatting.
1173         * config/tc-tic54x.c: Fix formatting.
1174
1175 2000-07-10  Alan Modra  <alan@linuxcare.com.au>
1176
1177         * config/tc-hppa.c (md_apply_fix): Check fmt 12 and 22 pc-rel
1178         displacements correctly.
1179
1180         * read.h (s_abort): Add ATTRIBUTE_NORETURN.
1181
1182 2000-07-10  Ryan Bradetich  <rbradetich@uswest.net>
1183
1184         * hash.c (hash_insert): Add cast to obstruct_alloc to fix
1185         warning.
1186         (hash_jam): Ditto.
1187
1188 2000-07-09  Alan Modra  <alan@linuxcare.com.au>
1189
1190         From  David Huggins-Daines  <dhd@linuxcare.com>
1191         * config/te-hppalinux64.h: Add a new emulation.
1192         * configure.in (emulations): Add configure bits to support the
1193         64-bit Linux/parisc target.
1194         * configure: Regenerate.
1195
1196         * config/tc-hppa.c (md_parse_option): Support `-V' for ELF.
1197         (md_shortopts): Add `V' for ELF.
1198
1199         * config/tc-hppa.c (arg_reloc_stub_needed): Define as zero except
1200         when SOM or ELF_ARG_RELOC are defined.
1201         (pa_type_args): Only set symbol_arg_reloc_info when SOM or
1202         ELF_ARG_RELOC are defined.
1203         (pa_stringer_aux): Don't pa_check_current_space_and_subspace here..
1204         (pa_stringer): ..Do it here instead.  Fix comment typos.
1205         (hppa_force_relocation): Cast enums to int before comparing with
1206         ints.
1207
1208         From  Ryan Bradetich  <rbradetich@uswest.net>
1209         * config/tc-hppa.c: Removed unneeded libbfd.h to fix macro
1210         redifinition warning.
1211         (md_apply_fix): Added cast from enum to int for fixP->fx_r_type.
1212         (hppa_force_relocation): ditto
1213         (md_apply_fix): Added cast to buf to fix warnings.
1214
1215         * config/tc-hppa.h (pa_define_label, parse_cons_expression_hppa,
1216         cons_fix_new_hppa, hppa_force_relocation): Prototype.
1217
1218         * config/tc-hppa.c (reloc_type): It's an enum for OBJ_ELF.
1219         (R_N0SEL, R_N1SEL): Define only for OBJ_SOM.
1220         (tc_gen_reloc): Make `code' a reloc_type and `codes' a
1221         reloc_type** to avoid warnings in switch.
1222         (md_apply_fix): Make insn, val signed.  Zap buf_wd and read insn a
1223         little earlier instead.
1224
1225         * config/tc-hppa.c (symbol_arg_reloc_info): Define for both som
1226         and elf.
1227         (pa_type_args): Use symbol_arg_reloc_info.
1228         (struct pa_it): Make arg_reloc unsigned int.
1229         (struct hppa_fix_struct): Likewise for fx_arg_reloc.
1230         (pa_text, pa_data, pa_comm): Don't compile for TE_LINUX.
1231         (pa_code): Delete.  pa_text duplicates this function.
1232         (md_pseudo_table): Call obj_elf_text for ".code" if TE_LINUX.
1233         (fix_new_hppa): Argument offset is offsetT, arg_reloc is unsigned
1234         int.
1235         (cons_fix_new_hppa): Actually change selector to e_fsel when
1236         warning about assuming so.
1237         (tc_gen_reloc): More example elf arg reloc code.
1238         (md_apply_fix): Use arg_reloc_stub_needed for elf too.
1239         (hppa_force_relocation): Likewise.
1240
1241         * config/tc-hppa.h: Use TARGET_ARCH_SIZE to select target include
1242         files.
1243         (pa_end_of_source): Prototype.
1244         (hppa_fix_adjustable): Prototype.
1245         (LABELS_WITHOUT_COLONS): Move it..
1246         * config/te-hppa.h: To here.
1247
1248         * config/te-hppa64.h: New file.
1249
1250         * config/tc-hppa.c: Use TARGET_ARCH_SIZE to select target reloc
1251         type.
1252         (md_apply_fix): Pass stdoutput to bfd_hppa_insn2fmt.  Handle
1253         format -10, -16, 16 relocs.
1254         (hppa_elf_mark_end_of_function): Test for null
1255         last_call_info->start_symbol
1256
1257         * config/tc-hppa.c (pa_ip): In case 'V', pass `strict' to
1258         CHECK_FIELD, not INSERT_FIELD_AND_CONTINUE.  Don't pass opcode to
1259         re_assesmble_* functions.  Delete extraneous statements.  Fix
1260         typos in comments.
1261         (md_apply_fix): Compare against 1048575 in case 21.  Don't pass
1262         insn to re_assemble_*.
1263
1264 2000-07-08  Ulf Carlsson  <ulfc@engr.sgi.com>
1265
1266         * doc/internals.texi (Expressions): Fix typo.
1267
1268 2000-07-08  Kazu Hirata  <kazu@hxi.com>
1269
1270         * config/tc-sh.c: Fix formatting.
1271         * config/tc-tic54x.c: Fix formatting.
1272         * depend.c: Fix formatting.
1273         * flonum-konst.c: Likewise.
1274         * flonum-mult.c: Likewise.
1275
1276 2000-07-07  Kazu Hirata <kazu@hxi.com>
1277
1278         * config/tc-sh.c: Fix comments.
1279         * config/obj-vms.c: Fix comments.
1280         * config/tc-a29k.c: Likewise.
1281         * config/tc-alpha.c: Likewise.
1282         * config/tc-h8300.c: Likewise.
1283         * config/tc-h8500.c: Likewise.
1284         * config/tc-i370.c: Likewise.
1285         * config/tc-ia64.c: Likewise.
1286         * config/tc-m68hc11.c: Likewise.
1287         * config/tc-m68k.c: Likewise.
1288         * config/tc-mips.c: Likewise.
1289         * config/tc-ns32k.c: Likewise.
1290         * config/tc-ppc.c: Likewise.
1291         * config/tc-z8k.c: Likewise.
1292
1293 2000-07-06  Mark Elbrecht  <snowball3@bigfoot.com>
1294
1295         * config/obj-coff.c (TC_COFF_SECTION_DEFAULT_ATTRIBUTES): New.
1296         Default to '(SEC_LOAD | SEC_DATA)'.
1297         (obj_coff_section) [BFD_ASSEMBLER]: Use it.
1298
1299         * doc/internals.texi (CPU Backend): Describe
1300         TC_COFF_SECTION_DEFAULT_ATTRIBUTES.
1301
1302 Thu Jul  6 17:20:58 2000  Andrew Cagney  <cagney@b1.cygnus.com>
1303
1304         * as.c (parse_args): NULL terminate the long option list.
1305
1306 Tue Jul  4 14:08:28 2000  Andrew Cagney  <cagney@b1.cygnus.com>
1307
1308         * config/tc-d30v.h: Include "write.h" for fixS.
1309         (d30v_start_line, md_pcrel_from_section): Add function prototypes.
1310
1311 2000-07-05  Nick Clifton  <nickc@cygnus.com>
1312
1313         * config/tc-d30v.c (write_2_short): Further changes to warning
1314         messages produced when combining EITHER_BUT_PREFER_MU attributed
1315         opcodes.
1316
1317 2000-07-05  DJ Delorie  <dj@redhat.com>
1318
1319         * MAINTAINERS: new
1320
1321 2000-07-04  Alexandre Oliva  <aoliva@redhat.com>
1322
1323         * config/tc-arm.c (psrs): Accept combinations of flags.
1324
1325 2000-07-03  Marek Michalkiewicz  <marekm@linux.org.pl>
1326
1327         * config/tc-avr.c: Change _ () to _() around all strings marked
1328         for translation (exception from the usual coding style).
1329         (avr_opt): New struct variable, how the new switches are set.
1330         (OPTION_MMCU): Define as 'm' and actually use.
1331         (md_longopts): Add -mall-opcodes, -mno-skip-bug, -mno-wrap.
1332         (show_mcu_list): New function, display the list of known MCUs.
1333         (md_show_usage): Document the new switches.  Call show_mcu_list.
1334         (avr_set_arch): Change 'm' to OPTION_MMCU.
1335         (md_parse_option): Call show_mcu_list if unknown MCU specified.
1336         Handle the new switches.
1337         (avr_operands): Disable warnings for undefined combinations of
1338         operands if -mall-opcodes.  Disable warnings for skipping two-word
1339         instructions if enhanced core or -mno-skip-bug.
1340         (avr_operand): Accept all addressing modes on avr1 if -mall-opcodes.
1341         (md_apply_fix3): Reject 8K wrap if >8K or -mno-wrap.
1342         (md_assemble): Accept opcodes not supported by MCU if -mall-opcodes.
1343         (avr_ldi_expression): Warn about implicit lo8().
1344         * config/tc-avr.h (md_pcrel_from_section): Add prototype.
1345
1346 2000-07-01  Koundinya K  <kk@ddeorg.soft.net>
1347
1348         * configure.in: Add entry for mips-*-sysv4*MP*
1349         * configure: Rebuild
1350         * config/tc-mips.c (mips_target_format): Return elf32-tradbigmips or
1351         elf32-tradlittlemips for traditional mips targets.
1352         * config/tc-mips.c (md_estimate_size_before_relax): Duplicate the
1353         test for Link Once sections as in adjust_reloc_syms.
1354         * config/te-tmips.h: New file for traditional mips targets. Define
1355         TE_TMIPS.
1356
1357 2000-06-29 Mark Elbrecht <snowball3@bigfoot.com>
1358
1359         * config/obj-coff.c (obj_coff_setcion) [BFD_ASSEMBLER]: If the
1360         flags argument is not present, don't change an existing section's
1361         section's attributes. If the flags argument is present, warn if the
1362         attributes don't match the section's current attributes. When
1363         long section names are supported, set SEC_LINK_ONCE and
1364         SEC_LINK_DUPLICATES_DISCARD for a new .gnu.linkonce section.
1365
1366 Thu Jun 29 21:30:00 2000  Hans-Peter Nilsson  <hp@axis.com>
1367
1368         * config/obj-aout.c (obj_aout_type): Do not ignore for undefined
1369         symbols; create them.
1370
1371 2000-06-29 Mark Elbrecht <snowball3@bigfoot.com>
1372
1373         * write.c (set_segment_vma): New: Set vma and lma for a segment.
1374         (write_object_file) [BFD_ASSEMBLER && OBJ_COFF && TE_GO32]: Use it.
1375
1376 2000-06-27  Aldy Hernandez  <aldyh@redhat.com>
1377
1378         * config/tc-mips.c (mips_ip): handle "(foo-.-4)" type of
1379         expressions.  Ignore the problem when handling 16 bit signed
1380         immediates, because the assembler will take care of the relocation
1381         later.
1382
1383 2000-06-27  Nick Clifton  <nickc@cygnus.com>
1384
1385         * config/tc-d30v.c (write_2_short): Do not allow opcodes with
1386         the EITHER_BUT_PREFER_MU attribute to be combined into a reverse
1387         sequential order, and emit warning messages if the input source
1388         code contains constructs like that, or parallel constructs
1389         containing such opcodes.
1390
1391 2000-06-26  Marek Michalkiewicz  <marekm@linux.org.pl>
1392
1393         * config/tc-avr.c (mcu_types): Rename avr4 to avr5, add avr4.
1394         Add more MCU types for avr4 and avr5.  Replace at94k{10,20,40}
1395         with just at94k.  Change AVR_ISA_85xx back to AVR_ISA_2xxx.
1396         (md_show_usage): Update usage message.
1397         (md_parse_option): Allow redefinition of MCU type within the
1398         same avr[1-5] bfd machine type.  Show both old and new MCU type
1399         in the error message.
1400         (md_apply_fix3): Support 8K wrap if AVR_ISA_MEGA is not set.
1401         Simplify 8K wrap code.
1402
1403 2000-06-25  Kazu Hirata  <kazu@hxi.com>
1404
1405         * config/obj-aout.c: Remove all uses of DEFUN.
1406         * config/obj-ieee.c: Likewise.
1407         * config/tc-sh.c: Fix comment typos.
1408         * config/tc-tahoe.c: Likewise.
1409         * config/tc-vax.c: Likewise.
1410         * config/tc-w65.c: Likewise.
1411         * config/tc-z8k.c: Likewise.
1412         * config/tc-h8300.c (build_bytes): Assemble ldmac correctly.
1413
1414 2000-06-24  DJ Delorie  <dj@cygnus.com>
1415
1416         * config/tc-i386.c (md_estimate_size_before_relax): Revert
1417         more changes from Sept 1999
1418         (tc_i386_fix_adjustable): ditto
1419         (md_apply_fix3): ditto
1420
1421 2000-06-24  Frank Ch. Eigler  <fche@redhat.com>
1422
1423         * cgen.c (expr_jmp_buf_p): New validity flag for expr_jmp_buf.
1424         (gas_cgen_parse_operand): Set it around expression() call.
1425         (gas_cgen_md_operand): Test for it before longjmp().
1426
1427 2000-06-24  Kazu Hirata  <kazu@hxi.com>
1428
1429         * config/tc-h8500.c: Remove all uses of DEFUN.
1430         * config/tc-sh.c: Likewise.
1431         * config/tc-w65.c: Likewise.
1432         * config/tc-z8k.c: Likewise.
1433
1434         * config/tc-h8500.c: Fix typos in comments.
1435
1436 2000-06-23  Frank Ch. Eigler  <fche@redhat.com>
1437
1438         * expr.c (operand): Permit $hex literals if LITERAL_PREFIXDOLLAR_HEX
1439         is defined.
1440
1441 2000-06-23  matthew green  <mrg@redhat.com>
1442
1443         * expr.c (operand): Do not as_bad() if RELAX_PAREN_GROUPING is
1444         defined.  Fix error message for `[' grouping.
1445
1446 2000-06-22  Kazu Hirata  <kazu@hxi.com>
1447
1448         * config/tc-h8300.c: Fix formatting and comment typos.
1449
1450 2000-06-22  Timothy Wall  <twall@cygnus.com>
1451
1452         * config/tc-ia64.c (note_register_values): Move premature QP
1453         notation clearing into the appropriate place.
1454
1455 2000-06-22  Alan Modra  <alan@linuxcare.com.au>
1456
1457         * dep-in.sed: Escape literal `.'s on patterns.  Trim off `../'
1458         first before anything else.  Add bin-bugs.h, emul.h and progress.h
1459         Sort list of files as for $(OBJS) in Makefile.am.
1460
1461         * Makefile.am (DEP): grep for leading `/' in DEPA, and fail if we
1462         find one.  Remake dependencies.
1463         ($(OBJS)): Add bin-bugs.h, emul.h, and progress.h  Sort the list.
1464         * Makefile.in: Regenerate.
1465         * doc/Makefile.in: Regenerate.
1466
1467         * config/tc-i386.c (i386_displacement): Don't assume a constant
1468         displacement is necessarily 16 bits when in 16 bit code mode.
1469         (md_assemble): Instead size the displacement here after we know
1470         for sure that a .code16gcc operand hasn't automatically added
1471         operand size prefixes.
1472
1473 2000-06-21  H.J. Lu  <hjl@gnu.org>
1474
1475         * Makefile.am: Rebuild dependency.
1476         * Makefile.in: Rebuild.
1477
1478 2000-06-21  Kazu Hirata  <kazu@hxi.com>
1479
1480         * config/tc-h8300.c (parse_reg): Make the function static.
1481         (parse_exp): Likewise.
1482
1483 2000-06-20  DJ Delorie  <dj@cygnus.com>
1484
1485         * config/tc-i386.c (tc_i386_fix_adjustable): Revert change from
1486         Sept 1999; RVA relocs need to be treated more like DIR32 relocs
1487         for cygwin import libraries to work properly.
1488
1489 2000-06-20  H.J. Lu  <hjl@gnu.org>
1490
1491         * Makefile.am: Rebuild dependency.
1492         * Makefile.in: Rebuild.
1493         * configure: Likewise.
1494         * doc/Makefile.in: Likewise.
1495
1496 2000-06-20  Timothy Wall  <twall@cygnus.com>
1497
1498         * doc/internals.texi (CPU backend): Add @itemx for
1499         TC_START_LABEL_WITHOUT_COLON.
1500         * doc/c-tic54x.texi: New.
1501         * doc/as.texinfo: Add tic54x features and include primary tic54x
1502         documentation file.
1503         * doc/all.texi: Add C54X.
1504         * doc/Makefile.am (CPU_DOCS): Add c-tic54x.texi.
1505         * doc/Makefile.in: Regenerate.
1506         * configure.in: Add tic54x and define LIBM for tic54x.
1507         * configure: Regenrate.
1508         * config/tc-tic54x.[ch]: New.
1509         * config/obj-coff.h: Add tic54x.
1510         * Makefile.am: (CPU_TYPES): Add tic54x.
1511         (TARGET_CPU_CFILES): Add 'tc-tic54x.c'.
1512         (TARGET_CPU_HFILES): Add 'tc-tic54x.h'.
1513         (as_new_LDADD): Add $(LIBM).
1514         * Makefile.in: Regenerate.
1515
1516 2000-06-18  Stephane Carrez  <stcarrez@worldnet.fr>
1517
1518         * doc/Makefile.am (CPU_DOCS): Added 68hc11 file.
1519         * doc/c-m68hc11.texi: Document 68HC11 and 68HC12 port.
1520         * doc/as.texinfo: Likewise.
1521
1522         * configure, Makefile.in: Regenerate.
1523         * configure.in (emulations): Recognize m6811 and m6812.
1524         * Makefile.am (CPU_TYPES, TARGET_CPU_CFILES, TARGET_CPU_HFILES):
1525         Added files for 68hc11 and 68hc12 assembler.
1526         * config/tc-m68hc11.c: Assembler for 68hc11 and 68hc12.
1527         * config/tc-m68hc11.h: Header definition for that assembler.
1528
1529 2000-06-18  Nick Clifton  <nickc@redhat.com>
1530
1531         * symbols.c (resolve_symbol_value): Use bfd_octets_per_byte
1532         instead of OCTETS_PER_BYTE.
1533
1534         * config/tc-v850.c: Fix compile time warnings.
1535         * config/tc-ppc.c: Fix compile time warnings.
1536
1537 2000-06-18  H.J. Lu <hjl@gnu.org>
1538
1539         * configure.in: Don't emulate i386-pc-pe-coff with i386coff.
1540         * configure: Rebuild.
1541
1542 2000-06-17 Mark Elbrecht <snowball3@bigfoot.com>
1543
1544         * config/obj-coff.c (obj_coff_weak): Typo fix: Change BFD_ASSEMLER
1545         to BFD_ASSEMBLER.
1546
1547 2000-06-16  Nick Clifton  <nickc@cygnus.com>
1548
1549         * config/tc-mips.c (md_parse_option): Accept RM5200,RM5230,
1550         RM5231, RM5261, RM5721 and RM7000 as r5000 cpu variants.
1551
1552         * doc/c-mips.texi: Document newly accepted cpu variants.
1553
1554 2000-06-15  Ulf Carlsson  <ulfc@engr.sgi.com>
1555
1556         * config/tc-mips.h: Remove definition of ONLY_STANDARD_ESCAPES.
1557
1558 2000-06-13  Ulf Carlsson  <ulfc@engr.sgi.com>
1559
1560         * macro.c (getstring): Make it possible to escape the quote
1561         character.
1562
1563 Tue Jun 13 20:58:28 2000  Catherine Moore <clm@redhat.com>
1564
1565         * config/tc-hppa.c (pa_export): Weak symbols can be global.
1566
1567 2000-06-13  H.J. Lu  <hjl@gnu.org>
1568
1569         * configure: Regenerate.
1570
1571 2000-06-09  Alan Modra  <alan@linuxcare.com.au>
1572
1573         * app.c (do_scrub_begin): Don't default lex[';'] as a line
1574         separator.
1575         * doc/internals.texi (line_separator_chars): Semicolon is no
1576         longer a default.  Mention null and newline as defaults.
1577
1578         * read.c (is_end_of_line): Remove ifdef TC_HPPA.
1579
1580         * config/tc-i386.h (line_separator_chars): Explicitly mention `;'
1581         * config/tc-i860.h (line_separator_chars): Likewise.
1582         * config/tc-h8300.c (line_separator_chars): Likewise.
1583         * config/tc-i960.c (line_separator_chars): Likewise.
1584         * config/tc-m68k.c (line_separator_chars): Likewise.
1585         * config/tc-mips.c (line_separator_chars): Likewise.
1586         * config/tc-ns32k.c (line_separator_chars): Likewise.
1587         * config/tc-sparc.c (line_separator_chars): Likewise.
1588         * config/tc-vax.c (line_separator_chars): Likewise.
1589
1590         * config/tc-h8300.c (comment_chars): Use string initialiser.
1591         * config/tc-i960.c (line_comment_chars): Likewise.
1592         * config/tc-z8k.c (comment_chars, line_comment_chars,
1593         line_separator_chars): Likewise.
1594
1595         * config/tc-arm.c (line_separator_chars): Always use `;', not just
1596         for TE_LINUX.
1597
1598 2000-06-08  Nick Clifton  <nickc@cygnus.com>
1599
1600         * config/tc-arm.c (cons_fix_new_arm): Assign correct reloc value
1601         for size 1 fixes.
1602
1603 2000-06-08  David O'Brien  <obrien@FreeBSD.org>
1604
1605         * configure.in (VERSION): Update to show this is the CVS mainline.
1606
1607 2000-06-08  Matthew Jacob  <mjacob@feral.com>
1608
1609         * config/tc-alpha.c (md_undefined_symbol): Properly understand that
1610         $at is the integer register $r28, vs. both $r28 and the floating
1611         point register $f28.
1612
1613 2000-06-08  James E. Wilson  <wilson@cygnus.com>
1614
1615         * config/tc-ia64.c (generate_unwind_image): Call ia64_flush_insns.
1616         (dot_endp): Don't call ia64_flush_insns.
1617         (emit_one_bundle): Don't delete prologue/body records from
1618         unwind_record list in first loop.  Rewrite second loop to account for
1619         this.
1620
1621 2000-06-07  David Mosberger  <davidm@hpl.hp.com>
1622
1623         * config/tc-ia64.c: Add missing prototypes.
1624         (generate_unwind_image): Cast argument to output_unw_records call.
1625
1626 Wed Jun  7 22:44:14 2000  Denis Chertykov  <denisc@overta.ru>
1627
1628         * config/tc-avr.c (avr_operand): fix the formatting of the comment.
1629
1630 Wed Jun  7 21:26:15 2000  Denis Chertykov  <denisc@overta.ru>
1631
1632         * config/tc-avr.c (AVR_ISA_???): moved to include/opcode/avr.h
1633         (REGISTER_P): likewise.
1634         (avr_opcodes): uses include/opcode/avr.h
1635         (avr_operand): enable ld r,Z or st r,Z for at90s1200.
1636
1637 2000-06-04  Alan Modra  <alan@linuxcare.com.au>
1638
1639         * read.c (is_end_of_line): No ';' for TC_HPPA.  Add missing
1640         initializers too.
1641
1642 2000-06-03  H.J. Lu  <hjl@gnu.org>
1643
1644         * read.c (is_end_of_line): Put back `;'.
1645
1646 2000-06-03  Alan Modra  <alan@linuxcare.com.au>
1647
1648         * config/tc-i386.c (md_shortopts): Remove 'm', add 'q' to non-elf.
1649
1650 2000-06-01  Alan Modra  <alan@linuxcare.com.au>
1651
1652         * expr.c (operand): Test is_end_of_line outside switch to catch
1653         line separator chars that are also operators.
1654         (operator): Return O_illegal for line separator chars.
1655
1656         * read.c (is_end_of_line): Use 1 instead of 99.  Don't set `;'
1657         entry (or `!' entry for TC_HPPA).
1658
1659         * config/tc-arm.c (my_get_float_expression): Cast to unsigned char
1660         before indexing is_end_of_line.  Remove redundant check for '\0'.
1661         (fp_op2): Likewise.
1662         * config/tc-h8500.c (md_assemble): Likewise.
1663         * config/tc-mcore.c (md_assemble): Likewise.
1664         * config/tc-tic30.c (tic30_find_parallel_insn): Likewise.
1665         (md_atof): Likewise
1666
1667         * config/tc-m88k.c (s_bss): Cast to unsigned char before indexing
1668         is_end_of_line.
1669         * config/tc-mcore.c (mcore_cons): Likewise.
1670         (mcore_float_cons): Likewise.
1671         (mcore_stringer): Likewise.
1672         * config/tc-tic30.c (tic30_find_parallel_insn): Likewise.
1673
1674 2000-06-01  Scott Bambrough <scottb@netwinder.org>
1675
1676         * config/tc-arm.c (do_mrs): Allow SPSR_BIT to be set correctly.
1677
1678 2000-05-29  Nick Clifton  <nickc@cygnus.com>
1679
1680         * config/tc-sh.c: Fix compile time warning messages.
1681
1682         * config/tc-mips.c: Fix compile time warning messages.
1683
1684 2000-05-29  Philip Blundell  <philb@gnu.org>
1685
1686         * doc/as.texinfo: Update copyright dates.
1687         (Local Labels): Delete misplaced mention of ARM.
1688         * NEWS: Mention ARM ELF support.
1689
1690 2000-05-27  Alexandre Oliva  <aoliva@cygnus.com>
1691
1692         * config/tc-mn10300.c (md_assemble): Copy size to real_size before
1693         it is modified, and use the real_size to compute the frag address
1694         for dwarf2 line info.
1695
1696 2000-05-27  Alan Modra  <alan@linuxcare.com.au>
1697
1698         * Makefile.am (DEP, DEP1, dep, dep-in, dep-am): Use a better sed
1699         line-matching scheme to cope with automake moving variables around.
1700         ($(TARG_CPU_O)): Remove dependency on TARG_CPU_DEP_@target_cpu_type@
1701         * Makefile.in: Regenerate.
1702
1703 2000-05-26  Jakub Jelinek  <jakub@redhat.com>
1704
1705         * config/tc-sparc.c (sparc_relax): New.
1706         (md_longopts): Add -relax and -no-relax options.
1707         (md_parse_options, md_show_usage): Likewise.
1708         (md_apply_fix3): Optimize tail call into branch always if possible.
1709
1710 Thu May  4 15:27:07 2000  Donald Lindsay  <dlindsay@cygnus.com>
1711
1712         * config/tc-d10v.c (write_2_short, parallel_ok, md_assemble,
1713         d10v_cleanup) implement Mitsubishi's newly explained branch-packing
1714         rules, with warning when a GAS statement specifies a packing that
1715         will result in an instruction being squashed.
1716         Added typdef packing_type and enumerals, changed various integer
1717         literals to use the enumerals.
1718
1719 2000-05-24  David Mosberger  <davidm@hpl.hp.com>
1720
1721         * config/tc-ia64.c (dot_restorereg_p): New function.
1722         (md_pseudo_table): Add restorereg.p.
1723         (output_X3_format): Fix typo: record type should be UNW_X3, not UNW_X1.
1724         (output_X4_format): Fix typo: record type should be UNW_X4, not UNW_X2.
1725
1726         * config/tc-ia64.h (unw_record_type): Add unwabi.
1727         (unw_r_record): Rename member MASK to GRMASK.  Add sub-structure
1728         called MASK with members for imask, and the masks produced by
1729         fr_mem, gr_mem, br_mem, and frgr_mem.
1730         (unw_p_record): Add members ABI and CONTEXT.
1731         (unw_x_record): Add member AB.
1732         * config/tc-ia64.c (enum reg_symbol): Add REG_PSP and REG_PRIUNAT
1733         as pseudo-register for use during unwind info generation.
1734         (AR_PFS, AR_LC): New macros.
1735         (enum pseudo_type): Add PSEUDO_FUNC_REG to permit declaring registers
1736         whose names start with an at sign (as in "@priunat").
1737         (pseudo_func): Add "svr4", "hpux", "nt" constants and "priunat"
1738         register.
1739         (unwind_list, unwind_tail, current_unwind_entry, proc_start,
1740         proc_end, unwind_info, personality_routine): Consolidate into
1741         "unwind" structure to reduce offset-table use.  Add member
1742         NEXT_SLOT_NUMBER to track the slot number for the next instruction
1743         to be emitted.
1744         (output_R1_format, output_R3_format, output_P3_format,
1745         output_P6_format): Initialize R with zero to reduce compiler warnings.
1746         (output_P7_format): Ditto.  Add `default' branch to switch
1747         statement to reduce compiler warnings.
1748         (output_P8_format, output_B1_format, output_B4_format): Ditto.
1749         (output_P4_format): Rename 2nd & 3rd arg to IMASK and IMASK_SIZE.
1750         (format_ab_reg): Rename from format_a_b_reg.  Merge A and B args
1751         into single argument.
1752         (output_X1_format, output_X3_format): Initialize R with zero to reduce
1753         compiler warnings.  Merge A and B args into single argument.
1754         (output_X2_format, output_X4_format): Remove unused variable R.  Merge
1755         A and B args into single argument.
1756         (free_record): Removed (wasn't used).
1757         (free_list_records): Also free imasks in prologue records.
1758         (output_prologue, output_prologue_gr): Initialize mask bits to zero.
1759         (output_spill_mask): Remove.
1760         (output_unwabi): New function.
1761         (output_epilogue, output_label_state, output_copy_state): Call
1762         alloc_record.
1763         (output_spill_psprel, output_spill_sprel, output_spill_psprel_p,
1764         output_spill_sprel_p, output_spill_reg, output_spill_reg_p): Add AB
1765         argument.
1766         (process_one_record): New locals FR_MASK and GR_MASK.  Ignore
1767         gr_mem, fr_mem, br_mem, and frgr_mem records and instead emit them
1768         as part of handling the prologue records.  Emit region's imask if
1769         we have one.  Handle unwabi, epilogue, label_state, copy_state,
1770         spill_psprel, spill_sprel, spill_reg, spill_psprel_p,
1771         spill_sprel_p, and spill_reg_p records.
1772         (set_imask, count_bits, slot_index): New function.
1773         (fixup_unw_records): Fix region size computation.  Handle
1774         epilogue, spill_reg, spill_sprel, spill_psprel, spill_reg_p,
1775         spill_sprel_p, and spill_psprel_p records.  Merge mask bits of
1776         frgr_mem, fr_mem, gr_mem, br_mem on a per-region basis and
1777         set_imask accordingly.  Update imask for gr_gr, and br_gr records.
1778         (convert_expr_to_ab_reg, convert_expr_to_xy_reg): New function.
1779         (dot_save): Use manifest constants for applicaton registers.
1780         Handle REG_PR and REG_PRIUNAT.
1781         (dot_restore): Don't just ignore it.
1782         (dot_restorereg): New function..
1783         (generate_unwind_image): Ensure unwind info is a multiple of eight
1784         bytes, not just four bytes.
1785         (dot_handlerdata, dot_unwentry): Demand empty rest of line.
1786         (dot_altrp): Don't just ignore it.
1787         (dot_savemem): New function.  Replaces dot_savesp() and
1788         dot_savepsp().  Use manifest constants for applicaton registers.
1789         Handle REG_PR and REG_PRIUNAT.
1790         (dot_savef): Simplify.
1791         (dot_saveb): Support generation of br_gr.
1792         (dot_spillreg, dot_spillmem, dot_spillreg_p, dot_spillmem_p,
1793          dot_label_state, dot_copy_state): New function.
1794         (dot_unwabi): Don't just ignore it.
1795         (md_pseudo_table): Add restorereg, spillreg, spillsp, spillpsp,
1796         spillreg.p, spillsp.p, spillpsp, label_state, copy_state,
1797         unwabi, vframesp, and vframepsp.  Fix typo alprp->altrp.
1798         (emit_one_bundle): Set slot number for prologue/body records
1799         *before* emitting the first insn.
1800         (emit_one_bundle): Set UNWIND.NEXT_SLOT_NUMBER.
1801         (md_begin): Declare "psp" pseudo-register.
1802         (md_operand): Handle PSEUDO_FUNC_REG.  Fix printing of error message
1803         so we don't get segfault.
1804         (output_psp_sprel): Output sp/psp relative offsets as 4-byte word
1805         counts as required per SW Conventions manual
1806         (output_rp_psprel, output_rp_sprel, output_pfs_psprel,output_pfs_sprel,
1807         output_preds_psprel, output_preds_sprel, output_spill_base,
1808         output_unat_psprel, output_unat_sprel, output_lc_psprel,
1809         output_lc_sprel, output_fpsr_psprel, output_fpsr_sprel,
1810         output_priunat_psprel, output_priunat_sprel, output_bsp_psprel,
1811         output_bsp_sprel, output_bspstore_psprel, output_bspstore_sprel,
1812         output_rnat_psprel, output_rnat_sprel, output_spill_psprel,
1813         output_spill_sprel, output_spill_psprel_p, output_spill_sprel_p):Ditto.
1814         (dot_vframe): Implement.
1815         (dot_vframesp, dot_vframepsp): New function.
1816
1817 Tue May 23 00:57:05 2000  Hans-Peter Nilsson  <hp@axis.com>
1818
1819         * configure.in (i386-*-freebsd a.out entry): Quote properly.
1820         * configure: Regenerate.
1821
1822 2000-05-23  Alan Modra  <alan@linuxcare.com.au>
1823
1824         * config/tc-i386.c (md_assemble): Pass jump reloc in fr_var...
1825         (md_estimate_size_before_relax): so we can use it here instead of
1826         old kludges.  Localise vars to blocks.  Comment.
1827
1828         * frags.c (frag_new): Update fr_var comments.
1829         * frags.h (struct frag): Ditto.
1830
1831 2000-05-22  Richard Henderson  <rth@cygnus.com>
1832
1833         * config/tc-ia64.c (FUNC_PC_RELATIVE): New.
1834         (pseudo_func): Add pcrel.
1835         (operand_match):  Handle IA64_OPND_TGT64.
1836         (build_insn): Likewise.
1837         (md_begin): Initialize pseudo_func[FUNC_PC_RELATIVE].
1838         (ia64_gen_real_reloc_type): Handle FUNC_PC_RELATIVE.
1839         (fix_insn): Handle all three 64-bit relocation types.
1840
1841 Mon May 22 22:43:32 2000  Hans-Peter Nilsson  <hp@axis.com>
1842
1843         * obj.h (struct format_ops): New members begin, app_file,
1844         s_set_other, s_set_desc, s_get_type, s_set_type,
1845         separate_stab_sections, init_stab_section.
1846
1847         * config/obj-multi.h: Update GPL notice to v2.
1848         (obj_begin): New.
1849         (obj_app_file): New.
1850         (S_SET_SIZE): Test s_set_size for NULL before calling.
1851         (S_SET_ALIGN): Similar for s_set_align.
1852         (S_SET_OTHER): New.
1853         (S_SET_DESC): New.
1854         (S_GET_TYPE): New.
1855         (S_SET_TYPE): New.
1856         (SEPARATE_STAB_SECTIONS): New.
1857         (INIT_STAB_SECTION): New.
1858         (EMIT_SECTION_SYMBOLS): New.
1859         (AOUT_STABS) [OBJ_MAYBE_AOUT]: Define.
1860
1861         * config/obj-elf.h: Update GPL notice to v2.
1862         Mention that this file is included from obj-multi.h.
1863         (obj_begin): Wrap definition in ifndef.
1864         (elf_file_symbol): Constify declaration.
1865         (obj_app_file): Ditto.
1866         (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
1867         Wrap in ifndef SEPARATE_STAB_SECTIONS.
1868
1869         * config/obj-elf.c (elf_s_set_other): New.
1870         (elf_file_symbol): Constify argument.
1871         (elf_separate_stab_sections): New.
1872         (elf_init_stab_section): New.
1873         (elf_format_ops): Add new members.  Remove comma at end.
1874
1875         * config/obj-ecoff.c (ecoff_separate_stab_sections): New.
1876         (ecoff_format_ops): Add new fields.  Remove comma at end.
1877         Mention inconsistency for emit_section_symbols.
1878
1879         * config/obj-coff.h (c_dot_file_symbol): Constify declaration.
1880
1881         * config/obj-coff.c (c_dot_file_symbol): Constify argument.
1882         (coff_separate_stab_sections): New.
1883         (coff_format_ops): Add new members.
1884
1885         * config/obj-aout.c (obj_aout_sec_sym_ok_for_reloc): New.
1886         (obj_aout_s_set_other): New.
1887         (obj_aout_s_set_desc): New.
1888         (obj_aout_s_get_type): New.
1889         (obj_aout_s_set_type): New.
1890         (obj_aout_separate_stab_sections): New.
1891         (aout_format_ops): New members added.  Use obj_aout_process_stab,
1892         not 0.  Use obj_aout_sec_sym_ok_for_reloc, not 0.
1893         (obj_aout_frob_symbol): Add ATTRIBUTE_UNUSED to args as
1894         appropriate.
1895         (obj_aout_line, obj_aout_weak, obj_aout_type): Ditto.
1896
1897 2000-05-22  Alan Modra  <alan@linuxcare.com.au>
1898
1899         * config/tc-i386.c (tc_i386_fix_adjustable): Prevent adjustment
1900         for OBJ_MAYBE_ELF too.  Use S_IS_EXTERNAL instead of S_IS_EXTERN.
1901         (md_estimate_size_before_relax): Ensure jumps to weak and
1902         externally visible symbols are relocatable.
1903
1904 Sat May 20 16:41:55 2000  Hans-Peter Nilsson  <hp@axis.com>
1905
1906         * stabs.c (aout_process_stab): Make global.
1907         (s_desc): Add ATTRIBUTE_UNUSED to args as appropriate.
1908         * read.h (aout_process_stab): Declare.
1909
1910         * configure.in (EMULATIONS) [i386aout, i386coff, i386elf]:
1911         Generalize to *aout, *coff *elf.
1912         * configure: Regenerated.
1913
1914         * doc/internals.texi (Object format backend): Say
1915         SEPARATE_STAB_SECTIONS needs to be nonzero, not just defined.
1916
1917         * Makefile.am (TARG_ENV_HFILES): Delete te-multi.h.
1918         * Makefile.in: Regenerated.
1919
1920 2000-05-19  Catherine Moore  <clm@cygnus.com>
1921
1922         * cgen.h (GAS_CGEN_MAX_FIXUPS): Check if already defined.
1923
1924 2000-05-18  Alan Modra  <alan@linuxcare.com.au>
1925
1926         * config/tc-hppa.c (md_apply_fix): Mask out immediate bits of
1927         instruction to reflect change in re_assemble_*.
1928
1929 Thu May 18 10:52:14 2000  Jeffrey A Law  (law@cygnus.com)
1930
1931         * configure.in (hppa-*-hpux11*): If the cpu is hppa*64*, then
1932         build PA64 ELF tools.
1933         * configure: Rebuilt.
1934
1935 2000-05-17  Alan Modra  <alan@linuxcare.com.au>
1936
1937         * Makefile.am: Regenerate dependencies.
1938         * Makefile.in: Regenerate.
1939
1940 2000-05-15  Nick Clifton  <nickc@cygnus.com>
1941
1942         * config/tc-arm.c (struct asm_psr): Add boolean field
1943         distinguishing between CSPR and SPSR.  Rename 'number' field
1944         to 'field'.
1945         (psrs): Rearrange contents to match new asm_psr structure.
1946         (arm_psr_parse): Move next to psr_required_here.  Make it
1947         return an asm_psr structure.
1948         (psr_required_here): Use asm_psr structure returned by
1949         arm_psr_parse.
1950         (do_msr): Reorganise to allow psr_required_here to be called
1951         only once.
1952         (md_undefined_name): Mark 'name' parameter as unused, since
1953         the COFF target does not use it.
1954
1955 2000-05-14  David O'Brien  <obrien@FreeBSD.org>
1956
1957         * config/te-386bsd.h:  Clean up comments to adhere to the GNU coding
1958         standards.
1959         * config/te-aux.h:  Likewise.
1960         * config/te-dpx2.h:  Likewise.
1961         * config/te-go32.h:  Likewise.
1962         * config/te-hp300.h:  Likewise.
1963         * config/te-hppa.h:  Likewise.
1964         * config/te-i386aix.h:  Likewise.
1965         * config/te-ic960.h:  Likewise.
1966         * config/te-interix.h:  Likewise.
1967         * config/te-nbsd532.h:  Likewise.
1968         * config/te-pc532mach.h:  Likewise.
1969         * config/te-ppcnw.h:  Likewise.
1970         * config/te-psos.h:  Likewise.
1971         * config/te-sparcaout.h:  Likewise.
1972         * config/te-sun3.h:  Likewise.
1973         * config/te-sysv32.h:  Likewise.
1974
1975 2000-05-14  Alan Modra  <alan@linuxcare.com.au>
1976
1977         * config/tc-h8300.c (do_a_fix_imm): Don't rely on `short' being 16
1978         bits.  Instead explicitly mask and sign extend.  Do the 8 bit mask
1979         and sign extend without an if statement.
1980         (build_bytes): Likewise.
1981
1982 2000-05-14  Kazu Hirata  <kazu@hxi.com>
1983
1984         * config/tc-h8300.c (do_a_fix_imm): Output a reloc for no
1985         X_add_symbol L_32 case.
1986
1987 2000-05-14  David O'Brien  <obrien@FreeBSD.org>
1988
1989         * config/te-freebsd.h: New file.
1990
1991 2000-05-13  Alan Modra  <alan@linuxcare.com.au>
1992
1993         * asintl.h (gettext, dgettext, dcgettext, textdomain,
1994         bindtextdomain): Replace defines with those from intl/libgettext.h
1995         to quieten gcc warnings.
1996
1997         * NEWS: Mention x86 .arch and -q.
1998
1999         * config/tc-i386.c (quiet_warnings): New.
2000         (md_assemble): Use quiet_warnings.
2001         (md_parse_option): Set quiet_warnings from -q.
2002         (md_show_usage): Mention -q, delete -m.
2003         (flag_do_long_jump): Delete.
2004         (md_parse_option): Remove -m.
2005         (md_show_usage): Remove -m.
2006         (md_create_long_jump): Remove useless flag_do_long_jump code.
2007
2008         * as.c (parse_args): In case OPTION_DEFSYM, use a valueT to hold
2009         the symbol value, and use bfd_scan_vma if BFD_ASSEMBLER.
2010
2011 2000-05-13  Alan Modra  <alan@linuxcare.com.au>
2012             Alexander Sokolov <robocop@netlink.ru>
2013
2014         * doc/c-i386.texi (i386-Arch): New section.
2015         (i386-Syntax): Mention .intel_syntax and .att_syntax.
2016
2017         * config/tc-i386.c (cpu_arch_name, cpu_arch_flags): New.
2018         (smallest_imm_type): Use smallest opcode for shift by one if cpu
2019         architecture has been given and is not 486.
2020         (set_cpu_arch): New.
2021         (md_pseudo_table): Add .arch.
2022         (md_assemble): Warn if cpu architecture has been given and an
2023         unsupported instruction.
2024
2025         * config/tc-i386.h (SMALLEST_DISP_TYPE): Delete.
2026         Move operand_types bit defines after relevant template field.
2027         (template): Add cpu_flags.
2028         (Cpu*): Define.
2029         (arch_entry): New.
2030
2031 2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
2032
2033         * config/tc-mn10300.h (md_end): Define.
2034         (mn10300_finalize): Declare.
2035         * config/tc-mn10300.c: Include dwarf2dbg.h.
2036         (debug_line): Define.
2037         (md_assemble): Generate dwarf2 line info.
2038         (mn10300_finalize): New function.  Finalize dwarf2 info.
2039
2040 2000-05-11  Ulf Carlsson  <ulfc@engr.sgi.com>
2041
2042         * config/tc-mips.c (md_estimate_size_before_relax): Use the
2043         external version of the relocation for weak symbols.
2044
2045 2000-05-08  David Mosberger  <davidm@hpl.hp.com>
2046
2047         * config/tc-ia64.c (output_P7_format, case mem_stack_f): Output fixed
2048         frame size in units of 16 bytes, as required per SW Conventions manual.
2049         (output_unw_records): Output info-block header as a dword to get
2050         byte-order right.
2051
2052 2000-05-08  Alan Modra  <alan@linuxcare.com.au>
2053
2054         * as.h: #include "file", not <file> on files from ../include.
2055         (as_abort, as_fatal): Add ATTRIBUTE_NORETURN.
2056         * config/tc-m68k.c (m68k_ip): Fix signed/unsigned warnings.
2057         (md_convert_frag): Add ATTRIBUTE_UNUSED.
2058         (tc_coff_symbol_emit_hook): Ditto.
2059         (OPTCOUNT): Cast to int to avoid compiler warning.
2060         (md_begin): Fix signed/unsigned warnings.
2061
2062 2000-05-08  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
2063
2064         * config/tc-m68k.c (md_convert_frag_1): Abort if we end up in the
2065         ABRANCH LONG case for a conditional branch on a 68000.
2066         (md_estimate_size_before_relax): Likewise.  Also handle
2067         flag_short_refs correctly for ABRANCH, BCC68000, and DBCC.
2068         (m68k-ip: case ABSL): Relax absolute references to 16-bit
2069         PC-relative on all CPUs.
2070         (md_estimate_size_before_relax): Likewise.
2071
2072 2000-05-04  Alan Modra  <alan@linuxcare.com.au>
2073
2074         * as.c (parse_args): Just mention current year in printed
2075         copyright message.
2076
2077 2000-05-03  J.T. Conklin  <jtc@redback.com>
2078
2079         * config/tc-ppc.c (pre_defined_registers): Add entries for vector
2080         unit registers.
2081         (md_parse_option): Recognize -m7400.
2082
2083 2000-05-03  Ian Lance Taylor  <ian@zembu.com>
2084
2085         * config/atof-ieee.c (gen_to_words): When adding carry back in,
2086         don't permit lp to become less than the words array.
2087
2088 2000-05-03  Rodney Brown  <RodneyBrown@pmsc.com>
2089
2090         config/tc-mcore.c (md_apply_fix3): BFD_RELOC_MCORE_PCREL_IMM11BY2
2091         Fix little-endian case.
2092
2093 2000-05-03  David O'Brien  <obrien@NUXI.com>
2094
2095         * as.c (parse_args): Update copyright.
2096
2097 2000-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
2098
2099         * gas/config/tc-i386.h (SUB_SEGMENT_ALIGN): If TE_GO32, return 4
2100         for the .bss section too.
2101
2102 2000-05-02  Alan Modra  <alan@linuxcare.com.au>
2103
2104         * configure.in: Set em=linux for hppa-*-linux.
2105         * configure: Regenerate.
2106         * doc/Makefile.in: Regenerate with correct automake.
2107
2108         * frags.c (frag_grow): Sanity check chunk_size.
2109
2110         * config/obj-elf.h: #include "bfd.h" not <bfd.h>
2111         * config/obj-som.h: Likewise.
2112         * config/obj-ieee.h: Likewise.
2113
2114         * config/tc-hppa.h: Test BFD_ARCH_SIZE, not BFD64.
2115
2116         * config/tc-hppa.c (log2): Only compile when OBJ_SOM.
2117         (md_pseudo_table): Fully initialise OBJ_ELF cases.
2118         (fix_new_hppa): Add ATTRIBUTE_UNUSED to args as appropriate.
2119         (pa_ip): low_sign_unext now returns via function value.  Use
2120         re_assemble_* instead of dis_assemble_* and
2121         INSERT_FIELD_AND_CONTINUE combination.  Don't call sign_unext
2122         unnecessarily.
2123         (md_convert_frag): Add ATTRIBUTE_UNUSED to args as appropriate.
2124         (md_section_align, md_parse_option, md_show_usage,
2125         md_undefined_symbol, pa_align, pa_block, pa_brtab, pa_try,
2126         pa_callinfo, pa_code, pa_comm, pa_end, pa_enter, pa_entry,
2127         pa_exit, pa_export, pa_import, pa_label, pa_leave, pa_level,
2128         pa_origin, pa_param, pa_proc, pa_procend, pa_space, pa_spnum,
2129         pa_version, pa_compiler, pa_copyright, pa_data, pa_fill, pa_lsym,
2130         pa_text): Likewise.
2131         (md_apply_fix): Change type of new_val to offsetT.  Delete w1, w2,
2132         w, resulti.  Add insn, val.  Move bfd_get_32 and bfd_put_32
2133         outside of switch.  Correct mask and shifting errors in case 10
2134         and case -11.  In case 21, compare against signed range to suit
2135         hppa_field_adjust changes.  In case 12, use re_assemble_12.  In
2136         case 17 and case 22, use offsetT variable to properly check range.
2137         Use re_assemble_* here too.
2138         (evaluate_absolute): Change type of value to offsetT.  Call
2139         hppa_field_adjust to do the work for us.
2140         (pa_parse_cmpb_64_cmpltr): Delete save_s.
2141         (pa_parse_cmpib_64_cmpltr): Ditto.
2142         (pa_build_unwind_subspace): Delete unused var subseg.  Change type
2143         of i to unsigned int.
2144         (pa_type_args): Conditionally declare symbol if OBJ_SOM.
2145         (pa_end_of_source): Return type is void.
2146
2147 Mon May  1 08:54:23 2000  Catherine Moore  <clm@cygnus.com>
2148
2149         * macro.c (macro_expand_body): Don't prepend macro number with zeroes.
2150
2151 Mon May  1 14:19:39 2000  Denis Chertykov  <denisc@overta.ru>
2152
2153         * config/tc-avr.c: ATTRIBUTE_UNUSED added to the necessary places.
2154         More comments added.
2155         (md_begin): Removed "construct symbols for each register name".
2156         Because register names conflicts with GCC generated function
2157         names.
2158         (avr_operand): Now constant numbers can be used as a register
2159         identifiers (0 as r0, 31 as r31).
2160         (md_assemble): use skip_space () before parsing instruction
2161         operands.
2162
2163 2000-05-01  Alan Modra  <alan@linuxcare.com.au>
2164
2165         * configure.in: Set bfd_gas=yes on i386-*-pe and i386-*-nt* to
2166         ensure all pe targets use bfd.  Remove unnecessary bfd_gas=yes on
2167         arm-*-netbsd* and arm-*-wince as this is set for all arm*.
2168         * configure: Regenerate.
2169
2170 2000-04-29  Andreas Jaeger  <aj@suse.de>
2171
2172         * as.h: Correctly check GCC version.
2173
2174 2000-04-26  David O'Brien  <obrien@FreeBSD.org>
2175
2176         * doc/as.1: Fix unbalanced brackets.
2177
2178         * config/tc-i386.c (comment_chars): Don't use '/' as comment start if
2179         TE_FreeBSD.
2180         (line_comment_chars): Set to '/' if TE_FreeBSD.
2181
2182 Tue Apr 25 11:02:02 2000  Jeffrey A Law  (law@cygnus.com)
2183
2184         * configure.in: Configury support for PA64 (currently disabled).
2185         * configure: Rebuilt.
2186
2187 2000-04-25  Machida Hiroyuki  <machida@sm.sony.co.jp>
2188
2189         * config/tc-mips.c (s_change_sec): Use record_alignment, not
2190         bfd_set_section_alignment.
2191
2192 2000-04-25  Alan Modra  <alan@linuxcare.com.au>
2193
2194         * config/tc-i386.c (offset_in_range): Ensure shift counts are less
2195         than 32.
2196
2197 2000-04-24  Nick Clifton  <nickc@cygnus.com>
2198
2199         * doc/c-arm.texi (ARM Directives): Document behaviour of .align 0.
2200         * doc/as.texinfo (Align): Include arm and strongarm in list of
2201         targets that have the second form of the behaviour of the .align
2202         directive.
2203
2204 2000-04-24  Mark Klein <mklein@dis.com>
2205
2206          * obj-som.c: Terminate obj_pseudo_table.
2207
2208 Mon Apr 24 15:21:11 2000  Clinton Popetz  <cpopetz@cygnus.com>
2209
2210         * as.c (parse_args): Allow md_parse_option to override -a listing
2211         option.
2212         * config/obj-coff.c (add_lineno): Change type of offset parameter
2213         from "int" to "bfd_vma."
2214         * config/tc-ppc.c (md_pseudo_table): Add "llong" and "machine."
2215         (ppc_mach, ppc_subseg_align, ppc_target_format): New.
2216         (ppc_change_csect): Align correctly for XCOFF64.
2217         (ppc_machine): New function, which discards "ppc_machine" line.
2218         (ppc_tc): Cons for 8 when code is 64 bit.
2219         (md_apply_fix3): Don't check operand->insert.  Handle 64 bit
2220         relocations.
2221         (md_parse_option): Handle -a64 and -a32.
2222         (ppc_xcoff64): New.
2223         * config/tc-ppc.h (TARGET_MACH): Define.
2224         (TARGET_FORMAT): Move to function.
2225         (SUB_SEGMENT_ALIGN): Use ppc_subseg_align.
2226
2227 Sun Apr 23 16:45:45 2000  Denis Chertykov  <denisc@overta.ru>
2228
2229         * config/tc-avr.c: New AVR_ISA_ defined.
2230         (md_assemble): Handle opcodes with optional operands (lpm,elpm).
2231         (avr_operand): Handle 'a', 'v' and 'z' constraint letters needed
2232         for `fmul', `movw' and `lpm R,Z' instructions.
2233         (avr_operands): Warn if current opcode is a two-word instruction
2234         and previous opcode was cpse/sbic/sbis/sbrc/sbrs.
2235         (avr_opcodes): New commands added.
2236         (REGISTER_P): Check 'a' and 'v' constraint letters.
2237         (mcu_types): New MCU added.
2238
2239 2000-04-22  Timothy Wall  <twall@cygnus.com>
2240
2241         * config/tc-ia64.c (pseudo_func[]): Add new "nat" entry equivalent
2242         to "natval".
2243         (operand_match): Conditionally insert default bit values for IMMU9.
2244
2245 2000-04-14  Matthew Green  <mrg@cygnus.com>
2246
2247         * configure.in: Add NetBSD/sparc ELF and NetBSD/sparc64 support.
2248         * configure: Rebuilt.
2249
2250 Fri Apr 21 14:29:43 2000  Jeffrey A Law  (law@cygnus.com)
2251                           Jason Eckhardt  <jle@cygnus.com>
2252
2253         * config/tc-hppa.c (md_apply_fix): Handle new PA2.0 formats.
2254
2255         * config/tc-hppa.c (CHECK_ALIGN): New macro.
2256         Added handling of new operand types l,y,&,fe,fE,fx.
2257
2258 Fri Apr 21 13:20:53 2000  Richard Henderson  <rth@cygnus.com>
2259                           David Mosberger  <davidm@hpl.hp.com>
2260                           Timothy Wall <twall@cygnus.com>
2261                           Andrew MacLeod  <amacleod@cygnus.com>
2262                           Jim Wilson  <wilson@cygnus.com>
2263
2264         * Makefile.am (CPU_TYPES): Add ia64.
2265         (TARGET_CPU_CFILES): Add config/tc-ia64.c.
2266         (TARGET_CPU_HFILES): Add config/tc-ia64.h.
2267         * Makefile.in: Rebuild.
2268         * app.c (do_scrub_chars): Handle DOUBLESLASH_COMMENTS.
2269         * configure: Rebuild.
2270         * configure.in: Recognize ia64 as cpu type.  Set bfd_gas.
2271         (ia64-*-elf*, ia64-*-linux-gnu*): New targets.
2272         * expr.c (expr): Handle md_optimize_expr.
2273         * read.c (LEX_HASH): Add comment.
2274         * config/tc-ia64.c, config/tc-ia64.h: New files.
2275
2276 2000-04-21  Richard Henderson  <rth@cygnus.com>
2277
2278         * config/tc-d30v.c (write_2_short): Disregard opcode1->ecc when
2279         bundling a non-delayed branch type instruction.
2280
2281 2000-04-20  Alexandre Oliva  <aoliva@cygnus.com>
2282
2283         * config/tc-mn10300.c (HAVE_AM30): Define.
2284         (md_assemble): Use it.
2285
2286 2000-04-19  Alan Modra  <alan@linuxcare.com.au>
2287
2288         * config/obj-elf.c (obj_elf_change_section): Check for changed
2289         section attributes.
2290
2291         * Makefile.am: (CPU_MULTI_VALID): Remove.
2292         (MULTI_CPU_TYPES): Define.
2293         (MULTI_CPU_OBJ_VALID): Define.
2294         (DEPTC): Use the above.
2295         (DEPOBJ): Same here.
2296         (DEP2): And here.
2297         Regenerate dependencies.
2298         * Makefile.in: Regenerate.
2299
2300 2000-04-19  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
2301
2302         * Makefile.am (YACC, LEX): Get them from configure.
2303
2304 2000-04-18  H.J. Lu  (hjl@gnu.org)
2305
2306         * config/tc-i386.c (offset_in_range): Use addressT instead of
2307         bfd_vma for non-bfd assemblers.
2308
2309 2000-04-17  Alan Modra  <alan@linuxcare.com.au>
2310
2311         * config/tc-i386.c (offset_in_range): Sign extend val so BFD64
2312         doesn't give spurious errors.
2313
2314 2000-04-14  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
2315
2316         * as.h (SEEK_SET): Define if undefined.
2317
2318 2000-04-13  Alan Modra  <alan@linuxcare.com.au>
2319
2320         * config/tc-arm.c (md_apply_fix3): Don't use UL suffix on
2321         constants, and don't assume offsetT is 32 bits.
2322
2323 2000-04-12  Andrew Cagney  <cagney@b1.cygnus.com>
2324
2325         * config/tc-d10v.h: Include "write.h" to get definition of fixS.
2326         (md_pcrel_from_section): Add prototype.
2327         (d10v_fix_adjustable): Add prototype.
2328         (d10v_force_relocation): Replace 'struct fix' with 'fixS'.
2329
2330         * config/tc-d10v.c (md_apply_fix3): Add paren around &&.
2331
2332 2000-04-12  Nick Clifton  <nickc@cygnus.com>
2333
2334         * config/tc-d10v.c (find_opcode): Correctly calculate position of
2335         symbol in frag chain.
2336
2337 2000-04-10  Alan Modra  <alan@linuxcare.com.au>
2338
2339         * config/tc-i386.c (fits_in_signed_byte): Change arg to offsetT.
2340         (fits_in_unsigned_byte, fits_in_unsigned_word): Ditto.
2341         (fits_in_signed_word, smallest_imm_type): Ditto.
2342         (md_assemble): Use an offsetT var to hold offsetT values, not a
2343         long.
2344         (offset_in_range): New.
2345         (md_assemble): Use it.
2346         (md_convert_frag): Change type of target_address, opcode_address,
2347         and displacement_from_opcode_start to offsetT.
2348         (md_create_short_jump): Change type of offset to offsetT.
2349         (md_create_long_jump): Ditto.
2350         (md_apply_fix3): Use -4, not 0xfffffffc for BFD_RELOC_386_PLT32.
2351         (md_chars_to_number): Remove.
2352         (output_invalid): Remove duplicate prototype.
2353
2354 2000-04-09  Nick Clifton  <nickc@cygnus.com>
2355
2356         * Makefile.am (CPU_TYPES): Add 'avr'.
2357         (TARGET_CPU_CFILES): Add 'tc-avr.c'.
2358         (TARGET_CPU_HFILES): Add 'tc-avr.h'.
2359
2360         * Makefile.in: Regenerate.
2361
2362         * doc/as.texinfo: Add M32R documentation.
2363
2364 Fri Apr  7 15:56:57 2000  Andrew Cagney  <cagney@b1.cygnus.com>
2365
2366         * configure.in (WARN_CFLAGS): Set to -W -Wall by default.  Add
2367         --enable-build-warnings option.
2368         * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
2369         * Makefile.in, configure: Re-generate.
2370
2371 2000-04-07  Nick Clifton  <nickc@cygnus.com>
2372
2373         * config/tc-arm.c (md_apply_fix3): Treat BFD_RELOC_ARM_PCREL_BLX
2374         in the same way as BFD_RELOC_ARM_PCREL_BRANCH, and
2375         BFD_RELOC_THUMB_PCREL_BLX lie BFD_RELOC_THUMB_PCREL_BRANCH.
2376         (tc_gen_reloc): Accept BFD_RELOC_{ARM|THUMB}_PCREL_BLX.
2377         (arm_force_relocation): Force relocations for
2378         BFD_RELOC_{ARM|THUMB}_PCREL_BLX as well.
2379
2380 Wed Apr  5 22:26:32 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
2381
2382         * config/tc-sh.c (get_operands): There's no third operand if the
2383         first operand is an immediate.
2384
2385 Wed Apr  5 22:07:19 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
2386
2387         * config/tc-sh.c (immediate): Delete.
2388         (sh_operand_info): Add immediate member.
2389         (parse_reg): Use A_PC for pc.
2390         (parse_exp): Add second argument 'op'.  All callers changed.
2391         (parse_at): Expect pc to be coded as A_PC.
2392         Use immediate field in *op.
2393         (insert): Add fourth argument 'op'.  All callers changed.
2394         (build_relax): Add second argument 'op'.  All callers changed.
2395         (insert_loop_bounds): New function.
2396         (build_Mytes): Remove DISP_4.
2397         Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}.  Add REPEAT.
2398         (assemble_ppi): Use immediate field in *operand.
2399         (sh_force_relocation): Handle BFD_RELOC_SH_LOOP_{START,END}.
2400         (md_apply_fix): Likewise.
2401         (tc_gen_reloc): Likewise.  Check for a pcrel BFD_RELOC_SH_LABEL.
2402
2403 Wed Apr  5 06:35:45 2000  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
2404
2405         * config/tc-sparc.c (sparc_ip): Avoid string pasting.
2406
2407 Tue Apr  4 19:27:50 2000  Hans-Peter Nilsson  <hp@axis.com>
2408
2409         * internals.texi (CPU backend): Document
2410         TC_CHECK_ADJUSTED_BROKEN_DOT_WORD.
2411
2412 2000-04-04  Alan Modra  <alan@linuxcare.com.au>
2413
2414         * po/gas.pot: Regenerate.
2415
2416         * as.c (show_usage): Restore translated part of bug string.
2417         * gasp.c (show_usage): Likewise.
2418
2419         * Makefile.am (MKDEP): Use gcc -MM rather than ../mkdep.
2420         (DEP): Quote when passing vars to sub-make.  Use "mv -f" rather
2421         than move-if-change.
2422         (DEP1): Modify for "gcc -MM".
2423         (DEPTC): Likewise.
2424         (DEPOBJ): Likewise.
2425         (DEP2): Likewise.
2426         (CLEANFILES): Add DEPTCA, DEPOBJA, DEP2a, DEPA.
2427         Update dependencies.
2428         * Makefile.in: Regenerate.
2429
2430 2000-04-03  Alexandre Oliva  <aoliva@cygnus.com>
2431
2432         * config/tc-mn10300.c (md_pseudo_table): Use constant names.
2433         (md_begin): Likewise.
2434         (HAVE_AM33): New macro.
2435         (md_assemble): Use it.  Match r_regs and xr_regs only if
2436         HAVE_AM33.
2437
2438 2000-04-03  Alan Modra  <alan@linuxcare.com.au>
2439
2440         * as.h: #include "bin-bugs.h"
2441         * as.c (show_usage): Use REPORT_BUGS_TO.
2442         * gasp.c: #include "bin-bugs.h"
2443         (show_usage): Use REPORT_BUGS_TO.
2444
2445         * config/tc-sparc.c (md_show_usage): Add a trailing newline.
2446
2447 Mon Apr  3 13:56:03 2000  Hans-Peter Nilsson  <hp@axis.com>
2448
2449         * write.c (write_object_file) [! WORKING_DOT_WORD]: If defined,
2450         call TC_CHECK_ADJUSTED_BROKEN_DOT_WORD for each word after
2451         adjustments.
2452
2453 2000-04-03  Alan Modra  <alan@linuxcare.com.au>
2454
2455         * config/tc-i386.c (i386_immediate): Don't assume a constant
2456         immediate is necessarily 16 bits when in 16 bit code mode.
2457         (md_assemble): Instead set guess_suffix here after we have checked
2458         registers.
2459
2460 2000-04-02  Richard Henderson  <rth@cygnus.com>
2461
2462         * config/tc-d30v.c (check_range): Allow signed or unsigned 32-bit
2463         quantities.  Correct right shift sign extension.
2464         (build_insn): Make `number' unsigned long.  Mask top 6 bits of
2465         32-bit value when shifting into place.
2466
2467 2000-04-01  Ian Lance Taylor  <ian@zembu.com>
2468
2469         * app.c: Add ATTRIBUTE_UNUSED as needed.
2470         * config/tc-ppc.c: Likewise.
2471         (ppc_size): Make unsigned long.
2472         (ppc_insert_operand): Add casts to avoid warnings.
2473
2474 2000-03-31  Nick Clifton  <nickc@cygnus.com>
2475
2476         * config/tc-d10v.h (md_flush_pending_output): Define.
2477
2478 2000-03-29  Nick Clifton  <nickc@cygnus.com>
2479
2480         * config/tc-sh.h (SEG_NAME): New macro: return the name of a
2481         segment.  Works for both BFD_ASSEMBLER and others.
2482         (SUB_SEGMENT_ALIGN): Use SEG_NAME.
2483
2484 2000-03-29  Nick Clifton <nickc@cygnus.com
2485
2486         * config/tc-arm.c (tinsns): Add "bal" instruction pattern.
2487
2488 2000-03-28  Alan Modra  <alan@linuxcare.com.au>
2489
2490         * listing.c (LISTING_LHS_WIDTH): Default depends on
2491         LISTING_WORD_SIZE.
2492         (LISTING_LHS_WIDTH_SECOND): Default to LISTING_LHS_WIDTH.
2493
2494 2000-03-27  Ian Lance Taylor  <ian@zembu.com>
2495
2496         * config/tc-sh.c (md_show_usage): Use backslash before newline in
2497         string literal.
2498
2499 2000-03-27  Alan Modra  <alan@linuxcare.com.au>
2500
2501         * config/tc-avr.h (TC_HANDLES_FX_DONE): Define.
2502
2503         * config/tc-avr.c (mcu_types): Add missing initialiser.
2504         (md_pcrel_from_section): Add prototype.
2505         (avr_operand): Remove redundant test of unsigned < 0.
2506         (avr_cons_fix_new): Ensure exp_mod_pm zero on function exit.
2507
2508 2000-03-27  Denis Chertykov  <denisc@overta.ru>
2509
2510         * config/tc-avr.c: New file for AVR support.
2511         * config/tc-avr.h: Likewise.
2512         * configure.in: Add AVR support.
2513         * configure: Regenerate.
2514
2515 2000-03-26  Timothy Wall <twall@cygnus.com>
2516
2517         * gasp.c (macro_op): Add new argument to check_macro call.
2518         Macro structure definitions moved to macro.h
2519         * sb.h:  Add argument to prototype for input_scrub_include_sb.
2520         * input-scrub.c (input_scrub_include_sb): Allow disabling of sb
2521         nesting checks with an additional flag.
2522         (struct input_save): Add flag to indicate whether current sb
2523         should be checked for proper macro/conditional nesting.
2524         (input_scrub_push/pop): Save/restore nest check flag.
2525         (input_scrub_next_buffer): Ditto.  Also call end of macro hook if
2526         defined.
2527         * macro.c (check_macro):  Allow caller to retrieve parsed macro
2528         information if a pointer is provided.  This information may be
2529         used by the new macro hooks.
2530         * macro.h: Update prototype for check_macro.  Macro struct
2531         definitions moved here from macro.c/gasp.c.
2532         * read.c (read_a_source_file): Add parameter to check_macro call,
2533         and pass macro info to the macro hook, if defined.
2534         (input_scrub_insert_line): New.  Allow insertion of a line of
2535         characters into the input stream.
2536         (input_scrub_insert_file): New.  Allow insertion of an arbitrary
2537         file into the input stream.
2538         (s_include): Use input_scrub_insert_file.
2539         * internals.texi: Document new macro hooks.
2540         * as.h: New prototypes added.
2541
2542 2000-03-26  Alan Modra  <alan@linuxcare.com.au>
2543
2544         * config/tc-i386.c: Don't start any as_bad or as_warn message with
2545         an initial capital letter.
2546         (i386_index_check): Reindent.
2547
2548 2000-03-19  Nick Clifton  <nickc@cygnus.com>
2549
2550         * config/tc-arm.c (md_apply_fix3): Fix bug detecting overflow of pc
2551         relative branches.
2552
2553 2000-03-17 Thomas de Lellis <tdel@windriver.com>
2554
2555         * config/tc-arm.c (do_t_adr): Flag "adr Rd,label"
2556         instruction operand bad if Rd > 7 when generating
2557         thumb instructions. Prevents for example,
2558         "adr r12,label" from silently failing and generating
2559         the wrong instruction.
2560
2561 2000-03-17  Nick Clifton  <nickc@cygnus.com>
2562
2563         * config/tc-arm.c (md_apply_fix3): Handle same-section relocations
2564         that have a destingation >= 0x400000.
2565         Fix compile time warning messages.
2566
2567 Thu Mar 16 23:45:16 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
2568
2569         * config/tc-sh.c (md_begin): When encountering insn that are
2570         not supported by the current arch, only change the name if
2571         its contents are the same as prev_name.
2572         (get_specific): If the the architecture doesn't match, fail.
2573
2574 Thu Mar 16 21:18:13 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
2575
2576         * config/tc-sh.c (IDENT_CHAR): Define.
2577         (parse_reg): Use it instead of isalnum.  Put r[0..7]_bank operand
2578         matching back where it came from.
2579
2580 Thu Mar 16 20:58:10 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
2581
2582         * config/tc-sh.c (md_show_usage): Add description of -dsp.
2583
2584 2000-03-15  Jonathan Larmour  <jlarmour@redhat.co.uk>
2585
2586         * config/tc-sh.c (parse_reg): Match r[0..7]_bank operands before
2587         normal operands.
2588
2589 2000-03-15  Kazu Hirata  <kazu@hxi.com>
2590
2591         * config/tc-h8300.c: Add ATTRIBUTE_UNUSED as appropriate.
2592
2593 Mon Mar 13 22:02:59 2000  Hans-Peter Nilsson  <hp@axis.se>
2594
2595         * expr.c (operand) [case 'f']: When testing if '0f' can start a
2596         floating-point-number, make sure 'f' is in FLT_CHARS.
2597
2598 Sat Mar 11 00:01:39 2000  Hans-Peter Nilsson  <hp@axis.se>
2599
2600         * read.c (TC_IMPLICIT_LCOMM_ALIGNMENT): New default-definition.
2601         (s_lcomm_internal): Use it.
2602         * doc/internals.texi (CPU backend): Document it.
2603         * config/obj-evax.h (TC_IMPLICIT_LCOMM_ALIGNMENT): Set to 2**3
2604         bytes.
2605
2606 2000-03-10  Geoffrey Keating  <geoffk@cygnus.com>
2607
2608         * config/tc-mips.c (mips_ip): Don't put stuff in .rodata
2609         when embedded-pic.
2610
2611         * config/tc-mips.c (SWITCH_TABLE): The ELF embedded-pic
2612         implementation doesn't have special handling for switch
2613         statements.
2614         (macro_build): Allow for code in sections other than .text.
2615         (macro): Likewise.
2616         (mips_ip): Likewise.
2617         (md_apply_fix): Do pc-relative relocation madness for MIPS ELF.
2618         Don't perform relocs if we will be outputting them.
2619         (tc_gen_reloc): For ELF, just use fx_addnumber for pc-relative
2620         relocations.  Allow BFD_RELOC_16_PCREL_S2 relocs when
2621         embedded-pic.
2622
2623 2000-03-09  Catherine Moore  <clm@cygnus.com>
2624
2625         * config/tc-m32r.c (m32r_fix_adjustable):  Look up the
2626         relocation type based on the entry in the fixup structure.
2627         Put S_IS_EXTERN processing back in.
2628
2629 2000-03-08  H.J. Lu  (hjl@gnu.org)
2630
2631         * Makefile.am (install-exec-tooldir): Depend on
2632         install-exec-bindir for parallel make.
2633         * Makefile.in: Regenerated.
2634
2635 2000-03-06  Nick Clifton  <nickc@cygnus.com>
2636
2637         * config/tc-m32r.c (struct md_longopts): Add -m32r command line
2638         switch.
2639         (md_parse_option): Parse -m32r command line switch - disable m32rx
2640         compatability.
2641         (md_show_usage): Document new option.
2642
2643         * doc/Makefile.am (CPU_DOCS): Add c-m32r.texi.
2644         * doc/Makefile.in: Regenerate.
2645         * doc/c-m32r.texi (M32R-Opts): Document new command line switch.
2646
2647 2000-03-02  Michael Meissner  <meissner@redhat.com>
2648
2649         * config/tc-d30v.c (check_range): Remove code that incorrectly
2650         sign extended values where bits < 32.
2651
2652 2000-03-02  H.J. Lu  (hjl@gnu.org)
2653
2654         * configure.in: Support --enable-targets=all on ia32.
2655         * configure: Regenerated.
2656
2657 2000-03-01  Nick Clifton  <nickc@cygnus.com>
2658
2659         * gasp.c (do_align): Remove bogus check of alignment value.
2660
2661 2000-02-27  Thomas de Lellis  <tdel@windriver.com>
2662
2663         * config/obj-elf.c (elf_frob_symbol): Remove code which when
2664         TC_PPC was defined forced the type of a symbol with no other type
2665         to be BSF_OBJECT.
2666
2667 2000-02-27  Hans-Peter Nilsson  <hp@axis.com>
2668
2669         * doc/internals.texi (CPU backend): Mention that
2670         line_separator_chars do not break up comments.  Fix typos for
2671         LEX_AT and LEX_NAME descriptions.  Document operands for
2672         TC_EQUAL_IN_INSN, md_operand and md_section_align.  Correct
2673         description of md_create_short_jump usage.  Document argument for
2674         md_undefined_symbol.
2675
2676 2000-02-27  Jakub Jelinek  <jakub@redhat.com>
2677
2678         * config/tc-sparc.c (OPTION_UNDECLARED_REGS): New option.
2679         (md_parse_option): Handle it.
2680         (md_show_usage): Document it.
2681
2682 2000-02-27  Ian Lance Taylor  <ian@zembu.com>
2683
2684         * config/tc-alpha.c (md_assemble): Accept `1' and `9' in an
2685         opcode, for the instruction `pal19'.  From Andrea Arcangeli
2686         <andrea@suse.de>.
2687
2688 2000-02-26  Alan Modra  <alan@spri.levels.unisa.edu.au>
2689
2690         * config/tc-i386.c (i386_immediate): Move constant operand sizing
2691         from here..
2692         (md_assemble): To here, before template operands are matched.
2693         Also ensure a constant immediate is sign extended when we know the
2694         size is at most 16 bits.  This is to catch cases like "add
2695         $0xffc0,%ax" where we don't know the size, and thus that the
2696         immediate can be represented as Imm8S until after parsing the
2697         register operand.
2698         (i386_displacement): Similarly sign extend 16 bit constant
2699         displacements.
2700         (md_assemble): Relax 16-bit jump constant range check to suit sign
2701         extended displacements.
2702
2703 2000-02-26  Andreas Jaeger  <aj@suse.de>
2704
2705         * doc/c-mips.texi (MIPS Opts): Fix typo in last patch.
2706
2707 2000-02-25  Alan Modra  <alan@spri.levels.unisa.edu.au>
2708
2709         * config/tc-i386.c (md_assemble): Don't swap intersegment jmp and
2710         call operands when intel_syntax.
2711         (intel_float_operand): Return 2 for "fi...".
2712         (i386_operand_modifier): Change "DWORD PTR" test to suit above.
2713         Return SHORT_MNEM_SUFFIX for "WORD PTR" when "fi...".  Revert
2714         earlier "SHORT" change.
2715         (md_assemble): When determining suffix from Regs, exclude
2716         InOutPortReg.
2717
2718 2000-02-24  Nick Clifton  <nickc@cygnus.com>
2719
2720         * configure: Add arm-wince, mips-pe and sh-pe targets.
2721         * configure: Regenerate.
2722
2723         * config/obj-coff.h (COFF_WITH_PE): Define for mips-pe and
2724         sh-pe targets.
2725         (TARGET_FORMAT): Set to "pe-shl" for the sh-pe target and to
2726         "pe-mips" for the mips-pe target.
2727
2728         * config/tc-arm.c (insns): Change displacement encoded in BL
2729         and B instructions if the target port is arm-wince.
2730         (do_ldst): Do not bias the relocation offset if the target
2731         port is arm-wince.
2732         (md_pcrel_from): Add in missing relocation offset bias if the
2733         target os arm-wince.
2734
2735         * config/tc-mips.c (mips_target_format): Support COFF flavour.
2736         (md_begin): Disable -G support for mips-pe target.
2737         (md_apply_fix): Treat BFD_RELOC_RVA reloc as BFD_RELOC_32.
2738         * config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Add support for
2739         COFF flavour.
2740
2741         * config/tc-sh.c (md_begin): sh-pe target is little endian.
2742         * config/tc-sh.h (SUB_SEGMENT_ALIGN): If using a BFD
2743         assembler, just set the alignment to 4.
2744
2745         * config/te-wince-pe.h: New file for WinCE targets.  Define
2746         TE_WINCE.
2747
2748 2000-02-25  Alan Modra  <alan@spri.levels.unisa.edu.au>
2749
2750         * config/tc-i386.c (md_assemble): Swap segments too for intel mode
2751         string instructions.
2752         (i386_operand_modifier): Set i.suffix = WORD_MNEM_SUFFIX for SHORT.
2753         (i386_intel_memory_operand): After finding a segment override,
2754         check again for no `[' before looking for a displacement.  Bomb if
2755         more than one displacement rather than silently discarding the
2756         second and subsequent ones.  Free strings malloc'd by
2757         build_displacement_string.
2758
2759 2000-02-24  Catherine Moore  <clm@cygnus.com>
2760
2761         * config/obj-som.c (obj_pseudo_table): Add "weak".
2762         (obj_som_weak): New routine.
2763
2764 2000-02-24  Alan Modra  <alan@spri.levels.unisa.edu.au>
2765
2766         * config/tc-i386.c (union i386_op): New.
2767         (struct _i386_insn): Delete disps[], imms[], regs[].  Add op[].
2768         Throughout file replace occurences of disps[n], imms[n], regs[n]
2769         with equivalent op[n].disps, op[n].imms, op[n].regs.  Simplify
2770         intel mode operand swapping.  Add assert in regKludge and
2771         fake_zero_displacement code.  Test i.types[n] when outputting
2772         displacements and immediates.  Combine output of Disp16 with
2773         Disp32.
2774         (md_assemble): Don't try to fix broken UNIXWARE_COMPAT opcodes
2775         when in intel mode by (not) reversing fsub and fdiv operands
2776         before the template search.  This fails for single operand
2777         shorthand forms of the instruction, and if UNIXWARE_COMPAT is
2778         undefined.  Instead fix the base_opcode after we've found the
2779         template.  Move base_opcode xor with found_reverse_match from
2780         opcode output code to before this fix so we test for the correct
2781         opcodes.
2782         (md_assemble): Don't use strcmp when deciding to ignore the suffix
2783         check in intel mode.  Instead compare opcodes.
2784
2785         * config/tc-i386.h (TC_RELOC): Delete.
2786         * config/tc-i386.c (TC_RELOC): Delete.  Replace usage of TC_RELOC
2787         with equivalent call to reloc.
2788
2789         * as.h (flag_m68k_mri): Move declaration after target include, and
2790         only declare when TC_M68K defined.  Define as zero otherwise.
2791         (LABELS_WITHOUT_COLONS, NO_PSEUDO_DOT): If undefined, define as 0.
2792         * app.c (scrub_m68k_mri): Declare only when TC_M68K defined.
2793         Define as zero otherwise.
2794         (do_scrub_begin): Use m68k_mri parameter only when TC_M68K defined.
2795         (struct app_save): Declare scrub_m68k_mri only when TC_M68K.
2796         (app_push, app_pop): Save scrub_m68k_mri only when TC_M68K.
2797         (do_scrub_chars): Use LABELS_WITHOUT_COLONS directly rather than
2798         testing whether defined.
2799         * cond.c (ignore_input): Use NO_PSEUDO_DOT directly.
2800         * expr.c (operand): #ifdef unused case labels when TC_M68K undefined.
2801         * read.c: Use LABELS_WITHOUT_COLONS and NO_PSEUDO_DOT directly
2802         rather than testing whether defined.
2803         (s_mri): Set flag_m68k_mri only when TC_M68K defined.
2804         (parse_mri_cons): Declare and use only when TC_M68K.
2805         * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define as 1.
2806         * config/tc-m68k.h (NO_PSEUDO_DOT): Define as 1.
2807         * config/tc-m88k.h (NO_PSEUDO_DOT): Define as 1.
2808
2809         * NEWS: Mention IBM 370 support.
2810
2811 2000-02-23  Richard Henderson  <rth@cygnus.com>
2812
2813         * config/tc-i386.c (md_assemble): When swapping operands for
2814         intel_syntax, assume everything that's not Imm or Disp is a
2815         register.
2816
2817 2000-02-23  Linas Vepstas <linas@linas.org>
2818
2819         * config/tc-i370.c, config/tc-i370.h: New files.
2820         * Makefile.am: Add support for Linux/IBM 370.
2821         * configure.in: Likewise.
2822         * app.c (do_scrub_begin): Don't lex single quote when TC_I370.
2823         * config/obj-elf.c: Include elf/i370.h
2824         (obj_elf_section): Don't do anything special for flag_mri if TC_I370.
2825
2826         * Makefile.in: Regenerate.
2827         * configure: Regenerate.
2828
2829         * doc/c-i370.texi: New file.
2830         * doc/all.texi: Include it.
2831         * doc/as.texinfo: And here.
2832         * doc/Makefile.am(CPU_DOCS): Add c-i370.texi.
2833         * doc/Makefile.in: Regenerate.
2834
2835 2000-02-19  Michael Meissner  <meissner@redhat.com>
2836
2837         * config/tc-d30v.c (parallel_ok): Use FLAG_NOT_WITH_ADDSUBppp to
2838         determine if an instruction can be used in parallel with an ADDppp
2839         or SUBppp instruction.
2840
2841 2000-02-22  Andrew Haley  <aph@cygnus.com>
2842
2843         * doc/c-mips.texi (MIPS Opts): Document -mgp32 and -mgp64.
2844
2845 1999-12-30  Andrew Haley  <aph@cygnus.com>
2846
2847         * config/tc-mips.c (mips_gp32): New variable.
2848         (macro_build) Use mips_gp32.
2849         (mips_ip): Ditto.
2850         (md_longopts): Add "-mgp32" and "-mgp64".
2851         (md_parse_option): Add OPTION_GP32 and OPTION_GP64.
2852
2853         (OPTION_M7900): Change offset
2854         (OPTION_NO_M7900): Ditto.
2855
2856 2000-02-22  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
2857
2858         * config/obj-coff.c (add_lineno): Accept non-positive lineno with
2859         warning, and bump it to 1.
2860
2861 2000-02-22  Ian Lance Taylor  <ian@zembu.com>
2862
2863         From Brad Lucier <lucier@math.purdue.edu>:
2864         * dwarf2dbg.c (print_stats): Add cast to force printf argument to
2865         match format.
2866
2867 2000-02-21  Catherine Moore  <clm@cygnus.com>
2868
2869         * config/tc-mips.c (MF_HILO_INSN): Define.
2870         (mips_7000_hilo_fix): Declare.
2871         (append_insn): Conditionally insert nops after an mfhi/mflo insn.
2872         (md_parse_option): Check for 7000_HILO_FIX options.
2873         (OPTION_M7000_HILO_FIX): Define.
2874         (OPTION_NO_M7000_HILO_FIX): Define.
2875         * doc/c-mips.texi (-mfix7000): Describe.
2876
2877 2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
2878
2879         * listing.c (print_lines): Remove unused variable `end'.
2880
2881         * config/tc-i386.c (md_assemble): Use `reloc()' to select reloc
2882         type for JumpInterSegment output. Use enum bfd_reloc_code_real for
2883         reloc_type when BFD_ASSEMBLER.
2884         (md_estimate_size_before_relax): Use enum bfd_reloc_code_real for
2885         reloc_type when BFD_ASSEMBLER. Move common code out of switch
2886         statement and quell signed vs. unsigned comparison warning.
2887
2888 2000-02-18  Nick Clifton  <nickc@cygnus.com>
2889
2890         * config/tc-d10v.c (find_opcode): Add a symbol's value to
2891         the computed frag offset, rather than overwriting it.
2892
2893 Thu Feb 17 00:11:08 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
2894
2895         * config/tc-sh.c ("elf/sh.h"): Include.
2896         (sh_dsp, valid_arch, reg_x, reg_y, reg_efg): New static variables.
2897         (md.begin): Initialize target_arch.
2898         Only include opcodes in has table that match selected architecture.
2899         (parse_reg): Recognize register names for sh-dsp.
2900         (parse_at): Recognize post-modify addressing.
2901         (get_operands): The leading space is now optional.
2902         (get_specific): Remove FDREG_N support.  Add support for sh-dsp
2903         arguments.  Update valid_arch.
2904         (build_Mytes): Add support for SDT_REG_N.
2905         (find_cooked_opcode): New function, broken out of md_assemble.
2906         (assemble_ppi, sh_elf_final_processing): New functions.
2907         (md_assemble): Use find_cooked_opcode and assemble_ppi.
2908         (md_longopts, md_parse_option): New option: -dsp.
2909         * config/tc-sh.h (elf_tc_final_processing): Define.
2910         (sh_elf_final_processing): Declare.
2911
2912 Fri Feb 11 14:21:51 2000  Jeffrey A Law  (law@cygnus.com)
2913
2914         * config/tc-hppa.c (pa_build_unwind_subspace): Use subseg_new to create
2915         the unwinder subspace.  Save the current seg/subseg before creating
2916         the new seg/subseg.
2917
2918 2000-02-10  Nick Clifton  <nickc@cygnus.com>
2919
2920         * config/tc-mcore.c (INST_BYTE0): Redefine to handle big and
2921         little endian targets.
2922         (INST_BYTE1): Redefine to handle big and little endian
2923         targets.
2924         (cpu_type): New type: Select between M340 and M210.
2925         (parse_psrmod): New function: Parse the PSRCLR and PSRSET
2926         instructions of the M340.
2927         (md_assemble): Add support for the MULSH and OPSR classes of
2928         instructions.
2929         (md_atof): Add support for little endian targets.
2930         (md_parse_option): Add support for -EL, -EB and -mcpu command
2931         line switches.
2932         (md_convert_frag): Add support for little endian targets.
2933         (md_apply_fix3): Add support for little endian targets.
2934         (md_number_to_chars): Add support for little endian targets.
2935
2936 2000-02-10  Timothy Wall  <twall@redhat.com>
2937
2938         * read.c (read_a_source_file): If TC_START_LABEL_WITHOUT_COLON is
2939         defined, use it to verify the symbol just read should be a label.
2940
2941 2000-02-10  Timothy Wall  <twall@redhat.com>
2942
2943         * app.c (do_scrub_chars): Handle "||" for parallel instructions
2944         when DOUBLEBAR_PARALLEL is defined.  Avoid stripping whitespace
2945         around colons when KEEP_WHITE_AROUND_COLON is defined.
2946         * doc/internals.texi (CPU backend): Document DOUBLEBAR_PARALLEL
2947         and KEEP_WHITE_AROUND_COLON.
2948
2949 2000-02-08  Timothy Wall  <twall@redhat.com>
2950
2951         * read.c (s_rept): Call do_repeat, which abstracts the repeat
2952         logic.
2953         (do_repeat): New.  Abstract repeat logic so that a "break" can be
2954         implemented.
2955         (end_repeat): New.  Provide support for a "break" out of the
2956         repeat loop.
2957         * read.h: Add prototypes for new functions.
2958
2959 2000-02-08  Timothy Wall  <twall@redhat.com>
2960
2961         * doc/internals.texi: Document NUMBERS_WITH_SUFFIX macro.
2962         * as.h: Provide a default NUMBERS_WITH_SUFFIX definition (zero).
2963         * expr.c: Handle numbers with suffixes if NUMBERS_WITH_SUFFIX is
2964         non-zero.
2965
2966 2000-02-08  Timothy Wall  <twall@redhat.com>
2967
2968         * read.c: Added elseif to directives table.
2969         * read.h: Added prototype for s_elseif.
2970         * doc/as.texinfo: Added description for elseif.
2971         * cond.c (s_elseif): New function
2972
2973 2000-02-04  Timothy Wall  <twall@redhat.com>
2974
2975         * listing.c (print_lines): Remove conditionals causing bug in
2976         listings.
2977
2978 2000-02-03  Timothy Wall  <twall@cygnus.com>
2979
2980         * as.h: Define OCTETS_PER_BYTE and OCTETS_PER_BYTE_POWER
2981         default values.
2982         * frags.c (frag_new): Calculate fr_fix in octets
2983         (frag_now_fix) Return offset as target address offset (bytes).
2984         (frag_now_fix_octets) New - Return offset in octets (8-bit
2985         quantities).
2986         * frags.h: Added prototype for frag_now_fix_octets().
2987         Distinguish between octets and bytes in field descriptions.
2988         * listing.c (calc_hex): Account for octets vs bytes when
2989         printing addresses/offsets.
2990         (print_lines) Ditto.  Also, if LISTING_WORD_SIZE is not 1, and
2991         target is little-endian, print the octets in a word in big-endian
2992         order so that the display looks like a proper hexadecimal number,
2993         instead of having the octets reversed.
2994         * read.c (do_align): When recording alignment, alignment power
2995         should be in terms of target bytes (minimum addressible unit)
2996         instead of octets.
2997         (do_org) Convert ORG target address (byte) argument into an
2998         octet offset when generating a variable fragment.
2999         * symbols.c (resolve_symbol_value): Symbol final value
3000         converted to a target address offset (bytes) from its octet offset.
3001         * config/obj-coff.c (coff_frob_symbol): Symbol target address
3002         offset (bytes) is adjusted by the frag offset (octets) converted
3003         to bytes.
3004         (coff_frob_section) Section alignment power is in terms of bytes;
3005         convert it to an octet alignment power when calculating size (and
3006         size mask) in octets.  Don't modify the section size in order to
3007         "align" it for TI COFF, since that format has a different method
3008         for storing alignment information.
3009
3010 2000-02-01  Timothy Wall  <twall@cygnus.com>
3011
3012         * stabs.c (generate_asm_file): Escape backslashes in stabs file
3013         entries, matching the way GCC generates them.  If not escaped, the
3014         filename is encoded incorrectly.
3015
3016 2000-01-31  Nick Clifton  <nickc@cygnus.com>
3017
3018         * config/tc-arm.c (reg_table): Add support for ATPCS register
3019         naming conventions.
3020
3021 2000-01-31  Geoff Keating  <geoffk@cygnus.com>
3022
3023         * config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Don't define if
3024         already defined.
3025         * config/tc-ppc.h [OBJ_XCOFF] (OBJ_COPY_SYMBOL_ATTRIBUTES):
3026         New macro.
3027         * config/tc-ppc.c (ppc_fix_adjustable): Don't look at the frag
3028         of a symbol when we really care about its value.
3029
3030 2000-01-19  Chandra Chavva   <cchavva@cygnus.com>
3031
3032         * config/tc-mcore.c (md_assemble): Give warning message if
3033         operands passes to instruction are more than the spec.
3034
3035 2000-01-27  Thomas de Lellis <tdel@windriver.com>
3036
3037         * config/tc-arm.c (armadjust_symtab): If the assembler is in
3038         Thumb mode but the label seen was not declared as '.thumb_func'
3039         then set the ST_INFO type to STT_ARM_16BIT mode.   This allows
3040         correct disassembly of Thumb code bounded by non function labels.
3041
3042 2000-01-27  Alan Modra  <alan@spri.levels.unisa.edu.au>
3043
3044         * Makefile.am (MULTI_CFILES): Add config/e-i386aout.c
3045         Add dependencies for e-i386aout.o.  Fix 2 comment lines.
3046
3047         * Makefile.in: Same here.
3048         Update copyright.
3049
3050         * configure.in: Set bfd_gas for i386-aout when primary target
3051         is bfd.  Handle i386aout emulation.  Don't use te_file=multi, as
3052         we may need the primary te_file.  Remove incorrect comment.
3053
3054         * configure: Regenerate.
3055
3056         * config/e-i386aout.c: New file.
3057
3058         * as.c (USE_EMULATIONS): Move to before print_version_id.
3059         (struct emulation): Add i386aout.
3060         (show_usage): Split text strings.  Reformat -a text.  Add --em
3061         help.
3062         Update copyright.
3063
3064         * obj.h (struct format_ops): Add s_get_other and s_get_desc.
3065         (aout_format_ops): New.
3066         Update copyright.
3067
3068         * read.c (s_lcomm_internal): Rewrite OBJ_AOUT,OBJ_BOUT
3069         preprocessor conditional and add aout USE_EMULATIONS tests.
3070         (read_a_source_file): Don't pass error strings to printf as
3071         format arg.
3072         Update copyright.
3073
3074         * gasp.c (exp_get_abs): Don't pass error strings to printf as
3075         format arg.
3076         (do_data): Same here.
3077         (process_file): And here.
3078         Update copyright.
3079
3080         * symbols.c (colon): Rewrite "already defined" fatal message
3081         code for aout with USE_EMULATIONS.
3082         Update copyright.
3083
3084         * config/obj-aout.c (OBJ_HEADER): Define.
3085         (obj_pseudo_table): Rename to aout_pseudo_table.  Init all
3086         fields of sentinel.
3087         (obj_aout_frob_symbol): Expand S_GET_DESC, S_GET_TYPE,
3088         S_GET_OTHER, S_SET_TYPE macros since we don't need obj-multi
3089         forms here.
3090         (obj_aout_type): Expand S_SET_OTHER here too.
3091         (obj_read_begin_hook): Remove.
3092         (aout_pop_insert): New.
3093         (obj_aout_s_get_other): New.
3094         (obj_aout_s_get_desc): New.
3095         (aout_format_ops): New.
3096         Update copyright.
3097
3098         * config/obj-aout.h (obj_pop_insert): Define so non-multi usage
3099         gets aout_pseudo_table.
3100         (aout_pseudo_table): Declare.
3101         (obj_read_begin_hook): Define.
3102         Update copyright.
3103
3104         * config/obj-coff.c (obj_pseudo_table): Rename to
3105         coff_pseudo_table.
3106         (coff_pop_insert): Use coff_pseudo_table.
3107         (coff_sec_sym_ok_for_reloc): Remove.
3108         (coff_format_ops): Add 0 entries for s_get_size, s_set_size,
3109         and comment all zero entries and remove #if 0 code.
3110         Update copyright.
3111
3112         * config/obj-coff.h (obj_pop_insert): Define.
3113         (coff_pseudo_table): Declare.
3114         Update copyright.
3115
3116         * config/obj-ecoff.c (ecoff_format_ops): Add 0 entries for
3117         s_get_size, s_set_size.  Comment all zero entries.
3118         Update copyright.
3119
3120         * config/obj-elf.c (elf_s_get_other): New function.
3121         (obj_read_begin_hook): Rename to elf_obj_read_begin_hook.
3122         (obj_symbol_new_hook): Rename to elf_obj_symbol_new_hook.
3123         (elf_format_ops): Add elf_s_get_other, 0 s_get_size entry, and
3124         comment.
3125         (obj_elf_parse_section_letters): Don't pass error strings to
3126         printf as format arg.
3127         Update copyright.
3128
3129         * config/obj-elf.h (ECOFF_DEBUGGING): Define when
3130         OBJ_MAYBE_ECOFF.
3131         (elf_s_get_other): Declare.
3132         (S_GET_OTHER) Define as elf_s_get_other if not already
3133         defined.
3134         (S_SET_OTHER): Only define when not already defined.
3135         (elf_obj_read_begin_hook): Declare.
3136         (obj_read_begin_hook): Define.
3137         (elf_obj_symbol_new_hook): Declare.
3138         (obj_symbol_new_hook): Define.
3139         Update copyright.
3140
3141         * config/obj-multi.h: Add copyright header and protect against
3142         multiple inclusion.  Add * to all function pointers.
3143         (OBJ_HEADER): If defined, include it rather than other defines
3144         in this file.
3145         (obj_frob_file_after_relocs): Test for NULL.
3146         (obj_symbol_new_hook): Here too.
3147         (obj_sec_sym_ok_for_reloc): And here.
3148         (S_GET_OTHER): Define.
3149         (S_GET_DESC): Define.
3150         (ECOFF_DEBUGGING): Remove as it's done in obj-elf.h
3151         (OBJ_MAYBE_ELF): Update comment.
3152
3153         * config/tc-i386.c (i386_immediate): Add OBJ_MAYBE_AOUT to
3154         OBJ_AOUT preprocessor conditional and handle emulation by
3155         testing OUTPUT_FLAVOR.
3156         (i386_displacement): Here too.
3157         (md_section_align): Similarly here.
3158         (i386_target_format): Conditionally compile when more than one
3159         of OBJ_MAYBE_{ELF,COFF,AOUT} defined.  Add aout case.
3160         (i386_immediate): Fix error message for aout BFD_ASSMBLER.
3161         (i386_displacement): Here too.
3162         Update copyright.
3163
3164         * config/tc-i386.h (AOUT_TARGET_FORMAT): Define for each TE_*.
3165         Define TARGET_FORMAT for aout only when not multi.
3166         Update copyright.
3167
3168         * config/te-multi.h: Delete file as it's identical to te-generic.h
3169
3170 2000-01-15  Alan Modra  <alan@spri.levels.unisa.edu.au>
3171
3172         * config/tc-i386.h (DWORD_MNEM_SUFFIX): Delete.
3173         * config/tc-i386.c (DWORD_MNEM_SUFFIX): Rename all occurrences to
3174         LONG_MNEM_SUFFIX.
3175
3176         * config/tc-i386.h (INTEL_DWORD_MNEM_SUFFIX): Rename to
3177         DWORD_MNEM_SUFFIX.
3178         * config/tc-i386.c (INTEL_DWORD_MNEM_SUFFIX): Here too.  Fix some
3179         comments.
3180
3181 2000-01-13  Clinton Popetz  <cpopetz@cygnus.com>
3182
3183         * config/tc-mips.c (mips_do_align): New function.
3184         * config/tc-mips.h (md_do_align): Define.
3185
3186 2000-01-10  Philip Blundell  <philb@gnu.org>
3187
3188         * doc/c-arm.texi (ARM Options): Fix typo.
3189         (ARM-Chars): Correct description of `#'.  Mention  that `;' is a
3190         line separator for Linux.
3191         * doc/as.texinfo (Comments): Mention the ARM.
3192
3193 2000-01-10  Philip Blundell  <pb@futuretv.com>
3194
3195         * configure.in (arm*-*-conix*): New target.
3196         (arm*-*-linux-gnu*): Match instead of arm-*-linux* and
3197         armv*-*-linux-gnu.
3198         * configure: Regenerate.
3199
3200 2000-01-03  Martin v. Loewis  <loewis@informatik.hu-berlin.de>
3201
3202         * config/obj-elf.c (elf_pseudo_table): Define visibility pseudos.
3203         (obj_elf_visibility): New function.
3204
3205         * doc/as.texinfo (Visibility): New node: document visibility
3206         pseudo ops.
3207
3208 1999-12-27  Alan Modra  <alan@spri.levels.unisa.edu.au>
3209
3210         * config/tc-i386.c (MATCH): Relax JumpAbsolute check.  Emit a
3211         warning for absolute jump/call without `*' in non-intel mode.  No
3212         need to set i.types[0] JumpAbsolute in intel mode.
3213
3214 1999-12-22  Philip Blundell  <pb@futuretv.com>
3215
3216         * config/tc-arm.c (arm_s_text): If OBJ_ELF, call the appropriate
3217         hook function when changing sections.
3218         (arm_s_data): Likewise.
3219
3220 1999-12-14  Nick Clifton  <nickc@cygnus.com>
3221
3222         * config/tc-arm.c (md_parse_option): Add support for -marm720
3223         command line switch.
3224
3225 Tue Nov 30 22:59:00 1999  Jeffrey A Law  (law@cygnus.com)
3226
3227         * config/tc-mn10300.c (md_pseudo_table): Add ".am33" pseudo-op.
3228         (r_registers, xr_registers): Define.
3229         (r_register_name, xr_register_name): New functions.
3230         (md_assemble): Handle new am33 operand types and instruction
3231         formats.
3232         (mn10300_insert_operand, check_operand): Likewise.
3233
3234 1999-11-29  Nick Clifton  <nickc@cygnus.com>
3235
3236         * config/tc-arm.c (thumb_mode): Turn into a tristate variable.
3237         (s_force_thumb): Set thumb_mode to 2.
3238         (md_assemble): Do not complain about thumb instructions on a
3239         non-thumb target if thumb_mode is set to 2.
3240
3241 1999-11-28  Michael Meissner  <meissner@cygnus.com>
3242
3243         * config/tc-alpha.c (toplevel): Include struc-symbol.h.
3244         (alpha_macro_arg): Add MACRO_{LITERAL,BASE,BYTOFF,JSR} cases.
3245         (O_...): Add new machine dependent expressions if we are handling
3246         explicit relocations.
3247         (alpha_reloc_op): New static table holding the explicit relocation
3248         information.
3249         (alpha_literal_hash): New static to hold the hash table for
3250         explicit relocations.
3251         (alpha_macros): Add support for explicit relocations.
3252         (md_begin): If explicit relocations, initialize hash table.
3253         (md_assemble): Don't print a second error if tokenize_arguments
3254         already printed an error message.
3255         (md_apply_fix): Add support for explicit relocations.
3256         (alpha_force_relocation): Ditto.
3257         (alpha_fix_adjustable): Ditto.
3258         (alpha_adjust_symtab): New function to support explicit
3259         relocations.
3260         (alpha_adjust_symtab_relocs): Ditto.
3261         (debug_exp): Debug stub compiled if DEBUG_ALPHA is defined.
3262         (tokenize_arguments): Add debug code if DEBUG_ALPHA is defined.
3263         Add support for explicit relocations.  Return -2 if an error
3264         message was already printed.
3265         (find_macro_match): Add support for explicit relocations.  Comment
3266         each of the cases.
3267         (emit_insn): Add support for explicit relocations.
3268         (assemble_tokens): Ditto.
3269         (emit_ldgp): Ditto.
3270         (load_expression): Ditto.
3271         (emit_lda): Ditto.
3272         (emit_ldah): Ditto.
3273         (emit_ir_load): Ditto.
3274         (emit_loadstore): Ditto.
3275         (emit_ldXu): Ditto.
3276         (emit_ldil): Ditto.
3277         (emit_sextX): Ditto.
3278         (emit_division): Ditto.
3279         (emit_jsrjmp): Ditto.
3280         (emit_retjcr): Ditto.
3281
3282         * config/tc-alpha.h (RELOC_OP_P): Enable explicit relocations if
3283         ELF object format.
3284         (tc_adjust_symtab): If explicit relocations, call the function
3285         alpha_adjust_symtab.
3286         (TC_FIX_TYPE): Add fields to be able to move explicit lituse
3287         relocations next to the literal relocation they reference.
3288         (TC_INIT_FIX_DATA): Initialize the new fields.
3289         (TC_FIX_DATA_PRINT): Print the new fields if DEBUG5 is defined.
3290
3291 Wed Nov 24 20:27:58 1999  Jeffrey A Law  (law@cygnus.com)
3292
3293         * config/tc-hppa.c (pa_ip): Handle PA2.0 unit completers.  Handle
3294         'B' operand for PA2.0 bb instruction.
3295
3296 1999-11-18  Nick Clifton  <nickc@cygnus.com>
3297
3298         * config/tc-mcore.h (TC_FORCE_RELOCATION): Define for Mcore-pe
3299         target.
3300
3301         * config/tc-mcore.c (tc_gen_reloc): Support generation of RVA
3302         relocs.
3303         (mcore_force_relocation): Force relocations to be generated for
3304         RVA relocs.
3305
3306 1999-11-16  Alan Modra  <alan@spri.levels.unisa.edu.au>
3307
3308         * config/tc-i386.c (i386_immediate): Disallow O_big immediates.
3309         (i386_displacement): Disallow O_big displacements.
3310
3311 Mon Nov 15 20:12:43 1999  Donald Lindsay  <dlindsay@cygnus.com>
3312
3313         * config/tc-arm.c (do_mia,do_mar,do_mra,do_pld,do_ldrl,do_co_reg):
3314         Small improvements in error checking.
3315         (md_assemble): Support for unconditional ARM instructions.
3316         (md_parse_option): Support for -m[arm]v5e flag.
3317
3318 1999-11-12  Nick Clifton  <nickc@cygnus.com>
3319
3320         * macro.c (buffer_and_nest): Do not check beyond the end of the
3321         buffer.
3322
3323 1999-11-11  Nick Clifton  <nickc@cygnus.com>
3324
3325         * macro.c (buffer_and_nest): Look for seperator after TO and
3326         FROM tokens.
3327
3328 1999-11-08  Andrew Haley  <aph@cygnus.com>
3329
3330         * app.c (do_scrub_chars): When in State 10, treat backslash
3331         characters in the same way as as symbol characters.
3332
3333 1999-11-07  Richard Henderson  <rth@cygnus.com>
3334
3335         * config/tc-alpha.c (alpha_align): Check, don't assert, that
3336         the previous label was in the current section before playing
3337         with auto-alignment.
3338
3339 1999-11-06  Nick Clifton  <nickc@cygnus.com>
3340
3341         * config/tc-v850.c (v850_force_relocation): Force relocation
3342         for weak symbols.
3343         (v850_pcrel_from_selection): Do not compute a pcrel offset if
3344         the symbol is weak.
3345
3346 1999-11-05  Michael Meissner  <meissner@cygnus.com>
3347
3348         * expr.h (operatorT): Increase machine dependent operators to 16.
3349         * expr.c (op_rank): Ditto.
3350
3351 1999-11-03  Ian Lance Taylor  <ian@zembu.com>
3352
3353         * read.c (pseudo_set): Reject attempts to set the value of a
3354         section symbol.
3355
3356         * config/obj-elf.c (obj_elf_ident): Call md_flush_pending_output
3357         if it is defined.
3358
3359         * config/obj-elf.c (elf_set_index): Add ATTRIBUTE_UNUSED.
3360
3361         * config/obj-elf.c (elf_frob_file_after_relocs): Don't pass NULL
3362         to bfd_set_section_contents.
3363
3364 1999-11-03  Nick Clifton  <nickc@cygnus.com>
3365
3366         * config/tc-mcore.h (TARGET_BYTES_BIG_ENDIAN): Change to false.
3367
3368 1999-11-01  Gavin Romig-Koch  <gavin@cygnus.com>
3369
3370         * config/tc-mips.c (macro_build): Use OPCODE_IS_MEMBER.
3371         (mips_ip): Use OPCODE_IS_MEMBER.
3372
3373 Wed Oct 27 16:50:44 1999  Don Lindsay  <dlindsay@cygnus.com>
3374
3375         * config/tc-arm.c (reg_required_here): Improve comments.
3376
3377         * config/tc-arm.c (thumb_opcode): Add "variants" field.
3378         (tinsns): Initialize variants field.
3379
3380         * config/tc-arm.c (bad_args, bad_pc): Renamed to BAD_ARGS and
3381         BAD_PC respectively.
3382
3383 1999-10-27  Scott Bambrough  <scottb@netwinder.org>
3384
3385         * config/tc-arm.c (reloc_map[]): Fix compiler warning.
3386         * config/tc-arm.h: Fix compile time warnings.
3387
3388 Mon Oct 18 18:11:10 MDT 1999    Diego Novillo <dnovillo@cygnus.com>
3389
3390         * tc_d10v.c (find_opcode): Allow ATSIGN to match expressions of the
3391         form @abs16, @(abs16) and @(abs16 + imm).
3392
3393 1999-10-21  Gavin Romig-Koch  <gavin@cygnus.com>
3394
3395         * config/tc-mips.c (ISA_HAS_COPROC_DELAYS) : New.
3396         (ISA_HAS_64_BIT_REGS) New.
3397         (gpr_interlocks,md_begin,reg_needs_delay,append_insn,
3398         mips_emit_delays,macro_build,load_register,load_addresss,
3399         macro,macro2,mips_ip,s_cprestore,s_cpadd): Simplify
3400         and/or use new ISA_xxx macros in expressions involving
3401         ISA, particularly mips_opts.isa.
3402
3403 1999-10-18  Michael Meissner  <meissner@cygnus.com>
3404
3405         * expr.h (operatorT): Add machine dependent operators md1..md8.
3406         (expressionS): Make X_op 8 bits instead of 7.  Add a X_md field
3407         for the machine dependent operators to use.
3408
3409         * expr.c (op_rank): Add machine dependent operators.
3410
3411         * config/tc-alpha.c (O_pregister): Define as a machine dependent
3412         operator.
3413         (O_cpregister): Ditto.
3414         (md_begin): Change X_op test that field is wide enough to use
3415         O_max instead of O_alpha_max.
3416         (cpu_types): Fill in missing initializer.
3417         (alpha_num_macros): Make unsigned.
3418         (md_assemble): Make opnamelen be size_t.
3419         (md_apply_fix): Cast alpha_num_operands to int before testing.
3420         (alpha_force_relocation): Ditto.
3421         (alpha_fix_adjustable): Ditto.
3422         (alpha_fix_adjustable): Mark unused arguments ATTRIBUTE_UNUSED.
3423         (tc_gen_reloc): Ditto.
3424         (tc_get_register): Ditto.
3425         (emit_ldgp): Ditto.
3426         (emit_lda): Ditto.
3427         (emit_ldah): Ditto.
3428         (emit_ldil): Ditto.
3429         (s_alpha_ent): Ditto.
3430         (s_alpha_end): Ditto.
3431         (s_alpha_frame): Ditto.
3432         (s_alpha_prologue): Ditto.
3433         (s_alpha_file): Ditto.
3434         (s_alpha_gprel32): Ditto.
3435         (s_alpha_proc): Ditto.
3436         (s_alpha_set): Ditto.
3437         (s_alpha_base): Ditto.
3438         (s_alpha_align): Ditto.
3439         (s_alpha_arch): Ditto.
3440         (alpha_align): Ditto.
3441         (assemble_insn): Suppress unused variable warning.
3442         (emit_insn): Ditto.
3443         (assemble_insn): Don't assume X_op and X_unsigned are in a given
3444         order in the structure.
3445         (s_alpha_coff_wrapper): Avoid int/unsigned comparison.
3446
3447 Sun Oct 17 17:15:58 1999  Jeffrey A Law  (law@cygnus.com)
3448
3449         * config/tc-hppa.c (md_apply_fix): Make "fmt" an int.
3450
3451 1999-10-12  Alan Modra  <alan@spri.levels.unisa.edu.au>
3452
3453         * config/tc-i386.c (i386_index_check): Correct #endif location.
3454
3455 Mon Oct 11 14:02:40 1999  Geoffrey Keating  <geoffk@cygnus.com>
3456
3457         * as.c (show_usage): Document new options.
3458         (parse_args): Add --no-warn, --warn, --fatal-warnings,
3459         which become 'W', OPTION_WARN, and OPTION_WARN_FATAL.
3460         (parse_args): Parse the new options.
3461         (main): If there were warnings, and --fatal-warnings
3462         was specified, print an error.
3463         * as.h: New variable, flag_fatal_warnings, for new option.
3464
3465 Sun Oct 10 01:47:23 1999  Jerry Quinn <jerry.quinn.adv91@alum.dartmouth.org>
3466
3467         * config/tc-hppa.c (pa_ip):  Add new codes 'cc', 'cd', 'cC', 'co',
3468         '@'.  Change autoincrement completers to fall through to cache control
3469         completers.
3470
3471         * config/tc-hppa.c (pa_ip):  Remove unused args.  Add code to '?W'
3472         arg.
3473         (pa_parse_addb_64_cmpltr):  New function.
3474
3475         * config/tc-hppa.c (pa_ip):  Change error message.
3476         (pa_ip,pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr)  Fix '?N' and
3477         '?Q' args to allow falling through.
3478
3479         * config/tc-hppa.c (pa_ip):  Implement conditional codes "?N", "?Q".
3480         Remove unused conditional codes.
3481         (pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr):  New.
3482
3483 Thu Oct  7 00:23:53 MDT 1999    Diego Novillo <dnovillo@cygnus.com>
3484
3485         * config/tc-d30v.c (CHAR_BIT): Define.
3486         (check_range): Fix bit operations to support integers bigger than
3487         32 bits.
3488
3489 Thu Oct  7 00:11:50 MDT 1999    Diego Novillo <dnovillo@cygnus.com>
3490
3491         * config/tc-d10v.c (check_range): Check range for RESTRICTED_NUM3
3492         operands.
3493
3494 Mon Oct  4 17:24:23 1999  Nick Clifton  <nickc@cygnus.com>
3495                           Doug Evans  <devans@cygnus.com>
3496
3497         Add support for m32rx.
3498         * config/tc-m32r.c (enable_m32rx): New static global.
3499         (enable_special,warn_explicit_parallel_conflicts,optimize): Ditto.
3500         (allow_m32rx): New function.
3501         (M32R_SHORTOPTS): Add `O'.
3502         (md_longopts): Add --m32rx plus several warning options.
3503         (md_parse_option): Handle new options.
3504         (md_show_usage): Print them.
3505         (md_begin): Enable m32rx.
3506         (OPERAND_IS_COND_BIT): New macro.
3507         (first_writes_to_seconds_operands): New function.
3508         (writes_to_pc,can_make_parallel,make_parallel): New functions.
3509         (target_make_parallel,assemble_two_insns): New functions.
3510         (md_assemble): Recognize "insn1 -> insn2" and "insn1 || insn2".
3511         If optimizing and m32rx, try to make consecutive insns parallel.
3512
3513 Tue Sep 28 14:06:44 1999  Geoffrey Keating  <geoffk@cygnus.com>
3514
3515         * config/tc-mips.c (nopic_need_relax): Allow for the
3516         .sdata.foo sections generated by -fdata-sections,
3517         and for the .gnu.linkonce.s sections generated by C++.
3518
3519 Thu Sep 23 07:13:45 1999  Jerry Quinn <jquinn@nortelnetworks.com>
3520
3521         * config/tc-hppa.c (pa_ip): Replace 'B', 'M', 'l' and 'g' handling
3522         with cleaner code using completer prefixes.   Add 'Y'.
3523
3524         * config/tc-hppa.c (pa_ip):  Add parens to silence compiler.
3525
3526 Wed Sep 22 09:37:19 1999  Jeffrey A Law  (law@cygnus.com)
3527
3528         * config/tc-hppa.c (pa_ip): Avoid ANSI specific initialization.
3529         (pa_ip, case 'm'): Failure to get a CBIT specifier just means the
3530         insn does not match and we should try the next insn in the table.
3531
3532 1999-09-22  Nick Clifton  <nickc@cygnus.com>
3533
3534         * config/tc-arm.c (MULTI_SET_PSR): Rename to LDM_TYPE_2_OR_3.
3535
3536 Mon Sep 20 04:01:41 1999  Jeffrey A Law  (law@cygnus.com)
3537
3538         * config/tc-hppa.c (pa_ip): Fix thinkos in recent cleanup
3539         of PA2.0 support.
3540
3541 1999-09-19  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
3542
3543         * config/tc-i386.c (md_shortopts): Check OBJ_MAYBE_ELF as well as
3544         OBJ_ELF.  If ELF, add "sq".
3545         (md_parse_option): If ELF, ignore -s and -q.
3546         (md_show_usage): Mention ELF options.
3547
3548 Sun Sep 19 10:43:31 1999  Jeffrey A Law  (law@cygnus.com)
3549
3550         * config/tc-hppa.c (pa_ip): Handle 'J', 'K' and 'cc'
3551         operands.
3552
3553         * config/tc-hppa.c (pa_ip); Handle "fe", and 'cJ'.
3554
3555         * config/tc-hppa.c (pa_ip): Handle 'd', '#' and 'cq'.
3556
3557         * config/tc-hppa.c (struct pa_it): New field "trunc".
3558         (pa_ip): Hadnle 'h', 'm', '=', '{', and '_' operands.
3559         (pa_parse_ftest_gfx_completer): New function
3560         (pa_parse_fp_cnv_format): New function.
3561
3562         * config/tc-hppa.c (pa_ip): Handle 'X' operand.
3563         (md_apply_fix): Handle 22bit pc-rel branches.
3564
3565         * config/tc-hppa.c (pa_ip): Handle 'B' operand.
3566
3567         * config/tc-hppa.c (pa_ip): Handle 'L' and 'M' operands.
3568
3569         * config/tc-hppa.c (pa_ip): Handle 'l' operand.
3570
3571         * config/tc-hppa.c (pa_ip): Handle 'g' operand.
3572
3573 Sat Sep 18 12:13:28 1999  Jeffrey A Law  (law@cygnus.com)
3574
3575         * config/tc-hppa.c (md_assemble): Fix dwarf2 line handling.
3576         (pa_ip): Handle 'fX'.
3577
3578 Fri Sep 17 11:57:34 1999  Jeffrey A Law  (law@cygnus.com)
3579
3580         * config/tc-hppa.c (pa_build_unwind_subspace): Do not build
3581         unwinds unless the function is in the text space.
3582         (pa_type_args): Set BSF_FUNCTION for an exproted data symbol.
3583
3584 Wed Sep 15 05:14:32 1999  Jeffrey A Law  (law@cygnus.com)
3585
3586         * config/tc-hppa.c (pa_ip): Move dwarf2 stuff from here.
3587         (md_assemble): To here.  Tweak address generation.
3588
3589         * config/tc-hppa.c: Include dwarf2dbg.h if OBJ_ELF.  Declare
3590         debug_line.
3591         (md_pseudo_table): Add .file and .line pseudo-ops for OBJ_ELF.
3592         (md_assemble): Call dwarf2_where for OBJ_ELF.
3593         (pa_ip): Call dwarf2_gen_line_info for OBJ_ELF.
3594         (pa_end_of_source): New function.
3595         * tc-hppa.h (md_end): Define for OBJ_ELF.
3596
3597 1999-09-14  Michael Meissner  <meissner@cygnus.com>
3598
3599         * configure.in (Canonicalization of target names): Remove adding
3600         ${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14
3601         generates $ac_config_sub with a ${CONFIG_SHELL} already.
3602         * configure: Regenerate.
3603
3604 1999-09-14  Donn Terry  <donn@interix.com>
3605
3606         * config/te-interix.h (GLOBAL_OFFSET_TABLE_NAME): Define.
3607
3608 1999-09-13  Alan Modra  <alan@spri.levels.unisa.edu.au>
3609
3610         * config/tc-i386.c (md_assemble): Handle "jmp/call constant" as a
3611         pc-relative jmp/call to an absolute symbol.
3612         (md_apply_fix3): When OBJ_ELF, don't add the values in twice for
3613         absolute section symbols.
3614
3615         * config/tc-i386.c (md_assemble): Correct frag_var size.  Tidy
3616         jump handling code and comments.
3617
3618 1999-09-12  Ian Lance Taylor  <ian@zembu.com>
3619
3620         * config/tc-i386.c (md_apply_fix3): Add horrible adjustments to
3621         the value if TE_PE and a global defined symbol.
3622
3623 1999-09-11  Ian Lance Taylor  <ian@zembu.com>
3624
3625         * write.c (dump_section_relocs): Call print_symbol_value_1 to
3626         print the symbol, rather than printing it here.
3627
3628 1999-09-11  Donn Terry  <donn@interix.com>
3629
3630         * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
3631         BFD_RELOC_RVA relocations.
3632
3633         * config/tc-i386.c (md_undefined_symbol): Compare the name against
3634         the macro GLOBAL_OFFSET_TABLE_NAME, rather than assuming that it
3635         starts with "_G".
3636
3637         * write.c (write_relocs): Call SET_SECTION_RELOCS if it is
3638         defined.
3639         * config/obj-coff.h (SET_SECTION_RELOCS): Define.
3640         * doc/internals.texi (Object format backend): Document
3641         SET_SECTION_RELOCS.
3642
3643         * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
3644         relocations against global symbols if TE_PE.
3645
3646         * config/obj-coff.c (obj_coff_ident): Add BFD_ASSEMBLER version.
3647         (obj_pseudo_table): Always handle ".ident" with obj-coff_ident.
3648
3649         * config/obj-coff.c (coff_frob_symbol): Prohibit weak common
3650         symbols.
3651
3652         * config/obj-coff.c (obj_coff_endef): Don't merge labels, or
3653         symbols which do not have a constant value, or tags with
3654         non-tags.  Remove the symbol from the list before adding it at the
3655         end.
3656
3657         * config/obj-coff.c (obj_coff_endef) [BFD_ASSEMBLER]: Handle .ef
3658         C_FCN symbol differently if TE_PE.
3659         (obj_coff_line) [BFD_ASSEMBLER]: Always use the line number which
3660         appears in the pseudo-op, rather coff_line_base which is only set
3661         for a .bf symbol.
3662
3663         * config/obj-coff.c (obj_coff_loc): New static function.
3664         (obj_pseudo_table): Add "loc".
3665
3666         * config/obj-coff.c (add_lineno): Check that the line number is
3667         positive.
3668
3669         * config/atof-ieee.c (atof_ieee): Change what_kind to int.
3670         * config/atof-vax.c (flonum_gen2vax): Change format_letter to
3671         int.
3672         (md_atof): Return NULL rather than 0.
3673         * config/tc-i386.c (md_atof): Change type to int.
3674         * expr.c (expr): Change first parameter to int.
3675         * config/obj-coff.c: Add declarations for static functions.
3676         (coff_frob_symbol): Use SYM_AUXENT.
3677         * config/tc-i386.h (flag_16bit_code): Don't declare.
3678
3679         * config/obj-coff.c (obj_coff_section): Default to setting
3680         SEC_LOAD.  Don't set SEC_DATA for 'w' modifier.
3681
3682         * write.c (adjust_reloc_syms): Print adjusted fixup.
3683
3684         * expr.c (integer_constant): Correct too_many_digits calculation
3685         in base 10 case.
3686
3687 1999-09-09  Andreas Schwab  <schwab@suse.de>
3688
3689         * doc/c-arm.texi: Fix arguments of @var to not contain
3690         punctuation.
3691
3692 1999-09-08  Philip Blundell  <pb@nexus.co.uk>
3693
3694         * config/tc-arm.c (s_thumb_set): Only support interworking for ELF
3695         and COFF targets.
3696         (md_parse_option): Only support -k flag for ELF and COFF targets.
3697
3698 Tue Sep  7 13:28:59 1999  Jeffrey A Law  (law@cygnus.com)
3699
3700         * config/tc-hppa.c (pa_ip): Put strict register checks before
3701         call to pa_parse_number.
3702
3703         * config/tc-hppa.c (pa_ip): Support 'Z' argument.
3704
3705 1999-09-06  Ian Lance Taylor  <ian@zembu.com>
3706
3707         * config/obj-coff.c: Add ATTRIBUTE_UNUSED as needed for
3708         BFD_ASSEMBLER code.
3709
3710 1999-09-06  Donn Terry  <donn@interix.com>
3711
3712         * as.c (perform_an_assembly_pass): Set SEC_DATA for data_section.
3713
3714 Mon Sep  6 04:26:56 1999  Jeffrey A Law  (law@cygnus.com)
3715
3716         * config/tc-hppa.c (pa_ip): Get strict/non-strict mode from the
3717         candidate instruction.  Require registers for register arguments
3718         when in strict mode.  Require assemble-time constants for
3719         constants when in strict mode.
3720         (pa_get_absolute_expression): Require a constant when in strict
3721         mode.
3722
3723 1999-09-06  Nick Clifton  <nickc@cygnus.com>
3724
3725         * config/tc-m32r.c (md_longopts): Fix value for -Wnuh.
3726
3727 1999-09-04  Steve Chamberlain  <sac@pobox.com>
3728
3729         * config/tc-pj.c: New file, supports picoJava in ELF.
3730         * config/tc-pj.h: Ditto.
3731         * configure.in (pjl*, pj*): New targets.
3732         * Makefile.am: Rebuild dependencies.
3733         (CPU_TYPES): Add pj.
3734         (TARGET_CPU_CFILES): Add config/tc-pj.c.
3735         (TARGET_CPU_HFILES): Add config/tc-pj.h.
3736         * doc/c-pj.texi: New file.
3737         * doc/as.texinfo: Add some PJ specifics.
3738         * doc/all.texi: Add PJ to the list of all architectures, sort them
3739         all alphabetically.
3740         * doc/Makefile.in (CPU_DOCS): Add c-pj.texi.
3741         * configure, Makefile.in, doc/Makefile.in: Rebuild.
3742
3743 1999-09-02  Alan Modra  <alan@spri.levels.unisa.edu.au>
3744
3745         * config/obj-multi.h: Include obj-elf.h if OBJ_MAYBE_ELF. Reformat.
3746         (obj_frob_file): Test for null pointer.
3747         (OBJ_COPY_SYMBOL_ATTRIBUTES): Here too.
3748         (OBJ_PROCESS_STAB): And here.
3749         (elf_obj_sy): Remove
3750
3751         * config/obj-elf.h: #ifndef everything defined in obj-multi.h,
3752         except OBJ_PROCESS_STAB, which we #undef for ecoff.
3753         (elf_obj_sy): Remove #ifndef OBJ_SYMFIELD_TYPE.
3754
3755         * config/obj-coff.c (no_func): Remove.
3756         (coff_format_ops): Change occurrences of no_func to 0, as we test
3757         for 0 in obj-multi.h.
3758
3759         * configure.in:  Enable bfd for i386-coff when primary target is
3760         bfd.  Enable i386 elf,coff emulation support.  Don't set
3761         USE_EMULATIONS=1 or te_file=multi unless there is more than one
3762         emulation to support.
3763         *configure: Regenerate.
3764
3765 1999-09-02  Nick Clifton  <nickc@cygnus.com>
3766
3767         * config/tc-mcore.c (mcore_s_section): Do not dump literals if a
3768         .section .line directive is encountered.
3769
3770 1999-09-01  Nick Clifton  <nickc@cygnus.com>
3771
3772         * config/tc-arm.c (md_section_align): Do not align sections in ELF
3773         format.
3774
3775         * as.c (show_usage): Add --gdwarf2 to list of options displayed.
3776         * as.texinfo: Document --gdwarf2 command line option.
3777         Add additional documentation of ARM command line switches.
3778
3779 1999-08-30  Alan Modra  <alan@spri.levels.unisa.edu.au>
3780
3781         * config/tc-i386.c (i386_intel_memory_operand): Combine
3782         i386_is_reg and parse_register calls.  Remove END_STRING_AND_SAVE
3783         and RESTORE_END_STRING around parse_register calls.
3784         (i386_operand): Here too.
3785         (i386_is_reg): Remove.
3786         (parse_register): Move as_bad calls from within this function to
3787         callers.
3788
3789 1999-08-29  Alan Modra  <alan@spri.levels.unisa.edu.au>
3790
3791         Based on a patch from H.J. Lu  <hjl@gnu.org>
3792         * config/tc-i386.c (parse_register): Handle FP regs specially.
3793         (md_begin): Remove '(' and ')' from register_chars.
3794
3795 1999-08-29  Doug Evans  <devans@casey.cygnus.com>
3796
3797         * config/tc-m32r.c (md_parse_option): Delete unrecognized option
3798         error message (done elsewhere).
3799
3800 Sat Aug 28 01:23:11 1999  Jeffrey A Law  (law@cygnus.com)
3801
3802         * config/tc-hppa.c (pa_ip): Do not allow '*' in 32bit completers.
3803
3804 Sat Aug 28 00:26:26 1999  Jerry Quinn <jquinn@nortelnetworks.com>
3805
3806         * config/tc-hppa.c (pa_ip): Replace 'f' by 'v'.  Prefix float register
3807         args by 'f'.
3808
3809         * config/tc-hppa.c (pa_ip): Add args q, %, and |.
3810
3811         * config/tc-hppa.c (pa_ip):  Absorb white space in instructions
3812         between args.
3813         Add new completers.  Fix bug in 64 bit condition handling.
3814
3815         * config/tc-hppa.c (pa_ip):  Add completer codes 'a', 'ch', 'cH',
3816         'cS', and 'c*'.
3817
3818         * config/tc-hppa.c (pa_ip): Place completers behind prefix 'c'.
3819
3820         * config/tc-hppa.c (pa_ip):  Add cases for '.', '~'. '$'. and '!'
3821
3822         * config/tc-hppa.c (pa_ip):  Add case for 'I'.
3823
3824 1999-08-27  Jim Wilson  <wilson@cygnus.com>
3825
3826         * dwarf2dbg.c (MAX_SPECIAL_ADDR_DELTA): Correct typo in comment.
3827         (struct ls): Add frag field.  Initialize it to zero.
3828         (out_end_sequence): New local text_frag.  Set it while in text section.
3829         Replace address check with frag check.  Set ls.frag to text_frag if
3830         out_set_addr called.
3831         (dwarf2_gen_line_info): Add explanatory comment.  New local saved_frag.
3832         Set it before switching sections.  Replace address check with frag
3833         check.  Set ls.frag to saved_frag if out_set_addr called.
3834
3835 1999-08-26  David Mosberger  <davidm@hpl.hp.com>
3836
3837         * dwarf2dbg.c (out_end_sequence): If address changed, directly
3838         output "advance_pc" opcode instead of calling gen_addr_line().
3839         The latter has the undesired side-effect of creating a new row
3840         in the debug line info matrix.
3841
3842 1999-08-26  Jim Wilson  <wilson@cygnus.com>
3843
3844         * dwarf2dbg.c (out_end_sequence): Correct comments.  Set last to
3845         ls.last_filename if last is less than zero.  Set ls.last_filename
3846         when allocating new entry.
3847         (dwarf2_gen_line_info): Save seg and subseg info before subseg_new
3848         call.
3849
3850 1999-08-20  Alan Modra  <alan@spri.levels.unisa.edu.au>
3851
3852         * config/tc-i386.c (i386_index_check): Fix the displacement size
3853         when INFER_ADDR_PREFIX.
3854
3855 1999-08-18  Nick Clifton  <nickc@cygnus.com>
3856
3857         * config/tc-arm.c (md_apply_fix3): If an offset is invalid,
3858         display its value.
3859
3860 1999-08-17  Ian Lance Taylor  <ian@zembu.com>
3861
3862         * config/tc-ppc.c (md_assemble): Trim @ha constant to 16 bits, to
3863         handle 0xffffNNNN constants correctly.
3864
3865 1999-08-16  Nick Clifton  <nickc@cygnus.com>
3866
3867         * config/tc-arm.c (do_ldst): Look for register conflicts on stores
3868         as well as loads.
3869
3870 1999-08-13  Nick Clifton  <nickc@cygnus.com>
3871
3872         * config/tc-arm.c (validate_offset_imm): Work on unsigned values.
3873         (md_apply_fix3): Always pass positive values to
3874         validate_offset_imm.
3875
3876 1999-08-12  Nick Clifton  <nickc@cygnus.com>
3877
3878         * config/tc-arm.c (skip_whitespace): New macro.
3879         Formatting tidy ups.
3880
3881         (md_apply_fix3): Store relocation offset in addend for ELF based
3882         relocs.
3883         (arm_force_relocation): Always generate relocs for Thumb function
3884         calls.
3885
3886 1999-08-11  Alan Modra  <alan@spri.levels.unisa.edu.au>
3887
3888         * config/tc-i386.c (md_assemble): Remove dead code.  intel_syntax
3889         LONG_DOUBLE_MNEM_SUFFIX floating point is done in opcode/i386.h
3890
3891 Tue Aug 10 12:58:31 1999  Jeffrey A Law  (law@cygnus.com)
3892
3893         * config/tc-hppa.c (pa_build_unwind_subspace): Use sane section
3894         flags for the unwind subspace.
3895
3896         * config/tc-hppa.c (UNWIND_SECTION_NAME): Define for ELF.
3897         (pa_build_unwind_subspace): Remove #if 0 wrapper.  Select a
3898         suitable relocation based on the size of the target's pointer.
3899         Always Use subsegment zero for the unwinders.
3900         (pa_level): Handle "2.0w".
3901
3902 Mon Aug  9 20:02:22 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3903
3904         * config/tc-d30v.c (write_2_short): Don't group repeat instructions
3905         with the following instruction unless this was specified.
3906
3907 1999-08-09  Ian Lance Taylor  <ian@zembu.com>
3908
3909         * config/tc-i386.h (SUB_SEGMENT_ALIGN): If TE_GO32, return 4 for
3910         certain sections, to match BFD changes.
3911
3912 1999-08-08  Mumit Khan  <khan@xraylith.wisc.edu>
3913
3914         * Makefile.am (noinst_SCRIPTS): Change .gdbinit to $(GDBINIT).
3915         (EXTRA_SCRIPTS): Define to keep automake happy.
3916         * Makefile.in: Rebuild.
3917
3918 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
3919
3920         * Makefile.am: Rename .dep* files to DEP*.
3921         (MKDEP): Rename from DEP.  Change all uses.  Use $${srcdir} rather
3922         than $(srcdir).  Rename TCDEP targets to DEPTC.  Rename OBJDEP
3923         targets to DEPOBJ.
3924         * Makefile.in: Rebuild.
3925
3926 1999-08-08  Jakub Jelinek  <jj@ultra.linux.cz>
3927
3928         * config/tc-sparc.c (sparc_ip): Allow assembly of %lo()+%reg.
3929
3930 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
3931
3932         * Makefile.am: Change all uses of itbl-test-ops to itbl-tops to
3933         avoid problems on DOS filesystems.
3934         * Makefile.in: Rebuild.
3935
3936         * doc/as.texinfo (Section): Document 's' flag for COFF version.
3937
3938 1999-08-08  Mumit Khan  <khan@xraylith.wisc.edu>
3939
3940         * config/obj-coff.c (obj_coff_section): Handle 's' (shared)
3941         section flag.
3942
3943 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
3944
3945         * configure.in: Define and substitute GDBINIT.  Change AC_OUTPUT
3946         line to create ${GDBINIT} rather than .gdbinit.
3947         * configure, Makefile.in, doc/Makefile.in: Rebuild.
3948
3949 Fri Aug  6 12:12:44 1999  Jeffrey A Law  (law@cygnus.com)
3950
3951         * config/tc-hppa.c (pa_ip, case '?'): Add missing break.
3952
3953 Fri Aug  6 09:46:35 1999  Jerry Quinn <jquinn@nortelnetworks.com>
3954
3955         * config/tc-hppa.c (pa_ip):  Add 64 bit condition completers.
3956
3957 1999-08-06  Jakub Jelinek  <jj@ultra.linux.cz>
3958
3959         * config/tc-sparc.h (tc_fix_adjustable): Fix check for PIC local
3960         non-adjustable symbols.
3961
3962 Thu Aug  5 16:52:51 1999  Jerry Quinn <jquinn@nortelnetworks.com>
3963
3964         * config/tc-hppa.c (pa_ip): Change condition args to have '?' prefix.
3965
3966 Thu Aug  5 23:05:56 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
3967
3968         * config/tc-sh.c (md_assemble):  Call as_bad when there are excess
3969         operands.
3970
3971 1999-08-05  Donn Terry  <donn@interix.com>
3972
3973         * config/te-interix.h: New file.
3974         * configure.in (i386-*-interix*): New target.
3975         * configure: Rebuild.
3976
3977 Wed Aug  4 13:12:17 1999  Jeffrey A Law  (law@cygnus.com)
3978
3979         * config/tc-hppa.c (pa_chk_field_selector): Allow 3 byte
3980         selectors for ELF too.
3981         (selector_table): Add "ltp" and "rtp" selectors.
3982
3983 1999-08-04  Alan Modra  <alan@spri.levels.unisa.edu.au>
3984
3985         * config/tc-i386.c (i386_operand): No need to change
3986         operand_string pointer in segment reg case before goto
3987         do_memory_reference.  Initialise displacement_string_start and
3988         displacement_string_end after do_memory_reference label.
3989         (i386_index_check): Add operand_string param, and print error
3990         message on failure here.
3991         (i386_intel_memory_operand): Instead of here.
3992         (i386_operand): And here.
3993         (INFER_ADDR_PREFIX): Enable.
3994
3995         * doc/c-i386.texi (i386-16bit): Document .code16gcc.
3996
3997         * config/tc-i386.h (DefaultSize): Define.  Renumber following
3998         opcode_modifier defines.
3999
4000         From Etienne Lorrain  <etienne.lorrain@ibm.net>
4001         * config/tc-i386.c (stackop_size): New variable.
4002         (set_16bit_code_flag): Clear it here.
4003         (set_16bit_gcc_code_flag): New function.
4004         (md_pseudo_table): Add "code16gcc" entry.
4005         (md_assemble): Set i.suffix for insns with DefaultSize modifier.
4006
4007 1999-08-03  Ian Lance Taylor  <ian@zembu.com>
4008
4009         * config/obj-coff.c (coff_frob_symbol): Always update set_end with
4010         next_set_end even if the end symbol is being discarded.
4011
4012         * gasp.c: Add ATTRIBUTE_UNUSED as needed for non-BFD_ASSEMBLER.
4013         * output-file.c, symbols.c, config/tc-i386.c: Likewise.
4014         * config/obj-coff.c: Likewise.
4015         (seg_info_type): Remove.
4016         (seg_info_off_by_4): Change to array of segT.
4017         (s_get_segment): Adjust accordingly.
4018         (obj_pseudo_table): Fully initialize sentinel entry.
4019
4020         * config/tc-mips.c (append_insn): Correct INSN_SYNC test.  From
4021         Ralf Baechle <ralf@uni-koblenz.de>.
4022
4023 1999-08-03  Etienne Lorrain  <etienne.lorrain@ibm.net>
4024
4025         * config/tc-i386.c (f16_3): New. Fixes 16 bit 3 byte nop.
4026
4027 1999-08-03  Alan Modra  <alan@spri.levels.unisa.edu.au>
4028
4029         * config/tc-i386.c: Indentation and white space changes.
4030         (i386_index_check): New function.  Add INFER_ADDR_PREFIX code, but
4031         don't enable it by default.
4032         (i386_intel_operand): Remove redundant prototype.
4033         Move check on number of memory operands, and i.mem_operands++
4034         (i386_intel_memory_operand): To here.
4035         Remove i386_immediate code from here.  Remove special case code
4036         for input and output using (%dx).  Remove base/index checks and
4037         call i386_index_check instead.  Save initial operand_string
4038         argument for error message.
4039         (i386_operand): Remove redundant prototype.  Move base/index
4040         checks to i386_index_check.
4041         (i386_displacement): Move intel mode check for non-zero
4042         i.disp_operand
4043         (i386_intel_memory_operand): To here.
4044
4045 1999-07-30  Jakub Jelinek  <jj@ultra.linux.cz>
4046
4047         * config/tc-sparc.c (md_longopts): Add --no-undeclared-regs option.
4048         (sparc_ip): Warn if %g2 or %g3 register is used and not covered
4049         by .register pseudo-op if -64 and --no-undeclared-regs.
4050         (s_register, sparc_adjust_symtab): New functions.
4051         * config/tc-sparc.h (tc_adjust_symtab, sparc_adjust_symtab):
4052         Declare sparc_adjust_symtab as tc_adjust_symtab.
4053         * doc/c-sparc.texi: Add description of #ignore special literal
4054         for .register pseudo-op.
4055
4056 1999-07-30  Catherine Moore  <clm@cygnus.com>
4057
4058         * config/tc-arm.c (tc_gen_reloc): Record the vtable entry in
4059         the relocation's section offset.
4060
4061 1999-07-29  Alan Modra  <alan@spri.levels.unisa.edu.au>
4062
4063         * write.c (fixup_segment): Fix generic error check overflow test.
4064
4065         * config/tc-i386.c (pe): Change %d to %ld, %x to %lx, and cast
4066         X_add_number to long.
4067
4068 Wed Jul 28 02:04:24 1999  "Jerry Quinn" <jquinn@nortelnetworks.com>
4069
4070         * config/tc-hppa.c (pa_ip):  Add 'J' and 'K' code
4071         processing.
4072
4073 1999-07-27  Ian Lance Taylor  <ian@zembu.com>
4074
4075         * config/tc-sparc.h (tc_fix_adjustable): Don't adjust GOT, PLT, or
4076         VTABLE relocations.
4077
4078 1999-07-21  Mark Elbrecht  <snowball3@bigfoot.com>
4079
4080         * config/te-go32.h (COFF_LONG_SECTION_NAMES): Define.
4081
4082         * configure.bat: Remove; obsolete.
4083         * config/go32.cfg: Likewise.
4084
4085 1999-07-21  Brad M. Garcia  <bgarcia@fore.com>
4086
4087         * configure.in (i386-*-vxworks*): New target.
4088         * configure: Rebuild.
4089
4090 1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
4091
4092         * doc/c-sparc.texi: Document .register and .nword pseudo-ops.
4093
4094 1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
4095
4096         * config/tc-sparc.c (sparc_ip): Allow OLO10 relocations
4097         on -64 and not pic.
4098         (output_insn): Put OLO10's secondary addend into tc_fix_data.
4099         (md_apply_fix3): Handle BFD_RELOC_SPARC_OLO10.
4100         (tc_gen_reloc): Return two relocs for OLO10, LO10 and SPARC13.
4101         * config/tc-sparc.h (RELOC_EXPANSION_POSSIBLE,
4102         MAX_RELOC_EXPANSION): Define.
4103         (TC_FIX_TYPE, TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise.
4104
4105 1999-07-16  Alan Modra  <alan@spri.levels.unisa.edu.au>
4106
4107         * config/tc-i386.c (intel_float_operand): Add prototype, make static.
4108         (md_assemble): Localize *exp variable to if (fake_zero_displacement)
4109         block.  Print a warning if an 8-bit or 16-bit constant
4110         displacement or immediate is truncated on output.
4111         (i386_immediate): Ensure Imm16 is always legal for a 16-bit mode
4112         immediate.
4113         (i386_operand): Disallow immediate jump absolute operand.
4114
4115 1999-07-15  Ian Lance Taylor  <ian@zembu.com>
4116
4117         * configure.in: Bump version number to 2.9.5.
4118         * configure: Rebuild.
4119
4120         * dwarf2dbg.c (dwarf2_gen_line_info): Don't assume that long long
4121         or %llx work.
4122
4123 Thu Jul 15 02:45:30 1999  Jeffrey A Law  (law@cygnus.com)
4124
4125         * config/tc-hppa.c (md_pseudo_table): Add ".dword" pseudo-op.
4126         (cons_fix_new_hppa): Derive size of fixup from size of the object.
4127
4128 1999-07-14  Philip Blundell  <pb@nexus.co.uk>
4129
4130         * symbols.c (dollar_label_name): Prepend LOCAL_LABEL_PREFIX if it
4131         is defined.
4132         * config/tc-arm.h (LOCAL_LABEL_PREFIX): Define to '.' for ELF.
4133
4134         * config/tc-arm.c (md_begin): Set F_SOFTFLOAT in the output file
4135         if -mno-fpu was given.
4136         (tc_gen_reloc): Fix typo.  Delete bogus code related to GOTPC
4137         relocs.
4138         (cons_fix_new_arm): Remove misleading comments.
4139
4140 1999-07-14  Ian Lance Taylor  <ian@zembu.com>
4141
4142         * write.c (cvt_frag_to_fill): Use frag file and line in rs_org
4143         error message.
4144         (relax_segment): Likewise.  After giving a rs_org error, convert
4145         the frag to rs_align to avoid cascading errors.
4146
4147 1999-07-12  Andreas Schwab  <schwab@suse.de>
4148
4149         * config/tc-m68k.c: Add some ATTRIBUTE_UNUSED.
4150
4151 1999-07-11  Ian Lance Taylor  <ian@zembu.com>
4152
4153         * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
4154         as appropriate.  Fill in structure initializations.  Add variable
4155         initializations.  Add casts.
4156         * dwarf2dbg.c (print_stats): Change i to size_t.
4157         * listing.c (listing_listing): Change list_line to unsigned int.
4158
4159 1999-07-10  Ian Lance Taylor  <ian@zembu.com>
4160
4161         * config/tc-ppc.h (tc_fix_adjustable) [OBJ_ELF]: Call S_IS_LOCAL
4162         rather than checking for \001 and \002 in symbol name.
4163         * config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: Likewise.
4164
4165 Thu Jul  8 12:32:23 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
4166
4167         * configure.in (hppa*-linux-gnu*): New target.
4168         * configure: Rebuilt.
4169
4170 1999-07-08  Nick Clifton  <nickc@cygnus.com>
4171
4172         * doc/c-arm.texi (ARM Directives): Document .thumb_set directive.
4173
4174 1999-07-07  Nick Clifton  <nickc@cygnus.com>
4175
4176         * config/tc-v850.c (v850_comm): Use symbol_get_obj() rather than
4177         accessing symbolP directly.
4178
4179 Tue Jul  6 10:41:42 1999  Jeffrey A Law  (law@cygnus.com)
4180
4181         * config/tc-hppa.h (tc_frob_symbol): Always punt "$global$" symbol
4182         for ELF.
4183
4184 1999-07-05  Nick Clifton  <nickc@cygnus.com>
4185
4186         * config/tc-arm.c (ARM_EXT_V5): Define.
4187         (ARM_ARCH_V5, ARM_ARCH_V5T): Define.
4188         (md_begin): Detect ARM v5 architectures.
4189         (md_parse_option): Accept arm v5 specification.
4190         (md_show_usage): Documment -marmv5 switch.
4191
4192         * doc/c-arm.texi: Document -marmv5 command line option.
4193
4194         * config/tc-arm.c (do_adrl): New function.  Implement ADRL pseudo
4195         op.
4196         (validate_immediate_twopart): New function.  Determine if a
4197         constant can be computed by two ADD instructions.
4198         (output_inst): Remove its command line parameter - it was never
4199         used.
4200         (md_apply_fix3): Support BFD_RELOC_ARM_ADRL_IMMEDIATE, used to
4201         implememt the ADRL pseudo op.
4202         (tc_gen_reloc): Generate a suitable error message if an ADRL
4203         instruction tries to generate a real reloc.
4204
4205         * doc/c-arm.texi: Document NOP, ADR and ADRL pseudo ops.
4206
4207 Thu Jul  1 15:33:10 1999  Jeffrey A Law  (law@cygnus.com)
4208
4209         * config/tc-hppa.c (pa_ip): Convert the opcode and all completers
4210         into lower case.
4211
4212 1999-06-27  H.J. Lu  <hjl@gnu.org>
4213
4214         * subsegs.c (subseg_text_p): Use 1/0 instead of true/false for
4215         non BFD_ASSEMBLER case.
4216
4217 1999-06-26  Mumit Khan  <khan@xraylith.wisc.edu>
4218
4219         * config/obj-coff.c (obj_coff_section): Mark writable sections as
4220         data.
4221
4222 1999-06-26  David Mosberger  <davidm@hpl.hp.com>
4223
4224         * dwarf2dbg.c (dwarf2_gen_line_info): Don't call
4225         out_end_sequence() when the address decreases due to a new frag.
4226         (gen_dir_list): Set ls.file[i].dir to j + 1 (not j) because file
4227         numbering starts with 1.
4228
4229 1999-06-23  Nick Clifton  <nickc@cygnus.com>
4230
4231         * config/tc-mcore.c (md_pseudo_table): Add .comm for ELF and allow
4232         .section for COFF.
4233         (mcore_s_text): Call obj_elf_text for ELF target.
4234         (mcore_s_data): Call obj_elf_data for ELF target.
4235         (mcore_s_section): No longer ELF specific.  Call obj_coff_section
4236         for COFF target.
4237         (mcore_s_bss): New function:  Dump literal table before changing
4238         sections.
4239         (mcore_s_comm): New function:  Dump literal table before changing
4240         sections.
4241
4242         * config/obj-elf.c (obj_elf_common, obj_elf_data, obj_elf_text):
4243         No longer static functions.
4244         * config/obj-elf.h (obj_elf_common, obj_elf_data, obj_elf_text):
4245         Provide prototypes for these functions.
4246
4247 1999-06-22  Ian Lance Taylor  <ian@zembu.com>
4248
4249         * subsegs.c (subseg_text_p): Rewrite non BFD_ASSEMBLER case to use
4250         a list of names, to try obj_segment_name, and to try abbreviated
4251         names when using COFF without long section names.
4252
4253         * config/tc-alpha.c: More use of symbol accessor functions.
4254         * config/tc-arc.c: Likewise.
4255         * config/tc-d30v.c: Likewise.
4256         * config/tc-fr30.c: Likewise.
4257         * config/tc-i860.c: Likewise.
4258         * config/tc-m88k.c: Likewise.
4259         * config/tc-mcore.c: Likewise.
4260         * config/tc-ns32k.c: Likewise.
4261         * config/tc-sparc.c: Likewise.
4262         * config/tc-v850.c: Likewise.
4263
4264         * config/tc-arc.c (get_arc_exp_reloc_type): Change uses of
4265         sy_value with appropriate accessor functions.
4266         * config/tc-arm.c (md_apply_fix3): Likewise.
4267         * config/tc-d10v.c (AT_WORD_P): Likewise.
4268         * config/tc-v850.c (reg_name_search): Likewise.
4269
4270         * config/obj-ecoff.c (obj_ecoff_set_ext): Change uses of bsym to
4271         use symbol_get_bfdsym instead.
4272         * config/tc-ppc.c (md_assemble): Likewise.
4273         * config/tc-v850.c (v850_comm): Likewise.
4274
4275 1999-06-22  Jonathan Larmour  <jlarmour@cygnus.co.uk>
4276
4277         * config/tc-arc.c (tc_gen_reloc): Use symbol_get_bfdsym to get at
4278         the symbol, rather than accessing the bsym member.
4279         * config/tc-d10v.c (tc_gen_reloc): Likewise.
4280         * config/tc-d30v.c (tc_gen_reloc): Likewise.
4281         * config/tc-mcore.c (tc_gen_reloc): Likewise.
4282         * config/tc-mn10200.c (tc_gen_reloc): Likewise.
4283         * config/tc-mn10300.c (tc_gen_reloc): Likewise.
4284         * config/tc-ns32k.c (tc_gen_reloc): Likewise.
4285         * config/tc-tic30.c (tc_gen_reloc): Likewise.
4286         * config/tc-v850.c (tc_gen_reloc): Likewise.
4287
4288 Mon Jun 21 16:45:19 1999  Jeffrey A Law  (law@cygnus.com)
4289
4290         * tc-hppa.c (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type.
4291         (hppa_gen_reloc_type): Conditionalize on BFD64.
4292         (tc_gen_reloc): Re-enable ELF relocations.
4293         * tc-hppa.h (TARGET_FORMAT): Handle elf64-hppa format.
4294
4295 1999-06-21  Ian Lance Taylor  <ian@zembu.com>
4296
4297         * config/tc-arm.c (ldst_extend): Add parentheses to avoid
4298         warning.
4299         (do_ldst): Move assignment out of if condition.
4300         (md_apply_fix3): Add casts to avoid printf format warnings.  Add
4301         parentheses to avoid warning.
4302
4303 1999-06-21  Nick Clifton  <nickc@cygnus.com>
4304
4305         * config/tc-arm.c (arm_adjust_symtab): Use symbol_get_bfdsym()
4306         macro to get at the BFD symbol associated with a GAS symbol.
4307
4308 1999-06-19  Ian Lance Taylor  <ian@zembu.com>
4309
4310         * config/tc-ppc.c: Update for symbol handling changes.
4311         * config/obj-coff.c: Likewise.
4312
4313 Fri Jun 18 14:34:18 1999  Jeffrey A Law  (law@cygnus.com)
4314
4315         * tc-hppa.c: General cleanups of ELF support.  No more spaces
4316         and subspaces for ELF.
4317         (GDB_DEBUG_SPACE_NAME): Delete definition for ELF.
4318         (GDB_STRINGS_SUBSPACE_NAME): Likewise.
4319         (GDB_SYMBOLS_SUBSPACE_NAME): Likewise
4320         (UNWIND_SECTION_NAME): Likewise.
4321         (space/subspace related structures): Conditionalize definitions
4322         on OBJ_SOM.
4323         (space/subspace directives and support routines): Conditionalize
4324         definitions and references/uses on OBJ_SOM.
4325         (label_symbol_struct): For ELF, track the symbol's segment.  For
4326         SOM track its space.
4327         (pa_define_label, pa_undefine_label, pa_get_label): Corresponding
4328         changes.
4329         (USE_ALIASES): Kill for both SOM & ELF.
4330         (pa_def_subspaces, pa_def_spaces): Corresponding changes.
4331         (pa_space, pa_subspace): Corresponding changes.
4332         (pa_spaces_begin): Corresponding chagnes.
4333         (md_begin): Do not muck around with space/subspace stuff for
4334         OBJ_ELF.
4335         (md_apply_fix): Temporarily disable argument relocation stuff
4336         for OBJ_ELF.
4337         (tc_gen_reloc): Temporarily disable relocation generation for
4338         OBJ_ELF
4339         (pa_build_unwind_subspace): Similarly.
4340
4341 1999-06-16  Nick Clifton  <nickc@cygnus.com>
4342
4343         * config/tc-arm.c (thumb_set): New pseudo op.
4344         (text, data, section): Override these pseudo ops with ARM
4345         specific versions.
4346         (s_thumb_set): New function: Perform the same as a .set pseudo
4347         op, but also mark the alias'ed symbol as being a Thumb
4348         function.
4349         (arm_s_text): New function: Perform the same as the .text
4350         pseudo op, but dump the literal pool before changing
4351         sections.
4352         (arm_s_data): New function: Perform the same as the .data
4353         pseudo op, but dump the literal pool before changing
4354         sections.
4355         (arm_s_section): New function: Perform the same as the
4356         .section pseudo op, but dump the literal pool before changing
4357         sections.
4358         (arm_cleanup): Do not reset the current section before dumping
4359         the literal pool.
4360
4361 1999-06-17  Nick Clifton  <nickc@cygnus.com>
4362
4363         * config/tc-m32r.c (md_longopts): Fix OPTION_WARN_UNMATCHED and
4364         OPTION_NO_WARN_UNMATCHED entries.
4365         (md_parse_option): Generate a warning message if an unrecognised
4366         option is encountered.
4367
4368         * config/tc-d10v.c (do_not_ignore_hash): New variable.
4369         (get_operands): When parsing an expression after an '@' symbol
4370         has been detected, do not ignore '#' symbols.
4371         (md_operand): Only ignore '#' symbols if do_not_ignore_hash is
4372         false.
4373
4374 1999-06-13  Ian Lance Taylor  <ian@zembu.com>
4375
4376         From K. Richard Pixley <rich@noir.com>:
4377         * configure.in (ppc-*-vxworks*): New target.
4378         * configure: Rebuild.
4379
4380 1999-06-12  Philip Blundell  <philb@gnu.org>
4381
4382         * config/tc-arm.c (tc_gen_reloc): Fix handling of GOTPC relocs.
4383
4384 1999-06-13  Ian Lance Taylor  <ian@zembu.com>
4385
4386         * write.c (adjust_reloc_syms): Rather than never reducing reloc
4387         which refer to symbols in linkonce sections, permit reducing the
4388         relocs if the symbol is local.
4389
4390 1999-06-12  Ian Lance Taylor  <ian@zembu.com>
4391
4392         * subsegs.c (subseg_text_p): New function.
4393         * as.h (subseg_text_p): Declare.
4394         * read.c (do_align): Use subseg_text_p to set the default fill.
4395         * write.c (subsegs_finish): Likewise.
4396         * config/obj-coff.c (write_object_file): Likewise.
4397         * config/tc-i386.h (md_maybe_text): Don't define.
4398         (md_do_align): Use subseg_text_p to set the default fill.
4399         * config/tc-m32r.c (m32r_do_align): Likewise.
4400         * config/tc-sh.c (sh_do_align): Likewise.
4401         * config/tc-sparc.h (md_do_align): Likewise.
4402
4403 1999-06-12  David O'Brien  <obrien@freebsd.org>
4404
4405         * configure.in: (i[3456]86-*-freebsd*): Now defaults to ELF.
4406         * configure: Rebuild.
4407
4408 1999-06-12  Ian Lance Taylor  <ian@zembu.com>
4409
4410         * dwarf2dbg.c: Include elf/dwarf2.h with "", not <>.
4411         * Makefile.am: Rebuild dependencies.
4412         * Makefile.in: Rebuild.
4413
4414         * config/tc-i386.c (i386_immediate): Remove unused label
4415         seg_unimplemented.
4416
4417         * struc-symbol.h: Put local_symbol code in ifdef BFD_ASSEMBLER.
4418         * symbols.c: Likewise.
4419         * config/obj-aout.c (obj_crawl_symbol_chain): Refer directly to
4420         sy_next field when taking address, rather than symbol_next.
4421
4422         * dwarf2dbg.c: Change bfd_vma to addressT and bfd_signed_vma to
4423         offsetT.
4424         (out_set_addr): Don't use BYTES_PER_ADDRESS.  Instead, get the
4425         value from the output file architecture.
4426         (dwarf2_gen_line_info): Ifdef BFD_ASSEMBLER specific code.
4427         * dwarf2dbg.h: Change bfd_vma to addressT.
4428
4429 1999-06-11  Ian Lance Taylor  <ian@zembu.com>
4430
4431         * dwarf2dbg.h: Use PARAMS in function declarations.
4432
4433 1999-06-11  Martin Dorey  <mdorey@madge.com>
4434
4435         * write.c (fixup_segment): Don't add symbol value for i960 ELF.
4436         * config/tc-i960.c (s_leafproc): Don't call tc_set_bal_of_cal if
4437         OBJ_ELF.
4438         (md_apply_fix): Simplify BFD_ASSEMBLER handling.
4439
4440 1999-06-11  Ian Lance Taylor  <ian@zembu.com>
4441
4442         * config/tc-i386.c (md_apply_fix3): Add default case to switch.
4443
4444         * config/tc-sparc.c (md_pseudo_table): Remove pushsection and
4445         popsection.
4446
4447         * config/tc-sparc.c (sparc_ip): Add default case to reloc switch.
4448
4449         * read.c (read_a_source_file): Only declare inescape if
4450         QUOTES_IN_INSN.
4451
4452         * itbl-ops.c (itbl_disassemble): Change sprintf format strings to
4453         match parameters.
4454         (find_entry_byval): Add parens to avoid warning.
4455
4456         * as.c: If HAVE_ITBL_CPU, include "itbl-ops.h".
4457
4458         * symbols.c (resolve_symbol_value): Don't permit subtraction of
4459         undefined symbols.
4460
4461 1999-06-10  Jakub Jelinek  <jj@ultra.linux.cz>
4462
4463         * config/tc-sparc.c (sparc_ip): Don't use side-effect expression
4464         with isoctal.
4465
4466         * config/tc-sparc.c (synthetize_setuw, synthetize_setsw,
4467         synthetize_setx): New functions.
4468         (md_assemble): Broken the special cases into the above
4469         functions. Make compiler happy if sizeof(bfd_vma)==4.
4470         Fix sethi generated from set/setuw. If instructions have a relloc,
4471         always clear the fields to be relocated in the opcode.
4472         (sparc_ip): Remove special_case global variable.
4473
4474 1999-06-10  Ian Lance Taylor  <ian@zembu.com>
4475
4476         Based on patches from John W. Woznack <jwoznack@concentric.net>:
4477         * itbl-ops.c (itbl_get_reg_val): Add pval parameter.  Return
4478         indication of success rather than a value.
4479         (itbl_get_val): Likewise.
4480         (itbl_get_field): Use strcspn.  Change delimiters to include
4481         parens.
4482         * itbl-ops.h (itbl_get_reg_val): Update declaration.
4483         (itbl_get_val): Likewise.
4484         * config/tc-mips.c (mips_ip): Update call to itbl_get_reg_val.
4485
4486         * symbols.c (copy_symbol_attributes): Convert local symbols to
4487         regular symbols.
4488
4489 1999-06-10  Nick Clifton  <nickc@cygnus.com>
4490
4491         * config/tc-arm.c (md_parse_option): Add support for ARM920 and
4492         ARM920t.
4493
4494 1999-06-07  Jakub Jelinek  <jj@ultra.linux.cz>
4495
4496         * config/tc-sparc.c (md_assemble): Fix up setx, support setsw.
4497         Optimize set if sizeof(bfd_vma) == 64.
4498         (sparc_ip): Fix sethi - without %hi() it should generate
4499         R_SPARC_22 reloc, not R_SPARC_HI22.
4500         (tc_gen_reloc): Handle BFD_RELOC_SPARC22.
4501
4502 1999-06-07  Jakub Jelinek  <jj@ultra.linux.cz>
4503
4504         * config/tc-sparc.c (md_begin): Handle native wordsize aliases.
4505         (s_ncons): New function.
4506         (native_op_table): New table.
4507         (sparc_ip): Be more strict on %hi() etc.; prepare assembler for
4508         R_SPARC_OLO10 handling.
4509
4510 Mon Jun  7 10:22:16 1999  Richard Henderson  <rth@cygnus.com>
4511
4512         * expr.h (struct expressionS): Revert last change; widen X_op.
4513         * config/tc-alpha.c (md_begin): Check the field is wide enough.
4514
4515 Mon Jun  7 11:25:16 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
4516
4517         * Makefile.am (TARGET_CPU_CFILES): Add config/tc-fr30.c.
4518         (TARGET_CPU_HFILES): Add config/tc-fr30.h.
4519         (TARG_ENV_HFILES): Add config/te-epoc-pe.h.
4520         * Makefile.in: Regenerated.
4521
4522         * config/obj-elf.c (obj_elf_common): In MRI mode if called as
4523         `common' pass on to s_mri_common.
4524         (elf_pseudo_table): Pass 1 to obj_elf_common for `common'.
4525
4526 1999-06-06  Richard Henderson  <rth@cygnus.com>
4527
4528         * config/obj-elf.c (obj_elf_section): Don't free the return
4529         value of demand_copy_C_string.
4530
4531 1999-06-05  Richard Henderson  <rth@cygnus.com>
4532
4533         * dwarf2dbg.c (dwarf2_gen_line_info): Mirror the section symbol
4534         creation logic from obj_elf_create_section.
4535
4536         * config/obj-elf.c (elf_pseudo_tab): Add pushsection/popsection.
4537         (section_stack): New.
4538         (special_sections): Make const.
4539         (obj_elf_section): Gut and rewrite parsing.
4540         (obj_elf_change_section): New function broken out of obj_elf_section.
4541         (obj_elf_parse_section_letters): Likewise.
4542         (obj_elf_section_word): Likewise.
4543         (obj_elf_section_type): Likewise.
4544         (obj_elf_previous): Treat as a toggle.
4545         (obj_elf_popsection): New.
4546         * config/tc-ppc.c (ppc_section_word): Take str+len not ptr_str.
4547         (ppc_section_type): Likewise.
4548         * config/tc-ppc.h: Likewise.
4549
4550         * expr.h (struct expressionS): Don't make X_op a bitfield.
4551         * config/tc-alpha.c: Update for symbol handling changes.
4552         (md_apply_fix) [case GPREL]: Use now_seg instead of absolute_section.
4553         (load_expression, emit_ir_load, emit_loadstore, emit_jsrjmp): Likewise.
4554
4555 1999-06-05  Richard Henderson  <rth@cygnus.com>
4556
4557         * dwarf2dbg.c (*): Convert to K&R + prototypes.
4558         (dwarf2_gen_line_info): Kill unused variables.
4559         (dwarf2_finish): Likewise.
4560         (dwarf2_where): Likewise.
4561         (dwarf2_directive_file): If we've only got a string,
4562         hand off to s_app_file.
4563         * ecoff.c: Move the include of ecoff.h.
4564         * symbols.h (S_IS_FUNCTION): Prototype.
4565
4566         * read.c (LEX_HASH): Supply a default.
4567         (lex_type): Use it.
4568         (s_globl): Update `c' after skipping whitespace.
4569         * read.h (LEX_END_NAME, is_name_ender): New.
4570         * expr.c (get_symbol_end): Respect it.
4571
4572 1999-06-04  Mark Klein <mklein@dis.com>
4573
4574         * config/tc-hppa.c (md_begin): Convert local symbol dummy_symbol
4575         to real if OBJ_SOM
4576         (tc_gen_reloc): Still need bfd_abs_symbol in some relocs.
4577
4578         * config/tc-hppa.c: Update for symbol handling changes.
4579
4580 1999-06-03  Ian Lance Taylor  <ian@zembu.com>
4581
4582         * cgen.c: Update for symbol handling changes.
4583         * config/tc-m32r.c: Likewise.
4584
4585         * config/tc-hppa.h: Update for symbol handling changes.
4586         * config/tc-hppa.c: Likewise.
4587
4588         * config/tc-arm.h: Update for symbol handling changes.
4589         * config/tc-arm.c: Likewise.
4590         (symbol_make_empty): Remove.  Just use symbol_create.
4591
4592         * symbols.c (symbol_set_tc): Correct name.
4593
4594         * Makefile.am: Rebuild dependencies.
4595         ($(OBJS)): Don't depend upon struc-symbol.h.
4596         (.dep1, .tcdep, .objdep): Create itbl-parse.h.
4597         * dep-in.sed: Don't remove struc-symbol.h.
4598         * Makefile.in: Rebuild.
4599
4600         * doc/internals.texi (Symbols): Describe changes in symbol
4601         handling.
4602
4603 1999-06-03  Richard Henderson  <rth@cygnus.com>
4604
4605         * dwarf2dbg.c (dwarf2_gen_line_info): Use section_symbol
4606         instead of doing the work by hand.
4607
4608 1999-06-03  David Mosberger  <davidm@hpl.hp.com>
4609
4610         * dwarf2dbg.c (INITIAL_STATE): New macro encapsulating initial
4611         state of line state-machine.
4612         (struct ls): Collect DWARF2 line state-machine state in new member
4613         SM.  Add member EMPTY_SEQUENCE to keep track if a code sequence
4614         resulted in any DWARF2 directives.
4615         (reset_state_machine): New function.
4616         (out_end_sequence): Ditto.
4617         (dwarf2_gen_line_info): When switching sections or switching to a
4618         lower text address, call out_end_sequence() first to terminate the
4619         previous code sequence as code sequences MUST have monotonically
4620         increasing addresses.
4621         (dwarf2_finish): Call out_end_sequence() instead of open coding it.
4622
4623 1999-06-03  David Mosberger  <davidm@hpl.hp.com>
4624
4625         * as.c (parse_args): Add option -gdwarf2 to allow requesting
4626         DWARF2 debug info (line information only, at this point).
4627         * as.h: Update comment about supported debug formats.
4628         * dwarf2dbg.c, dwarf2dbg.h: New files.
4629         * Makefile.am (GAS_CFILES, HFILES, GENERIC_OBJS): Add them.
4630
4631         * expr.c (operand): Don't use [ for parens if we want an index op.
4632         (op_encoding): Switch [ into O_index, if desired.
4633         (op_rank): Renumber with O_index on bottom.
4634         (expr): If O_index, match closing bracket.
4635         * expr.h (O_index): New.
4636
4637         * read.c (read_a_source_file): Conditionally allow matched "
4638         in lines passed to md_assemble.
4639
4640         * config/obj-elf.c (elf_pseudo_table): Add `common'.
4641
4642 1999-06-03  Ian Lance Taylor  <ian@zembu.com>
4643
4644         Add support for storing local symbols in a small structure to save
4645         memory when assembling large files.
4646         * as.h: Don't include struc-symbol.h.
4647         (symbolS): Add typedef.
4648         * symbols.c: Include struc-symbol.h.
4649         (local_hash): New static variable.
4650         (save_symbol_name): New static function, from symbol_create.
4651         (symbol_create): Call save_symbol_name.
4652         (local_symbol_count): New static variable.
4653         (local_symbol_conversion_count): Likewise.
4654         (LOCAL_SYMBOL_CHECK): Define.
4655         (local_symbol_make): New static function.
4656         (local_symbol_convert): New static function.
4657         (colon): Handle local symbols.  Create local symbol for local
4658         label name.
4659         (symbol_table_insert): Handle local symbols.
4660         (symbol_find_or_make): Create local symbol for local label name.
4661         (symbol_find_base): Check for local symbol.
4662         (symbol_append, symbol_insert): Check for local symbols.
4663         (symbol_clear_list_pointers, symbol_remove): Likewise.
4664         (verify_symbol_chain): Likewise.
4665         (copy_symbol_attributes): Likewise.
4666         (resolve_symbol_value): Handle local symbols.
4667         (resolve_local_symbol): New static function.
4668         (resolve_local_symbol_values): New function.
4669         (S_GET_VALUE, S_SET_VALUE): Handle local symbols.
4670         (S_IS_FUNCTION, S_IS_EXTERNAL, S_IS_WEAK, S_IS_COMMON): Likewise.
4671         (S_IS_DEFINED, S_IS_DEBUG, S_IS_LOCAL, S_GET_NAME): Likewise.
4672         (S_GET_SEGMENT, S_SET_SEGMENT, S_SET_EXTERNAL): Likewise.
4673         (S_CLEAR_EXTERNAL, S_SET_WEAK, S_SET_NAME): Likewise.
4674         (symbol_previous, symbol_next): New functions.
4675         (symbol_get_value_expression): Likewise.
4676         (symbol_set_value_expression): Likewise.
4677         (symbol_set_frag, symbol_get_frag): Likewise.
4678         (symbol_mark_used, symbol_clear_used, symbol_used_p): Likewise.
4679         (symbol_mark_used_in_reloc): Likewise.
4680         (symbol_clear_used_in_reloc, symbol_used_in_reloc_p): Likewise.
4681         (symbol_mark_mri_common, symbol_clear_mri_common): Likewise.
4682         (symbol_mri_common_p): Likewise.
4683         (symbol_mark_written, symbol_clear_written): Likewise.
4684         (symbol_written_p): Likewise.
4685         (symbol_mark_resolved, symbol_resolved_p): Likewise.
4686         (symbol_section_p, symbol_equated_p): Likewise.
4687         (symbol_constant_p): Likewise.
4688         (symbol_get_bfdsym, symbol_set_bfdsym): Likewise.
4689         (symbol_get_obj, symbol_set_obj): Likewise.
4690         (symbol_get_tc, symbol_set_tc): Likewise.
4691         (symbol_begin): Initialize local_hash.
4692         (print_symbol_value_1): Handle local symbols.
4693         (symbol_print_statistics): Print local symbol statistics.
4694         * symbols.h: Include "struc-symbol.h" if not BFD_ASSEMBLER.
4695         Declare new symbols.c functions.  Move many declarations here from
4696         struc-symbol.h.
4697         (SYMBOLS_NEED_BACKPOINTERS): Define if needed.
4698         * struc-symbol.h (SYMBOLS_NEED_BACKPOINTERS): Don't set.
4699         (struct symbol): Move bsym to make it clearly the first field.
4700         Remove TARGET_SYMBOL_FIELDS.
4701         (symbolS): Don't typedef.
4702         (struct broken_word): Remove.
4703         (N_TYPE_seg, seg_N_TYPE): Move to symbol.h.
4704         (SEGMENT_TO_SYMBOL_TYPE, N_REGISTER): Likewise.
4705         (symbol_clear_list_pointers): Likewise.
4706         (symbol_insert, symbol_remove): Likewise.
4707         (symbol_previous, symbol_append): Likewise.
4708         (verify_symbol_chain, verify_symbol_chain_2): Likewise.
4709         (struct local_symbol): Define.
4710         (local_symbol_converted_p, local_symbol_mark_converted): Define.
4711         (local_symbol_resolved_p, local_symbol_mark_resolved): Define.
4712         (local_symbol_get_frag, local_symbol_set_frag): Define.
4713         (local_symbol_get_real_symbol): Define.
4714         (local_symbol_set_real_symbol): Define.
4715         Define.
4716         * write.c (write_object_file): Call resolve_local_symbol_values.
4717         * config/obj-ecoff.h (OBJ_SYMFIELD_TYPE): Define.
4718         (TARGET_SYMBOL_FIELDS): Don't define.
4719         * config/obj-elf.h (OBJ_SYMFIELD_TYPE): Add local field.  If
4720         ECOFF_DEBUGGING, add ECOFF fields.
4721         (ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
4722         * config/obj-multi.h (struct elf_obj_sy): Add local field.  If
4723         ECOFF_DEBUGGING, add ECOFF fields.
4724         (ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
4725         (ECOFF_DEBUG_TARGET_SYMBOL_FIELDS): Don't define.
4726         * config/tc-mcore.h: Don't include struc-symbol.h.
4727         (TARGET_SYMBOL_FIELDS): Don't define.
4728         (struct mcore_tc_sy): Define.
4729         (TC_SYMFIELD_TYPE): Define.
4730         * Many files: Use symbolS instead of struct symbol.  Use new
4731         accessor functions rather than referring to symbolS fields
4732         directly.
4733
4734         * read.c (s_mri_common): Don't add in value of line_label.
4735
4736         * config/tc-mips.c (md_apply_fix): Correct parenthesization when
4737         checking for SEC_LINK_ONCE.
4738
4739         * config/tc-sh.h (sh_fix_adjustable): Declare.
4740
4741         * app.c (input_buffer): New static variable.
4742         (app_push): Save saved_input in allocated buffer.
4743         (app_pop): Restored saved_input.
4744         (do_scrub_chars): Change get parameter to take char * and int as
4745         arguments.  Change GET macro to pass input_buffer to get
4746         function.  Don't save input into allocated buffer.
4747         * as.h (do_scrub_chars): Update declaration.
4748         * input-file.c (input_file_get): Change to take char * and int.
4749         Read data into passed in buffer.  Remove static buffer.
4750         * read.c (scrub_from_string): Change to take char * and int.  Copy
4751         data into passed in buffer.
4752
4753         * hash.h: Neaten.  Declare hash_traverse.
4754         * hash.c: Complete rewrite based on BFD hashing code.
4755         * gasp.c (chunksize): New variable.
4756         * macro.c (macro_expand_body): Call hash_jam with NULL rather than
4757         hash_delete.
4758
4759 1999-05-28  Nick Clifton  <nickc@cygnus.com>
4760
4761         * config/tc-arm.c (md_apply_fix3): Add pipeline offset into reloc
4762         addend unless the target uses an old ABI.
4763
4764 Mon May 24 13:36:55 1999  Doug Evans  <devans@canuck.cygnus.com>
4765
4766         -Wchar-subscripts cleanup
4767         * listing.c (listing_newline): Use unsigned char variable, so
4768         calls to isascii,iscntrl are correct.
4769         * atof-generic.c (atof_generic): Cast arg to isdigit, et. al. with
4770         (unsigned char).
4771         * ecoff.c (ecoff_directive_ent,ecoff_stab): Ditto.
4772         * config/obj-elf.c (obj_elf_vtable_inherit): Ditto.
4773         * config/tc-mips.c (mips_ip,mips16_ip): Ditto.
4774         (my_getSmallExpression,get_number,s_mips_ent): Ditto.
4775
4776 1999-05-28  Torbjorn Granlund  <tege@matematik.su.se>
4777
4778         * config/tc-m68k.c (m68k_ip): Check for disallowed index register
4779         width for Coldfire.
4780         (arch_coldfire_p): New #define.
4781         (m68k_ip, m68k_init_after_args): Use arch_coldfire_p.
4782
4783 1999-05-28  Linus Nordberg  <linus.nordberg@canit.se>
4784
4785         * config/tc-m68k.c (install_operand): Add places `n', `o'.
4786
4787         * config/tc-m68k.c (m68k_ip): Add formats `E', `G', `H'.
4788         (install_operand): Add place `N'.
4789         (init_table): Add registers ACC, MACSR, MASK.
4790
4791         * config/m68k-parse.h (m68k_register): Add ACC, MACSR, MASK.
4792
4793         * config/tc-m68k.c: Change mcf5200 --> mcf.
4794         (archs): Add mcf5206e, mcf5307.
4795         (m68k_ip): Add format `u'.
4796         (install_operand): Add place `m', `M', `h'.
4797         (init_table): Add upper/lower registers.
4798
4799         * config/m68k-parse.h (m68k_register): Add upper/lower registers.
4800
4801 1999-05-28  Martin Dorey  <mdorey@madge.com>
4802
4803         * config/tc-i960.c: Several minor changes to add ELF and
4804         BFD_ASSEMBLER support.
4805         * config/tc-i960.h: Likewise.
4806         * configure.in (i960-*-elf*): New target.
4807         * aclocal.m4, configure: Rebuild.
4808
4809 1999-05-25  Alan Modra  <alan@spri.levels.unisa.edu.au>
4810
4811         * config/tc-i386.c (md_apply_fix3): Only do 1999-05-17 fx_pcrel
4812         reloc changes when defined(BFD_ASSEMBLER).
4813
4814 1999-05-17  Alan Modra  <alan@spri.levels.unisa.edu.au>
4815
4816         * config/tc-i386.c (tc_gen_reloc): Remove F and MAP macros.
4817
4818         * write.c (write_print_statistics): Output to file, not stderr.
4819
4820         * expr.c (generic_bignum_to_int32,64): Prototype.
4821
4822         * read.c (s_lcomm_internal, sizeof_sleb128, sizeof_uleb128,
4823         output_sleb128, output_uleb128, output_big_sleb128,
4824         output_big_uleb128, output_big_leb128): Prototype.
4825         (output_big_sleb128, output_big_uleb128): Make inline.
4826         (output_big_leb128): Remove inline
4827
4828         From Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4829         * config/tc-i386.c (md_apply_fix3): Convert BFD_RELOC_16 with
4830         fx_pcrel set to BFD_RELOC_16_PCREL.  Similarly for BFD_RELOC_8.
4831         Handle BFD_RELOC_16_PCREL and BFD_RELOC_8_PCREL.  Return changed
4832         value for correct overflow check in write.c:fixup_segment.
4833         * write.c (fixup_segment): Move bitfield overflow checks to after
4834         the md_apply_fix call.
4835         * config/obj-coff.c (fixup_segment): Likewise.
4836         * doc/internals.texi (CPU backend): Mention md_apply_fix modifying
4837         valueT *val argument.
4838
4839 Fri May 14 10:52:13 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
4840
4841         * config/atof-ieee.c (gen_to_words): Correctly round a
4842         denormalized number.  Fix off-by-one in range checking for
4843         exponent in a denormal.
4844
4845 1999-05-10  Nick Clifton  <nickc@cygnus.com>
4846
4847         * config/tc-mcore.c (parse_reg): Accept 'sp' as a valid register
4848         name.
4849
4850 Thu May 13 09:46:59 1999  Joel Sherrill (joel@OARcorp.com)
4851
4852         * configure.in (i386-*-rtemself*, sh-*-rtemself*): New targets.
4853
4854 1999-05-12  Alan Modra  <alan@spri.levels.unisa.edu.au>
4855
4856         * config/tc-i386.h (InvMem): New flag.  Add to AnyMem.
4857         (ReverseRegRegmem): Remove.
4858         (ImmExt): New flag.  Renumber some of the opcode_modifier bits.
4859         * config/tc-i386.c (md_assemble): Test for PIII SIMD and AMD
4860         3DNow! via ImmExt opcode_modifier.  Remove ReverseRegRegmem
4861         kludge.
4862
4863         From  Doug Ledford <dledford@redhat.com>
4864         * config/tc-i386.h (RegXMM): New for P/III.
4865         * config/tc-i386.c: Add support for P/III.
4866
4867 Sat May  8 23:28:50 1999  Richard Henderson  <rth@cygnus.com>
4868
4869         * config/tc-ppc.c (md_parse_option): Recognize -mppc64bridge.
4870         (md_begin): Allow ppc32 insns in ppc64bridge mode.
4871         (ppc_insert_operand): Accept SIGNOPT in ppc64 mode.
4872
4873 Thu May  6 23:13:39 1999  Richard Henderson  <rth@cygnus.com>
4874
4875         * config/tc-i386.c (i386_immediate): Skip whitespace before
4876         complaining about junk after expression.
4877         (i386_displacement): Likewise.
4878
4879 Thu May  6 19:50:14 1999  Richard Henderson  <rth@cygnus.com>
4880
4881         * symbols.c (symbol_find_base): Use memcpy instead of strcpy.
4882         Don't copy before downcaseing.
4883
4884 1999-05-05  Catherine Moore  <clm@cygnus.com>
4885
4886         * tc-m68k.c: Include elf/m68k.h.
4887         (m68k_elf_final_processing): New routine.
4888         * tc-m68k.h (elf_tc_final_processing m68k_elf_final_processing):
4889         Define.
4890
4891 Mon May  3 10:26:03 1999  Jeffrey A Law  (law@cygnus.com)
4892
4893         * config/tc-hppa.c (md_apply_fix): Handle 22 bit fmt insn like a
4894         17 bit fmt insn.
4895
4896 1999-04-30  Nick Clifton  <nickc@cygnus.com>
4897
4898         * config/tc-mcore.c (mcore_s_section): Dump literals before
4899         changing section.
4900
4901 1999-04-29  Nick Clifton  <nickc@cygnus.com>
4902
4903         * config/tc-mcore.c (md_apply_fix3): Insert reloc addend into insn
4904         for COFF/PE port.
4905
4906 Mon Apr 26 12:34:37 1999  Doug Evans  <devans@canuck.cygnus.com>
4907
4908         * config/tc-fr30.h (TC_FIX_TYPE): Delete, cgen fields moved to write.h.
4909         (TC_INIT_FIX_DATA): Delete.
4910         * config/tc-m32r.h (TC_FIX_TYPE): Delete, cgen fields moved to write.h.
4911         (TC_INIT_FIX_DATA): Delete.
4912         * write.h (struct fix): New member fx_cgen, ifdef USING_CGEN.
4913         * write.c (fix_new_internal): Initialize fx_cgen member.
4914         * cgen.c (gas_cgen_record_fixup,gas_cgen_record_fixup_exp): Update.
4915         (gas_cgen_md_apply_fix3): Update.
4916         * config/tc-m32r.c (md_cgen_lookup_reloc): Update.
4917         (md_cgen_record_fixup_exp): Update.
4918         (FX_OPINFO_R_TYPE): Update.
4919
4920         * frags.c (frag_var,frag_variant): Initialize fr_cgen here.
4921         * config/tc-fr30.h (TC_FRAG_INIT): Delete.
4922         * config/tc-m32r.h (TC_FRAG_INIT): Delete.
4923         * frags.h (struct frag): Make opindex, opinfo ints.
4924
4925         * config/tc-fr30.c (FX_OPINFO_R_TYPE): Delete, unused.
4926
4927 1999-04-26  Tom Tromey  <tromey@cygnus.com>
4928
4929         * aclocal.m4, configure: Updated for new version of libtool.
4930
4931 1999-04-22  Nick Clifton  <nickc@cygnus.com>
4932
4933         * config/tc-mcore.c (md_apply_fix3): Renamed function from
4934         md_apply_fix.
4935         (md_apply_fix3): Do not fix up absolute relocations against
4936         symbolic values.
4937
4938         * config/tc-mcore.h (MD_APPLY_FIX3): Define.
4939
4940 1999-04-20  Nick Clifton  <nickc@cygnus.com>
4941
4942         * config/tc-mcore.c (md_pseudo_table): Add intercepts for section
4943         changes and data-in-text directives.
4944         (mcore_cons): New function: intercept cons() operations.
4945         (mcore_float_cons): New function: intercept float_cons()
4946         operations.
4947         (mcore_stringer): New function: intercept stringer() operations.
4948
4949 1999-04-18  Ian Lance Taylor  <ian@zembu.com>
4950
4951         * obj.h (struct format_ops): Change generate_asm_lineno field to
4952         take no parameters.
4953         * config/obj-ecoff.h (OBJ_GENERATE_ASM_LINENO): Don't define.
4954
4955         * config/tc-alpha.c (find_opcode_match): Add default case to
4956         switch.
4957         (find_macro_match): Likewise.
4958         (load_expression): Parenthesize && within ||.
4959
4960         * config/tc-alpha.h (TC_RELOC_RTSYM_LOC_FIXUP): Define.
4961
4962 1999-04-17  Nick Clifton  <nickc@cygnus.com>
4963
4964         * config/tc-mcore.c (md_pseudo_table): Add overrides for .bss
4965         .text .data .section pseudo ops.
4966         (mcore_s_section): New function.  Dump lits before changing secs.
4967         (mcore_s_text): New function.  Dump lits before changing secs.
4968         (mcore_s_data): New function.  Dump lits before changing secs.
4969
4970 1999-04-16  Gavin Romig-Koch  <gavin@cygnus.com>
4971
4972         * config/tc-mips.c (mips_32bitmode): New.
4973         (md_begin): Set mips_32bitmode if needed.
4974         (mips_elf_final_processing): Don't set EF_MIPS_ARCH.
4975         Set EF_MIPS_32BITMODE.
4976
4977 Fri Apr 16 12:26:39 1999  Bob Manson  <manson@charmed.cygnus.com>
4978
4979         * config/obj-coff.c (c_section_symbol): Fix typo in previous
4980         change.
4981
4982 1999-04-16  Nick Clifton  <nickc@cygnus.com>
4983
4984         * config/tc-mcore.h (LOCAL_LABELS_FB): Define to 1.
4985
4986 Thu Apr 15 16:52:09 1999  Jeffrey A Law  (law@cygnus.com)
4987
4988         * tc-hppa.c (pa_get_absolute_exression): Try to handle "5 %r3"
4989         expressions correctly.
4990
4991
4992 1999-04-15  Gavin Romig-Koch  <gavin@cygnus.com>
4993
4994         * config/tc-mips.c (mips_elf_final_processing): Set EF_MIPS_ARCH.
4995
4996 Mon Apr 12 23:45:07 1999  Jeffrey A Law  (law@cygnus.com)
4997
4998         * tc-hppa.c (pa_ip, case '3'): New case for PA2.0 fmpyfadd
4999         and fmpynfadd instructions.
5000
5001 1999-04-11  Richard Henderson  <rth@cygnus.com>
5002
5003         * as.h (environ): Declare it, if needed.
5004         * as.c (dump_statistics): Don't declare environ.
5005         * configure.in (environ): Detect declaration.
5006         * configure, config.in: Rebuild
5007
5008         * config/tc-i386.c (i386_immediate): Accept @GOT relocations.
5009         (i386_displacement): Allocate enough space for replacement buffer.
5010         Clean up replacement buffer initialization.
5011
5012 1999-04-11  Bob Manson <manson@charmed.cygnus.com>:
5013
5014         * subsegs.c (section_symbol): Don't create a new symbol if one
5015         already exists; instead, use the existing one, but set its segment
5016         and frag data if it hasn't already been defined.
5017         * config/obj-coff.c (c_section_symbol): Likewise.
5018
5019 Sat Apr 10 20:10:02 1999  Richard Henderson  <rth@cygnus.com>
5020
5021         * tc-alpha.c (load_expression): Call as_bad instead of abort.
5022
5023 1999-04-08  Nick Clifton  <nickc@cygnus.com>
5024
5025         * config/tc-mcore.c: New File: Support routines for MCore
5026         assembler.
5027         * config/tc-mcore.h: New File: Definitions for MCore assembler.
5028         * config/obj-coff.c: Add support for mcore-pe target.
5029
5030         * Makefile.am: Add support for MCore targets.
5031         * Makefile.in: Regenerate.
5032         * configure.in: Add support for MCore targets.
5033         * configure: Regenerate.
5034
5035         * doc/all.texi: Set MCORE.
5036         * doc/as.texinfo: Document MCore specific command line options.
5037
5038         * write.h: Prevent multiple inclusion.
5039
5040 1999-04-06  Ian Lance Taylor  <ian@zembu.com>
5041
5042         * asintl.h (LC_MESSAGES): Never define.
5043         * as.c (main): Don't pass LC_MESSAGES to setlocale if the system
5044         does not define it.
5045         * gasp.c (main): Don't pass LC_MESSAGES to setlocale if the system
5046         does not define it.
5047
5048         * Makefile.am (m68k-parse.c): If configuring in the source
5049         directory, copy m68k-parse.y into the local directory before
5050         running ylwrap, to remove spurious differences when generating
5051         snapshots.
5052         * Makefile.in: Rebuild.
5053
5054         * config/tc-sparc.h (md_do_align): Just allocate the number of
5055         bytes necessary, rather than always allocating 1024.
5056
5057 1999-04-04  Ian Lance Taylor  <ian@zembu.com>
5058
5059         * listing.c (listing_newline): Add cast to avoid warning.
5060         * read.c (generate_lineno_debug): Add cases to switch.  Reindent.
5061         * config/tc-i386.c (i386_scale): Add return value.
5062         (build_displacement_string): Remove unused local temp_disp2.
5063         (i386_intel_memory_operand): Add parentheses to avoid warning.
5064         (i386_intel_operand): Remove unused local end_of_operand_string.
5065         (i386_operand): Remove unused local operand_modifier.
5066         (i386_operand): Add parens to avoid warning.
5067
5068 1999-04-04  Don Bowman <don@pixsci.com>
5069
5070         * configure.in: Add mips*-*-vxworks* target; have it define
5071         MIPS_STABS_ELF.
5072         * configure, config.in: Rebuild.
5073
5074 1999-03-31  Nick Clifton  <nickc@cygnus.com>
5075
5076         * configure.in (emulations): Add support for arm-epoc-pe.
5077         * configure: Regenerate.
5078         * config/te-epoc-pe.h: New file.  Define macros specific to
5079         arm-epoc-pe target.
5080         * config/tc-arm.h: Select epoc-pe-arm target format if configured
5081         for arm-epoc-pe target.
5082
5083 Mon Mar 29 10:15:40 CST 1999  Catherine Moore  <clm@cygnus.com>
5084
5085         * tc-mips.c (md_apply_fix):  Adjust value for linkonce sections.
5086
5087 Wed Mar 24 14:11:10 1999  Jeffrey A Law  (law@cygnus.com)
5088
5089         * tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Clean up code to
5090         detect ",n" without a condition.
5091         (pa_parse_neg_cmpsub_cmpltr): Likewise.
5092
5093
5094 Tue Mar 23 11:28:23 1999  Jeffrey A Law  (law@cygnus.com)
5095
5096         * tc-hppa.c (pa_ip, case '~'): The condition for a branch on bit
5097         instruction is encoded with one bit.
5098
5099
5100 1999-03-23  Ian Lance Taylor  <ian@zembu.com>
5101
5102         * doc/internals.texi (CPU backend): Mention that
5103         line_separator_chars should not include newline.  From thi
5104         <ttn@mingle.glug.org>.
5105
5106 1999-03-22  Doug Evans  <devans@casey.cygnus.com>
5107
5108         * config/tc-fr30.c (md_begin): Update call to fr30_cgen_cpu_open.
5109         * config/tc-m32r.c (md_begin): Update call to m32r_cgen_cpu_open.
5110
5111 Sun Mar 21 18:08:18 1999  Richard Henderson  <rth@cygnus.com>
5112
5113         * tc-alpha.c (md_assemble): Allow '6' in an opcode.
5114
5115 Thu Mar 18 10:55:30 1999  Jeffrey A Law  (law@cygnus.com)
5116
5117         * tc-hppa.c (pa_ip, case 'a'): Do not call pa_parse_..._cmpsub_cmpltr.
5118
5119
5120 Thu Mar 18 02:30:07 1999  Jeffrey A Law  (law@cygnus.com)
5121
5122         * tc-hppa.c (pa_ip, case 'd'): Do not allow ",n".
5123
5124 1999-03-15  Martin Hunt  <hunt@cygnus.com>
5125
5126         * app.c (do_scrub_begin): Change '-' back to a symbol char
5127         so we can use multiple opcodes on a line again.
5128
5129         * config/tc-d30v.c: By default, warn if a symbol has
5130         the same name as a register.  Plus some minor
5131         updates from the branch.
5132
5133 1999-03-13  Nick Clifton  <nickc@cygnus.com>
5134
5135         * config/tc-d30v.c (md_apply_fix3): Handle BFD_RELOC_8,
5136         BFD_RELOC_16 and BFD_RELOC_64.
5137
5138 1999-03-12  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
5139
5140         * expr.c (expr): Add missing else.
5141
5142 1999-03-12  Nick Clifton  <nickc@cygnus.com>
5143
5144         * config/tc-arm.c (md_apply_fix3): Improve error message.
5145
5146 1999-03-11  Doug Evans  <devans@casey.cygnus.com>
5147
5148         * Makefile.am (CPU_TYPES): Add fr30.
5149         (cgen.o): Add $(CGEN_CPU_PREFIX)-desc.h dependency.
5150         (fr30,m32r dependencies): Update.
5151         * Makefile.in: Rebuild.
5152
5153         * cgen.c (gas_cgen_record_fixup): Update use of operand->type.
5154         (gas_cgen_record_fixup_exp): Ditto.
5155         (gas_cgen_finish_insn): Call cgen_operand_lookup_by_num.
5156         (gas_cgen_md_apply_fix3): Ditto.  Update call to set_vma_operand.
5157         * config/tc-fr30.c (md_begin): Update call to fr30_cgen_cpu_open.
5158         (md_cgen_lookup_reloc): Update use of operand->type.
5159         * config/tc-m32r.c (md_begin): Update call to fr30_cgen_cpu_open.
5160         (md_convert_frag): Call cgen_operand_lookup_by_num.
5161         (md_cgen_lookup_reloc): Update use of operand->type.
5162         (m32r_cgen_record_fixup_exp): Ditto.
5163
5164 1999-03-09  Jim Blandy  <jimb@zwingli.cygnus.com>
5165
5166         * config/tc-mips.c (md_show_usage): Fix message.
5167
5168 1999-03-03  Nick Clifton  <nickc@cygnus.com>
5169
5170         * doc/c-arm.texi (ARM Syntax): Document new command line switches
5171         and LDR reg,=<expr> instruction.
5172
5173         * config/tc-arm.c: Add support for -mcpu=arm810, -mcpu=arm9 and
5174         -mcpu=arm9tdmi.
5175
5176 Fri Feb 19 09:36:30 1999  Ian Lance Taylor  <ian@cygnus.com>
5177
5178         * doc/c-arm.texi (ARM-Chars): Fix typo in use of '@'.
5179
5180 1999-02-17  Nick Clifton  <nickc@cygnus.com>
5181
5182         This patch was created by: Scott Bambrough
5183         <scottb@corelcomputer.com>
5184
5185         * app.c:
5186           Special cased '@' character.  The '@' character is used as the
5187           ARM assembler comment character, as a special character
5188           and in ELF .symver pseudo-op's, and as a special character in
5189           .type and .section pseudo-ops.
5190         (symver_pseudo): New static variable.
5191         (symver_state): New static variable.
5192         (struct app_save): Add field 'symver_state'.
5193         (app_push): Save global symver_state int struct app_save.
5194         (app_pop): Restore global symver_state from struct app_save.
5195         (do_scrub_chars): Special case handling of '@' character in
5196         .symver pseudo-ops.
5197
5198         * configure.in: Modified to recognize armv* uname syntax from ARM
5199         Linux kernel.
5200         * configure: Regenerated.
5201
5202         * config/obj-elf.c (obj_elf_section): Allow '%' as well as '@' as
5203         a prefix to the section's type.
5204         (obj_elf_type): Allow '%' as well as '@' and '#' as prefixes to
5205         the type's typename.
5206
5207         * config/tc-arm.h: Add support for PIC generation:
5208         (pic_code): New boolean.
5209         (obj_relocate_extern): Define.
5210         (TC_RELOC_RTSYM_LOC_FIXUP): Define
5211         (TC_CONS_FIX_NEW): Define.
5212         (tc_fix_adjustable): Define.
5213         (GLOBAL_OFFSET_TABLE_NAME): Define.
5214
5215         * config/tc-arm.c: Add support for PIC generation:
5216         (line_seperator_chars): Allow ';' as a seperator for Linux.
5217         (is_immediate_prefix): New macro.
5218         (arm_parse_reloc): New function.
5219         (s_arm_elf_cons): New function.
5220         (do_branch): Special case for BFD_RELOC_ARM_PLT32.
5221         (md_undefined_symbol): Special case handling for the Global Offset
5222           Table's symbol.
5223         (md_apply_fix3): Handle PIC relocs.
5224         (tc_gen_reloc): Handle PIC relocs.
5225         (md_parse_option): Add support for '-k' command line switch to
5226           enable PIC generation.
5227         (cons_fix_new_arm): New function.
5228         (s_arm_elf_cons): New function.
5229
5230 Tue Feb 16 16:31:53 1999  Ian Lance Taylor  <ian@cygnus.com>
5231
5232         * configure.in: Add comments for uses of AC_DEFINE.
5233         * acinclude.m4: Likewise.
5234         * acconfig.h: Remove.
5235         * aclocal.m4: Rebuild.
5236         * configure: Rebuild.
5237         * Makefile.in: Rebuild.
5238         * config.in: Rebuild.
5239
5240 1999-02-15  Jim Lemke  <jlemke@cygnus.com>
5241
5242         * config/tc-mips.c (mips_ip: case 'o'): Fix assertion failure for
5243         non-constant offset from a base register.
5244
5245 1999-02-14  Ken Raeburn  <raeburn@raeburn.org>
5246
5247         * config/tc-alpha.c (md_show_usage): Put \ before newline in
5248         strings always.
5249
5250 Sat Feb 13 14:10:10 1999  Richard Henderson  <rth@cygnus.com>
5251
5252         * config/tc-alpha.c (cpu_types): Enable EV6 PALcode with -m21264.
5253         (emit_insn): Look for pc-relative and no-overflow specifiers on
5254         internal relocation types.
5255
5256 1999-02-13  Jim Blandy  <jimb@zwingli.cygnus.com>
5257
5258         * doc/c-mips.texi (MIPS Opts): Updated list of -mNNNN and
5259         -mcpu=NNNN flags.
5260
5261         * config/tc-mips.c: Remove all the mips_NNNN variables; just use
5262         mips_cpu instead.
5263         (mips_4650, mips_4010, mips_4100): Variables removed.
5264         (hilo_interlocks, gpr_interlocks, append_insn, macro_build, macro,
5265         macro2, mips16_macro, mips_ip): Test mips_cpu, not the mips_NNNN
5266         variables.
5267         (md_begin): Don't bother initializing the mips_NNNN variables;
5268         mips_cpu is set, and that's good enough now.
5269         (md_parse_option): Have the -mNNNN options set mips_cpu instead of
5270         the mips_NNNN variable.  The -no-mNNNN flags are now no-ops.
5271         (show): New function, to handle wrapping in the CPU lists.
5272         (md_show_usage): Update lists of -mcpu and -mNNNN switches.
5273
5274 Sat Feb 13 00:17:26 1999  Richard Henderson  <rth@cygnus.com>
5275
5276         * config/tc-i386.c (i386_intel_operand): Ignore `SHORT' rather
5277         than treat as an immediate specifier.
5278
5279 Thu Feb 11 16:18:31 1999  Richard Henderson  <rth@cygnus.com>
5280
5281         * config/tc-i386.c: Prototype many functions.
5282         (set_intel_syntax): Accept `prefix'/`noprefix' specifiers.
5283         (i386_immediate): Remove unused second argument.
5284         (i386_intel_operand): Fix i386_is_reg typo.
5285         (i386_operand): Use allow_naked_reg.
5286         (output_invalid): Make operand int for K&R.
5287
5288 Thu Feb 11 11:21:02 1999  Ian Lance Taylor  <ian@cygnus.com>
5289
5290         * Makefile.am (EXTRA_as_new_SOURCES): Uncomment--fixed by automake
5291         patch.
5292         * Makefile.in: Rebuild.
5293
5294 1999-02-09  Doug Evans  <devans@casey.cygnus.com>
5295
5296         * Makefile.am (DISTCLEANFILES): Change cgen-opc.h to cgen-desc.h.
5297         (cgen.o): Ditto.
5298         (EXTRA_as_new_SOURCES): Comment out.
5299         (.tcdep): <arch>-opc.h renamed to <arch>-desc.h.
5300         * Makefile.in: Rebuild.
5301         * doc/Makefile.in: Rebuild.
5302         * configure.in: Require autoconf 2.13.  Redo using_cgen handling.
5303         Delete call to AM_CYGWIN32.  Replace AM_EXEEXT with AC_EXEEXT.
5304         (AC_OUTPUT): <arch>-opc.h renamed to <arch>-desc.h.
5305         * configure: Rebuild.
5306         * aclocal.m4: Rebuild.
5307         * config.in: Rebuild.
5308         * cgen.c: Include cgen-desc.h, not cgen-opc.h.
5309         (*): CGEN_OPCODE_DESC renamed to CGEN_CPU_DESC.
5310         (gas_cgen_cpu_desc): Renamed from gas_cgen_opcode_desc.
5311         CGEN_INSN_ATTR renamed to CGEN_INSN_ATTR_VALUE.
5312         CGEN_OPERAND_ATTR renamed to CGEN_OPERAND_ATTR_VALUE.
5313         (gas_cgen_record_fixup): Remove unnecessary != 0 test.
5314         (gas_cgen_record_fixup_exp): Ditto.
5315         (gas_cgen_finish_insn): Ditto.  Refer to operand table via cpu
5316         descriptor, not global variable.
5317         (gas_cgen_md_apply_fix3): Refer to operand_table via cpu
5318         descriptor, not global variable.  Refer to insert_operand handler
5319         via cpu descriptor, not global function.
5320         * cgen.h (*): CGEN_OPCODE_DESC renamed to CGEN_CPU_DESC.
5321         * config/tc-fr30.c: Include opcodes/fr30-desc.h.
5322         (*): gas_cgen_opcode_desc renamed to gas_cgen_cpu_desc.
5323         CGEN_INSN_ATTR renamed to CGEN_INSN_ATTR_VALUE.
5324         Update call to CGEN_OPERAND_TYPE,CGEN_INSN_OPERANDS.
5325         * config/tc-m32r.c: Ditto.
5326         (assemble_two_insns): Update calls to cgen_lookup_get_insn_operands.
5327         (md_assemble): Ditto.
5328         (md_convert_frag): Update call to CGEN_OPERAND_ENTRY.
5329
5330 1999-02-09  Nick Clifton  <nickc@cygnus.com>
5331
5332         * config/tc-arm.c (md_apply_fix3): Fix handling of label1 - label2
5333         relocations for ELF targets.
5334
5335 1999-02-08  Nick Clifton  <nickc@cygnus.com>
5336
5337         * configure.in: Add support for StrongARM target.
5338         * configure: Regenerate.
5339
5340 1999-02-05  Nick Clifton  <nickc@cygnus.com>
5341
5342         * config/tc-arm.h: Tidy OBJ_ELF and OBJ_COFF definitions.
5343
5344         * config/tc-arm.c (md_apply_fix3): Fix BFD_RELOC_ARM_PCREL_BRANCH
5345         for COFF ports.
5346
5347 Wed Feb  3 11:35:47 1999  Richard Henderson  <rth@cygnus.com>
5348
5349         * config/tc-alpha.c (md_show_usage): Document pca56 and ev6 options.
5350
5351 Mon Feb  1 20:37:30 1999  Catherine Moore  <clm@cygnus.com>
5352
5353         * config/tc-i386.h (LONG_DOUBLE_MNEM_SUFFIX):  Define.
5354         (INTEL_DWORD_MNEM_SUFFIX):  Define.
5355         (BYTE_PTR):  Define.
5356         (WORD_PTR):  Define.
5357         (DWORD_PTR):  Define.
5358         (XWORD_PTR):  Define.
5359         (SHORT):  Define.
5360         (OFFSET_FLAT):  Define.
5361         (FLAT):  Define.
5362         (NONE_FOUND):  Define.
5363         (No_dSuf):  Define.
5364         (No_xSuf):  Define.
5365         * config/tc-i386.c  (set_intel_syntax):  New routine.
5366         (intel_syntax):  Declare.
5367         (allow_naked_reg):  Declare.
5368         (md_pseudo_table):  Support .intel_syntax and .att_syntax.
5369         (intel_float_operand):  New routine.
5370         (md_assemble):  Handle INTEL_DWORD_MNEM_SUFFIX.
5371         Handle brackets as well as parens.  Call i386_intel_operand for
5372         intel syntax.  Reverse operands if appropriate.  Handle new
5373         suffixes.  Handle movzx and movsx.
5374         (i386_is_reg):  New routine.
5375         (i386_immediate):  New routine.
5376         (i386_scale):  New routine.
5377         (i386_displacement):  New routine.
5378         (i386_operand_modifier):  New routine.
5379         (build_displacement_string):  New routine.
5380         (i386_parse_seg):  New routine.
5381         (i386_intel_memory_operand):  New routine.
5382         (i386_intel_operand):  New routine.
5383         (i386_operand):  Call i386_displacement, i386_immediate,
5384         i386_scale, etc.  instead of handling inline.
5385         (parse_register):  Handle registers without prefix.
5386
5387 Mon Feb  1 12:24:58 1999  Catherine Moore  <clm@cygnus.com>
5388
5389         * configure:  Regenerate.
5390         * configure.in (arm-*-oabi):  New.
5391         (thumb-*-oabi):  New.
5392         * config/tc-arm.c (target_oabi):  Declare.
5393         (md_apply_fix3): Support REL relocs.
5394         (md_parse_option):  Handle -oabi.
5395         (elf32_arm_target_format):  New routine.
5396         (md_longopts):  Add OPTION_OABI.
5397         * config/tc-arm.h:  Redefine TARGET_FORMAT.
5398
5399
5400 1999-01-28  Nick Clifton  <nickc@cygnus.com>
5401
5402         * write.c (write_relocs): Handle out of range error.
5403
5404         * config/tc-fr30.c (fr30_fix_adjustable): New function.
5405         (fr30_force_relocation): Default to 0.
5406
5407         * config/tc-fr30.h (obj_fix_adjustable): Define.
5408         (TC_FORCE_RELOCATION): Define.
5409
5410         * cgen.c (gas_cgen_md_apply_fix3): Do not apply fixes to VTABLE
5411         relocs.
5412
5413 1999-01-16  Nick Clifton  <nickc@cygnus.com>
5414
5415         * config/tc-d30v.c (write_2_short): Do not generate a sequential
5416         merge of two instructions if the left instruciton kills the right.
5417
5418 1999-01-11  Doug Evans  <devans@casey.cygnus.com>
5419
5420         * Makefile.in: Regenerate.
5421         * configure.in: Redo test for using cgen.
5422         * configure: Regenerate.
5423
5424 1999-01-09  Nick Clifton  <nickc@cygnus.com>
5425
5426         * config/obj-coff.h (obj_adjust_symtab): Prevent accidental
5427         redefinition of this macro.
5428
5429 Tue Jan  5 21:58:03 1999  Doug Evans  <devans@canuck.cygnus.com>
5430
5431         * config/tc-mips.c (mips_frob_file): Disable "Unmatched %hi reloc"
5432         warning.
5433
5434 1998-12-29  Gavin Romig-Koch  <gavin@cygnus.com>
5435
5436         * config/tc-mips.c (append_insn): For mips16, insert a nop between
5437         a read of HI or LO and an immediatly following branch.
5438
5439 1998-12-29  Gavin Romig-Koch  <gavin@cygnus.com>
5440
5441         * config/tc-mips.c (md_begin): Another correction to the setting of
5442         mips_eabi64.
5443
5444 1998-12-23  Gavin Romig-Koch  <gavin@cygnus.com>
5445
5446         * config/tc-mips.c (md_begin): Correct type-o in setting of
5447         mips_eabi64.
5448
5449 1998-12-21  Nick Clifton  <nickc@cygnus.com>
5450
5451         * config/tc-m32r.c (md_assemble): Emit a NOP after a relaxable 16
5452         bit insn when optimizing, so that parallelised instructions will
5453         start on a 32 bit boundary.
5454
5455 1998-12-19  Gavin Romig-Koch  <gavin@cygnus.com>
5456
5457         * config/tc-mips.c (mips_eabi64): New.
5458         (md_begin): Set mips_eabi64.
5459         (mips_elf_final_processing): Use it.
5460
5461 1998-12-18  Gavin Romig-Koch  <gavin@cygnus.com>
5462
5463         * config/tc-mips.c (mips_elf_final_processing):
5464         Correct setting of ABI in e_flags.
5465
5466 Wed Dec 16 16:17:22 1998  Dave Brolley  <brolley@cygnus.com>
5467
5468         * config/tc-fr30.c (md_assemble): Warn about invalid instructions
5469         in delay slots.
5470
5471 1998-12-16  Gavin Romig-Koch  <gavin@cygnus.com>
5472
5473         * config/tc-mips.c (md_begin,md_parse_option): Handle vr4111.
5474
5475 1998-12-15  Doug Evans  <devans@casey.cygnus.com>
5476
5477         * cgen.c (gas_cgen_md_apply_fix3): Mark as an error, rather than a
5478         warning, values that don't fit in the field.
5479
5480 1998-12-15  Gavin Romig-Koch  <gavin@cygnus.com>
5481
5482         * config/tc-mips.c (mips_abi_string): New.
5483         (md_parse_option,md_longopts): Add mabi.
5484         (mips_elf_final_processing): Set e_flags based on mabi flag.
5485
5486 1998-12-15  Gavin Romig-Koch  <gavin@cygnus.com>
5487
5488         * config/tc-mips.c (md_parse_option): Handle vr4111.
5489
5490 98-12-11  Ken Raeburn  <raeburn@cygnus.com>
5491
5492         * config/tc-h8300.c (build_bytes): Change message given if the
5493         instruction requires H8/300H mode and we're not in Hmode, to
5494         suggest that it may be the operand modes that are the problem, not
5495         necessarily the opcode.
5496
5497 1998-12-10  Nick Clifton  <nickc@cygnus.com>
5498
5499         * config/tc-fr30.c: Add line separator character.
5500
5501 Tue Dec  8 19:51:50 1998  Mark Klein  <mklein@dis.com>
5502
5503         * configure.in (hppa-*-mpeix*): New target.
5504         * config/obj-som.h (obj_som_compiler): Declare.
5505         * config/obj-som.c (compiler_seen): New static variable.
5506         (obj_som_compiler): New function.
5507         * config/tc-hppa.c: Update tc_data uses for change to bfd/som.h.
5508         (md_pseudo_table): Add "compiler" if OBJ_SOM.
5509         (pa_type_args): Set hppa_priv_level.
5510         (pa_compiler): New static function if OBJ_SOM.
5511         * configure: Rebuild.
5512
5513 Tue Dec  8 15:00:50 1998  Ian Lance Taylor  <ian@cygnus.com>
5514
5515         * read.c (output_leb128): Don't mark as inline.
5516
5517 1998-12-08  Andrew MacLeod  <amacleod@cygnus.com>
5518
5519         * config/tc-ppc.c (ppc_vbyte): Prototype and new function for
5520         AIX .vbyte unaligned data support.
5521         (md_pseudo_table): Add 'vbyte' to list of valid pseudos.
5522         (ppc_elf_validate_fix): Add eh_frame to list of ELF relocatable
5523         sections.
5524
5525 1998-12-07  Nick Clifton  <nickc@cygnus.com>
5526
5527         * config/tc-d30v.c (md_assemble, do_assemble): Improve erroneous
5528         input handling.
5529
5530 Mon Dec  7 09:48:34 1998  Catherine Moore  <clm@cygnus.com>
5531
5532         * config/tc-arm.c (elf32_arm_force_relocation):  Check for
5533         BFD_RELOC_ARM_PCREL_BRANCH.
5534
5535 Sun Dec  6 12:46:36 1998  Ian Lance Taylor  <ian@cygnus.com>
5536
5537         * configure.in: Define TARGET_BYTES_{BIG,LITTLE}_ENDIAN after
5538         checking the target type.
5539         (mips-dec-bsd*): Set endian to little.
5540         * configure: Rebuild.
5541
5542         COFF weak symbol support, based on patches from Mark Elbrecht
5543         <snowball3@usa.net>:
5544         * config/obj-coff.h (S_IS_WEAK): Define if not BFD_ASSEMBLER.
5545         * config/obj-coff.c (obj_coff_weak): New static function.
5546         (obj_coff_endef) [both versions]: Handle weak symbols.
5547         (coff_frob_symbol): Likewise.
5548         (yank_symbols): Likewise.
5549         (obj_pseudo_table): Add "weak".
5550
5551         * configure.in (m68k-*-gnu*): New target.  From Aymeric Vincent
5552         <aymeric.vincent@emi.u-bordeaux.fr>.
5553         * aclocal.m4: Rebuild with current tools.
5554         * configure: Rebuild.
5555
5556         * config/tc-alpha.c (emit_ldgp): Give an error message rather than
5557         an assertion failure for a case we can't handle when OBJ_ECOFF.
5558
5559         * expr.c (operator): And with 0xff to avoid problems with signed
5560         char.
5561
5562 1998-12-03  Nick Clifton  <nickc@cygnus.com>
5563
5564         * config/tc-fr30.c (md_cgen_lookup_reloc): Generate
5565         BFD_RELOC_FR30_48 instead of BFD_RELOC_FR30_32.
5566
5567 1998-12-02  Nick Clifton  <nickc@cygnus.com>
5568
5569         * config/tc-fr30.c (md_cgen_lookup_reloc): Enable relocs for
5570         LDI:20 insn.
5571
5572 Thu Nov 26 11:23:48 1998  Dave Brolley  <brolley@cygnus.com>
5573
5574         * config/tc-fr30.c (md_pcrel_from_section): Restore previous
5575         calculation of pcrel point.
5576
5577 Tue Nov 24 17:21:52 1998  Nick Clifton  <nickc@cygnus.com>
5578
5579         * config/tc-fr30.c (md_pcrel_from_section): Fix calculation of
5580         pcrel point.
5581
5582 Tue Nov 24 14:54:38 1998  Nick Clifton  <nickc@cygnus.com>
5583
5584         * config/tc-d10v.c (md_assemble): Make static 'etype' have file
5585         scope.
5586         (d10v_cleanup): Only generate previous insn if a multiline insn is
5587         not pending.
5588
5589 Fri Nov 20 11:41:13 1998  Nick Clifton  <nickc@cygnus.com>
5590
5591         * config/tc-fr30.c (md_cgen_lookup_reloc): Add support for
5592         FR30_OPERAND_I32.
5593
5594 Thu Nov 19 15:01:29 1998  Nick Clifton  <nickc@cygnus.com>
5595
5596         * config/tc-arm.c (md_parse_option): Add support for -marm7xxx and
5597         -marm6xxx command line switches.
5598
5599 1998-11-18  Doug Evans  <devans@casey.cygnus.com>
5600
5601         * Makefile.am (DEP): Use $(srcdir)/../mkdep.
5602         (itbl-ops.o): Delete duplicate dependencies.
5603         Rebuild dependencies.
5604         Add fr30 dependencies.
5605         * Makefile.in: Rebuild.
5606
5607 Tue Nov 17 13:42:42 1998  Nick Clifton  <nickc@cygnus.com>
5608
5609         * config/tc-fr30.c (md_cgen_lookup_reloc): Updated to match latest
5610         opcode list.
5611         * listing.c: Ignore line terminator characters found inside
5612         strings.
5613
5614 Thu Nov 12 19:21:24 1998  Dave Brolley  <brolley@cygnus.com>
5615
5616         * po/gas.pot: Regenerated.
5617
5618 Thu Nov 12 10:54:16 1998  Nick Clifton  <nickc@cygnus.com>
5619
5620         * config/tc-fr30.c (fr30_is_colon_insn): New name for
5621         fr30_is_label_start().  Also checks for delay slot insns.
5622
5623         * config/tc-fr30.c (fr30_is_label_start): New function: Handle
5624         FR30 instructions which contain a colon in the mnemonic.
5625
5626         * config/tc-fr30.h (TC_START_LABEL): Define this macro.
5627
5628 Wed Nov 11 09:58:21 1998  Nick Clifton  <nickc@cygnus.com>
5629
5630         * config/tc-fr30.c: Removed currently superflous code.
5631
5632 Tue Nov 10 13:13:05 1998  Nick Clifton  <nickc@cygnus.com>
5633
5634         * config/tc-fr30.h: New file.
5635         * config/tc-fr30.c: Tweaking so that it will compile.
5636
5637 Tue Nov 10 14:41:33 1998  Catherine Moore  <clm@cygnus.com>
5638
5639         * config/tc-d10v.h (obj_fix_adjustable):  Define.
5640         (TC_FORCE_RELOCATION):  Define.
5641         (d10v_force_relocation):  Declare.
5642         * config/tc-d10v.c (tc_gen_reloc):  Handle Vtable relocs.
5643         (md_apply_fix3):  Handle Vtable relocs.
5644         (d10v_fix_adjustable):  New.
5645         (d10v_force_relocation):  New.
5646
5647 Mon Nov  9 14:25:06 1998  Nick Clifton  <nickc@cygnus.com>
5648
5649         * config/tc-d30v.c: Change default behaviour to ignore potential
5650         conflicts between register name and symbol names.
5651
5652 Wed Nov  4 18:42:00 1998  Dave Brolley  <brolley@cygnus.com>
5653
5654         * configure.in: Add fr30-*-*.
5655         * config/tc-fr30.c: New file.
5656         * Makefile.in: Regenerated.
5657         * config.in: Regenerated.
5658         * configure: Regenerated.
5659         * doc/Makefile.in: Regenerated.
5660         * po/gas.pot: Regenerated.
5661
5662 Mon Nov  2 20:54:16 1998  Doug Evans  <devans@canuck.cygnus.com>
5663
5664         * config/tc-m32r.c (assemble_two_insns): Ensure both insns
5665         are 16 bit insns.
5666
5667 Mon Nov  2 20:10:18 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
5668
5669         * app.c (do_scrub_begin): Set characters above 127 to be symbol
5670         characters.
5671         (do_scrub_chars): Add some casts to unsigned char to avoid
5672         unwanted sign extension.
5673         * read.c (lex_type): Set characters about 127 to be symbol
5674         characters.
5675         * config/tc-i386.c (md_begin): Set identifier_chars and
5676         operand_chars for values above 127.
5677
5678 Mon Nov  2 15:05:33 1998  Geoffrey Noer  <noer@cygnus.com>
5679
5680         * configure.in: detect cygwin* instead of cygwin32*
5681         * configure: regenerate
5682
5683 Tue Oct 27 13:18:40 1998  Nick Clifton  <nickc@cygnus.com>
5684
5685         * listing.c: Add support for producing a listing from piped
5686         input.
5687
5688 Tue Oct 27 08:56:44 1998  Gavin Romig-Koch  <gavin@cygnus.com>
5689
5690         * config/tc-mips.c (hilo_interlocks): Remove mips_3900.
5691         (append_insn): Account for the tx39's multiply behavior.
5692
5693 1998-10-26  Michael Meissner  <meissner@cygnus.com>
5694
5695         * config/tc-m32r.c (assemble_two_insns): Rename assemble_two_insns
5696         from assemble_parallel_insns.  Add support for '->' to indicate
5697         explicitly serializing the instructions.
5698         (md_assemble): Ditto.
5699
5700 Sat Oct 24 15:12:19 1998  Catherine Moore  <clm@cygnus.com>
5701
5702         * config/tc-sh.c (sh_fix_adjustable):  Adjust EXTERN and
5703         WEAK handling.
5704
5705 Thu Oct 22 12:41:33 1998  Catherine Moore  <clm@cygnus.com>
5706
5707         * cgen.c (gas_cgen_md_apply_fix3):  Revert last change.
5708
5709 Thu Oct 22 10:03:15 1998  Ron Unrau  <runrau@cygnus.com>
5710
5711         * config/tc-mips.c : support frame and regmask/fregmask when
5712           MIPS_STABS_ELF is specified.
5713
5714 Wed Oct 21 11;34:51 1998  Catherine Moore  <clm@cygnus.com>
5715
5716         * config/tc-sh.c (sh_fix_adjustable):  Only include if OBJ_ELF.
5717         (md_apply_fix):  Don't return 1 for VTABLE relocs.
5718         * config/tc-sh.h (obj_fix_adjustable):  Define only if OBJ_ELF.
5719
5720 Tue Oct 20 11:18:28 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
5721
5722         * doc/c-i386.texi: Replace occurences of "opcode" with
5723         "instruction mnemonic", "instruction", or "mnemonic" when
5724         referring to the name of an instruction.  Use "opcode" when
5725         referring to the sequence of machine bytes.
5726
5727         * config/tc-i386.c (opcode_chars): Rename to mnemonic_chars.
5728         (is_opcode_char): Rename to is_mnemonic_char.
5729         (md_assemble and i386_operand): Correct error messages from
5730         "opcode" to "instruction mnemonic"
5731         Rename throughout opcode[] -> mnemonic[], opp -> mnem_p,
5732         MAX_OPCODE_SIZE -> MAX_MNEM_SIZE,
5733         DWORD_OPCODE_SUFFIX -> DWORD_MNEM_SUFFIX,
5734         WORD_OPCODE_SUFFIX -> WORD_MNEM_SUFFIX,
5735         BYTE_OPCODE_SUFFIX -> BYTE_MNEM_SUFFIX,
5736         SHORT_OPCODE_SUFFIX -> SHORT_MNEM_SUFFIX
5737         LONG_OPCODE_SUFFIX -> LONG_MNEM_SUFFIX
5738
5739         * config/tc-i386.h (*_MNEM_SUFFIX): Rename from *_OPCODE_SUFFIX.
5740
5741         * config/tc-i386.c (i386_operand): Check for garbage after
5742         register name.
5743
5744 Tue Oct 20 10:49:42 1998  Ian Lance Taylor  <ian@cygnus.com>
5745
5746         * config/tc-i386.c (md_apply_fix3): Change handling of PCREL reloc
5747         for BFD_ASSEMBLER to only change value when COFF if TE_PE.
5748
5749 Mon Oct 19 20:20:42 1998  Catherine Moore  <clm@cygnus.com>
5750
5751         * config/tc-sh.h (obj_fix_adjustable):  Define.
5752         * config/tc-sh.c (sh_force_relocation):  Handle VT relocs.
5753         (md_apply_fix):  Likewise.
5754         (tc_gen_reloc):  Likewise.
5755         (sh_fix_adjustable):  New.
5756
5757 Mon Oct 19 12:35:43 1998  Doug Evans  <devans@seba.cygnus.com>
5758
5759         * cgen.c (gas_cgen_finish_insn): Update handling of CGEN_INT_INSN_P.
5760         * cgen.h (gas_cgen_finish_insn): Update prototype.
5761         * config/tc-m32r.c (m32r_insn): CGEN_INT_INSN -> CGEN_INT_INSN_P.
5762         cgen_insn_t -> CGEN_INSN_INT.
5763         (make_parallel): Update handling of CGEN_INT_INSN_P.
5764         (assemble_parallel_insn): Ditto.
5765         (target_make_parallel): New function.
5766         (md_assemble): Use it.
5767
5768 Mon Oct 19 13:16:12 1998  Catherine Moore  <clm@cygnus.com>
5769
5770         * config/tc-m32r.c (m32r_force_relocation):  Fix typo.
5771
5772 Sun Oct 18 18:48:57 1998  Jeffrey A Law  (law@cygnus.com)
5773
5774         * config/tc-sh.c (md_assemble): Make sure the entire opcode is
5775         converted into lower case.
5776
5777 Fri Oct 16 13:36:34 CDT Catherine Moore  <clm@cygnus.com>
5778
5779         * cgen.c (gas_cgen_md_apply_fix3):  Handle VTABLE relocs.
5780         (gas_cgen_tc_gen_reloc):  Likewise.
5781         * config/tc-m32r.h (obj_fix_adjustable):  Define.
5782         * config/tc-m32r.c (m32r_fix_adjustable):  New.
5783         (m32r_force_relocation):  Handle VTABLE relocs.
5784
5785 Wed Oct 14 11:33:38 1998  Nick Clifton  <nickc@cygnus.com>
5786
5787         * doc/c-arm.texi (ARM Directives): Document .ltorn directive.
5788
5789 Mon Oct 12 11:07:21 1998  Nick Clifton  <nickc@cygnus.com>
5790
5791         * config/tc-m32r.c (assemble_parallel_insn): Convert second opcode
5792         to lower case before parsing.
5793
5794         * config/tc-d30v.c (parallel_ok): Ignore conflicts when explicitly
5795         parallel insns modift buts in the PSW as a side effect.
5796
5797 Thu Oct  8 10:18:33 1998  Nick Clifton  <nickc@cygnus.com>
5798
5799         * config/tc-d30v.c (find_format): Test for missing flag and
5800         control registers.
5801
5802         (md_apply_fix3): Fix error messages to avoid
5803         assumption about presence of a symbol.
5804
5805         (parallel_ok): Disallow parallel instructions that both modify the
5806         same flag register.
5807
5808         (find_format): Generate a warning if an odd numbered register is
5809         used as the first register in a mutli-register instruction.
5810
5811 Wed Oct  7 14:09:14 1998  Nick Clifton  <nickc@cygnus.com>
5812
5813         * config/tc-d30v.c (md_apply_fix3): Do not assume that bad
5814         relocations are always associated with a symbol.
5815
5816 Tue Oct  6 09:31:15 1998  Catherine Moore  <clm@cygnus.com>
5817
5818         * tc-sparc.h (TC_FORCE_RELOCATION):  Define.
5819         (elf32_sparc_force_relocation):  Declare.
5820         * tc-sparc.c (md_apply_fix3):  Handle vtable relocs.
5821         (tc_gen_reloc):  Handle vtable relocs.
5822         (elf32_sparc_force_relocation):  New.
5823
5824 Mon Oct  5 09:25:32 1998  Catherine Moore  <clm@cygnsu.com>
5825
5826         * symbols.c (S_IS_FUNCTION):  New.
5827         * config/tc-v850.h (obj_fix_adjustable):  Define.
5828         (TC_FORCE_RELOCATION):  Define.
5829         (v850_force_relocation):  Declare.
5830         * config/tc-v850.c (tc_gen_reloc):  Use offset instead
5831         of fx_addnumber for VTABLE reloc addends.
5832         (md_apply_fix3):  Handle VTABLE relocs.
5833         (v850_fix_adjustable):  New.
5834         (v850_force_relocation):  New.
5835
5836 Mon Oct  5 00:48:52 1998  Jeffrey A Law  (law@cygnus.com)
5837
5838         * tc-hppa.c (fp_operand_format): Add some additional formats.
5839         (pa_ip): Do not automatically promote into pa2.0 mode.
5840         (pa_level): Handle ".level 2.0".
5841
5842 Sun Oct  4 20:57:43 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
5843
5844         * config/tc-i386.c (md_assemble): Handle AMD_3DNOW_OPCODE.
5845         * config/tc-i386.h (template.extension_opcode): Change to
5846         unsigned int to allow full range of 8-bit opcode suffixes.
5847         (None): Redefine as 0xffff.
5848
5849         From Jeff B Epler <jepler@usgs.gov>
5850         * doc/c-i386.texi (i386-SIMD): New section.
5851
5852 Thu Oct  1 15:37:54 1998  Richard Henderson  <rth@cygnus.com>
5853
5854         * read.c (discard_rest_of_line): New function.
5855         * read.h: Declare it.
5856         * config/tc-alpha.c (s_alpha_mask, s_alpha_frame): Use it.
5857
5858 Thu Oct  1 10:33:53 1998  Nick Clifton  <nickc@cygnus.com>
5859
5860         * config/tc-d10v.c (find_symbol_matching_register): New function.
5861         (find_opcode): Cope with the case where a register name matches
5862         a symbol name.
5863
5864 Wed Sep 30 10:52:32 1998  Nick Clifton  <nickc@cygnus.com>
5865
5866         * config/tc-v850.c (md_pcrel_from): Rename to
5867         v850_pcrel_from_section.
5868         (v850_pcrel_from_section): Do not resolves symbols in other
5869         sections.
5870
5871         * config/tc-v850.h (MD_PCREL_FROM_SECTION): Define.
5872
5873 Mon Sep 28 11:01:20 1998  Nick Clifton  <nickc@cygnus.com>
5874
5875         * config/tc-d10v.c (find_opcode): Generate an error if a register
5876         is supplied for an operand that should not be a register.
5877
5878 Fri Sep 25 10:04:21 1998  Nick Clifton  <nickc@cygnus.com>
5879
5880         * config/tc-d30v.c (write_2_short): But do allow delayed branch
5881         instructions to have another instruction in the right bin.
5882
5883 Thu Sep 24 09:28:34 1998  Nick Clifton  <nickc@cygnus.com>
5884
5885         * config/tc-d30v.c (write_2_short): Do not allow instructions in
5886         the right container if the left container holds a branch
5887         instruction.
5888
5889 Wed Sep 23 10:54:29 1998  Nick Clifton  <nickc@cygnus.com>
5890
5891         * config/tc-d30v.c (reg_name_search): Only warn if a name matches
5892         both a register name and symbol name.
5893         (find_format): Allow correct parsing of MVTSYS and MVFSYS insns.
5894
5895 Tue Sep 22 17:49:16 1998  Nick Clifton  <nickc@cygnus.com>
5896
5897         * config/tc-d30v.c (write_2_short): Implement EITHER_BUT_PREFER_MU
5898         execution unit class.
5899
5900         (reg_name_search): If a name matches a register and a symbol,
5901         prefer the register.
5902         (find_format): Disallow flag registers when a general purpose
5903         register is required.
5904         If a number is required, but a register has been given, check to
5905         see if a symbol with the same name as the register exists, and if
5906         so, use that symbol.
5907
5908 Tue Sep 22 16:40:52 1998  Jim Wilson  <wilson@cygnus.com>
5909
5910         * config/obj-elf.h (ECOFF_DEBUGGING): Add missing parens.
5911
5912 Tue Sep 22 15:44:21 1998  Nick Clifton  <nickc@cygnus.com>
5913
5914         * config/tc-d30v.c (find_format): Do not accept flag registers as
5915         general purpose registers.
5916         (find_format): If an immediate value is expected at a given place
5917         in a format, but a register name has been provided instead, check
5918         to see if that register name matches the name of a predefined
5919         symbol and if it does, then use the symbol instead.
5920         (reg_name_search): If a register name matches a symbol name,
5921         prefer the register name to the symbol name.
5922
5923 Mon Sep 21 10:42:57 1998  Nick Clifton  <nickc@cygnus.com>
5924
5925         * config/tc-m32r.c (m32r_do_align): After inserting NOPs, reset
5926         the previous insn to empty.
5927
5928 1998-09-20  Michael Meissner  <meissner@cygnus.com>
5929
5930         * config/tc-ppc.c (md_apply_fix3): Do not break string into two
5931         pieces, forcing the use of an ANSI compiler.
5932
5933 Sun Sep 20 00:58:12 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5934
5935         * config/tc-m68k.h (TC_FORCE_RELOCATION): New macro.  Force vtable
5936         relocs.
5937         * config/tc-m68k.c (md_apply_fix_2): Do nothing for vtable relocs.
5938
5939 Tue Sep 15 08:51:07 1998  Catherine Moore  <clm@cygnus.com>
5940
5941         * config/obj-elf.c (obj_elf_vtable_inherit):  Handle arm
5942         assembler syntax.
5943         (obj_elf_vtable_entry):  Likewise.
5944         * config/tc-arm.h:  Define TC_FORCE_RELOCATION for OBJ_ELF.
5945         * config/tc-arm.c (md_apply_fix3): Handle VTABLE relocations.
5946         (tc_gen_reloc): Likewise.
5947         (arm_fix_adjustable): Likewise.
5948         (elf32_arm_force_relocation): New.
5949         (armelf_frob_symbol):  Remove coff-style symbol support.
5950
5951 Wed Sep  9 11:27:16 1998  Richard Henderson  <rth@cygnus.com>
5952
5953         * config/tc-i386.c (i386_operand): Fix typo in last patch.
5954
5955 Tue Sep  8 18:10:01 1998  Catherine Moore  <clm@cygnus.com>
5956
5957         * config/tc-arm.c (arm_adjust_symtab):  Move #ifdef
5958         OBJ_COFF so that routine is defined for a.out format.
5959
5960 Tue Sep  8 15:56:19 1998  Richard Henderson  <rth@cygnus.com>
5961
5962         * config/tc-i386.c (i386_operand): Detect non-segment registers
5963         used as segment prefixes.
5964
5965 Sat Sep  5 19:00:38 1998  Ian Lance Taylor  <ian@cygnus.com>
5966
5967         * ehopt.c (check_eh_frame): Check the size of the FDE, and don't
5968         optimize across FDE boundaries.
5969
5970         * config/obj-coff.c (obj_coff_section): Preserve any link once
5971         flags when setting the section flags.
5972
5973 Fri Sep  4 17:07:14 1998  Nick Clifton  <nickc@cygnus.com>
5974
5975         * config/tc-arm.h (obj_adjust_symtab): Fixed typo.
5976         * config/tc-arm.c (armelf_adjust_symtab): Reformatted.
5977
5978 Fri Sep  4 13:57:43 1998  Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
5979
5980         * config/tc-sparc.c (in_signed_range): Sign extend 32-bit words
5981         to the host width.
5982
5983 Wed Sep  2 11:31:14 1998  Richard Henderson  <rth@cygnus.com>
5984
5985         * frags.c (frag_grow): Include the size of the frag struct in the
5986         obstack chunk size.
5987
5988         * subsegs.c (subseg_set_rest): Adjust the seginfo frchain start
5989         if the new subseg comes before the old.
5990
5991 Tue Sep  1 15:01:33 1998  Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
5992
5993         * config/tc-sparc.c (sparc_ip): Allow all digits in an instruction
5994         to handle edge8 and edge16.
5995
5996 Mon Aug 31 09:51:14 1998  Richard Henderson  <rth@cygnus.com>
5997
5998         * config/obj-elf.c (obj_elf_vtable_inherit): Print error message
5999         before we clobber the symbol involved.
6000
6001 Mon Aug 31 10:58:06 1998  Catherine Moore  <clm@cygnus.com>
6002
6003         * config/tc-arm.c:  Remove OBJ_ELF definitions for
6004         S_GET_STORAGE_CLASS and S_SET_STORAGE_CLASS.  Only
6005         use arm_adjust_symtab for OBJ_COFF.
6006         (armelf_adjust_symtab):  New Routine.
6007         * config/tc-arm.h:  Define obj_adjust_symtab to
6008         armelf_adjust_symtab for OBJ_ELF.
6009
6010 Sat Aug 29 22:18:51 1998  Richard Henderson  <rth@cygnus.com>
6011
6012         * configure.in: Make all i386-elf targets use bfd_gas.
6013         * config/tc-i386.c (tc_i386_force_relocation): New.
6014         (tc_i386_fix_adjustable): Don't fix vtable relocs.
6015         (md_apply_fix3): Likewise.
6016         (tc_gen_reloc): Handle them.
6017         * config/tc-i386.h (TC_FORCE_RELOCATION): Always define, calling
6018         tc_i386_force_relocation.
6019
6020 Mon Aug 24 13:40:21 1998  Nick Clifton  <nickc@cygnus.com>
6021
6022         * config/tc-arm.c (md_show_usage): Improve formatting of --help output.
6023
6024 Fri Aug 21 18:43:48 1998  Nick Clifton  <nickc@cygnus.com>
6025
6026         * config/tc-d30v.c (md_assemble): Copy previous opcode over
6027         current opcode after writing the first insturction of a reverse
6028         sequential pair.
6029
6030 Fri Aug 21 07:30:35 1998  Doug Evans  <devans@canuck.cygnus.com>
6031
6032         * read.h (generate_lineno_debug): Add prototype.
6033         * read.c (generate_lineno_debug): Make non-static.
6034
6035 Thu Aug 20 23:17:04 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
6036
6037         * config/tc-i386.c (md_assemble): Only warn for address/data size
6038         prefixes.
6039
6040 Thu Aug 20 14:45:08 1998  Nick Clifton  <nickc@cygnus.com>
6041
6042         * config/tc-arm.c (arm_fix_adjustable): Do not adjust relocations
6043         against Thumb function names, as the linker needs this information.
6044
6045 1998-08-20  Vladimir N. Makarov  <vmakarov@cygnus.com>
6046
6047         * expr.c (operand): Check also that there is no advance in operand
6048         after atof_generic in order to decide "is it label 0f or floating
6049         point number?".
6050
6051 Wed Aug 19 09:30:16 1998  Nick Clifton  <nickc@cygnus.com>
6052
6053         * config/tc-m32r.c: Replace double dash prefix to M32R specific
6054         command line options with a single dash.
6055         * doc/c-m32r.texi: Replace double dash prefix with a single dash.
6056
6057 Tue Aug 18 11:59:43 1998  Catherine Moore  <clm@cygnus.com>
6058
6059         * tc-arm.h: Define obj_fix_adjustable for OBJ_ELF.
6060         * tc-arm.c (arm_fix_adjustable): New routine.
6061
6062 1998-08-13  Vladimir N. Makarov  <vmakarov@cygnus.com>
6063
6064         * read.c (s_align, s_comm, s_mri_common, s_fail, s_globl, s_space,
6065         s_float_space, s_struct, cons_worker): Move ignore_rest_of_line or
6066         demand_empty_rest_of_line before mri_comment_end.
6067         (equals): Check garbage after expression before
6068         mri_comment_end in MRI mode.
6069
6070 Thu Aug 13 15:08:42 1998  Ian Lance Taylor  <ian@cygnus.com>
6071
6072         * config/tc-mips.c (macro): Correct M_SGE_I/M_SGEUI_I case for a
6073         small immediate constant to use the constant itself rather than
6074         always using 1.
6075
6076 Wed Aug 12 18:47:38 1998  Ian Lance Taylor  <ian@cygnus.com>
6077
6078         * config/tc-hppa.c (pa_enter): Call as_bad rather than abort.
6079         (pa_leave): Likewise.
6080
6081 Wed Aug 12 13:25:03 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
6082
6083         * config/tc-i386.c (md_assemble): Emit a warning for stand-alone
6084         prefixes.
6085         (i386_operand): Fix an error message.
6086
6087 Tue Aug 11 14:44:32 1998  Nick Clifton  <nickc@cygnus.com>
6088
6089         * doc/c-arm.texi (ARM Directives): Document .req directive.
6090
6091         * config/tc-arm.c (reg_required_here): Display erroneous string if
6092         the register name could not be decoded.
6093         Do not set inst.instruction if the sift is -1.
6094
6095 Mon Aug 10 15:39:56 1998  Richard Henderson  <rth@cygnus.com>
6096
6097         * config/tc-alpha.c (tc_gen_reloc): Bias WEAK symbols just as
6098         we do for EXTERN.
6099
6100 Mon Aug 10 15:06:18 1998  Nick Clifton  <nickc@cygnus.com>
6101
6102         * config/tc-d30v.c (d30v_align): Always perform alignment request,
6103         even if it is belived to be unnecessary.
6104
6105 Mon Aug 10 17:48:09 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
6106
6107         config/tc-i386.c (i386_operand): Size immediate constants by
6108         suffix (erroneously removed as part of July 7 change).
6109
6110 Sun Aug  9 20:45:32 1998  Catherine Moore  <clm@cygnus.com>
6111
6112         * config/obj-elf.h:  Check for redefinition of obj_frob_symbol.
6113         * config/tc-arm.c:  Define S_GET_STORAGE_CLASS and S_SET_STORAGE_CLASS.
6114         (armelf_frob_symbol):  New Routine.
6115         * config/tc-arm.h:  Define obj_frob_symbol if OBJ_ELF.
6116
6117 Sat Aug  8 15:21:28 1998  Richard Henderson  <rth@cygnus.com>
6118
6119         * config/tc-alpha.c (alpha_fix_adjustable): Don't adjust weak syms.
6120
6121 Wed Aug  5 15:54:14 1998  Nick Clifton  <nickc@cygnus.com>
6122
6123         * config/tc-arm.c (md_begin): Set BFD private flags depending upon
6124         command line switches passed to assembler.
6125
6126 Mon Aug  3 14:02:52 1998  Doug Evans  <devans@seba.cygnus.com>
6127
6128         * cgen.h (GAS_CGEN_MAX_FIXUPS): GAS_ prepended, all uses updated.
6129         (gas_cgen_opcode_desc): Declare.
6130         (gas_cgen_parse_operand): Declare.
6131         (*): Prepend gas_ to gas specific fns to denote them as such.
6132         All uses updated.
6133         * cgen.c (gas_cgen_opcode_desc): New global
6134         (gas_cgen_init_parse): Renamed from cgen_asm_init_parse.
6135         (queue_fixup): Renamed from cgen_queue_fixup.
6136         (*): Prepend gas_ to gas specific fns to denote them as such.
6137         All uses updated.
6138         (gas_cgen_md_apply_fix3): Update call to insert_operand.
6139         (gas_cgen_finish_insn): Renamed from cgen_asm_finish_insn.
6140         * config/tc-m32r.c (md_begin): Remove use of CGEN_SYM.
6141         Open opcode table and initialize it.
6142         (make_parallel): Use gas_cgen_opcode_desc.
6143         (assemble_parallel_insn): Ditto.  Remove use of CGEN_SYM.
6144         (md_assemble): Ditto.
6145
6146 Sat Aug  1 19:27:30 1998  Richard Henderson  <rth@cygnus.com>
6147
6148         * as.h (debug_info_type): Add entries for unspecified and dwarf*.
6149         * ecoff.c (ecoff_generate_asm_lineno): Take no arguments; call
6150         as_where ourselves.  Provide a stub for !ECOFF_DEBUGGING.
6151         * ecoff.h: Move ECOFF_DEBUGGING protection inside GAS_ECOFF_H.
6152         Move ecoff_generate_asm_lineno outside ECOFF_DEBUGGING protection.
6153         * read.c (generate_lineno_debug): Tidy ECOFF bits.  Use
6154         DEBUG_UNSPECIFIED rather than DEBUG_NONE for initial test.
6155         * config/obj-elf.h (ECOFF_DEBUGGING) [TC_ALPHA]: Define to a variable.
6156         (SEPARATE_STAB_SECTIONS): Conditionalize on value of ECOFF_DEBUGGING.
6157         (INIT_STAB_SECTION): Likewise.
6158         (OBJ_PROCESS_STAB): Likewise.
6159
6160         * config/tc-alpha.c (md_longopts): New options -mdebug/-no-mdebug.
6161         (md_parse_option): Watch for them.
6162         (alpha_cur_ent_sym, alpha_flag_mdebug): New variables.
6163         (md_begin): Kill neverdef code.
6164         (s_alpha_ent, s_alpha_end, s_alpha_mask, s_alpha_frame): New.
6165         (s_alpha_prologue): Watch alpha_cur_ent_sym.
6166         (s_alpha_coff_wrapper): New.
6167         (md_pseudo_table): Trap all ECOFF pseudos.
6168
6169 Fri Jul 31 16:45:54 1998  Ron Unrau <runrau@cygnus.com>
6170
6171         Start of changes to remove mdebug section from mips*-elf
6172         Based on MIPS_STAB_ELF definition
6173         * acconfig.h: undef if not configured
6174         * config.in: undef if not configured
6175         * config/mips-elf.h: only set ECOFF debugging if not stabs-in-elf
6176         * config/tc-mips.c (s_ent): set BSF_FUNCTION
6177         * stabs.c (s_stab_generic): flush frag
6178
6179 Fri Jul 31 16:14:45 1998  Catherine Moore  <clm@cygnus.com>
6180
6181         * configure.in: (arm-*-elf):  Handle.
6182         (thumb-*-elf): Handle.
6183         * configure:  Regenerate.
6184         * read.c (stringer): Fix typo in comment.
6185         * write.c (fixup_segment): Don't add symbol value to addend if
6186         TC_ARM and OBJ_ELF.
6187         * config/tc-arm.c (md_section_align):  Don't align dwarf debug
6188         sections.
6189         (tc_gen_reloc):  Always set the reloc addend to fixp->fx_offset
6190         for OBJ_ELF.
6191
6192 Thu Jul 30 21:38:43 1998  Frank Ch. Eigler  <fche@cygnus.com>
6193
6194         * config/tc-d30v.c ({cur,prev}_left_kills_right_p): New variables.
6195         (write_2_short): Emit warning if new flag is set.
6196         (do_assemble): Set flags if left instruction is one of special
6197         "right-instruction-killer" type.
6198
6199 Tue Jun 28 18:12:28 1998  Stan Cox  <scox@cygnus.com>
6200
6201         * config/tc-sparc.c (md_number_to_chars, cons_fix_new_sparc):
6202         Always output words in debug_info section as big endian.
6203         (sparc_target_format): Choose correct bfd target.
6204         (md_apply_fix3): Rename BFD_RELOC_SPARC_32LE to BFD_RELOC_SPARC_REV32.
6205
6206 Tue Jul 28 11:01:21 1998  Jeffrey A Law  (law@cygnus.com)
6207
6208         * config/tc-mn10300.c (md_assemble): Fix "errmsg" initialization
6209         to work with internationalization code.  Issue an error when two
6210         operands match that are not allowed to match.
6211
6212 Mon Jul 27 16:25:58 1998  Doug Evans  <devans@canuck.cygnus.com>
6213
6214         * configure.in (install_tooldir): Allow target to specify whether
6215         it wants to be installed in $(tooldir)/bin.
6216         * configure: Regenerate.
6217         * Makefile.am (install-exec-local): Set install-exec-tooldir
6218         dependency via configure.
6219         * Makefile.in: Regenerate.
6220
6221 Fri Jul 24 19:58:59 1998  Doug Evans  <devans@canuck.cygnus.com>
6222
6223         * Makefile.am (install-exec-local): Split into two ...
6224         (install-exec-bindir,install-exec-tooldir): New rules.
6225         * Makefile.in: Regenerate.
6226
6227 Fri Jul 24 16:31:49 1998  Ian Lance Taylor  <ian@cygnus.com>
6228
6229         * Makefile.am (install-exec-local): Don't remove the file before
6230         checking whether $(bindir) == $(tooldir)/bin.  From Maciej
6231         W. Rozycki <macro@ds2.pg.gda.pl>.
6232         * Makefile.in: Rebuild.
6233
6234 Fri Jul 24 09:13:46 1998  Doug Evans  <devans@canuck.cygnus.com>
6235
6236         * cgen.c: Include libiberty.h.
6237         (cgen_md_apply_fix3): Update call to md_cgen_lookup_reloc.
6238         (cgen_tc_gen_reloc): Use xmalloc, not bfd_alloc.
6239         * cgen.h (cgen_md_apply_fix3,cgen_tc_gen_reloc): Declare.
6240         (md_cgen_lookup_reloc)): Declare.
6241         (md_cgen_record_fixup_exp): Declare.
6242         * config/tc-m32r.h (md_pcrel_from_section): Declare.
6243         (m32r_relax_frag): Declare.
6244         (cgen_md_apply_fix3): Decls moved to cgen.h.
6245         (cgen_record_fixup_exp,cgen_tc_gen_reloc): Ditto.
6246         (m32r_cgen_record_fixup_exp): Delete decl.
6247         * config/tc-m32r.c (m32r_cpu_desc): #if 0 out.
6248         (assemble_nop): Delete.
6249         (expand_debug_syms): Delete unused `exp'.
6250         (md_cgen_lookup_reloc): Renamed from CGEN_SYM (lookup_reloc).
6251         Add default case for -Wall.
6252         (m32r_cgen_record_fixup_exp): Add default case for -Wall.
6253         (md_atof): Delete unused wordP.
6254
6255 Thu Jul 23 13:19:50 1998  Jeffrey A Law  (law@cygnus.com)
6256
6257         * config/tc-mn10300.c (md_assemble): Make sure "errmsg" has a non-NULL
6258         value.
6259
6260 Wed Jul 22 14:36:56 1998  Ian Lance Taylor  <ian@cygnus.com>
6261
6262         * doc/as.texinfo: Add documentation for .end, .exitm, .fail,
6263         .ifc, .ifeqs, .ifge, .ifgt, .ifle, .iflt, .ifnc, .ifne, .ifnes,
6264         .print, .purgem, and .struct.  Remove documentation for
6265         .app-file.
6266
6267 Tue Jul 21 16:50:52 1998  Doug Evans  <devans@seba.cygnus.com>
6268
6269         * cgen.c (cgen_md_apply_fix3): set_operand renamed to set_vma_operand.
6270         Update call to insert_operand.
6271
6272 Fri Jul 17 11:42:20 1998  Nick Clifton  <nickc@cygnus.com>
6273
6274         * config/tc-m32r.c (ms_show_usage): Formatting changes.
6275
6276 Wed Jul 15 15:38:28 1998  Ian Lance Taylor  <ian@cygnus.com>
6277
6278         * config/tc-i386.c (md_assemble): Don't get confused by trailing
6279         whitespace after a prefix operator.
6280
6281 Tue Jul 14 15:32:56 1998  Richard Henderson  <rth@cygnus.com>
6282
6283         * configure.in (i386-*-beos{pe,elf,}*): Recognize.
6284
6285 Tue Jul 14 12:33:44 1998  Chris Torek  <torek@bsdi.com>
6286
6287         * config/tc-sparc.c (log2): New static function.
6288         (s_reserve): Use log2 to convert alignment before calling
6289         record_alignment.
6290         (s_common): Use log2 to convert alignment before calling
6291         record_alignment and frag_align.
6292         (sparc_cons_align): Use log2.
6293
6294 Tue Jul 14 11:58:40 1998  Ian Lance Taylor  <ian@cygnus.com>
6295
6296         * config/tc-sparc.c (s_reserve): Set symbol size if OBJ_ELF.
6297         (s_common): Likewise.
6298
6299         * config/tc-sparc.c (sparc_handle_align): Reindent a bit.  Correct
6300         initialization of waddr.
6301         (sparc_elf_final_processing): Add default case to switch.
6302
6303 Tue Jul 14 11:00:16 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
6304
6305         * doc/c-i386.texi: Fix a typo.  Use the term 80-bit real rather
6306         than temporary real.
6307
6308 Mon Jul 13 13:55:42 1998  Ian Lance Taylor  <ian@cygnus.com>
6309
6310         * write.c (subsegs_finish): Don't align the segments if there were
6311         any errors.
6312
6313         * config/obj-coff.c (c_symbol_merge): Correct number of bytes when
6314         copying aux information.
6315
6316         * expr.c (make_expr_symbol): Catch attempts to turn an O_big
6317         expression into a symbol.
6318
6319 Mon Jul 13 13:29:04 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
6320
6321         * config/tc-i386.c (mode_from_disp_size): Change arg and return
6322         type to unsigned int.
6323         (md_assemble): Change type used to store offsets from unsigned
6324         long to long.
6325         (i386_operand): Switch error check to only call RESTORE_END_STRING
6326         once after parse_register.
6327
6328 Fri Jul 10 16:00:04 1998  Nick Clifton  <nickc@cygnus.com>
6329
6330         * config/tc-v850.c (md_show_usage): Changed format to match that
6331         of gcc, ld, etc.
6332
6333         * as.c (show_usage): Changed format to match that of gcc, ld, etc.
6334
6335 Thu Jul  9 12:09:57 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6336
6337         * config/tc-m68k.c (tc_m68k_fix_adjustable): Don't adjust vtable
6338         relocs.
6339         (md_apply_fix_2): Force the symbol of the vtable reloc to be
6340         weak.
6341
6342 Thu Jul  9 11:31:54 1998  Ian Lance Taylor  <ian@cygnus.com>
6343
6344         * doc/Makefile.am (MAINTAINERCLEANFILES): Define.
6345         * doc/Makefile.in: Rebuild.
6346
6347 Wed Jul  8 12:18:56 1998  Jeffrey A Law  (law@cygnus.com)
6348
6349         * config/tc-mips.c (mips_ip, case 'i' and 'j'): Mask off high bits
6350         for %lo expressions.
6351         (mips_ip, case 'u'): Move range check after code to mask
6352         off bits in %hi/%lo expressions.  Mask off high bits for
6353         %lo expressions.
6354
6355 Tue Jul  7 17:57:38 1998  Ian Lance Taylor  <ian@cygnus.com>
6356
6357         * doc/Makefile.am (gasver.texi): New target.
6358         (as.info, as.dvi): Depends upon gasver.texi.
6359         * doc/as.texinfo: Include gasver.texi.  Mention version number on
6360         title page and in top node.
6361         * doc/Makefile.in: Rebuild.
6362
6363 Tue Jul  7 11:42:16 1998  Richard Henderson  <rth@cygnus.com>
6364
6365         * listing.c (listing_listing): For EDICT_LIST, skip all lines up to
6366         but not including the line containing the edict.
6367         * listing.h (LISTING_EOF): New.
6368         * input-scrub.c (input_scrub_next_buffer): Call it.
6369
6370 Tue Jul  7 13:00:37 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
6371
6372         * config/tc-i386.c (i386_operand): Don't set the size of an
6373         immediate address based solely on the suffix and the mode.
6374
6375         * config/tc-i386.c (md_assemble): Add assertion to make sure
6376         overlap2 does not set Imm.
6377
6378         * config/tc-i386.c (space_chars): Remove. The scrubber converts
6379         sequences of whitespace to a single space.
6380         (is_space_chars): Just compare with space.
6381         (md_begin): Don't initialize space_chars.
6382         (md_assemble): Just skip a single whitespace character.
6383         (i386_operand): Rewrite base-index parsing to use new
6384         parse_register, and to skip white space.  Skip white space in a
6385         number of other places too.  Don't give error message if
6386         parse_register fails.
6387         (parse_register): Change reg_string parameter to be non-const.
6388         Add end_op parameter.  Skip white space after the `%', and return
6389         end of register string.  Give error message here rather than
6390         caller.
6391
6392 Fri Jul  3 15:34:34 1998  Ian Lance Taylor  <ian@cygnus.com>
6393
6394         Based on patch from Matt Semersky <matts@scd.hp.com>:
6395         * expr.c (op_encoding): Make const.
6396         (expr_set_precedence): New function.
6397         (expr_begin): Don't set operator rankings, just call
6398         expr_set_precedence.
6399         * expr.h (expr_set_precedence): Declare.
6400         * read.c (s_mri): Call expr_set_precedence.
6401
6402 Thu Jul  2 16:24:58 1998  Ian Lance Taylor  <ian@cygnus.com>
6403
6404         * doc/as.texinfo (Statements): Remove paragraph discussing
6405         continuing lines with a backslash.  This hasn't worked for years,
6406         if it ever did.
6407
6408 Thu Jul  2 14:06:22 1998  Klaus Kaempf  <kkaempf@rmi.de>
6409
6410         * obj-vms.c: Add C++ support with ctors/dtors sections.  Add weak
6411         symbol definitions.
6412         (Ctors_Symbols, Dtors_Symbols): New symbol chains.
6413         (ps_CTORS, ps_DTORS): New section types.
6414         (vms_fixup_xtors_section): New function
6415         (Ctors_Psect, Dtors_Psect): Define.
6416         (IS_GXX_XTOR): Define
6417         (global_symbol_directory): Change check of gxx_bug_fixed to 0.
6418         Filter static constructors/destructors and add to
6419         Ctors_Symbols/Dtors_Symbols chain.
6420         (vms_write_object_file): Write Ctors_Symbols/Dtors_Symbols to
6421         appropriate section.
6422
6423         * tc-alpha.h (TARGET_FORMAT): Rename "evax-alpha" to "vms-alpha".
6424         * makefile.vms: Merge vax/vms support.
6425
6426 Wed Jul  1 20:06:20 1998  Richard Henderson  <rth@cygnus.com>
6427
6428         * config/obj-elf.c (obj_elf_vtable_inherit, obj_elf_vtable_entry): New.
6429         (elf_pseudo_table): Add them.
6430         * config/tc-mips.c (mips_force_relocation): Force vtable relocs.
6431         (md_apply_fix): Accept them.
6432         (mips_fix_adjustable): Don't adjust them.
6433         (tc_gen_reloc): Mung BFD_RELOC_VTABLE_ENTRY for Rel.
6434         * config/tc-ppc.c (md_apply_fix3): Accept vtable relocs.
6435         * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Force vtable relocs.
6436         (tc_fix_adjustable): Don't adjust them.
6437
6438 Wed Jul  1 16:35:32 1998  Doug Evans  <devans@seba.cygnus.com>
6439
6440         * Makefile.am (CGEN_CPU_PREFIX): New variable.
6441         (cgen.o): Use it.
6442         * Makefile.in: Regenerate.
6443         * configure.in: AC_SUBST cgen_cpu_prefix.
6444         * configure: Regenerate.
6445
6446 Wed Jul  1 21:38:56 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
6447
6448         * config/tc-sh (COND_JUMP_DELAY, COND12_DELAY_LENGTH): Define.
6449         Changed all users of COND12_DELAY.
6450
6451 Fri Jun 26 11:21:11 1998  Jeffrey A Law  (law@cygnus.com)
6452
6453         * config/tc-mn10300.c (set_arch_mach): New function.
6454         (md_pseudo_table): Add pseudo-ops to set the current machine type.
6455         (md_begin): Default to mn10300 mode.
6456         (md_assemble): Only accept instructions for the core mn10300
6457         chip and the active machine type.
6458
6459 Wed Jun 24 19:06:04 1998  Ian Lance Taylor  <ian@cygnus.com>
6460
6461         * subsegs.h (segment_info_type): Give the struct a name.
6462         * config/tc-h8300.h (tc_reloc_mangle): Add prototype.
6463         * config/tc-h8500.h (tc_reloc_mangle): Declare.
6464         * config/tc-sh.h (sh_coff_reloc_mangle): Add prototype.
6465         * config/tc-w65.h (tc_reloc_mangle): Declare.
6466         * config/tc-z8k.h (tc_reloc_mangle): Declare.
6467
6468 Wed Jun 24 13:45:00 1998  Catherine Moore  <clm@cygnus.com>
6469
6470         * config/tc-v850.c (v850_comm):  Restore old section
6471         after common processing.
6472
6473 Wed Jun 24 11:50:54 1998  Klaus Kaempf  <kkaempf@progis.de>
6474
6475         * config/obj-vms.c (Create_VMS_Object_File): Force binary file.
6476
6477 Tue Jun 23 17:47:31 1998  Jim Wilson  <wilson@cygnus.com>
6478
6479         * config/tc-h8300.c (do_a_fix_imm, build_bytes): Replace cast to
6480         char with code that explicitly sign-extends.
6481
6482 Tue Jun 23 13:54:57 1998  Nick Clifton  <nickc@cygnus.com>
6483
6484         * config/tc-v850.c (md_begin): Restore text section as the current
6485         section after creating call table sections.
6486         * config/obj-coff.h (SYM_AUXINFO): New macro to conceal ugly
6487         code.
6488
6489         * config/obj-coff.c (c_symbol_merge): Replace complex expresion
6490         with call to macro SYM_AUXINFO.
6491
6492 Tue Jun 23 15:09:27 1998  Mike Stump  <mrs@wrs.com>
6493
6494         * Makefile.am (install-exec-local): Don't let EXEEXT interfere
6495         with the program transform name.
6496         * Makefile.in: Rebuild.
6497
6498 Mon Jun 22 19:52:42 1998  Ian Lance Taylor  <ian@cygnus.com>
6499
6500         * config/obj-coff.c (c_symbol_merge): Fix copying of auxiliary
6501         information.
6502
6503 Mon Jun 22 15:18:58 1998  Ian Lance Taylor  <ian@cygnus.com>
6504
6505         * config/tc-i386.c (i386_operand): Be prepared for a space between
6506         the open parenthesis and the start of the register operand,
6507         because of the June 16 change.
6508
6509 Sun Jun 21 21:27:03 1998  Ian Lance Taylor  <ian@cygnus.com>
6510
6511         * config/tc-sh.c (md_apply_fix): Handle weak symbols correctly if
6512         BFD_ASSEMBLER.
6513
6514 Sun Jun 21 12:26:36 1998  Nick Clifton  <nickc@cygnus.com>
6515
6516         * config/tc-d30v.c (d30v_align): Always perform alignment request,
6517         even if it is belived to be unnecessary.
6518
6519 Fri Jun 19 13:57:06 1998  Ian Lance Taylor  <ian@cygnus.com>
6520
6521         * write.c (adjust_reloc_syms): Never adjust relocs against weak
6522         symbols.
6523         * config/tc-mips.c (md_apply_fix): Adjust accordingly.
6524
6525 Fri Jun 19 09:50:17 1998  Jeffrey A Law  (law@cygnus.com)
6526
6527         * config/tc-mn10300.c (mn10300_insert_operand): Do not hardcode the
6528         shift amount for a repeated operand.  The shift amount for the
6529         repeated copy comes from the size of the operand.
6530
6531 Fri Jun 19 00:44:19 1998  Jeffrey A Law  (law@cygnus.com)
6532
6533         * config/tc-h8300.c (get_operand): Fix typos in ldm/stm support.
6534
6535 Wed Jun 17 13:07:05 1998  Ian Lance Taylor  <ian@cygnus.com>
6536
6537         * config/tc-mips.c (md_show_usage): Fix -mipsN usage.
6538
6539 Tue Jun 16 13:06:21 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
6540
6541         * app.c (do_scrub_begin): If tc_symbol_chars is defined, treat all
6542         characters in it as LEX_IS_SYMBOL_COMPONENT.
6543         * config/tc-i386.h (tc_symbol_chars): Define.
6544         (extra_symbol_chars): Declare.
6545         * config/tc-i386.c (extra_symbol_chars): Define.
6546         (comment_chars): Don't use '/' as comment start if TE_LINUX.
6547         (line_comment_chars): Set to '/' if TE_LINUX.
6548         * doc/c-i386.texi (i386-prefixes): Update.
6549         * doc/internals.texi (CPU backend): Document tc_symbol_chars.
6550
6551 Fri Jun 12 13:36:54 1998  Tom Tromey  <tromey@cygnus.com>
6552
6553         * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
6554         ($(PACKAGE).pot): Unconditionally depend on POTFILES.
6555
6556 1998-06-12  Vladimir N. Makarov  <vmakarov@cygnus.com>
6557
6558         * config/tc-d10v.c (md_apply_fix3): Checking displacement
6559         constraint in instructions REP & REPI.
6560
6561 Thu Jun 11 08:56:46 1998  Nick Clifton  <nickc@cygnus.com>
6562
6563         * config/tc-d30v.c (md_apply_fix3): Catch BFD_RELOC_8,
6564         BFD_RELOC_16, BFD_RELOC_64 and issue appropriate error messages.
6565
6566         (check_range): If the operand is shifted, then shift the number
6567         before checking its range.
6568
6569         * write.c (adjust_reloc_syms): Add more checks for NULL pointers.
6570
6571         * config/tc-v850.c (v850_comm): Set SEC_COMMON bit on special
6572         common sections.
6573
6574 Wed Jun 10 17:26:35 1998  Nick Clifton  <nickc@cygnus.com>
6575
6576         * config/tc-v850.c (v850_comm): Create special sections as needed.
6577
6578 1998-06-10  Vladimir N. Makarov  <vmakarov@cygnus.com>
6579
6580         * config/tc-d10v.c (write_2_short): Addition of swapping
6581         instructions for sequential and reverse sequential order when
6582         given order is not possible.
6583
6584 Tue Jun  9 13:52:53 1998  Ian Lance Taylor  <ian@cygnus.com>
6585
6586         * Makefile.am: Rebuild dependencies.
6587         (DEP_INCLUDES): Fix reference to intl build directory.
6588         * Makefile.in: Rebuild.
6589
6590 Tue Jun  9 12:20:05 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
6591
6592         * doc/c-i386.texi: Update 16 bit documentation.
6593
6594         * config/tc-i386.h: Change Data16 to Size16, Data32 to Size32,
6595         IgnoreDataSize to IgnoreSize as they are used for address size as
6596         well as data size.
6597         * config/tc-i386.c: Likewise.  Add code to reject addr32/data32 in
6598         32-bit mode, similarly addr16/data16 and variants.
6599
6600 Mon Jun  8 18:32:01 1998  Nick Clifton  <nickc@cygnus.com>
6601
6602         * config/tc-d30v.c (md_assemble): Fix handling of reverse
6603         sequential word multiply instructions.
6604
6605         (do_assemble): Add extra command line argument, to allow mul32
6606         attribute to be preserved across parallel insns.
6607         (md_assemble): Insert NOPs between explicitly parallel insns which
6608         contain an 32 bit multiply and a 16 multiply.
6609
6610 Mon Jun  8 12:20:30 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
6611
6612         * config/tc-i386.c: REPNE renamed to REPNE_PREFIX_OPCODE, and
6613         likewise for REPE.
6614
6615         * config/tc-i386.c (reloc): Add braces.
6616
6617         * config/tc-i386.c (struct _i386_insn): Rename bi to sib to be
6618         consistent with Intel naming.
6619         * config/tc-i386.h (base_index_byte): Rename to sib_byte.  Don't
6620         use bitfields in sib_byte.
6621         (modrm_byte): Don't use bitfields here either.
6622
6623         * config/tc-i386.c (current_templates): Add const.
6624         (parse_register): Add const to return, param, and char *s.
6625         (i386_operand): Add const to reg_entry *r.
6626         * config/tc-i386.h (templates): Add const to start, end.
6627
6628         Inspired by code for 16 bit gas support from Martynas Kunigelis
6629         <martynas@nm3.ktu.lt>:
6630         * config/tc-i386.c (md_assemble): Add full support for 16 bit
6631         modrm, and Jump, JumpByte, JumpDword, JumpInterSegment insns.
6632         (uses_mem_addrmode): Remove.
6633         (md_estimate_size_before_relax): Add support here too.
6634         (md_relax_table): Rewrite interface to md_relax for 16 bit
6635         support.
6636         (BYTE, WORD, DWORD, UNKNOWN_SIZE): Remove.
6637         (opcode_suffix_to_type): Remove.
6638         (CODE16, SMALL, SMALL16, BIG, BIG16): Define.
6639         (SIZE_FROM_RELAX_STATE): Modify to suit above.
6640         (md_convert_frag): Likewise.
6641         (i386_operand): Add support for 16 bit base/index regs,
6642         immediates, and displacements.  Remove some unnecessary casts, and
6643         localise end_of_operand_string, displacement_string_start,
6644         displacement_string_end variables.  Add GCC_ASM_O_HACK.
6645         * config/tc-i386.h (NO_BASE_REGISTER_16): Define.
6646
6647         * config/tc-i386.c (prefix_hash): Remove.
6648         (md_begin): Rewrite without obstacks.  Remove prefix hash table
6649         handling.  Rewrite lexical table handling.
6650         (i386_print_statistics): Don't print prefix statistics.
6651         (md_assemble): Rewrite instruction parser so that line is not
6652         converted to lower case.  Don't do a hash_find for prefixes,
6653         instead recognise them via opcode modifier.
6654         (expecting_operand, paren_not_balanced): Localise variables.
6655         * config/tc-i386.h (IsPrefix): Define.
6656         (prefix_entry): Remove.
6657
6658         * config/tc-i386.h (PREFIX_SEPERATOR): Don't define.
6659         * config/tc-i386.c (PREFIX_SEPARATOR): Define here instead, using
6660         '\\' in case where comment_chars contains '/'.
6661
6662         * config/tc-i386.c (MATCH): Ensure given operand and template
6663         match for JumpAbsolute.  Makes e.g. `ljmp table(%ebx)' invalid;
6664         you must write `ljmp *table(%ebx)'.
6665
6666         From H.J. Lu <hjl@gnu.org>:
6667         * config/tc-i386.c (BFD_RELOC_16, BFD_RELOC_16_PCREL): Define
6668         as 0 ifndef BFD_ASSEMBLER.
6669         (md_assemble): Allow immediate operands without suffix or
6670         other reg operand to default in size to the current code size.
6671
6672 Mon Jun  8 09:45:00 1998  Catherine Moore  <clm@cygnus.com>
6673
6674         * config/tc-v850.c (md_begin):  Restore creation of
6675         .call_table_text and .call_table_data sections.
6676
6677 Sat Jun  6 00:02:41 1998  Nick Clifton  <nickc@cygnus.com>
6678
6679         * config/tc-d30v.c (md_assemble): Set execution type to unknown
6680         after emitting a word of noops.
6681
6682 Fri Jun  5 23:27:04 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
6683
6684         * config/tc-i386.c (mode_from_disp_size): Disp16 is mode 2.
6685         (i386_operand): Simplify checks for valid base/index combinations.
6686         Disallow `in 4(%dx),%al'.
6687
6688         * config/tc-i386.c (struct _i386_insn): Make regs, base_reg, and
6689         index_reg const.
6690         (add_prefix): Change parameter from char to int.
6691
6692         * config/tc-i386.h (Ugh): Define opcode modifier.
6693         * config/tc-i386.c (md_assemble): Print warnings for Ugh insns.
6694
6695         * config/tc-i386.c (md_assemble): Rewrite MATCH and
6696         CONSISTENT_REGISTER_MATCH macros to check register types more
6697         thoroughly.  Check for illegal suffix/operand combinations
6698         when matching insns with operands.  Handle new `s' suffix, and
6699         associated FloatMF opcode modifier for float insns with memory
6700         operands.
6701         * config/tc-i386.h (FloatMF): Define new opcode modifier.
6702         (No_sSuf, No_bSuf, No_wSuf, No_lSuf): Likewise.
6703         (SHORT_OPCODE_SUFFIX, LONG_OPCODE_SUFFIX): Define.
6704         * config/tc-i386.c: Rename WORD_PREFIX_OPCODE to
6705         DATA_PREFIX_OPCODE throughout.
6706
6707         * config/tc-i386.c (REGISTER_WARNINGS): Define.
6708         (md_assemble): Rewrite suffix/register operand checking code to be
6709         more thorough.  Remove Abs8,16,32.  Change occurrences of Mem to
6710         AnyMem, the better to grep.
6711         (pi): Remove Abs.
6712         (i386_operand): Don't set Mem bits in i.types[this_operand] when
6713         given a memory operand.  Don't set Abs bits either.
6714         (type_names): Remove Mem*, Abs*.
6715         * config/tc-i386.h (Mem8, Mem16, Mem32, Abs8, Abs16, Abs32): Don't
6716         define opcode_modifiers as these cases are handled by Disp8,
6717         Disp16, Disp32 and suffix checks.
6718         (COMES_IN_BOTH_DIRECTIONS): Remove.
6719         (FloatR): Define. It's OK to share the bit with ReverseRegRegmem.
6720
6721         * config/tc-i386.c (md_assemble): Don't emit operand size prefix
6722         if IgnoreDataSize modifier given.  Remove ShortformW modifier
6723         test.  Add test for ShortForm in W base_opcode modification.
6724         Merge Seg2ShortForm and Seg3ShortForm code.
6725         * config/tc-i386.h (ShortFormW): Remove.
6726         (IgnoreDataSize): Define.
6727
6728 Fri Jun  5 10:50:53 1998  Nick Clifton  <nickc@cygnus.com>
6729
6730         * config/tc-d30v.c (md_assemble): Store previous segment state
6731         with previous instruction.
6732
6733 Wed Jun  3 18:21:56 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
6734
6735         * config/tc-i386.c (SCALE1_WHEN_NO_INDEX): Define.
6736         (ebp, esp): Remove static variables.
6737         (MATCH): Remove test for InOutPortReg.
6738         (i386_operand): Properly handle InOutPortReg here instead.
6739         Disallows `inb (%dx,2)', `inb %es:(%dx)' and `mov (%dx),%ax'
6740         (md_assemble): Simplify and correct modrm and sib generation.
6741         (i386_operand): Add warning for scale without index.
6742         Rewrite checks for valid base/index combinations.
6743
6744         * config/tc-i386.c (END_STRING_AND_SAVE): Protect arguments of
6745         macros and enclose in do while(0).
6746         (RESTORE_END_STRING): Likewise.
6747         (md_assemble): Add one to printed operand number so we start
6748         from 1 not 0.  Add some more gettext invocations.
6749         (i386_operand): Fix `%%s' -> `%%%s'. Inc printed operand
6750         number here too.
6751
6752         * config/tc-i386.h (WAIT_PREFIX, LOCKREP_PREFIX, ADDR_PREFIX,
6753         DATA_PREFIX, SEG_PREFIX): Define.
6754         * config/tc-i386.c (struct _i386_insn): Remove wait_prefix field.
6755         (check_prefix): Remove function.
6756         (add_prefix): New function.  Add prefix to i.prefix as well as
6757         doing checks.
6758         (md_assemble): Changes for add_prefix.  Remove hack for wait
6759         prefix, instead always output prefixes in fixed order.  Test
6760         for jcxz/loop when selecting between word & dword operations,
6761         and add address size prefix rather than operand size prefix.
6762         Remove operand -> address size hack when emitting jcxz/loop.
6763         (i386_operand): Remove O_Absent check as it's done in expr.
6764
6765 Wed Jun  3 15:09:10 1998  Ian Lance Taylor  <ian@cygnus.com>
6766
6767         * configure.in: Recognize m5200 as a cpu_type of m68k.
6768         * aclocal.m4: Rebuild with current libtool.
6769         * configure: Rebuild.
6770
6771 Wed Jun  3 14:11:59 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6772
6773         * config/tc-m68k.c (md_estimate_size_before_relax): Add more calls
6774         to relaxable_symbol to prevent references to external symbol from
6775         being relaxed.
6776
6777 Wed Jun  3 14:10:36 1998  Ian Lance Taylor  <ian@cygnus.com>
6778
6779         * config/tc-m68k.c (relaxable_symbol): If TARGET_OS is "elf", all
6780         symbols are relaxable.
6781
6782 Wed Jun  3 09:16:00 1998  Catherine Moore  <clm@cygnus.com>
6783
6784         * config/tc-v850.c (md_begin):  Don't create special
6785         sections by default.
6786
6787 Tue Jun  2 14:52:56 1998  Jeffrey A Law  (law@cygnus.com)
6788
6789         * config/tc-mips.c (macro): For div and udiv, close the
6790         reorder block as soon as possible.
6791
6792 Tue Jun  2 15:36:13 1998  Ian Lance Taylor  <ian@cygnus.com>
6793
6794         From Matt Semersky <matts@scd.hp.com>:
6795         * macro.c (macro_mri_mode): New function.
6796         * macro.h (macro_mri_mode): Declare.
6797         * read.c (s_mri): Call macro_mri_mode when switching in and out of
6798         MRI mode.
6799
6800 Tue Jun  2 13:32:22 1998  Klaus Kaempf  <kkaempf@progis.de>
6801
6802         * config/tc-alpha.c (s_alpha_comm): Allow alignment parameter in
6803         OBJ_EVAX case.
6804
6805         * config/tc-alpha.c (s_alpha_comm): Defer restoring character
6806         until after xstrdup in OBJ_EVAX case.
6807
6808 Tue Jun  2 13:11:13 1998  Pat Rankin  <rankin@eql.caltech.edu>
6809
6810         * config/tc-vax.c (md_create_short_jump): Fix off by two bug in
6811         offset calculation.  Also, use VAX_BRW from vax-inst.h instead
6812         of hardcoded magic number.
6813         (md_create_long_jump): Use VAX_JMP and VAX_ABSOLUTE_MODE macros.
6814
6815 Tue Jun  2 09:25:34 1998  Doug Evans  <devans@canuck.cygnus.com>
6816
6817         * read.c (do_s_func): New function.
6818         (s_func): Call it.
6819         * read.h (do_s_func): Add prototype.
6820
6821 Mon Jun  1 12:47:30 1998  Doug Evans  <devans@canuck.cygnus.com>
6822
6823         * config/tc-m32r.c (m32r_do_align): Only fill code sections with
6824         nops if fill pattern not specified.
6825
6826 Mon Jun  1 14:08:35 1998  Ian Lance Taylor  <ian@cygnus.com>
6827
6828         From Andrew Crabtree <andrewc@typhoon.rose.hp.com>:
6829         * config/te-go32.h (TE_GO32): Define.
6830         * config/tc-i386.h (LOCAL_LABEL): Don't define if TE_GO32.
6831
6832 Sun May 31 15:43:06 1998  Doug Evans  <devans@canuck.cygnus.com>
6833
6834         Implement .func/.endfunc pseudo-ops.
6835         * read.h (stabs_generate_asm_func,stabs_generate_asm_endfunc): Declare.
6836         (s_func): Declare.
6837         * read.c (potable): Add .func,.endfunc.
6838         (s_func): New function.
6839         * stabs.c (stabs_generate_asm_func,stabs_generate_asm_endfunc): New
6840         functions.
6841         (in_doc_func_p,current_function_label): New static globals.
6842         (stabs_generate_asm_lineno): Emit function relative stabs if in .func.
6843
6844 Fri May 29 18:13:12 1998  Ian Lance Taylor  <ian@cygnus.com>
6845
6846         * config/tc-a29k.h (WORKING_DOT_WORD): Define.
6847         * config/tc-alpha.h (WORKING_DOT_WORD): Define.
6848         * config/tc-arm.h (WORKING_DOT_WORD): Define.
6849         * config/tc-h8300.h (WORKING_DOT_WORD): Define.
6850         * config/tc-h8500.h (WORKING_DOT_WORD): Define.
6851         * config/tc-hppa.h (WORKING_DOT_WORD): Define.
6852         * config/tc-i860.h (WORKING_DOT_WORD): Define.
6853         * config/tc-i960.h (WORKING_DOT_WORD): Define.
6854         * config/tc-tic30.h (WORKING_DOT_WORD): Define.
6855         * config/tc-w65.h (WORKING_DOT_WORD): Define.
6856         * config/tc-z8k.h (WORKING_DOT_WORD): Define.
6857         * config/tc-a29k.c: Don't define md_short_jump_size,
6858         md_long_jump_size, md_create_short_jump or md_create_long_jump.
6859         * config/tc-alpha.c: Likewise.
6860         * config/tc-alpha.h: Likewise.
6861         * config/tc-arm.c: Likewise.
6862         * config/tc-h8300.c: Likewise.
6863         * config/tc-h8500.c: Likewise.
6864         * config/tc-hppa.c: Likewise.
6865         * config/tc-i860.c: Likewise.
6866         * config/tc-i960.c: Likewise.
6867         * config/tc-ppc.c: Likewise.
6868         * config/tc-sh.c: Likewise.
6869         * config/tc-sparc.h: Likewise.
6870         * config/tc-tic30.c: Likewise.
6871         * config/tc-w65.c: Likewise.
6872         * config/tc-z8k.c: Likewise.
6873
6874 Fri May 29 16:03:26 1998  Pat Rankin  <rankin@eql.caltech.edu>
6875
6876         * config/tc-vax.c (_): Delete this macro used for placeholder
6877         values in vax_operand_width_size; it conflicts with the _() macro
6878         used for internationalization.
6879
6880 Fri May 29 13:46:07 1998  Ian Lance Taylor  <ian@cygnus.com>
6881
6882         * symbols.c (symbol_find_base): Fix case insensitive symbol name
6883         code.  From Chris Moller <moller@bops.com>.
6884
6885         Based on patch from Klaus Kaempf <kkaempf@progis.de>:
6886         * struc-symbol.h (struct broken_word): Add seg and subseg fields.
6887         * read.c (emit_expr): Initialize seg and subseg fields of a new
6888         broken word.
6889         * write.c (write_object_file): Switch to the appropriate segment
6890         and subsegment when processing a broken word.
6891
6892         * config/tc-m68k.c (mri_assemble): New static function.
6893         (build_mri_control_operand): Call mri_assemble rather than
6894         md_assemble.
6895         (s_mri_else, s_mri_break, s_mri_next, s_mri_for): Likewise.
6896         (s_mri_endf, s_mri_endw): Likewise.
6897
6898 Wed May 27 11:16:25 1998  Ian Lance Taylor  <ian@cygnus.com>
6899
6900         * read.c (s_org): Call md_flush_pending_output if it is defined.
6901
6902         * config/tc-sparc.c (md_show_usage): Add \n\ to new string.
6903
6904 Tue May 26 19:27:52 1998  Stan Cox  <scox@equinox.cygnus.com>
6905
6906         * config/tc-sparc.c (OPTION_LITTLE_ENDIAN_DATA): New.
6907         (md_parse_option): Add for same.
6908         (sparc_md_end): Set bfd_mach_sparc_sparclite_le.
6909         (md_apply_fix3, tc_gen_reloc): Allow BFD_RELOC_SPARC_32LE.
6910         (cons_fix_new_sparc): Added to create BFD_RELOC_SPARC_32LE.
6911
6912         * config/tc-sparc.h (cons_fix_new_sparc): Added.
6913
6914 Thu May 21 15:02:41 1998  Nick Clifton  <nickc@cygnus.com>
6915
6916         * config/tc-arm.c (find_real_start): Relax definition of local
6917         labels.
6918
6919 Tue May 19 16:59:44 1998  Nick Clifton  <nickc@cygnus.com>
6920
6921         * config/tc-d30v.c (d30v_align): Apply address adjustment to all
6922         symbols at the given address, not just the last one specified.
6923
6924 Tue May 19 08:25:19 1998  Catherine Moore <clm@cygnus.com>
6925
6926         * config/tc-sparc.c (sparc_handle_align): Use number_to_chars_bigendian
6927         or number_to_chars_littleendian to write data.
6928
6929 Mon May 18 17:09:30 1998  Nick Clifton  <nickc@cygnus.com>
6930
6931         * config/tc-v850.c (md_assemble): Remove artificially created
6932         register name symbols.
6933
6934 Mon May 18 13:47:06 1998  Doug Evans  <devans@canuck.cygnus.com>
6935
6936         * write.c (fixup_segment): Change "segment" to "section" in
6937         error message.
6938
6939 Mon May 18 16:55:40 1998  Michael Meissner  <meissner@cygnus.com>
6940
6941         * write.c (fixup_segment): Change sym1-sym2 message again.
6942
6943 Mon May 18 09:31:43 1998  Michael Meissner  <meissner@cygnus.com>
6944
6945         * write.c (fixup_segment): Improve error message for sym1-sym2
6946         errors when sym1 is in a different segment from sym2.
6947
6948 Wed May 13 10:16:37 1998  Doug Evans  <devans@canuck.cygnus.com>
6949
6950         * config/tc-m32r.c (warn_unmatched_high): New static local.
6951         (OPTION_WARN_PARALLEL): Rename from OPTION_WARN.
6952         (OPTION_NO_WARN_PARALLEL): Rename from OPTION_NO_WARN.
6953         (md_longopts): Recognize --{no-,}warn-unmatched-high.
6954         (md_parse_option): Likewise.
6955         (md_show_usage): Likewise.
6956         (m32r_frob_file): Likewise.
6957
6958         * read.c (generate_file_debug,generate_lineno_debug): New functions.
6959         (read_a_source_file): Call them.
6960         * read.h (stabs_generate_asm_file): Declare.
6961         * stabs.c (stabs_generate_asm_file): New function.
6962         (generate_asm_file): New function.
6963         (stabs_generate_asm_lineno): Move file name handling into
6964         generate_asm_file.
6965
6966 Tue May 12 12:03:44 1998  Richard Henderson  <rth@cygnus.com>
6967
6968         * config/tc-d30v.c (cur_mul32_p, prev_mul32_p): Make static.
6969         (d30v_current_align, d30v_current_align_seg): New variables.
6970         (d30v_last_label): New variable.
6971         (d30v_align, s_d30v_align, s_d30v_text): New functions.
6972         (s_d30v_data, s_d30v_section): Likewise.
6973         (md_pseudo_table): Call them.
6974         (md_begin): Initialize d30v_current_align_seg.
6975         (md_assemble): Call d30v_align when needed by known current alignment.
6976         (d30v_frob_label, d30v_cons_align): New functions.
6977         * config/tc-d30v.h (md_do_align): Remove.
6978         (tc_frob_label): Call d30v_frob_label.
6979         (md_cons_align): New.
6980
6981         * config/tc-d30v.c (find_format): Convert complex expressions to
6982         expression symbols before processing.  Clean up code formatting.
6983
6984 Sun May 10 22:35:02 1998  Jeffrey A Law  (law@cygnus.com)
6985
6986         * po/Make-in (install-info): New target.
6987
6988 Thu May  7 15:49:07 1998  Jeffrey A Law  (law@cygnus.com)
6989
6990         * config/tc-mn10200.c (md_assemble): Handle "bra" just like "jmp"
6991         instructions.
6992         * config/tc-mn10300.c (md_assemble): Likewise.
6993
6994 Thu May  7 11:47:22 1998  Doug Evans  <devans@canuck.cygnus.com>
6995
6996         * Makefile.am: Update with `make dep-am'.
6997         (HFILES): Add cgen.h.
6998         (cgen.o): Depend on cgen.h.
6999         * Makefile.in: Regenerate.
7000
7001         * cgen.c (cgen_md_apply_fix3): Don't pass newline to as_warn_where.
7002
7003 Thu May  7 13:20:56 1998  Anders Blomdell  <anders.blomdell@control.lth.se>
7004
7005         * gasp.c (grab_label): Permit a label to be a preprocessor
7006         variable by permitting a label to start with a backslash.
7007
7008 Thu May  7 12:50:33 1998  Frank Ch. Eigler  <fche@cygnus.com>
7009
7010         * config/tc-mips.c (validate_mips_insn): Removed hack
7011         for previously inaccessible bitfields in some INSN_TRAP
7012         instructions.
7013
7014 Thu May  7 11:13:00 1998  Frank Ch. Eigler  <fche@cygnus.com>
7015
7016         * config/tc-d30v.c (do_assemble): Abort with error message
7017         if opcode operands do not match.
7018
7019 Thu May  7 09:36:06 1998  Frank Ch. Eigler  <fche@cygnus.com>
7020
7021         * config/tc-mips.c (macro_build, validate_mips_insn): Implement
7022         'q' operand format for 20-bit "break"/"sdbbp" instructions.
7023         (mips_ip): Truncate overflowed "break" 'c' operand.  Implement
7024         similar new 'q' operand.
7025
7026 Thu May  7 07:47:14 1998  Michael Meissner  <meissner@cygnus.com>
7027
7028         * cgen.c (cgen_asm_finish_insn): Fix typo.
7029
7030 Thu May  7 02:19:14 1998  Doug Evans  <devans@charmed.cygnus.com>
7031
7032         * cgen.h: New file.
7033         * cgen.c: Include it.
7034         (MAX_FIXUPS): Renamed to CGEN_MAX_FIXUPS.
7035         (cgen_asm_finish_insn): Result is now void.  New arg `result'.
7036         All callers updated.
7037         * config/tc-m32r.c: Include cgen.h.
7038         (m23r_insn): New members num_fixups,fixups.
7039
7040 Wed May  6 16:29:19 1998  Jeffrey A Law  (law@cygnus.com)
7041
7042         * config/tc-hppa.c (md_apply_fix): Slightly rework some code
7043         to avoid compiler warning.
7044
7045 Wed May  6 15:26:34 1998  Klaus Kaempf  <kkaempf@progis.de>
7046
7047         * makefile.vms: Run dec c with /nodebug.  Pass CC value when
7048         calling make.
7049
7050         * makefile.vms (OBJS): Add ehopt.obj
7051
7052 Wed May  6 15:11:12 1998  Klaus Kaempf  <kkaempf@progis.de>
7053
7054         * doc/c-vax.texi: Correct and extend vax/vms documentation.
7055
7056 Wed May  6 11:51:51 1998  Richard Henderson  <rth@cygnus.com>
7057
7058         * config/tc-d30v.c (do_assemble): Accept a new parameter requesting
7059         a short format insn.
7060         (md_assemble): Set it for explicitly packed insns.
7061
7062 Tue May  5 13:23:13 1998  Nick Clifton  <nickc@cygnus.com>
7063
7064         * config/obj-coff.c (c_symbol_merge): Do not take address of
7065         native fields when performing the memcpy.
7066
7067 Tue May  5 13:10:41 1998  Gavin Koch  <gavin@cygnus.com>
7068
7069         * config/tc-mips.c (macro,macro2): Implement
7070         M_DMULO_I, M_MULO_I, M_DMULOU_I, and M_MULOU_I.
7071
7072 Mon May  4 17:49:14 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7073
7074         * config/tc-m68k.h (TC_RELOC_RTSYM_LOC_FIXUP): Changed to keep
7075         relocations against globally visible symbols.
7076         * config/tc-m68k.c (relaxable_symbol): New macro.
7077         (m68k_ip, md_estimate_size_before_relax): Use it.
7078         (tc_m68k_fix_adjustable): Also handle weak symbols.
7079
7080 Mon May  4 16:12:23 1998  Ian Lance Taylor  <ian@cygnus.com>
7081
7082         * config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Keep relocs for all
7083         references to externally visible symbols.
7084         * config/tc-i386.c (md_apply_fix3): When OBJ_ELF, don't add the
7085         values in twice for a PC relative reloc if the symbol is
7086         externally defined.
7087
7088         * config/tc-sparc.h (tc_fix_adjustable) [OBJ_AOUT]: When PIC,
7089         don't adjust a PC relative reloc against an externally visible
7090         symbol.
7091         * config/tc-sparc.c (md_apply_fix3): When generating a.out PIC,
7092         for a PC relative fixup against an externally visible defined
7093         symbol, arrange to store object file and addend values as though
7094         the symbol were not defined.
7095         (tc_gen_reloc): Likewise.
7096
7097 Thu Apr 30 13:09:39 1998  Fred Fish  <fnf@ninemoons.com>
7098
7099         * read.c (sizeof_leb128): Referenced externally by write.c so
7100         don't inline.
7101
7102 Wed Apr 29 15:45:57 1998  Michael Meissner  <meissner@cygnus.com>
7103
7104         * config/tc-m32r.c ({,expand_}debug_sym): New functions to record
7105         and expand a 'debug' symbol associated with the next instruction
7106         that does not cause a short instruction to be filled with a NOP.
7107         (md_pseudo_table): Add support for .debugsym.
7108         (assemble_parallel_insn): Add calls to expand_debug_sym as
7109         appropriate.
7110         (md_assemble): Ditto.
7111
7112 Tue Apr 28 19:16:26 1998  Tom Tromey  <tromey@cygnus.com>
7113
7114         * as.c (main): Conditionally call setlocale.
7115         * gasp.c (main): Likewise.
7116         * asintl.h: Include <locale.h> if HAVE_LOCALE_H.
7117         (LC_MESSAGES): Now can be defined even when ENABLE_NLS.
7118
7119 Tue Apr 28 18:33:23 1998  Frank Ch. Eigler  <fche@cygnus.com>
7120
7121         * config/tc-d30v.c (md_show_usage): Correct gettext typo.
7122
7123 Tue Apr 28 12:16:30 1998  Ian Lance Taylor  <ian@cygnus.com>
7124
7125         * config/tc-hppa.c: Change all calls to bzero to use memset.
7126         (pa_ip): Add cast to avoid warning.
7127         (tc_gen_reloc, md_apply_fix): Likewise.
7128         (pa_find_space_by_number): Likewise.
7129         (hppa_force_relocation): Likewise.
7130         (pa_block): Change i to unsigned int.
7131         * config/obj-som.h (obj_som_copyright): Declare.
7132
7133 Tue Apr 28 11:35:56 1998  Frank Ch. Eigler  <fche@cygnus.com>
7134
7135         * ecoff.c (ecoff_build_lineno): Do not use dummy first_lineno
7136         for line numbers for assembly source.
7137
7138 Mon Apr 27 15:58:46 1998  Ian Lance Taylor  <ian@cygnus.com>
7139
7140         * configure.in: Change version number to 2.9.4
7141         * configure: Rebuild.
7142
7143 Mon Apr 27 12:07:33 1998  Doug Evans  <devans@seba.cygnus.com>
7144
7145         * cgen.c (cgen_asm_finish_insn): New arg relax_p.  All callers updated.
7146
7147 Mon Apr 27 15:16:12 1998  Ian Lance Taylor  <ian@cygnus.com>
7148
7149         * ecoff.h: Change symbolS in function declaration to struct
7150         symbol.
7151
7152 Sun Apr 26 13:44:22 1998  Ian Lance Taylor  <ian@cygnus.com>
7153
7154         * config/tc-sh.c (parse_reg): Add casts to avoid warnings.
7155         (md_convert_frag): Fix i18n typo.
7156
7157 Sat Apr 25 20:12:02 1998  Richard Henderson  <rth@cygnus.com>
7158
7159         * ecoff.c (ecoff_get_cur_proc_sym): New function.
7160         * ecoff.h: Protoype it.
7161         * config/tc-alpha.c [ELF] (s_alpha_prologue): New function.
7162         [EVAX] (s_alpha_prologue): Delete.
7163         (md_pseudo_table): Update.
7164
7165 Sat Apr 25 14:00:52 1998  Ian Lance Taylor  <ian@cygnus.com>
7166
7167         * config/tc-i960.c (md_assemble): Change bp_error_msg from static
7168         array to local pointer.
7169         (get_args, parse_expr): Add casts to avoid warnings.
7170
7171 Fri Apr 24 12:47:42 1998  Philippe De Muyter  <phdm@macqel.be>
7172
7173         * read.c (s_set): Cast xmalloc return value to fragS *.
7174         * config/tc-m68k.c (m68k_ip): Function made static to match
7175         previous forward declaration.
7176         (insert_reg, init_regtable, md_convert_frag_1): Likewise.
7177
7178 Fri Apr 24 09:26:46 1998  Nick Clifton  <nickc@cygnus.com>
7179
7180         * config/tc-v850.c: Add internationalisation macros to error
7181         strings.
7182
7183         * config/tc-m32r.c (can_make_parallel): Add internationalisation
7184         macros to error strings.
7185
7186 Thu Apr 23 19:23:23 1998  Ian Lance Taylor  <ian@cygnus.com>
7187
7188         * config/tc-ppc.c (ppc_fix_adjustable): Correct test of whether a
7189         reloc is in the TOC csect.
7190         (md_apply_fix3): Correct gettext typo.
7191
7192 Thu Apr 23 14:58:31 1998  Nick Clifton  <nickc@cygnus.com>
7193
7194         * config/tc-arm.c (find_real_start): Ignore symbols starting with
7195         .L - they are local labels and the branches are not really
7196         function calls but rather far jumps.
7197
7198 Wed Apr 22 15:57:21 1998  Tom Tromey  <tromey@cygnus.com>
7199
7200         * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
7201
7202 Wed Apr 22 14:52:36 1998  Ian Lance Taylor  <ian@cygnus.com>
7203
7204         * config/tc-i386.c (md_assemble): Print operand number rather than
7205         using ordinal_names.
7206         (i386_operand): Likewise.
7207
7208 Tue Apr 21 22:34:25 1998  Tom Tromey  <tromey@scribbles.cygnus.com>
7209
7210         * Makefile.am (INTLLIBS): Define to work around apparent automake
7211         bug.
7212         All Makefiles: Regenerated.
7213
7214         * Many files: Added gettext invocations around user-visible
7215         strings.
7216         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
7217         HAVE_LC_MESSAGES): Define.
7218         * dep-in.sed: Added asintl.h.
7219         * po/Make-in: New file.
7220         * gasp.c (main): Call setlocale, bindtextdomain, and textdomain.
7221         Include "asintl.h".
7222         * read.c (Z_): Renamed from `_'.
7223         * Makefile.am (SUBDIRS): Added po.
7224         (POTFILES): new macro.
7225         (po/POTFILES.in): New target.
7226         ($(OBJS)): Added asintl.h.
7227         (HFILES): Likewise.
7228         (INCLUDES): Added -DLOCALEDIR, -I$(top_srcdir)/../intl.
7229         (as_new_LDADD): Added $(INTLLIBS).
7230         (as_new_DEPENDENCIES): Added $(INTLDEPS).
7231         (gasp_new_LDADD): Added $(INTLLIBS).
7232         (gasp_new_DEPENDENCIES): New macro.
7233         * configure, aclocal.m4: Rebuilt.
7234         * configure.in: Call CY_GNU_GETTEXT.  Generate po/Makefile.in and
7235         po/Makefile.
7236         (ALL_LINGUAS): Define.
7237         * macro.c: Include "asintl.h".
7238         * as.c (main): Call setlocale, bindtextdomain, and textdomain.
7239         * as.h: Include "asintl.h".
7240         * config/tc-i386.c (ordinal_names): Removed.
7241         (md_assemble): Changed error text to avoid ordinal_names.
7242         (i386_operand): Likewise.
7243         (reloc): Added as_bad to avoid i18n problems.
7244         (tc_gen_reloc): Likewise.
7245         * config/tc-arm.c (bad_args): Now a #define.
7246         (bad_pc): Likewise.
7247         * config/obj-vms.c (VMS_stab_parse): Changed type of
7248         `long_const_msg'.
7249         (global_symbol_directory): Unified strings to avoid i18n
7250         problems.
7251         * config/tc-m68k.c (get_reloc_code): Added some as_bad calls to
7252         avoid i18n problems.
7253         * config/tc-ns32k.c (reloc): Added as_bad to avoid i18n problems.
7254         * config/tc-ppc.c (md_apply_fix3): Added as_bad_where to avoid
7255         i18n problems.
7256         * config/tc-sh.c (md_convert_frag): Added as_bad to avoid i18n
7257         problems.
7258         * config/tc-v850.c (md_assemble): Changed C++ comment into C
7259         comment.
7260         * config/tc-vax.c (md_assemble): Added as_warn to avoid i18n
7261         problems.
7262         * as.c (print_version_id): Added an fprintf to avoid i18n
7263         problems.
7264         * cond.c (cond_finish_check): Added as_bad call to avoid i18n
7265         problems.
7266         * expr.c (expr): Added as_warn call to avoid i18n problems.
7267         * messages.c (as_assert): Changed code to avoid i18n problems.
7268         (as_abort): Likewise.
7269         * read.c (pseudo_set): Added as_bad call to avoid i18n problems.
7270         (s_space): Likewise.
7271         * po/Make-in, po/POTFILES.in, po/gas.pot: New files.
7272
7273 Tue Apr 21 17:01:22 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
7274
7275         * config/tc-i386.c (check_prefix): New static function, split out
7276         from md_assemble.
7277         (struct _i386_insn): Add wait_prefix field.
7278         (md_assemble): Remove wait_prefix local variable.  Use
7279         check_prefix when adding a prefix.
7280
7281         * config/tc-i386.c (current_templates): New static variable.
7282         (md_assemble): Remove current_templates local variable.
7283         (md_assemble, i386_operand): Improve error and warning messages in
7284         many places.  Add RESTORE_END_STRING in many places before error
7285         return.  Clarify some comments.
7286
7287         * config/tc-i386.c (struct _i386_insn): Change seg field to a two
7288         element array.
7289         (md_assemble): Parse string instruction operands, looking for
7290         segment override prefixes.  Check for invalid segment prefixes on
7291         string instruction.
7292         (i386_operand): i.seg[] and max mem_operand changes for string
7293         insns.
7294         * config/tc-i386.h (EsSeg): Define.
7295
7296         * config/tc-i386.h (regKludge): Define.
7297         (iclrKludge, imulKludge): Don't define.
7298         * config/tc-i386.c (md_assemble): Merge imulKludge and iclrKludge
7299         code.  Move ReverseRegRegmem fudges into Modrm case.  Reorder
7300         opcode_modifier checks to look for more common cases first.  Add
7301         default_seg for IsString case.
7302
7303 Tue Apr 21 16:18:12 1998  Ian Lance Taylor  <ian@cygnus.com>
7304
7305         * configure.in: Call AM_PROG_LEX rather than AC_PROG_LEX and
7306         AC_DECL_YYTEXT.
7307         * configure: Rebuild with new automake and libtool.
7308         * aclocal.m4, Makefile.in: Likewise.
7309
7310         * doc/Makefile.am (as.dvi): New target.
7311         * doc/Makefile.in: Rebuild.
7312
7313 Sat Apr 18 01:21:04 1998  Stan Cox  <scox@cygnus.com>
7314
7315         * configure.in: Added sparc86x support.
7316
7317         * configure: Rebuild.
7318
7319         * config/tc-sparc.c (lookup_arch): Added arch_type to struct
7320         sparc_arch.
7321         (md_parse_option): Warn if -EL is not supported for this architecture.
7322
7323         * config/tc-sparc.h (SPARC_BIENDIAN) Always define.
7324
7325 Sat Apr 18 01:19:01 1998  Jeffrey A Law  (law@cygnus.com)
7326
7327         * config/tc-mips.c (mips_ip): Note when we use get match on
7328         the full instruction name.
7329
7330 Wed Apr 15 15:17:27 1998  Richard Henderson  <rth@cygnus.com>
7331
7332         * symbols.c (resolve_symbol_value) [O_symbol]: Also store the symbol
7333         back into the expression to handle add/sub simplification correctly.
7334
7335 Wed Apr 15 07:06:04 1998  Catherine Moore  <clm@cygnus.com>
7336
7337         * config/tc-mips.c (hilo_interlocks): Remove 4300.
7338
7339 Mon Apr 13 16:51:04 1998  Nick Clifton  <nickc@cygnus.com>
7340
7341         * config/tc-arm.c (do_msr): Support undocumented 'msr cpsr_flg,
7342         #<n>' instruction.
7343
7344 Thu Apr  9 10:29:42 1998  Doug Evans  <devans@canuck.cygnus.com>
7345
7346         * symbols.c (max_indent_level): New global.
7347         (print_symbol_value_1): Use it.
7348         * expr.h (expr_build_dot): Declare.
7349         * expr.c (expr_build_dot): New function.
7350
7351 Wed Apr  8 16:16:11 1998  Doug Evans  <devans@canuck.cygnus.com>
7352
7353         * symbols.c (print_binary): New function.
7354         (print_expr_1): Call it.
7355
7356 Mon Apr  6 12:06:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7357
7358         * config/tc-m68k.c (m68k_ip, case "#B"): Install the offset of the
7359         operand in the opcode.
7360
7361 Fri Apr  3 11:58:19 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
7362
7363         * config/tc-i386.h: Reorder operand flags and opcode modifier
7364         flags for clarity.  Remove unused definitions: Unknown,
7365         ImmUnknown, DispUnknown, NoModrm.
7366         * config/tc-i386.c (type_names): Add missing Debug type.
7367         (md_assemble): Better duplicate prefix checking.  Quicker string
7368         instruction check via new opcode_modifier flag.
7369
7370 Fri Apr  3 11:44:34 1998  Ian Lance Taylor  <ian@cygnus.com>
7371
7372         * doc/as.texinfo (Invoking): Clarify -Wa example.
7373
7374 Fri Apr  3 09:12:23 1998  Gavin Koch  <gavin@cetus.cygnus.com>
7375
7376         * config/tc-mips.c (mips_pseudo_table): Add weakext entry.
7377         (s_mips_weakext): Define.
7378         * ecoff.c (ecoff_directive_weakext): Don't define if defined(TC_MIPS).
7379         * config/obj-ecoff.c (obj_pseudo_table): Don't add weakext if
7380         defined(TC_MIPS).
7381
7382 Thu Apr  2 22:42:02 1998  Jeffrey A Law  (law@cygnus.com)
7383
7384         * config/tc-mn10200.c (tc_gen_reloc): The difference of two symbols
7385         is an error if the value can not be computed at assembly time.
7386         * config/tc-mn10300.c (tc_gen-reloc): Likewise.
7387
7388 Thu Apr  2 16:36:47 1998  Ian Lance Taylor  <ian@cygnus.com>
7389
7390         * gasp.c (main): Set next field of new include_path structure to
7391         NULL.  From Avery Pennarun <averyp@gdc.ca>.
7392
7393         * read.c (s_mri_sect): Call as_bad rather than abort for an
7394         unsupported MRI target.
7395
7396 Wed Apr  1 11:08:27 1998  Nick Clifton  <nickc@cygnus.com>
7397
7398         * config/tc-arm.c (arm_validate_fix): New function.  Determine if
7399         the destination of a branch instruction should be altered.
7400         (find_real_start): New function:  Locate the real, Thumb coded
7401         start of a Thumb function.
7402         (do_t_branch23): Alter the destination of branches to Thumb
7403         functions.
7404
7405         * config/tc-arm.h: Define TC_VALIDATE_FIX.
7406
7407 Tue Mar 31 13:27:33 1998  Dean M. Deaver  <deaver@amt.tay1.dec.com>
7408
7409         * config/tc-arm.c (decode_shift): Handle addressing mode 2 w/rrx
7410         also.
7411
7412 Wed Apr  1 13:13:20 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7413
7414         * doc/as.texinfo: Use @itemx for a secondary item in a table.
7415         * doc/c-hppa.texi: Likewise.
7416
7417 Tue Mar 31 17:52:40 1998  Ian Lance Taylor  <ian@cygnus.com>
7418
7419         * Makefile.am: Rebuild dependencies.
7420         * Makefile.in: Rebuild.
7421
7422         * Makefile.am (DEP_INCLUDES): New variable.
7423         (.dep1): Change to work when srcdir is not an absolute path.
7424         (.tcdep, .objdep, .dep2, dep.sed): Likewise.
7425         * Makefile.in: Rebuild.
7426
7427 Mon Mar 30 12:46:48 1998  Ian Lance Taylor  <ian@cygnus.com>
7428
7429         * config/tc-i386.h, config/tc-i386.c: Revert March 24
7430         LinearAddress patch.
7431
7432         * configure.in: Set version to 2.9.1.
7433         * configure: Rebuild.
7434
7435         * Branched binutils 2.9.
7436
7437 Mon Mar 30 11:22:08 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
7438
7439         * config/tc-i386.h (FWait): Define.
7440         * config/tc-i386.c (md_assemble): Emit fwait prefix before any
7441         other prefixes.  Check FWait flag in opcode table to see which
7442         instructions require an fwait prefix.
7443
7444 Mon Mar 30 10:12:00 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7445
7446         * stabs.c (get_stab_string_offset): Always create a stab string
7447         section.
7448
7449 Sat Mar 28 22:28:02 1998  Ian Lance Taylor  <ian@cygnus.com>
7450
7451         Fix some gcc -Wall warnings:
7452         * atof-generic.c (atof_generic): Add casts to avoid warnings.
7453         * ehopt.c (eh_frame_code_alignment): Likewise.
7454         * expr.c (integer_constant, operand): Likewise.
7455         * frags.c (frag_align): Likewise.
7456         * gasp.c (level_0, change_base, doinstr): Likewise.
7457         * hash.c (hash_ask): Likewise.
7458         * listing.c (listing_page, calc_hex, print_lines): Likewise.
7459         (debugging_pseudo): Likewise.
7460         * macro.c (define_macro, check_macro): Likewise.
7461         * read.c (read_a_source_file, s_align, s_float_space): Likewise.
7462         (ignore_rest_of_line, float_cons): Likewise.
7463         * symbols.c (decode_local_label_name): Likewise.
7464         * write.c (record_alignment, cvs_frag_to_fill): Likewise.
7465         (fixup_segment, number_to_chars_bigendian): Likewise.
7466         (number_to_chars_littleendian): Likewise.
7467         * config/atof-ieee.c (gen_to_words): Likewise.
7468         * config/tc-sparc.c (md_begin, md_assemble): Likewise.
7469         (sparc_ip, parse_keyword_arg, s_common): Likewise.
7470         * read.c (output_big_sleb128): Initialize locals to avoid
7471         warnings.
7472         (output_big_uleb128, equals): Likewise.
7473         * atof-generic.c (atof_generic): Change number_of_digits_* locals
7474         to unsigned int.  Change zeros to unsigned int.
7475         * cond.c (s_if): Add return to default case.
7476         * frags.c (frag_now_fix): Change return type to addressT.
7477         * frags.h (frag_now_fix): Update declaration.
7478         * listing.c (file_info_struct): Change linenum to unsigned int.
7479         (struct list_info_struct): Change hll_line to unsigned int.
7480         (print_source): Update format string.
7481         * read.c (emit_expr): Change scan to unsigned int, and don't
7482         bother to initialize it.
7483         * symbols.c (dollar_label_count): Change to unsigned long.
7484         * write.c (adjust_reloc_syms): Remove unused label reduce_fixup.
7485         * config/tc-sparc.c (sparc_memory_model): Only define if OBJ_ELF.
7486         * config/tc-sparc.c (tc_gen_reloc): Add return to default case.
7487
7488 Fri Mar 27 12:46:47 1998  Ian Lance Taylor  <ian@cygnus.com>
7489
7490         * config/tc-m68k.c (m68k_ip): Check legal addressing modes for
7491         mcf5200 just as we do for m68000.
7492         (m68k_init_after_args): Likewise.
7493         (md_estimate_size_before_relax): Likewise.
7494
7495 Fri Mar 27 10:30:01 1998  Catherine Moore  <clm@cygnus.com>
7496
7497         * config/tc-v850.c (md_assemble):  Store relocation addend in
7498         fixup instead of instruction.
7499
7500 Thu Mar 26 23:07:18 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
7501
7502         * config/tc-i386.c (md_assemble): Swap template arguments to
7503         CONSISTENT_REGISTER_MATCH macro in reverse direction test.
7504         This macro is currently symmetric, so passing them the wrong
7505         way didn't cause any problem, but may if the macro is changed
7506         in the future.
7507         After copying template to i.tm, use i.tm. rather than t-> to
7508         access fields, and make t a const*
7509         Move i.tm.operand_types[] swap to immediately after the copy.
7510
7511 Wed Mar 25 13:44:18 1998  Doug Evans  <devans@canuck.cygnus.com>
7512
7513         * expr.h (expr_build_uconstant): Add prototype.
7514         (expr_build_unary,expr_build_binary): Add prototypes.
7515         * expr.c (expr_build_uconstant): New function.
7516         (expr_build_unary,expr_build_binary): New functions.
7517
7518 Wed Mar 25 13:10:42 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
7519
7520         * gasp.c (IS*): Cast argument to unsigned char, not unsigned int.
7521         * macro.c (macro_expand_body): Increase buffer size.
7522         * messages.c (as_warn): Likewise.
7523         (as_warn_where, as_bad, as_bad_where): Likewise.
7524
7525 Wed Mar 25 12:59:07 1998  Ian Lance Taylor  <ian@cygnus.com>
7526
7527         Based on patch from H.J. Lu  <hjl@gnu.org>:
7528         * Makefile.am (DISTSTUFF): New variable.
7529         (diststuff): New target.
7530         * Makefile.in: Rebuild.
7531
7532 Tue Mar 24 16:51:29 1998  Nick Clifton  <nickc@cygnus.com>
7533
7534         * config/tc-m32r.h (md_cleanup, md_elf_section_change_hook): Call
7535         m32r_elf_section_change_hook.
7536
7537         * config/tc-m32r.c (m32r_elf_section_change_hook): New function to
7538         emit a nop if a section ends with a 16 bit instruction.
7539
7540 Tue Mar 24 19:48:09 1998  Ian Lance Taylor  <ian@cygnus.com>
7541
7542         * config/obj-coff.c (obj_coff_bss): Compile unconditionally.  Call
7543         s_lcomm rather than obj_coff_lcomm.
7544         (obj_pseudo_table): Compile .bss pseudo-op unconditionally.
7545
7546 Tue Mar 24 18:30:58 1998  H.J. Lu  <hjl@gnu.org>
7547
7548         * config/tc-i386.h (LinearAddress): Define.
7549         * config/tc-i386.c (md_assemble): If LinearAddress is set for the
7550         instruction, don't use a default segment.
7551
7552 Mon Mar 23 18:53:40 1998  Joel Sherrill  <joel@OARcorp.com>
7553
7554         * configure.in: (sh*-*-rtems*): Switched from ELF to COFF.
7555         * configure: Rebuild.
7556
7557 Fri Mar 20 19:15:44 1998  Ian Lance Taylor  <ian@cygnus.com>
7558
7559         * aclocal.m4, configure: Rebuild with libtool 1.2.
7560
7561 Thu Mar 19 16:03:12 1998  Nick Clifton  <nickc@cygnus.com>
7562
7563         * config/tc-arm.c (md_apply_fix3): fix code to test the range of
7564         PC relative branches.  Patch courtesy of Jonathan Walton.
7565
7566
7567 Wed Mar 18 09:29:51 1998  Nick Clifton  <nickc@cygnus.com>
7568
7569         * configure.in (emulations): Add thumb-pe target.
7570
7571         * configure (emulations): Add thumb-pe target.
7572
7573 1998-03-17  Ken Raeburn  <raeburn@cygnus.com>
7574
7575         * itbl-lex.l (yywrap): Don't define if already defined as a
7576         macro.
7577
7578 Fri Mar 13 16:31:38 1998  Tom Tromey  <tromey@cygnus.com>
7579
7580         * depend.c (quote_string_for_make): New function.
7581         (wrap_output): Use it.
7582
7583 Thu Mar 12 18:28:22 1998  Nick Clifton  <nickc@cygnus.com>
7584
7585         * config/obj-elf.c (obj_elf_section): Set bss flag in seg_info
7586         structure if type is SHT_NOBITS.  [Bug fix courtesy of rth]
7587
7588 Sat Feb 28 17:28:55 1998  Richard Henderson  <rth@cygnus.com>
7589
7590         * config/tc-alpha.c (md_shortopts, md_longopts, md_parse_option):
7591         Recognize -GN and -relax.
7592         (md_begin): Initialize gp size from -G switch.
7593         (alpha_force_relocation): Always force if -relax.
7594         (alpha_align): Take a new argument that will specify when to
7595         emit an R_ALPHA_ALIGN relocation (though we don't do that now).
7596         Change all callers.  Emit nop alignment padding as nop+unop pair.
7597
7598 Sat Feb 28 17:06:22 1998  Richard Henderson  <rth@cygnus.com>
7599
7600         * config/obj-elf.c [TC_ALPHA]: Include <elf/alpha.h>.
7601         * config/tc-alpha.h (ELF_TC_SPECIAL_SECTIONS): New.
7602
7603 Thu Feb 26 15:49:04 1998  Michael Meissner  <meissner@cygnus.com>
7604
7605         * config/tc-d30v.c (write_2_short): Delayed jsr instructions don't
7606         require padding to the next long word boundary.
7607
7608 Mon Feb 23 11:29:06 1998  Doug Evans  <devans@seba.cygnus.com>
7609
7610         * cgen.c: #include symcat.h.
7611         * config/tc-m32r.c: Likewise.
7612
7613 Mon Feb 23 10:27:40 1998  Jeffrey A Law  (law@cygnus.com)
7614
7615         * config/tc-mips.c (mips_ip, case 'P'): Make 'P' arguments be
7616         absolute expressions instead of '$' prefixed register names.
7617
7618 Sat Feb 21 22:36:52 1998  Richard Henderson  <rth@cygnus.com>
7619
7620         * read.c (s_set): Record file and line info for symbols when -as.
7621         (pseudo_set): Don't overwrite that dummy fragment.
7622
7623 Fri Feb 20 15:03:13 1998  Ian Lance Taylor  <ian@cygnus.com>
7624
7625         * config/tc-ppc.c (md_pseudo_table): Add "section".
7626         (ppc_named_section): New static function.
7627
7628 Thu Feb 19 22:25:42 1998  Richard Henderson  <rth@cygnus.com>
7629
7630         * tc-ppc.c (ppc_biei): Cache the last symbol we inserted
7631         so we don't have to scan the entire list.
7632
7633 Tue Feb 17 17:02:15 1998  Fred Fish  <fnf@cygnus.com>
7634
7635         * config/tc-d30v.c (parallel_ok): For the explicitly parallel
7636         case, allow the parallel instructions to modify the same flag
7637         bits.
7638
7639 Thu Feb 19 16:08:15 1998  Richard Henderson  <rth@cygnus.com>
7640
7641         * listing.c (list_symbol_table): Categorize symbols by
7642         undefined_section rather than sy_frag->line == NULL.
7643
7644 Wed Feb 18 23:39:46 1998  Richard Henderson  <rth@cygnus.com>
7645
7646         * Makefile.am (install-exec-local): Install properly when ln
7647         fails or tooldir == prefix.
7648
7649 Tue Feb 17 18:58:51 1998  Doug Evans  <devans@seba.cygnus.com>
7650
7651         * cgen.c (cgen_md_apply_fix3): Delete call to validate_operand.
7652         Test result of insert_operand for error.
7653
7654 Fri Feb 13 16:41:42 1998  Ian Lance Taylor  <ian@cygnus.com>
7655
7656         * Makefile.am (AUTOMAKE_OPTIONS): Add cygnus.
7657         * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
7658         * doc/Makefile.am (AUTOMAKE_OPTIONS): Define.
7659         * doc/Makefile.in: Rebuild.
7660
7661 Fri Feb 13 00:47:44 1998  Ian Lance Taylor  <ian@cygnus.com>
7662
7663         * config/tc-mips.c (macro_build): Handle operand type 'C'.
7664         (macro): Fix handling of M_COP[0-3].
7665
7666 Thu Feb 12 14:06:59 1998  Ian Lance Taylor  <ian@cygnus.com>
7667
7668         Based on patches from Ross Harvey <ross@teraflop.com>:
7669         * macro.c (ISSEP): Only treat '<' and '>' as separator characters
7670         if macro_alternate or macro_mri.
7671         (getstring): Remove support for byte constants between < and >.
7672         (get_any_string): '<' only starts a string if macro_alternate or
7673         macro_mri.
7674         (macro_expand_body): Permit keyword parameters following
7675         positional parameters.
7676
7677         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
7678         * configure.in (alpha*-*-netbsd*): New target.
7679         * config/te-nbsd.h (LOCAL_LABELS_FB): Define.
7680         * configure: Rebuild.
7681
7682         * as.h (flag_warn_suppress_instructionswap): Move from here...
7683         * config/tc-d10v.c (flag_warn_suppress_instructionswap): ...to
7684         here, and make static.
7685
7686         * ehopt.c (eh_frame_code_alignment): Only use seg_info if
7687         BFD_ASSEMBLER or MANY_SEGMENTS.
7688
7689         * as.c (show_usage): Update bug-gnu-utils address.
7690         * gasp.c (show_usage): Likewise.
7691         * doc/as.texinfo (Bug Reporting): Likewise.
7692
7693 Wed Feb 11 23:26:28 1998  Jeffrey A Law  (law@cygnus.com)
7694
7695         * config/tc-mips.c (load_address): Don't use mips III or mips IV
7696         insns regardless of the size of a pointer if we're in mips I or
7697         MIPS II mode.
7698         (macro, macro2, s_cprestore, s_cpadd): Likewise.
7699
7700 Thu Feb 12 03:41:00 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
7701
7702         Fix rac to accept only a0:
7703         * tc-d10v.c (parallel_ok, find_opcode):
7704         Split OPERAND_ACC into OPERAND_ACC0 and OPERAND_ACC1.
7705         Introduce OPERAND_GPR.
7706
7707 Wed Feb 11 16:28:13 1998  Richard Henderson  <rth@cygnus.com>
7708
7709         * read.c (s_fill): Handle non-constant repeat counts by creating
7710         an rs_space fragment.
7711
7712 Tue Feb 10 18:31:31 1998  Ian Lance Taylor  <ian@cygnus.com>
7713
7714         * config/tc-i386.c (i386_operand): Change error added Jan 2 1998
7715         from as_bad to as_warn.
7716
7717 Tue Feb 10 18:04:00 1998  Jim Lemke  <jlemke@cygnus.com>
7718
7719         * as.c: (perform_an_assembly_pass): Use [TEXT|DATA|BSS]_SECTION_NAME
7720         * as.h: Define default values of [TEXT|DATA|BSS]_SECTION_NAME
7721         * config/obj-elf.c (elf_begin): Use [TEXT|DATA|BSS]_SECTION_NAME
7722
7723 Tue Feb 10 17:58:18 1998  Ian Lance Taylor  <ian@cygnus.com>
7724
7725         * ehopt.c (eh_frame_code_alignment): If not BFD_ASSEMBLER, use
7726         seg_fix_rotP rather than fix_root from seg_info.
7727
7728 Tue Feb 10 15:32:22 1998  Ian Carmichael  <iancarm@cygnus.com>
7729
7730         * expr.c: Add support for 0x1_2_3_4 bignums.
7731
7732 Tue Feb 10 14:43:40 1998  Ian Lance Taylor  <ian@cygnus.com>
7733
7734         * configure.in: Change -linux* to -linux-gnu*.
7735         * configure: Rebuild.
7736
7737         * app.c (do_scrub_begin): Treat \r as whitespace.
7738
7739 Mon Feb  9 14:16:11 1998  Ian Lance Taylor  <ian@cygnus.com>
7740
7741         * Makefile.am: Update dependencies.
7742         * Makefile.in: Rebuild.
7743
7744 Sat Feb  7 15:33:51 1998  Ian Lance Taylor  <ian@cygnus.com>
7745
7746         * configure, aclocal.m4: Rebuild with new libtool.
7747
7748 Fri Feb  6 16:08:30 1998  Jeffrey A Law  (law@cygnus.com)
7749
7750         * config/tc-mips.c (md_begin): If mips_cpu is set, then use it as
7751         the argument to bfd_set_arch_mach.
7752         (load_address): Use bfd_arch_bits_per_address to determine the
7753         bit size of an address instead of looking at the isa level.
7754         (macro, macro2, s_cprestore, s_cpadd): Likewise.
7755
7756 Fri Feb  6 14:44:34 1998  Nick Clifton  <nickc@cygnus.com>
7757
7758         * config/tc-v850.c (md_parse_option): Add -mv850any command line option.
7759
7760 Thu Feb  5 12:39:08 1998  Ian Lance Taylor  <ian@cygnus.com>
7761
7762         * ehopt.c: New file.
7763         * as.h (enum _relax_state): Add rs_cfa.
7764         (check_eh_frame, eh_frame_estimate_size_before_relax): Declare.
7765         (eh_frame_relax_frag, eh_frame_convert_frag): Declare.
7766         * read.c (emit_expr): Call check_eh_frame.
7767         * write.c (cvt_frag_to_fill): Handle rs_cfa.
7768         (relax_segment): Likewise.
7769         * Makefile.am: Rebuild dependencies.
7770         (GAS_CFILES): Add ehopt.c.
7771         (GENERIC_OBJS): Add ehopt.o.
7772         * doc/internals.texi (Frags): Document rs_cfa.
7773
7774         * as.c (show_usage): Mention --traditional-format.
7775         (parse_args): Accept --traditional-format.
7776         * as.h (flag_traditional_format): Declare.
7777         * output-file.c (output_file_create): If flag_traditional_format,
7778         set BFD_TRADITIONAL_FORMAT on stdoutput.
7779         * doc/as.texinfo, doc/as.1: Document --traditional-format.
7780
7781         * config/tc-mips.c (append_insn): Make sure that if we have a
7782         fixup for an unmatched %hi reloc, it does not associated with a
7783         variant frag.
7784
7785         * configure, Makefile.in, aclocal.m4: Rebuild with new libtool.
7786         * doc/Makefile.in: Likewise.
7787
7788 Wed Feb  4 15:41:54 1998  Nick Clifton  <nickc@cygnus.com>
7789
7790         * config/tc-m32r.c (check_for_side_effects): New function.
7791         (can_make_parallel): Add checks for instruction side effects
7792         clashing with the other instruction.
7793         (assemble_parallel_insn): Improve warning messages.  Return error
7794         message from non-swapped instruction order.
7795
7796 Wed Feb  4 20:00:26 1998  James G. Smith  <jsmith@teknema.demon.co.uk>
7797
7798         * config/tc-arm.c: Rename arm_after_pass_hook() to arm_cleanup().
7799
7800         * config/tc-arm.h: Replace md_after_pass_hook definition with a
7801         md_cleanup definition.  This moves the forced literal output to
7802         the end of the source pass, and avoids macro's inserting literals
7803         into the code immediately after the macro expansion.
7804
7805 Wed Feb  4 13:17:19 1998  Ian Lance Taylor  <ian@cygnus.com>
7806
7807         * config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: A reloc against
7808         a gas internal symbol is adjustable.
7809         * config/tc-ppc.h (tc_fix_adjustable): Likewise.
7810
7811         * as.h: If gcc version greater than 2.6, use `__format__' and
7812         `__printf__' in function attributes, rather than `format' and
7813         `printf'.
7814
7815 Mon Feb  2 18:38:18 1998  Ian Lance Taylor  <ian@cygnus.com>
7816
7817         * config/tc-sparc.c: Only include elf/sparc.h if OBJ_ELF.
7818
7819 Mon Feb  2 18:30:34 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
7820
7821         Add tms320c30 support:
7822         * config/tc-tic30.h: New file.
7823         * config/tc-tic30.c: New file.
7824         * config/obj-coff.h: If TC_TIC30, include coff/tic30.h and define
7825         TARGET_FORMAT as "coff-tic30".
7826         * configure.in (tic30-*-*aout*, tic30-*-*coff*): New targets.
7827         * Makefile.am: Rebuild dependencies.
7828         (CPU_TYPES): Add tic30.
7829         (CPU_OBJ_VALID): tic30-aout is valid.
7830         (TARGET_CPU_CFILES): Add config/tc-tic30.c.
7831         (TARGET_CPU_HFILES): Add config/tc-tic30.h.
7832         * configure, Makefile.in: Rebuild.
7833
7834 Mon Feb  2 10:20:37 1998  Nick Clifton  <nickc@cygnus.com>
7835
7836         * config/tc-v850.c (md_assemble): Improvements to error messages.
7837
7838 Mon Feb  2 12:39:05 1998  Geoff Keating  <geoffk@ozemail.com.au>
7839
7840         * config/tc-ppc.c (md_apply_fix3): Change BFD_RELOC_HI16 and
7841         BFD_RELOC_HI16_S to store the high bits of any value.
7842
7843         * config/tc-ppc.h (tc_fix_adjustable): Undo change of Fri Jun 27.
7844         (TC_RELOC_RTSYM_LOC_FIXUP): Don't let the
7845         assembler calculate relocations to any external symbol at all.
7846         * config/tc-ppc.c (md_apply_fix3) [OBJ_ELF]: Correct bugs
7847         involving generation of pc-relative relocs.
7848         (md_pcrel_from_section) [OBJ_ELF]: The job this code used to do
7849         has been moved to md_apply_fix3.
7850
7851         * config/tc-ppc.c (md_apply_fix3): Fix test for too-far branch.
7852         (ppc_elf_suffix): Warn about 'identifier+constant@got' syntax,
7853         which actually means (the address of identifier's GOT entry) +
7854         constant, which is not particularly useful.
7855
7856 Fri Jan 30 11:02:35 1998  Doug Evans  <devans@canuck.cygnus.com>
7857
7858         * read.h (include_dirs): Declare.
7859         (include_dir_count,include_dir_maxlen): Declare.
7860
7861 Fri Jan 30 11:47:02 1998  Ian Lance Taylor  <ian@cygnus.com>
7862
7863         * configure.in: Correct check for shared opcodes library.
7864         * configure: Rebuild.
7865
7866         * listing.c (buffer_line): If we can't open the file, set at_end.
7867         (listing_print): Remove unused local variable fi.
7868
7869         * config/m68k-parse.y (reglistpair): Handle register list in
7870         either order.
7871
7872         * config/vms-conf.h: Don't undef VERSION.
7873
7874 Thu Jan 29 14:42:44 1998  Pat Rankin  <rankin@eql.caltech.edu>
7875
7876         * Makefile.am (CONFIG_OBJS): New variable, containing part of old
7877         OBJS variable.
7878         (GENERIC_OBJS): New variable, with the rest of the old OBJS
7879         variable.
7880         (OBJS): Now just $(CONFIG_OBJS) and $(GENERIC_OBJS).
7881         ($(srcdir)/make-gas.com): Rename from make-gas.com.
7882         (stamp-mk.com): Replace $(OBJS) with $(GENERIC_OBJS).
7883         (EXTRA_DIST): Define.
7884         * vmsconf.sh: Handle {targ-cpu, obj-format, atof-targ} modules
7885         explicitly rather than via the list of object files.
7886         (gcc-as.opt): New file created when make-gas.com is run.
7887         * config-gas.com: Create {targ-cpu.h, obj-format.h, targ-env.h,
7888         itbl-cpu.h} to #include appropriate file rather than copying that
7889         file.
7890         * config/vms-conf.h: Synchronize with current config.in.
7891         * Makefile.in: Rebuild.
7892
7893 Thu Jan 29 18:48:19 1998  Bill Moyer  <billm@cygnus.com>
7894
7895         * config/tc-d30v.c (do_assemble): Added flag_explicitly_parallel.
7896         (parallel_ok): Relaxed parallel subinstruction dependency check.
7897
7898 Wed Jan 28 14:35:00 1998  Bill Moyer <billm@cygnus.com>
7899
7900         * as.h (flag_warn_suppress_instructionswap): added new flag.
7901         * tc-d10v.c (md_parse_option,md_longopts): added "--nowarnswap"
7902         command line argument.
7903         * tc-d10v.c (write_2_short): emit "Swapping instructions"
7904         warning only if flag_warn_suppress_instructionswap is false.
7905
7906 Wed Jan 28 16:41:19 1998  J.J. van der Heijden  <J.J.vanderHeijden@student.utwente.nl>
7907
7908         * configure.in (i386-*-mingw32*): New target.
7909         * configure: Rebuild.
7910
7911 Wed Jan 28 14:51:18 1998  Ian Lance Taylor  <ian@cygnus.com>
7912
7913         * symbols.c (resolve_symbol_value): Don't set the segment if it
7914         hasn't changed, and this is OBJ_AOUT without BFD_ASSEMBLER.
7915
7916         * config/obj-aout.h (S_IS_LOCAL): Correct typo--pass argument to
7917         S_GET_SEGMENT.
7918
7919 Wed Jan 28 13:54:50 1998  Pat Rankin  <rankin@eql.caltech.edu>
7920
7921         as.h (unlink): Reverse 13-Feb-97 change; use of unlink vs remove
7922         depends upon HAVE_{UNLINK,REMOVE} values rather than host
7923         compiler.
7924
7925 Wed Jan 28 13:48:08 1998  Ian Lance Taylor  <ian@cygnus.com>
7926
7927         * config/obj-coff.h (RESOLVE_SYMBOL_REDEFINITION): Define.
7928
7929 Wed Jan 28 09:52:00 1998  Nick Clifton  <nickc@cygnus.com>
7930
7931         * config/tc-v850.c (v850_insert_operand): Display instruction when
7932         an error is encountered.
7933
7934 Tue Jan 27 13:32:01 1998  Robert Lipe  <robertl@dgii.com>
7935
7936         * configure.in (i386-*-sco3.2v5*): Defaults to ELF now.
7937         (i386-*-sco3.2v5*coff): New target.
7938         (i386-*-sco3.2*): New target.
7939         * configure: Rebuild.
7940
7941 Tue Jan 27 11:06:52 1998  Nick Clifton  <nickc@cygnus.com>
7942
7943         * config/tc-v850.c: Tidy error message production.
7944
7945 Tue Jan 27 12:24:32 1998  Ian Lance Taylor  <ian@cygnus.com>
7946
7947         * config/tc-arm.c (md_apply_fix3): Add new variable newimm to hold
7948         validate_immediate return value in the right type for comparisons
7949         to FAIL.
7950
7951 Tue Jan 27 06:51:59 1998  Richard Henderson  <rth@cygnus.com>
7952
7953         * listing.c (MAX_BYTES): Use listing variables not constants.
7954         (data_buffer): No longer an array, but a pointer.
7955         (calc_hex): sizeof(data_buffer) -> MAX_BYTES.
7956         (listing_listing): Allocate data_buffer.
7957
7958 Tue Jan 27 06:38:35 1998  Richard Henderson  <rth@cygnus.com>
7959
7960         * as.c (parse_args): Add --listing-lhs-width, --listing-lhs-width2,
7961         --listing-rhs-width, --listing-cont-lines.
7962         (show_usage): Update.
7963         * listing.c (listing_lhs_width, listing_lhs_width_second): New vars.
7964         (listing_lhs_cont_lines, listing_rhs_width): New vars.
7965         (print_lines): Use the variables instead of the constants.
7966         (listing_listing): Likewise.
7967         * listing.h: Declare the new vars.
7968
7969 Tue Jan 27 05:32:05 1998  Richard Henderson  <rth@cygnus.com>
7970
7971         * as.c (parse_args): Add --keep-locals alias for -L.
7972         Add --strip-local-absolute.
7973         (show_usage): Update.
7974         * as.h (flag_strip_local_absolute): New flag.
7975         * symbols.c (S_IS_LOCAL): Use it.
7976         * config/obj-aout.h (S_IS_LOCAL): Likewise.
7977         * config/obj-bout.h (S_IS_LOCAL): Likewise.
7978         * config/obj-coff.h (S_IS_LOCAL): Likewise.
7979
7980 Mon Jan 26 13:07:41 1998  Nick Clifton  <nickc@cygnus.com>
7981
7982         * config/tc-m32r.c: Detect if explicitly parallel instructions
7983         might have an io conflict and issue a warning message.
7984
7985 Thu Jan 22 17:51:44 1998  Nick Clifton  <nickc@cygnus.com>
7986
7987         * cgen.c (cgen_save_fixups, cgen_restore_fixups,
7988         cgen_swap_fixups): Functions to save, restore and swap the fixup
7989         chain with a backup copy.
7990         (cgen_asm_finish_insn): Returns address of constructed insn.
7991
7992 Wed Jan 21 16:49:10 1998  Richard Henderson  <rth@cygnus.com>
7993
7994         * listing.c (file_info_struct): Remove FILE, add POS.
7995         (last_open_file_info, last_open_file): New; a one entry FILE* cache.
7996         (file_info): Don't open the file.
7997         (buffer_line): Check for the file in the last_open cache, updating
7998         as necessary.
7999         (print_source): Don't reference file_info->file.
8000         (listing_listing): Likewise.
8001         (listing_print): Close the file in the cache, if any.
8002
8003 Fri Jan 16 14:51:48 1998  Ian Lance Taylor  <ian@cygnus.com>
8004
8005         * read.c (dwarf_file_string): New file static variable.
8006         (emit_expr): Look for constant sequence that leads up to a file
8007         name in DWARF debugging output.
8008         (stringer): Use dwarf_file_string to decide whether to accept a
8009         string as a file name.
8010
8011 Fri Jan 16 11:30:37 1998  Richard Henderson  <rth@cygnus.com>
8012
8013         * tc-m68k.c (m68k_ip): Remove absl->reglst MRI hack.
8014         (crack_operand): Add reg->reglst MRI hack.
8015         (r_seg): Put reglst symbols in reg_section.
8016         (m68k_frob_symbol): Frob reglst symbols into absolute_section.
8017
8018 Thu Jan 15 14:19:01 1998  Richard Henderson  <rth@cygnus.com>
8019
8020         * tc-sh.c (get_specific): Handle SGR & DBR.
8021
8022 Thu Jan 15 13:46:48 1998  Richard Henderson  <rth@cygnus.com>
8023
8024         * tc-h8300.c (parse_reg): Take the length of the symbol into
8025         account when attempting to match a register name.
8026         * tc-h8500.c (parse_reg): Likewise.
8027
8028 Wed Jan 14 17:52:33 1998  Nick Clifton  <nickc@cygnus.com>
8029
8030         * cgen.c: Formatting changes to improve readability.
8031
8032 Wed Jan 14 15:41:41 1998  Jeffrey A Law  (law@cygnus.com)
8033
8034         * config/tc-mips.c (macro): Rework division code to avoid unfilled
8035         delay slot.
8036
8037 Wed Jan 14 18:04:20 1998  Michael Meissner  <meissner@cygnus.com>
8038
8039         Based on a patch from Jim Wilson
8040         * config/tc-d30v.c (do_assemble): Remove non-ansi default case.
8041         (tc_gen_reloc): Handle cross section PC relative relocs
8042         correctly.
8043
8044 Wed Jan 14 15:02:19 1998  Doug Evans  <devans@seba.cygnus.com>
8045
8046         * config/tc-mips.c (mips_ip): Don't test pinfo flags if INSN_MACRO.
8047
8048 Mon Jan 12 13:04:57 1998  Doug Evans  <devans@seba.cygnus.com>
8049
8050         * cgen.c: #include setjmp.h.  Clean up pass over `struct foo' usage.
8051         (expr_jmp_buf): New static local.
8052         (cgen_parse_operand): Allow use of longjmp in parsing to handle errors.
8053         (cgen_md_operand): New function.
8054         * tc-m32r.c: Clean up pass over `struct foo' usage.
8055         (md_estimate_size_before_relax): Use CGEN_INSN_MNEMONIC.
8056
8057 Tue Jan  6 15:36:02 1998  Richard Henderson  <rth@cygnus.com>
8058
8059         * symbols.c (S_SET_SEGMENT): Don't set the segment for section syms.
8060         (S_IS_EXTERNAL, S_IS_LOCAL): Correct parenthetication.
8061
8062 Fri Jan  2 16:08:54 1998  Ian Lance Taylor  <ian@cygnus.com>
8063
8064         * config/tc-i386.c (i386_operand): Give an error if there are
8065         unrecognized characters after an expression.
8066
8067 For older changes see ChangeLog-9697