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