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