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