move md_end use, and make use of it in cpu back ends. clean up empty, unused
[external/binutils.git] / gas / ChangeLog
1 Wed Nov 15 03:52:00 1995  Ken Raeburn  <raeburn@cygnus.com>
2
3         * as.c (main): Move md_end call to just after call to
4         perform_an_assembly_pass.  Delete cpu-specific code here.
5         * config/tc-i960.h (md_end): New macro, calls brtab_emit.
6 start-sanitize-rce
7         * config/tc-rce.c (md_end): Deleted.
8         * config/tc-rce.h (md_end): New macro, calls dump_literals.
9 end-sanitize-rce
10         * config/tc-arm.c (md_end): Unused function deleted.
11         * config/tc-ns32k.c (md_end): Ditto.
12
13         * config/tc-i386.c (i386_align_code): New function, moved here
14         from HANDLE_ALIGN macro.
15         * config/tc-i386.h (HANDLE_ALIGN): Call it.
16
17         Mon Jul 31 14:53:19 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
18
19         * config/tc-i386.h (md_do_align): cast fill and 0x90 to char
20         before comparing
21
22         Mon May  1 10:91:49 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
23
24         * config/tc-i386.h (md_do_align):  Make ".align n,0x90" generate
25         multi-byte nops to avoid changing gcc.  The necessary gcc change
26         might break old assemblers.
27
28         Sat Apr 22 20:53:05 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
29
30         * config/tc-i386.h (md_do_align, HANDLE_ALIGN):  Add macros to
31         generate optimal multi-byte nop instructions for ".align n"
32         ".align n,0x90", and aligns requiring more than 15 bytes of
33         padding still generate multiple 0x90's as before.
34
35 Mon Nov 13 17:40:21 1995  Ian Lance Taylor  <ian@cygnus.com>
36
37         * config/tc-m68k.c (s_mri_until): Call pop_mri_control.
38
39 Mon Nov 13 20:39:06 1995  Stan Shebs  <shebs@andros.cygnus.com>
40
41         * configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations.
42         * configure: Update.
43         * mpw-make.sed: Reorder commands to make sed happier.
44         * config/te-macos.h: New file.
45         * config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac.
46
47 Sun Nov 12 21:14:56 1995  Jeffrey A Law  (law@cygnus.com)
48
49         * config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for
50         conditional branches.
51         (md_apply_fix): Likewise.
52
53 Thu Nov  9 16:14:01 1995  Ian Lance Taylor  <ian@cygnus.com>
54
55         * config/tc-a29k.c (md_apply_fix): Warn if an attempt is made to
56         generate a reloc which the linker will not handle correctly.  Fix
57         overflow checking--R_IREL is 18 bits, not 17.
58
59 Wed Nov  8 19:59:36 1995  Ian Lance Taylor  <ian@cygnus.com>
60
61         * config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from
62         from a PC relative reloc if TC_A29K.
63
64         * config/tc-a29k.c (line_separator_chars): Restore '@'.  Existing
65         code depends upon it.
66
67         * config/tc-a29k.c (md_operand): Handle $float, $double, and
68         $extend.  Based on code from Eric Freudenthal
69         <freudenthal@nyu.edu>.
70         * config/tc-a29k.h (LEX_DOLLAR): Define.
71         * read.c (LEX_DOLLAR): Define if not defined.
72         (lex_type): Use LEX_DOLLAR.
73
74 Wed Nov  8 16:38:14 1995  Eric Freudenthal <freudenthal@nyu.edu>
75
76         * configure.in (a29k-nyu-sym1): New target, just like other a29k
77         targets.
78
79 Wed Nov  8 11:38:48 1995  Ian Lance Taylor  <ian@cygnus.com>
80
81         * config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return.
82
83 Tue Nov  7 09:14:35 1995  Kim Knuttila  <krk@cygnus.com>
84
85         * config/tc-ppc.c (md_apply_fix3): Added BFD_RELOC_RVA. Currently
86         used only by "dlltool.c".
87
88 Mon Nov  6 18:51:26 1995  Ian Lance Taylor  <ian@cygnus.com>
89
90         * config/tc-alpha.c: Undefine inline if not __GNUC__.
91         (md_pseudo_table): Don't define "extern".
92
93 Sat Nov  4 00:51:21 1995  Ian Lance Taylor  <ian@cygnus.com>
94
95         * config/tc-ppc.c (ppc_biei): Force symbol into text_section.
96
97         * config/tc-ppc.c (md_show_usage): Put backslash at end of line.
98
99 Fri Nov  3 13:02:59 1995  Ian Lance Taylor  <ian@cygnus.com>
100
101         * macro.c (macro_expand_body): Don't warn about == with a
102         nonexistent parameter, in case it is in a comment field.
103
104         * as.c (main): On TC_A29K, call macro_init with macro_alternate
105         set to 1.
106         * macro.c (get_any_string): Don't keep quotes if macro_strip_at is
107         set, even if macro_alternate is set.
108         (get_apost_token): If macro_strip_at, only skip kind if it is '@'.
109         (sub_actual): If macro_strip_at, and kind is '@', don't look up
110         the token unless it ended in '@'.
111         * config/tc-a29k.c (line_separator_chars): Remove '@'.
112         * doc/c-a29k.texi: Document macro usage on A29K.
113
114 Thu Nov  2 23:07:57 1995  Ian Lance Taylor  <ian@cygnus.com>
115
116         * config/tc-m68k.c (m68k_ip): Handle new 'W' place, meaning a
117         signed word.
118         (install_operand): Likewise.
119
120         * config/obj-elf.c (ecoff_debug_pseudo_table): Add "extern".
121
122 Wed Nov  1 15:17:02 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
123
124         * configure.in (m88k-motorola-sysv*): New target.
125         * configure: Rebuild.
126         * config/te-delta88.h: New file.
127         * config/obj-coff.c (write_object_file): Use md_do_align if it is
128         defined.
129         * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define.
130         (md_do_align): Define.
131         * config/tc-m88k.c: Include "subsegs.h".
132         (m88k_do_align): New function.
133
134         * config/te-delta.h (STRIP_UNDERSCORE): Don't define.
135         (COFF_NOLOAD_PROBLEM): Define.
136         (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): Define.
137
138 Wed Nov  1 16:07:43 1995  Ken Raeburn  <raeburn@cygnus.com>
139
140         * config/tc-i386.c (md_assemble): For a jump instruction with
141         non-constant target, require 7 available bytes in the current
142         frag, not 6.
143
144 Tue Oct 31 15:37:16 1995  Fred Fish  <fnf@rtl.cygnus.com>
145
146         * config/obj-elf.h: Include bfd/elf-bfd.h rather than
147         bfd/libelf.h.
148
149 Tue Oct 31 16:34:28 1995  David Mosberger-Tang  <davidm@azstarnet.com>
150
151         * configure.in (alpha-*-linux*): Use ecoff.
152         * configure: Rebuild.
153         * ecoff.c (ecoff_directive_extern): New function.
154         (ecoff_directive_weakext): New function.
155         (ecoff_build_symbols): Handle weak symbols.
156         (ecoff_setup_ext): Likewise.
157         (ecoff_frob_symbol): Warn about weak common symbols.
158         * ecoff.h (ecoff_directive_extern): Declare.
159         (ecoff_directive_weakext): Declare.
160         * symbols.c (S_IS_WEAK): New function.
161         * symbols.h (S_IS_WEAK): Declare.
162         * config/obj-ecoff.c (obj_pseudo_table): Add "extern" and
163         "weakext".
164         * config/tc-mips.c (mips_pseudo_table): Remove "extern".
165         (s_extern): Remove.
166
167 Tue Oct 31 13:29:08 1995  Ian Lance Taylor  <ian@cygnus.com>
168
169         * config/tc-ppc.c (ppc_lglobl): Do the right thing.
170
171         * config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS.
172         (ppc_eb): Likewise.  Set the storage class to C_BLOCK, not C_FCN.
173         (ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT.
174         * config/obj-coff.c (coff_frob_symbol): Don't call
175         SA_SET_SYM_ENDNDX with the current symbol; call it with the next
176         one.  If OBJ_XCOFF, try to figure out whether the symbol is going
177         to be dropped.
178
179         * config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec".
180         (ppc_stab_symbol): New static variable.
181         (ppc_change_csect): Check that ppc_toc_csect is not NULL.
182         (ppc_stabx): Set ppc_stab_symbol around call to symbol_make.  Set
183         sy_tc.real_name to the stab string.
184         (ppc_bc, ppc_ec): New static functions.
185         (ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't
186         do anything.
187         (ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a
188         suffix.
189         (ppc_frob_symbol): Set BSF_NOT_AT_END for symbols with csect aux
190         entries.
191
192         * input-scrub.c (input_scrub_push): Reset sb_index.
193
194 Mon Oct 30 17:52:46 1995  Ian Lance Taylor  <ian@cygnus.com>
195
196         * listing.c (listing_newline): Don't create a frag in the absolute
197         section.
198
199 Sat Oct 28 01:02:05 1995  Ian Lance Taylor  <ian@cygnus.com>
200
201         * config/tc-ppc.c (md_pseudo_table): Add "data" and "text".
202         (ppc_csect): Move most of the code to ppc_change_csect, and call
203         it.
204         (ppc_change_csect): New static function, taken from ppc_csect.
205         (ppc_section): New static function.
206         (ppc_saw_abs): New static varable.
207         (ppc_frob_symbol): Create aux entry for absolute symbols.  Warn if
208         a symbol has no csect.
209         (ppc_adjust_symtab): New function.
210         * config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF.
211         (ppc_adjust_symtab): Declare if OBJ_XCOFF.
212
213         * write.c (write_object_file): If tc_adjust_symtab is defined,
214         call it just before the call to obj_adjust_symtab.
215
216         * symbols.c (symbol_find_or_make): Change name to be const.
217         * symbols.h (symbol_find_or_make): Update declaration.
218
219 Thu Oct 26 19:18:27 1995  Ken Raeburn  <raeburn@cygnus.com>
220
221         * doc/as.texinfo (Align): Mention SH.
222         * doc/c-m68k.texi (M68K-Directives, .even): Describe behavior, not
223         .align value.
224         * doc/c-z8k.texi (Z8000 Directives, global): Fix minor typo.
225         (Z8000 Directives, even): Don't give numeric align value, instead
226         explain behavior.
227
228 Thu Oct 26 11:45:03 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
229
230         * tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a pre-increment
231         instruction.
232
233 Wed Oct 25 11:59:24 1995  Per Bothner  <bothner@kalessin.cygnus.com>
234
235         * Makefile.in (diststuff):  Also make info.
236         (maintainer-clean realclean):  Also make clean-info.
237
238 Tue Oct 24 15:21:33 1995  Jeffrey A Law  (law@cygnus.com)
239
240         * config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode.
241         (pa_subspace): For ".nsubspa", always create a new subspace
242         with the given attributes, even if one already exists with the
243         same name.
244
245 Tue Oct 24 14:50:38 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
246
247         * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Rename from
248         TC_FORCE_RELOCATION, taking an additional section argument.  If
249         the section of the target symbol is not the same as the current
250         section, always force the relocation to be used.
251         (MD_PCREL_FROM_SECTION): New macro to call md_pcrel_from_section.
252
253         * config/tc-ppc.c (md_pcrel_from_section): Rename from the
254         md_pcrel_from function, taking an additional section argument.
255         Invoke TC_FORCE_RELOCATION_SECTION instead of TC_FORCE_RELOCATION.
256
257         * write.c (TC_FORCE_RELOCATION_SECTION): Define in terms of the
258         older TC_FORCE_RELOCATION if not defined.
259         (MD_PCREL_FROM_SECTION): If not defined, invoke md_pcrel_from.
260         (fixup_segment): Use MD_PCREL_FROM_SECTION instead of
261         md_pcrel_from, and TC_FORCE_RELOCATION_SECTION instead of
262         TC_FORCE_RELOCATION.
263         
264 Mon Oct 23 16:20:04 1995  Ken Raeburn  <raeburn@cygnus.com>
265
266         * input-scrub.c (as_where): Set name to null pointer if we don't
267         have a file name.
268         * messages.c (identify): Only print filename if non-null.
269         (as_show_where): Ditto, for line number too.
270         (as_warn_internal, as_bad_internal): Ditto.
271
272         * input-file.c (input_file_open): If the input file can't be
273         opened, consider it an error.
274
275 Mon Oct 23 11:15:44 1995  James G. Smith  <jsmith@pasanda.cygnus.co.uk>
276
277         * config/tc-mips.c: Added mips_4100 control, and support for
278         accepting the 4100 as a MIPS architecture variant (md_begin,
279         macro_build, mips_ip, md_parse_option). Adding suitable
280         command-line OPTIONs, and updating the help text (md_show_usage).
281         
282 Wed Oct 18 13:20:32 1995  Ken Raeburn  <raeburn@cygnus.com>
283
284         * subsegs.c (subseg_begin): Only set absolute_frchain.fix_* when
285         BFD_ASSEMBLER is defined.
286
287         * Use one active frag and one obstack per frag chain:
288         * frags.c (frags): Variable deleted.
289         (frag_alloc): New function.
290         (frag_grow, frag_more, frag_variant, frag_now_fix,
291         frag_append_1_char): Refer to frchain_now->frch_obstack instead of
292         frags variable.
293         (frag_new): Ditto.  Verify that frch_last and frag_now match on
294         entry and exit, and that old frag_now has non-zero type.  Replace
295         "know" uses with "assert".  Use frag_alloc instead of mucking with
296         obstack alignment.
297         * frags.h (frags): Declaration deleted.
298         * subsegs.h (struct frchain): Add new field frch_frag_now.
299         * subsegs.c (frchains, dummy_frag, absolute_frchain): New static
300         variables.
301         (subsegs_begin): Initialize frchains obstack.  Under gcc, don't
302         give it any stricter alignment than frchainS structures need.  Do
303         not initialize frags obstack.  Set frag_now to point to
304         dummy_obstack.  Initialize absolute_frchain.
305         (subseg_set_rest): Save and restore frag_now in frch_frag_now
306         field of frchainS.  Don't create new frags on section switch, and
307         use frag_alloc when creating a new frag chain.  For absolute
308         section, set frchain_now to absolute_frchain.  Verify that
309         frch_last and frag_now match on entry and exit.  Initialize
310         per-chain obstack, and under gcc, set required alignment to that
311         needed by fragS structure.
312
313         * write.c (chain_frchains_together_1): Verify fr_type is nonzero.
314
315         * stabs.c (get_stab_string_offset): Only copy input string if a
316         fresh copy is needed, not if the section already exists.
317         (s_stab_generic): Cache stab section name to bypass lookups, since
318         usually it will match.  Could be made faster still by changing the
319         memory allocation rules.
320         (s_xstab): Cache section name to bypass repeated string
321         allocation.
322
323         * frags.c (frag_new): Deleted register declarations.
324
325         * listing.c (frag_now): Don't declare.
326
327         * as.c (chunksize): New variable.
328         (debug_memory): New variable.
329         (main): If debug_memory is set, reduce chunksize and
330         _bfd_chunksize.
331         * as.h (chunksize): Declare it.
332         * read.c (read_begin): Use it.
333
334         * config/tc-alpha.c (md_shortopts): Include 'g'.
335         (md_parse_option): Ignore it.
336
337         * Makefile.in (distclean): Remove Makefile and config.status from
338         testsuite directory.
339         (clean-here): Don't delete testsuite.  Instead, delete only the
340         files within it that would be generated by running tests.
341
342         * config/tc-hppa.c (hppa_elf_mark_end_of_function): Call
343         frag_now_fix instead of accessing obstack info directly.
344         * config/tc-arm.c (s_ltorg): Ditto.
345         (md_assemble): Ditto.
346
347         * config/tc-i386.c (md_assemble): Call frag_grow instead of
348         obstack_room.
349
350 Wed Oct 18 12:22:59 1995  Ken Raeburn  <raeburn@cygnus.com>
351
352         * stabs.c (aout_process_stab): Insert debug symbol into symbol
353         chain after parsing value expression, if any, to avoid separating
354         continued .stabs lines.
355
356 Mon Oct 16 10:56:41 1995  Ian Lance Taylor  <ian@cygnus.com>
357
358         * config/tc-mips.c (mips_elf_pseudo_table): Remove.
359         (mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table.
360
361 Mon Oct 16 07:07:37 1995  Michael Meissner  <meissner@wogglebug.tiac.net>
362
363         * config/tc-ppc.c (md_begin): Use new flags PPC_OPCODE_COMMON for
364         -mcom support and PPC_OPCODE_ANY for -many.
365         (md_parse_option): Ditto.
366         (ppc_arch): Ditto.
367         (md_begin): For duplicate instructions, print all duplicates
368         before aborting.
369
370 Sun Oct 15 22:06:14 1995  Michael Meissner  <meissner@cygnus.com>
371
372         * config/tc-ppc.c (md_parse_option): Support for -mcom to turn on
373         common mode operation.
374         (md_show_usage): Add -mcom to usage message.
375
376 Fri Oct 13 13:32:45 1995  steve chamberlain  <sac@slash.cygnus.com>
377
378         * expr.c (op_rank): Add O_symbol_rva.
379         * expr.h (operatorT): Add O_symbol_rva.
380         * read.c (cons_worker): Set O_symbol_rva when necessary.
381         * write.c (fix_new_exp): Understand O_symbol_rva.
382
383 Tue Oct 10 11:34:14 1995  Ian Lance Taylor  <ian@cygnus.com>
384
385         * config/tc-mips.c: Correct s_cons arguments.  From Michael
386         Joosten <joost@ori.cadlab.de>.
387
388 Mon Oct  9 19:59:53 1995  Ian Lance Taylor  <ian@cygnus.com>
389
390         * config/tc-ppc.c (ppc_macro): Make count unsigned.
391         (ppc_biei): Set segment to now_seg and value to coff_n_line_nos.
392         (ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting
393         the fix_line field.
394         * config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and
395         make non-static.  Change all users.
396         * config/obj-coff.h (coff_n_line_nos): Declare.
397
398 Fri Oct  6 16:24:27 1995  Ken Raeburn  <raeburn@cygnus.com>
399
400         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
401
402         * configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message.
403
404         * config/obj-elf.c (obj_elf_common): Convert specified byte
405         alignment to power of two.  Set size of local bss symbol.
406
407         * config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name.
408
409 Fri Oct  6 15:22:25 1995  Ian Lance Taylor  <ian@cygnus.com>
410
411         * sb.c, macro.c: Decide whether to include <string.h> or
412         <strings.h> just as as.h does.
413
414 Fri Oct  6 09:55:33 1995  Doug Evans  <dje@canuck.cygnus.com>
415
416         * Makefile.in (site.exp): Fix setting of $srcdir.
417
418         * config/tc-arm.c (md_atof): Fix little-endian output.
419         * config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for
420         all coff targets.
421
422 Thu Oct  5 20:17:30 1995  Ken Raeburn  <raeburn@cygnus.com>
423
424         * doc/as.texinfo: Split out the NS32k family documentation,
425         despite its being commented out for now.
426         * doc/c-ns32k.texi: New file.
427
428         * sb.c, macro.c: Include string.h.
429
430         * Makefile.in (comparison): Only check *.o; we don't care if
431         timestamps inserted by the native linker differ.
432
433         * config/tc-alpha.c (alpha_align): Only fill with a no-op pattern
434         if alignment stricter than 4 bytes is requested; in that case,
435         align to a 4-byte boundary first.
436
437         Thu Sep 28 19:35:27 1995  Pat Rankin  <rankin@eql.caltech.edu>
438
439         * config/obj-vms.c (VMS_RSYM_Parse): eliminate "might be used
440         uninitialized" warning for `Max_Source_Offset'.
441
442 Wed Oct  4 16:17:02 1995  Kim Knuttila  <krk@cygnus.com>
443
444         * config/tc-ppc.c (parse_toc_entry): New function to parse [toc]
445         qualifiers and detect errors if present.
446         (md_assemble): Add call to parse_toc_entry. Also added some support
447         for the [tocv] qualifier.
448         (ppc_pe_tocd): New function to support data in the toc section.
449
450 Wed Oct  4 14:03:39 1995  Ian Lance Taylor  <ian@cygnus.com>
451
452         * config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for
453         an absolute symbol.
454
455 Tue Oct  3 12:18:19 1995  Ian Lance Taylor  <ian@cygnus.com>
456
457         * config/tc-m68k.c (isword): Accept all values from -65536 to
458         +65535, so ~VAL will not be rejected.
459
460         * cond.c (s_endif): Call demand_empty_rest_of_line.  In MRI mode,
461         skip characters after the pseudo-op.
462         (s_else): Likewise.
463         * read.c (get_line_sb): Don't look past buffer_limit.
464         (s_include): In MRI mode, skip characters after the file name.
465
466 Mon Oct  2 16:15:27 1995  Ian Lance Taylor  <ian@cygnus.com>
467
468         * config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit
469         periods in register names.
470
471 For older changes see ChangeLog.1.