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