* config/tc-sh.c (parse_reg): Recognize SH3 registers.
[external/binutils.git] / gas / ChangeLog
1 Fri Dec 15 14:25:07 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2
3         * config/tc-sh.c (parse_reg): Recognize SH3 registers.
4         (get_specific): Handle A_SSR, A_SPC and A_REG_B.
5         (build_Mbytes): Handle REG_B.
6
7 Fri Dec 15 16:07:25 1995  Ian Lance Taylor  <ian@cygnus.com>
8
9         * ecoff.c (ecoff_build_aux): Use new bfd_big_endian macro.
10
11 Fri Dec 15 12:11:48 1995  Raymond Jou  <rjou@mexican.cygnus.com>
12
13         * mpw-make.sed: If linking, edit ALL_CFLAGS to CFLAGS.
14
15 Thu Dec 14 15:09:52 1995  Ian Lance Taylor  <ian@cygnus.com>
16
17         * config/obj-coff.c (write_object_file): Set the s_align field to
18         the number of bytes, rather than to the power of 2.
19
20 Tue Dec 12 12:19:37 1995  Ian Lance Taylor  <ian@cygnus.com>
21
22         * Makefile.in (DISTCLEAN_HERE): New variable.
23         (distclean): Use it.
24         (maintainer-clean): Depend upon clean-here rather than clean,
25         distclean, and clean-info.  Run make maintainer-clean in doc.
26         Remove files listed in DISTCLEAN_HERE.
27         * doc/Makefile.in (maintainer-clean realclean): Split out from
28         distclean.  Depend upon clean-info and distclean.
29
30 Mon Dec 11 16:23:51 1995  Stan Shebs  <shebs@andros.cygnus.com>
31
32         * mac-as.r: Fix copyright and version strings.
33         (cfrg): Use PROG_NAME instead of literal name.
34
35 Mon Dec 11 14:14:08 1995  Ian Lance Taylor  <ian@cygnus.com>
36
37         * read.c (read_a_source_file): If tc_unrecognized_line is defined,
38         call it.
39         * config/tc-a29k.h (tc_unrecognized_line): Define.
40         * config/tc-a29k.c (a29k_unrecognized_line): New function.
41         (md_operand): Handle a29k style local dollar labels.
42
43 Wed Dec  6 17:52:52 1995  Ian Lance Taylor  <ian@cygnus.com>
44
45         * config/obj-multi.h: If OBJ_MAYBE_ELF, define OBJ_SYMFIELD_TYPE.
46
47 Tue Dec  5 13:26:34 1995  Ken Raeburn  <raeburn@cygnus.com>
48
49         * read.c (s_fill): If md_flush_pending_output is defined, call
50         it.
51
52 Mon Dec  4 15:10:53 1995  Ken Raeburn  <raeburn@cygnus.com>
53
54         * config/obj-coff.c (size_section, fill_section, fixup_mdeps):
55         Treat rs_align_code like rs_align.
56
57 Sun Dec  3 16:46:54 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
58
59         * config/tc-arm.c (cp_address_required_here): Set pre_inc when
60         converting an absolute address into a PC-relative one.
61
62 Fri Dec  1 11:57:56 1995  Stan Shebs  <shebs@andros.cygnus.com>
63
64         * mpw-config.in: Don't always use te-generic.h for emulation.
65         (powerpc-apple-macos): Use emulation te-macos.h.
66 start-sanitize-gm
67         (mips-gm-magic): New configuration.
68 end-sanitize-gm
69         * mpw-make.sed (install, install-only): Edit in Mac-specific
70         install procedure.
71
72 Fri Dec  1 10:59:25 1995  Ian Lance Taylor  <ian@cygnus.com>
73
74         * configure.in: Improve message about unsupported ELF targets.
75         * configure: Rebuild.
76
77         * config/tc-m88k.c (m88k_do_align): Correct check for whether fill
78         pattern is zero.  From Manfred Hollstein.
79
80 Thu Nov 30 13:25:49 1995  Kim Knuttila  <krk@cygnus.com>
81
82         * config/tc-ppc.c (ppc_pe_section): To get the alignment right for
83         the various idata sections, we check the name on the .section pseudo.
84
85 Thu Nov 30 11:23:42 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
86
87         * config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not
88         add section's paddr to add_number; compatibility to native as and
89         ld forbids.
90
91 Wed Nov 29 23:14:27 1995  Ken Raeburn  <raeburn@cygnus.com>
92
93         * configure.in: Treat m68k-sysv4 like m68k-elf, not m68k-sysv3.
94
95         * hash.c (struct hash_entry): Moved here...
96         * hash.h (struct hash_entry): ...from here.
97
98         * config/obj-elf.c (elf_frob_symbol): Don't free and clear sy_obj
99         if it's already known to be null.
100
101 Wed Nov 29 13:00:20 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
102
103         * config/tc-ppc.c (md_apply_fix3): Don't adjust the value for 32
104         bit relocs converted to PC relative relocs.  This turned out to
105         add the offset from the beginning of .text twice.
106
107 Tue Nov 28 10:42:36 1995  Ken Raeburn  <raeburn@cygnus.com>
108
109         * stabs.c (s_stab_generic): In 's' case, free string from
110         obstack.
111
112         * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Remove unused field
113         sy_name_offset.
114         * config/obj-multi.h (ELF_TARGET_SYMBOL_FIELDS) [OBJ_MAYBE_ELF]:
115         Ditto.
116
117         * subsegs.h (segment_info_type): Make bitfields unsigned.
118
119         * expr.h (struct expressionS): Make X_op and X_unsigned bitfields,
120         and move them together.  On most systems this will reduce the
121         structure size by one word.
122         (operatorT): Define O_max.
123         * expr.c (expr_begin): Verify that X_op is wide enough to hold
124         O_max.
125
126         * read.c (pop_insert): Print error returned by hash table
127         insertion code.
128
129         * as.c (dump_statistics): Split out from main; dump some hash
130         table stats and target-specific stats.
131         (start_time): No longer automatic to main.
132         (main): Set file-level start_time and call dump_statistics at
133         exit.  Exit by calling xexit.
134         (show_usage): Make --statistics description less specific.
135         * subsegs.c (subsegs_print_statistics): New function.
136         * write.c (write_print_statistics): New function.
137         (n_fixups): New static variable.
138         (fix_new_internal): Increment it.
139         * read.c (read_print_statistics): New function.
140         * read.h (read_print_statistics): Declare.
141         * symbol.c (symbol_print_statistics): New function.
142         * symbol.h (symbol_print_statistics): Declare.
143         * hash.c (hash_print_statistics): New function.
144         * hash.h (hash_print_statistics): Declare.
145         * config/tc-i386.c (i386_print_statistics): New function.
146         * config/tc-i386.h (i386_print_statistics): Declare.
147         (tc_print_statistics): New macro.
148         * messages.c (as_fatal, as_assert, as_abort): Use xexit, not
149         exit.
150
151         * hash.c (DELETED): Rewrite to use a valid but unique address.
152         (START_POWER): Reduce to 10.
153         (enum stat_enum): New enumerator, replacing STAT_* index macros.
154         Add new values for counting strcmp calls.
155         (GROW_FACTOR): New macro.
156         (hash_grow): Use GROW_FACTOR.  Rewrite for quick returns instead
157         of nesting blocks.
158         (FULL_VALUE): New macro.  Use 1/4 of table size instead of 1/2.
159         (hash_new): Use FULL_VALUE.
160         (struct hash_control): Definition moved here.
161         (hash_code): Don't mask to low bits.
162         (hash_ask): Mask returned hash code here.  Check hash value before
163         calling strcmp; count strcmp calls.
164         * hash.h (struct hash_control): Declare, don't define, here.
165         (HASH_STATLENGTH): Deleted.
166         (struct hash_entry): Add field for hash code.
167         (hash_say, hash_apply): Don't declare.
168
169         * hash.c (destroy): Return void.
170         (applicatee): Ditto.
171         (main): Fix declarations.
172         (hash_apply): Return void.  Argument `function' returns void.  Put
173         inside "#ifdef TEST".
174         (hash_say): Define only if TEST is defined.
175         * hash.h (hash_apply, hash_say): Declarations deleted.
176
177 Mon Nov 27 13:18:25 1995  Ian Lance Taylor  <ian@cygnus.com>
178
179         * configure: Rebuild with autoconf 2.7.
180
181 Tue Nov 21 18:39:01 1995  Ian Lance Taylor  <ian@cygnus.com>
182
183         * aclocal.m4 (AC_PROG_CC): Remove local definition.
184         * configure: Rebuild with autoconf 2.6.
185
186 Mon Nov 20 17:26:00 1995  Ian Lance Taylor  <ian@cygnus.com>
187
188         * config/tc-ppc.c (ppc_debug_name_section_size): Remove.
189         (ppc_stabx): Don't increment ppc_debug_name_section_size.
190         (ppc_bc): Likewise.
191         (ppc_frob_file): Remove.
192         * config/tc-ppc.h (tc_frob_file): Don't define.
193         (ppc_frob_file): Don't declare.
194
195 Mon Nov 20 13:37:05 1995  Ken Raeburn  <raeburn@cygnus.com>
196
197         * Makefile.in (TARG_CPU_DEP_alpha): Mention alpha-opcode.h.
198         * config/alpha-opcode.h: Include one-operand variants of jmp and
199         jsr.
200
201         * config/te-delt88.h: Renamed from te-delta88.h, to avoid conflict
202         with te-delta.h in 8.3 file systems.
203         * configure.in: Adjusted.
204
205 Thu Nov 16 12:49:38 1995  Ian Lance Taylor  <ian@cygnus.com>
206
207         * config/tc-mips.c (s_err): Remove; just use the one in read.c.
208
209         * config/m68k-parse.y (yylex): In MRI mode, '@' can start an octal
210         number.
211         * expr.c (operand): Handle MRI suffixes after unadorned 0.
212
213 Thu Nov 16 00:21:44 1995  Ken Raeburn  <raeburn@cygnus.com>
214
215         Version 2.6 released.
216         * Makefile.in (VERSION): Updated to 2.6.
217
218         * config/obj-coff.c (write_object_file): Change use of md_do_align
219         to pass a pointer rather than a fill value, to match other uses.
220
221 Wed Nov 15 03:52:00 1995  Ken Raeburn  <raeburn@cygnus.com>
222
223         * config/tc-ns32k.h (TC_FIX_TYPE): Add missing semicolon.
224
225         * as.c (main): Move md_end call to just after call to
226         perform_an_assembly_pass.  Delete cpu-specific code here.
227         * config/tc-i960.h (md_end): New macro, calls brtab_emit.
228 start-sanitize-rce
229         * config/tc-rce.c (md_end): Deleted.
230         * config/tc-rce.h (md_end): New macro, calls dump_literals.
231 end-sanitize-rce
232         * config/tc-arm.c (md_end): Unused function deleted.
233         * config/tc-ns32k.c (md_end): Ditto.
234
235         * config/tc-i386.c (i386_align_code): New function, moved here
236         from HANDLE_ALIGN macro.
237         * config/tc-i386.h (HANDLE_ALIGN): Call it.
238
239         Mon Jul 31 14:53:19 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
240
241         * config/tc-i386.h (md_do_align): cast fill and 0x90 to char
242         before comparing
243
244         Mon May  1 10:91:49 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
245
246         * config/tc-i386.h (md_do_align):  Make ".align n,0x90" generate
247         multi-byte nops to avoid changing gcc.  The necessary gcc change
248         might break old assemblers.
249
250         Sat Apr 22 20:53:05 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
251
252         * config/tc-i386.h (md_do_align, HANDLE_ALIGN):  Add macros to
253         generate optimal multi-byte nop instructions for ".align n"
254         ".align n,0x90", and aligns requiring more than 15 bytes of
255         padding still generate multiple 0x90's as before.
256
257 Mon Nov 13 17:40:21 1995  Ian Lance Taylor  <ian@cygnus.com>
258
259         * config/tc-m68k.c (s_mri_until): Call pop_mri_control.
260
261 Mon Nov 13 20:39:06 1995  Stan Shebs  <shebs@andros.cygnus.com>
262
263         * configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations.
264         * configure: Update.
265         * mpw-make.sed: Reorder commands to make sed happier.
266         * config/te-macos.h: New file.
267         * config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac.
268
269 Sun Nov 12 21:14:56 1995  Jeffrey A Law  (law@cygnus.com)
270
271         * config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for
272         conditional branches.
273         (md_apply_fix): Likewise.
274
275 Thu Nov  9 16:14:01 1995  Ian Lance Taylor  <ian@cygnus.com>
276
277         * config/tc-a29k.c (md_apply_fix): Warn if an attempt is made to
278         generate a reloc which the linker will not handle correctly.  Fix
279         overflow checking--R_IREL is 18 bits, not 17.
280
281 Wed Nov  8 19:59:36 1995  Ian Lance Taylor  <ian@cygnus.com>
282
283         * config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from
284         from a PC relative reloc if TC_A29K.
285
286         * config/tc-a29k.c (line_separator_chars): Restore '@'.  Existing
287         code depends upon it.
288
289         * config/tc-a29k.c (md_operand): Handle $float, $double, and
290         $extend.  Based on code from Eric Freudenthal
291         <freudenthal@nyu.edu>.
292         * config/tc-a29k.h (LEX_DOLLAR): Define.
293         * read.c (LEX_DOLLAR): Define if not defined.
294         (lex_type): Use LEX_DOLLAR.
295
296 Wed Nov  8 16:38:14 1995  Eric Freudenthal <freudenthal@nyu.edu>
297
298         * configure.in (a29k-nyu-sym1): New target, just like other a29k
299         targets.
300
301 Wed Nov  8 11:38:48 1995  Ian Lance Taylor  <ian@cygnus.com>
302
303         * config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return.
304
305 Tue Nov  7 09:14:35 1995  Kim Knuttila  <krk@cygnus.com>
306
307         * config/tc-ppc.c (md_apply_fix3): Added BFD_RELOC_RVA. Currently
308         used only by "dlltool.c".
309
310 Mon Nov  6 18:51:26 1995  Ian Lance Taylor  <ian@cygnus.com>
311
312         * config/tc-alpha.c: Undefine inline if not __GNUC__.
313         (md_pseudo_table): Don't define "extern".
314
315 Sat Nov  4 00:51:21 1995  Ian Lance Taylor  <ian@cygnus.com>
316
317         * config/tc-ppc.c (ppc_biei): Force symbol into text_section.
318
319         * config/tc-ppc.c (md_show_usage): Put backslash at end of line.
320
321 Fri Nov  3 13:02:59 1995  Ian Lance Taylor  <ian@cygnus.com>
322
323         * macro.c (macro_expand_body): Don't warn about == with a
324         nonexistent parameter, in case it is in a comment field.
325
326         * as.c (main): On TC_A29K, call macro_init with macro_alternate
327         set to 1.
328         * macro.c (get_any_string): Don't keep quotes if macro_strip_at is
329         set, even if macro_alternate is set.
330         (get_apost_token): If macro_strip_at, only skip kind if it is '@'.
331         (sub_actual): If macro_strip_at, and kind is '@', don't look up
332         the token unless it ended in '@'.
333         * config/tc-a29k.c (line_separator_chars): Remove '@'.
334         * doc/c-a29k.texi: Document macro usage on A29K.
335
336 Thu Nov  2 23:07:57 1995  Ian Lance Taylor  <ian@cygnus.com>
337
338         * config/tc-m68k.c (m68k_ip): Handle new 'W' place, meaning a
339         signed word.
340         (install_operand): Likewise.
341
342         * config/obj-elf.c (ecoff_debug_pseudo_table): Add "extern".
343
344 Wed Nov  1 15:17:02 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
345
346         * configure.in (m88k-motorola-sysv*): New target.
347         * configure: Rebuild.
348         * config/te-delta88.h: New file.
349         * config/obj-coff.c (write_object_file): Use md_do_align if it is
350         defined.
351         * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define.
352         (md_do_align): Define.
353         * config/tc-m88k.c: Include "subsegs.h".
354         (m88k_do_align): New function.
355
356         * config/te-delta.h (STRIP_UNDERSCORE): Don't define.
357         (COFF_NOLOAD_PROBLEM): Define.
358         (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): Define.
359
360 Wed Nov  1 16:07:43 1995  Ken Raeburn  <raeburn@cygnus.com>
361
362         * config/tc-i386.c (md_assemble): For a jump instruction with
363         non-constant target, require 7 available bytes in the current
364         frag, not 6.
365
366 Tue Oct 31 15:37:16 1995  Fred Fish  <fnf@rtl.cygnus.com>
367
368         * config/obj-elf.h: Include bfd/elf-bfd.h rather than
369         bfd/libelf.h.
370
371 Tue Oct 31 16:34:28 1995  David Mosberger-Tang  <davidm@azstarnet.com>
372
373         * configure.in (alpha-*-linux*): Use ecoff.
374         * configure: Rebuild.
375         * ecoff.c (ecoff_directive_extern): New function.
376         (ecoff_directive_weakext): New function.
377         (ecoff_build_symbols): Handle weak symbols.
378         (ecoff_setup_ext): Likewise.
379         (ecoff_frob_symbol): Warn about weak common symbols.
380         * ecoff.h (ecoff_directive_extern): Declare.
381         (ecoff_directive_weakext): Declare.
382         * symbols.c (S_IS_WEAK): New function.
383         * symbols.h (S_IS_WEAK): Declare.
384         * config/obj-ecoff.c (obj_pseudo_table): Add "extern" and
385         "weakext".
386         * config/tc-mips.c (mips_pseudo_table): Remove "extern".
387         (s_extern): Remove.
388
389 Tue Oct 31 13:29:08 1995  Ian Lance Taylor  <ian@cygnus.com>
390
391         * config/tc-ppc.c (ppc_lglobl): Do the right thing.
392
393         * config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS.
394         (ppc_eb): Likewise.  Set the storage class to C_BLOCK, not C_FCN.
395         (ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT.
396         * config/obj-coff.c (coff_frob_symbol): Don't call
397         SA_SET_SYM_ENDNDX with the current symbol; call it with the next
398         one.  If OBJ_XCOFF, try to figure out whether the symbol is going
399         to be dropped.
400
401         * config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec".
402         (ppc_stab_symbol): New static variable.
403         (ppc_change_csect): Check that ppc_toc_csect is not NULL.
404         (ppc_stabx): Set ppc_stab_symbol around call to symbol_make.  Set
405         sy_tc.real_name to the stab string.
406         (ppc_bc, ppc_ec): New static functions.
407         (ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't
408         do anything.
409         (ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a
410         suffix.
411         (ppc_frob_symbol): Set BSF_NOT_AT_END for symbols with csect aux
412         entries.
413
414         * input-scrub.c (input_scrub_push): Reset sb_index.
415
416 Mon Oct 30 17:52:46 1995  Ian Lance Taylor  <ian@cygnus.com>
417
418         * listing.c (listing_newline): Don't create a frag in the absolute
419         section.
420
421 Sat Oct 28 01:02:05 1995  Ian Lance Taylor  <ian@cygnus.com>
422
423         * config/tc-ppc.c (md_pseudo_table): Add "data" and "text".
424         (ppc_csect): Move most of the code to ppc_change_csect, and call
425         it.
426         (ppc_change_csect): New static function, taken from ppc_csect.
427         (ppc_section): New static function.
428         (ppc_saw_abs): New static varable.
429         (ppc_frob_symbol): Create aux entry for absolute symbols.  Warn if
430         a symbol has no csect.
431         (ppc_adjust_symtab): New function.
432         * config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF.
433         (ppc_adjust_symtab): Declare if OBJ_XCOFF.
434
435         * write.c (write_object_file): If tc_adjust_symtab is defined,
436         call it just before the call to obj_adjust_symtab.
437
438         * symbols.c (symbol_find_or_make): Change name to be const.
439         * symbols.h (symbol_find_or_make): Update declaration.
440
441 Thu Oct 26 19:18:27 1995  Ken Raeburn  <raeburn@cygnus.com>
442
443         * doc/as.texinfo (Align): Mention SH.
444         * doc/c-m68k.texi (M68K-Directives, .even): Describe behavior, not
445         .align value.
446         * doc/c-z8k.texi (Z8000 Directives, global): Fix minor typo.
447         (Z8000 Directives, even): Don't give numeric align value, instead
448         explain behavior.
449
450 Thu Oct 26 11:45:03 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
451
452         * tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a pre-increment
453         instruction.
454
455 Wed Oct 25 11:59:24 1995  Per Bothner  <bothner@kalessin.cygnus.com>
456
457         * Makefile.in (diststuff):  Also make info.
458         (maintainer-clean realclean):  Also make clean-info.
459
460 Tue Oct 24 15:21:33 1995  Jeffrey A Law  (law@cygnus.com)
461
462         * config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode.
463         (pa_subspace): For ".nsubspa", always create a new subspace
464         with the given attributes, even if one already exists with the
465         same name.
466
467 Tue Oct 24 14:50:38 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
468
469         * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Rename from
470         TC_FORCE_RELOCATION, taking an additional section argument.  If
471         the section of the target symbol is not the same as the current
472         section, always force the relocation to be used.
473         (MD_PCREL_FROM_SECTION): New macro to call md_pcrel_from_section.
474
475         * config/tc-ppc.c (md_pcrel_from_section): Rename from the
476         md_pcrel_from function, taking an additional section argument.
477         Invoke TC_FORCE_RELOCATION_SECTION instead of TC_FORCE_RELOCATION.
478
479         * write.c (TC_FORCE_RELOCATION_SECTION): Define in terms of the
480         older TC_FORCE_RELOCATION if not defined.
481         (MD_PCREL_FROM_SECTION): If not defined, invoke md_pcrel_from.
482         (fixup_segment): Use MD_PCREL_FROM_SECTION instead of
483         md_pcrel_from, and TC_FORCE_RELOCATION_SECTION instead of
484         TC_FORCE_RELOCATION.
485         
486 Mon Oct 23 16:20:04 1995  Ken Raeburn  <raeburn@cygnus.com>
487
488         * input-scrub.c (as_where): Set name to null pointer if we don't
489         have a file name.
490         * messages.c (identify): Only print filename if non-null.
491         (as_show_where): Ditto, for line number too.
492         (as_warn_internal, as_bad_internal): Ditto.
493
494         * input-file.c (input_file_open): If the input file can't be
495         opened, consider it an error.
496
497 Mon Oct 23 11:15:44 1995  James G. Smith  <jsmith@pasanda.cygnus.co.uk>
498
499         * config/tc-mips.c: Added mips_4100 control, and support for
500         accepting the 4100 as a MIPS architecture variant (md_begin,
501         macro_build, mips_ip, md_parse_option). Adding suitable
502         command-line OPTIONs, and updating the help text (md_show_usage).
503         
504 Wed Oct 18 13:20:32 1995  Ken Raeburn  <raeburn@cygnus.com>
505
506         * subsegs.c (subseg_begin): Only set absolute_frchain.fix_* when
507         BFD_ASSEMBLER is defined.
508
509         * Use one active frag and one obstack per frag chain:
510         * frags.c (frags): Variable deleted.
511         (frag_alloc): New function.
512         (frag_grow, frag_more, frag_variant, frag_now_fix,
513         frag_append_1_char): Refer to frchain_now->frch_obstack instead of
514         frags variable.
515         (frag_new): Ditto.  Verify that frch_last and frag_now match on
516         entry and exit, and that old frag_now has non-zero type.  Replace
517         "know" uses with "assert".  Use frag_alloc instead of mucking with
518         obstack alignment.
519         * frags.h (frags): Declaration deleted.
520         * subsegs.h (struct frchain): Add new field frch_frag_now.
521         * subsegs.c (frchains, dummy_frag, absolute_frchain): New static
522         variables.
523         (subsegs_begin): Initialize frchains obstack.  Under gcc, don't
524         give it any stricter alignment than frchainS structures need.  Do
525         not initialize frags obstack.  Set frag_now to point to
526         dummy_obstack.  Initialize absolute_frchain.
527         (subseg_set_rest): Save and restore frag_now in frch_frag_now
528         field of frchainS.  Don't create new frags on section switch, and
529         use frag_alloc when creating a new frag chain.  For absolute
530         section, set frchain_now to absolute_frchain.  Verify that
531         frch_last and frag_now match on entry and exit.  Initialize
532         per-chain obstack, and under gcc, set required alignment to that
533         needed by fragS structure.
534
535         * write.c (chain_frchains_together_1): Verify fr_type is nonzero.
536
537         * stabs.c (get_stab_string_offset): Only copy input string if a
538         fresh copy is needed, not if the section already exists.
539         (s_stab_generic): Cache stab section name to bypass lookups, since
540         usually it will match.  Could be made faster still by changing the
541         memory allocation rules.
542         (s_xstab): Cache section name to bypass repeated string
543         allocation.
544
545         * frags.c (frag_new): Deleted register declarations.
546
547         * listing.c (frag_now): Don't declare.
548
549         * as.c (chunksize): New variable.
550         (debug_memory): New variable.
551         (main): If debug_memory is set, reduce chunksize and
552         _bfd_chunksize.
553         * as.h (chunksize): Declare it.
554         * read.c (read_begin): Use it.
555
556         * config/tc-alpha.c (md_shortopts): Include 'g'.
557         (md_parse_option): Ignore it.
558
559         * Makefile.in (distclean): Remove Makefile and config.status from
560         testsuite directory.
561         (clean-here): Don't delete testsuite.  Instead, delete only the
562         files within it that would be generated by running tests.
563
564         * config/tc-hppa.c (hppa_elf_mark_end_of_function): Call
565         frag_now_fix instead of accessing obstack info directly.
566         * config/tc-arm.c (s_ltorg): Ditto.
567         (md_assemble): Ditto.
568
569         * config/tc-i386.c (md_assemble): Call frag_grow instead of
570         obstack_room.
571
572 Wed Oct 18 12:22:59 1995  Ken Raeburn  <raeburn@cygnus.com>
573
574         * stabs.c (aout_process_stab): Insert debug symbol into symbol
575         chain after parsing value expression, if any, to avoid separating
576         continued .stabs lines.
577
578 Mon Oct 16 10:56:41 1995  Ian Lance Taylor  <ian@cygnus.com>
579
580         * config/tc-mips.c (mips_elf_pseudo_table): Remove.
581         (mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table.
582
583 Mon Oct 16 07:07:37 1995  Michael Meissner  <meissner@wogglebug.tiac.net>
584
585         * config/tc-ppc.c (md_begin): Use new flags PPC_OPCODE_COMMON for
586         -mcom support and PPC_OPCODE_ANY for -many.
587         (md_parse_option): Ditto.
588         (ppc_arch): Ditto.
589         (md_begin): For duplicate instructions, print all duplicates
590         before aborting.
591
592 Sun Oct 15 22:06:14 1995  Michael Meissner  <meissner@cygnus.com>
593
594         * config/tc-ppc.c (md_parse_option): Support for -mcom to turn on
595         common mode operation.
596         (md_show_usage): Add -mcom to usage message.
597
598 Fri Oct 13 13:32:45 1995  steve chamberlain  <sac@slash.cygnus.com>
599
600         * expr.c (op_rank): Add O_symbol_rva.
601         * expr.h (operatorT): Add O_symbol_rva.
602         * read.c (cons_worker): Set O_symbol_rva when necessary.
603         * write.c (fix_new_exp): Understand O_symbol_rva.
604
605 Tue Oct 10 11:34:14 1995  Ian Lance Taylor  <ian@cygnus.com>
606
607         * config/tc-mips.c: Correct s_cons arguments.  From Michael
608         Joosten <joost@ori.cadlab.de>.
609
610 Mon Oct  9 19:59:53 1995  Ian Lance Taylor  <ian@cygnus.com>
611
612         * config/tc-ppc.c (ppc_macro): Make count unsigned.
613         (ppc_biei): Set segment to now_seg and value to coff_n_line_nos.
614         (ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting
615         the fix_line field.
616         * config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and
617         make non-static.  Change all users.
618         * config/obj-coff.h (coff_n_line_nos): Declare.
619
620 Fri Oct  6 16:24:27 1995  Ken Raeburn  <raeburn@cygnus.com>
621
622         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
623
624         * configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message.
625
626         * config/obj-elf.c (obj_elf_common): Convert specified byte
627         alignment to power of two.  Set size of local bss symbol.
628
629         * config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name.
630
631 Fri Oct  6 15:22:25 1995  Ian Lance Taylor  <ian@cygnus.com>
632
633         * sb.c, macro.c: Decide whether to include <string.h> or
634         <strings.h> just as as.h does.
635
636 Fri Oct  6 09:55:33 1995  Doug Evans  <dje@canuck.cygnus.com>
637
638         * Makefile.in (site.exp): Fix setting of $srcdir.
639
640         * config/tc-arm.c (md_atof): Fix little-endian output.
641         * config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for
642         all coff targets.
643
644 Thu Oct  5 20:17:30 1995  Ken Raeburn  <raeburn@cygnus.com>
645
646         * doc/as.texinfo: Split out the NS32k family documentation,
647         despite its being commented out for now.
648         * doc/c-ns32k.texi: New file.
649
650         * sb.c, macro.c: Include string.h.
651
652         * Makefile.in (comparison): Only check *.o; we don't care if
653         timestamps inserted by the native linker differ.
654
655         * config/tc-alpha.c (alpha_align): Only fill with a no-op pattern
656         if alignment stricter than 4 bytes is requested; in that case,
657         align to a 4-byte boundary first.
658
659         Thu Sep 28 19:35:27 1995  Pat Rankin  <rankin@eql.caltech.edu>
660
661         * config/obj-vms.c (VMS_RSYM_Parse): eliminate "might be used
662         uninitialized" warning for `Max_Source_Offset'.
663
664 Wed Oct  4 16:17:02 1995  Kim Knuttila  <krk@cygnus.com>
665
666         * config/tc-ppc.c (parse_toc_entry): New function to parse [toc]
667         qualifiers and detect errors if present.
668         (md_assemble): Add call to parse_toc_entry. Also added some support
669         for the [tocv] qualifier.
670         (ppc_pe_tocd): New function to support data in the toc section.
671
672 Wed Oct  4 14:03:39 1995  Ian Lance Taylor  <ian@cygnus.com>
673
674         * config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for
675         an absolute symbol.
676
677 Tue Oct  3 12:18:19 1995  Ian Lance Taylor  <ian@cygnus.com>
678
679         * config/tc-m68k.c (isword): Accept all values from -65536 to
680         +65535, so ~VAL will not be rejected.
681
682         * cond.c (s_endif): Call demand_empty_rest_of_line.  In MRI mode,
683         skip characters after the pseudo-op.
684         (s_else): Likewise.
685         * read.c (get_line_sb): Don't look past buffer_limit.
686         (s_include): In MRI mode, skip characters after the file name.
687
688 Mon Oct  2 16:15:27 1995  Ian Lance Taylor  <ian@cygnus.com>
689
690         * config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit
691         periods in register names.
692
693 For older changes see ChangeLog.1.