Fri Mar 1 10:20:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
[platform/upstream/binutils.git] / gas / ChangeLog
1 Fri Mar  1 10:20:52 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2
3         * symbols.c (resolve_symbol_value): Handle O_logical_not.
4
5 Thu Feb 29 13:58:35 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6
7         * config/obj-elf.c (obj_elf_section): Allow predefined section
8         types to set the nobits type.  Avoid a shadowed declaration.
9
10 Wed Feb 28 15:38:56 1996  Jeffrey A Law  (law@cygnus.com)
11
12         * config/tc-hppa.c (hppa_fix_adjustable): For SOM, don't
13         reduce relocs using e_nlrsel field selectors.
14
15         * write.c (fix_new_exp): Don't use #elif.  Some compilers
16         don't handle it.
17
18         * config/tc-hppa.c (selector_table): Add "n", "nl", and "nlr" to
19         the selector table.
20         (pa_chk_field_selector): Handle new field selectors for SOM.
21
22 Tue Feb 27 14:42:27 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
23
24         * configure.in (m68k-*-linux*aout*, m68k-*-linux*): New targets.
25         * configure: Rebuild.
26         * config/te-linux.h (LOCAL_LABELS_FB): Define.
27         * config/tc-m68k.h (TARGET_FORMAT) [TE_LINUX]: Define to
28         "a.out-m68k-linux".
29         * config/tc-m68k.c (comment_chars): Don't include '#' if TE_LINUX
30         is defined.
31
32 Mon Feb 26 18:58:58 1996  Stan Shebs  <shebs@andros.cygnus.com>
33
34         * mpw-make.sed: Update to handle shared library support.
35
36 Mon Feb 26 10:34:10 1996  Doug Evans  <dje@charmed.cygnus.com>
37
38         * config/tc-sparc.c (sparc_ip): Print all architectures that support
39         the insn on mismatch.
40
41 Fri Feb 23 21:44:39 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
42
43         * configure.in: Add support for a29-coff.
44         * configure: Rebuild.
45
46 Thu Feb 22 16:39:43 1996  Ian Lance Taylor  <ian@cygnus.com>
47
48         * config/tc-sh.c (sh_coff_frob_file): Don't consider the address
49         of the section when looking for the R_SH_USES fixup, because the
50         frag addresses have not yet been adjusted.
51
52         * gdbinit.in: Set a breakpoint on as_warn_where.
53
54         * config/tc-mips.c (macro): Add missing arguments to macro_build
55         omitted in last change.  From Jim Wilson <wilson@cygnus.com>.
56
57 Wed Feb 21 17:00:32 1996  Ian Lance Taylor  <ian@cygnus.com>
58
59         * config/tc-h8300.c (tc_reloc_mangle): Change reloc based on size
60         if it is TC_CONS_RELOC.  Set a size of 4 to R_RELLONG.
61
62 Wed Feb 21 09:25:39 1996  Doug Evans  <dje@charmed.cygnus.com>
63
64         * config/tc-sparc.c (sparc_ip): Recognize %asr0 for v8.
65
66 Tue Feb 20 21:48:03 1996  Doug Evans  <dje@charmed.cygnus.com>
67
68         * config/tc-sparc.c (parse_keyword_arg): Accept leading '%'.
69         (sparc_ip): Accept %asr[1..31] for v8 and %asr[%16..31] for v9.
70         Recognize [uU] format args as sparclet cpregs.
71
72 Tue Feb 20 22:25:55 1996  Ian Lance Taylor  <ian@cygnus.com>
73
74         * config/tc-sh.c (sh_handle_align): Don't emit R_SH_ALIGN relocs
75         in bss_section.
76
77 Mon Feb 19 14:16:24 1996  Ian Lance Taylor  <ian@cygnus.com>
78
79         * config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): Check S_IS_WEAK as
80         well as S_IS_EXTERNAL.
81         (tc_fix_adjustable): Likewise.
82         * config/tc-sparc.c (md_apply_fix): In OBJ_ELF case, check for
83         S_IS_WEAK as well as S_IS_EXTERNAL when deciding whether to return
84         early.
85         (tc_gen_reloc): Check S_IS_WEAK as wel as S_IS_EXTERNAL when
86         deciding whether to convert BFD_RELOC_32_PCREL_S2 if PIC.
87
88 Mon Feb 19 02:15:57 1996  Doug Evans  <dje@charmed.cygnus.com>
89
90         * config/tc-sparc.c (max_architecture): Change to sparclite for
91         32 bit arch.
92         (default_compatible): Delete.
93         (sparc_ffs): New function.
94         (md_begin): Only call SPARC_OPCODE_CONFLICT_P once.
95         (sparc_ip): Rewrite architecture match and bump logic.
96
97 Sun Feb 18 15:03:50 1996  Ian Lance Taylor  <ian@cygnus.com>
98
99         * configure.in: Check for 'do not mix' from native linker before
100         trying to use -rpath.
101         * configure: Rebuild.
102
103 Fri Feb 16 16:53:31 1996  Ian Lance Taylor  <ian@cygnus.com>
104
105         * config/obj-coff.h (SF_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
106         (SF_GET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
107         (SF_SET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
108         * config/obj-coff.c (obj_coff_endef): Set ADJ_LNNOPTR when LNNOPTR
109         is set.
110         (w_symbols): If ADJ_LNNOPTR is set, add the section lnnoptr field
111         to the symbol lnnoptr field, to get the correct file offset.
112
113 Thu Feb 15 14:48:38 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
114
115         * config/obj-elf.c (elf_frob_symbol): On the PowerPC, force all
116         symbols that are not function, file, or section symbols to be
117         object types.
118
119 Thu Feb 15 11:20:18 1996  Ian Lance Taylor  <ian@cygnus.com>
120
121         * configure: Set and substitute RPATH_ENVVAR.
122         * configure: Rebuild.
123         * Makefile.in (RPATH_ENVVAR): New variable.
124         (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
125
126         * configure.in: Accept i686.  From H.J. Lu <hjl@zoom.com>: i386
127         doesn't need opcodes.  If configuring shared, opcodes needs bfd.
128         * configure: Rebuild.
129
130 Wed Feb 14 16:33:12 1996  Martin Anantharaman  <martin@mail.imech.uni-duisburg.de>
131
132         * read.c (s_mri_sect): Don't return '\0' in type.  Set all
133         appropriate flags in BFD section.
134
135         * configure.in (m68k-*-psos*): New target.
136         * configure: Rebuild.
137         * config/te-psos.h: New file.
138         * config/tc-m68k.c (comment_chars): Don't include '#' if TE_PSOS
139         is defined.
140
141 Wed Feb 14 13:43:24 1996  Ian Lance Taylor  <ian@cygnus.com>
142
143         From Alan Modra <alan@spri.levels.unisa.edu.au>:
144         * configure.in: Remove duplicate setting of cpu_type.  Check
145         whether opcodes library is required for on all targets, not just
146         primary one.
147         * configure: Rebuild.
148
149         * config/tc-mips.c (mips_big_got): New static variable.
150         (s_extern): Don't declare.
151         (reg_needs_delay): New static function.
152         (macro_build): Permit GOT/CALL_HI/LO relocs.
153         (macro_build_lui): If place is not NULL, use the number in the
154         expression.
155         (load_address): Handle mips_big_got case.
156         (macro): Handle mips_big_got for M_LA_AB, M_JAL_A, and load and
157         store macros.
158         (OPTION_XGOT): Define.
159         (md_longopts): Add "xgot" if OBJ_ELF.
160         (md_parse_option): Handle -xgot.
161         (md_show_usage): Mention -xgot.
162         (md_apply_fix): Permit GOT/CALL_HI/LO relocs.
163         (tc_gen_reloc): Handle GOT/CALL_HI/LO relocs.
164
165 Wed Feb 14 11:22:27 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
166
167         * config/tc-m68k.c (m68k_ip) [operand kind '#']: When fixing
168         the byte relocation, point it to the low byte of the word.
169
170 Tue Feb 13 15:31:18 1996  Ian Lance Taylor  <ian@cygnus.com>
171
172         * configure.in: Set HDLFLAGS for *-*-hpux with --enable-shared.
173         * configure: Rebuild.
174
175 Mon Feb 12 15:53:46 1996  Doug Evans  <dje@charmed.cygnus.com>
176
177         * configure.in: Recognize any sparc* cpu.
178         * configure: Regenerated.
179
180 Mon Feb 12 15:41:21 1996  Ian Lance Taylor  <ian@cygnus.com>
181
182         * read.c (potable): Add "mri" and ".mri".
183         (s_mri): New function.
184         * read.h (s_mri): Declare.
185         * app.c (scrub_m68k_mri): New static variable.
186         (mri_pseudo): New static variable.
187         (do_scrub_begin): Add m68k_mri parameter.  Use it rather than
188         flag_m68k_mri.  Initialize scrub_m68k_mri.
189         (mri_state, mri_last_ch): New static variables.
190         (struct app_save): Add scrub_m68k_mri, mri_state, and mri_last_ch
191         fields.
192         (app_push): Save new fields.
193         (app_pop): Restore new fields.
194         (do_scrub_chars): Check scrub_m68k_mri rather than flag_mri_mri.
195         If TC_M68K, use a trivial state machine to look for occurrences of
196         the .mri pseudo-op, and change the mode appropriately.
197         * as.h (do_scrub_begin): Update prototype.
198         * input-scrub.c (input_scrub_begin): Pass flag_m68k_mri to
199         do_scrub_begin.
200         * config/tc-m68k.c (reg_prefix_optional_seen): New static
201         variable.
202         (m68k_mri_mode_change): New function.
203         (md_parse_option): Set reg_prefix_optional_seen.
204         * config/tc-m68k.h (m68k_mri_mode_change): Declare.
205         (MRI_MODE_CHANGE): Define.
206         * doc/as.texinfo: Document .mri pseudo-op.
207
208         * app.c (do_scrub_chars): In MRI mode, don't treat '#' as a
209         comment character.
210
211 Mon Feb 12 15:16:29 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
212
213         Support for OBJ_ELF on m68k, mostly inside #ifdef OBJ_ELF:
214         * config/m68k-parse.h (enum pic_relocation): Define.
215         (struct m68k_exp): Add pic_reloc field.
216         * config/tc-m68k.h (TC_RELOC_RTSYM_LOC_FIXUP): Define.
217         (tc_fix_adjustable): Define to call tc_m68k_fix_adjustable.
218         (NO_RELOC): Define to BFD_RELOC_NONE if BFD_ASSEMBLER, to zero
219         otherwise.
220         * config/tc-m68k.c: Delete definition of NO_RELOC.
221         (struct m68k_it): Add pic_reloc field.
222         (add_fix): Copy over pic_reloc field.
223         (md_pseudo_table): Interpret .align parameter as byte count.
224         (mote_pseudo_table): Likewise.
225         (tc_m68k_fix_adjustable): New function.
226         (get_reloc_code): New function.
227         (md_assemble): Use it as last argument to fix_new_exp.
228         (md_apply_fix_2): For a relocation against a symbol don't put the
229         addend into the data.
230         (tc_gen_reloc): Different addend computation for OBJ_ELF.
231         (m68k_ip): Don't relax an operand that requires pic relocation.
232         (md_begin): Align .text, .data and .bss on 4 byte boundary by
233         default.
234         * write.c (fixup_segment): Don't add symbol value to addend if
235         TC_M68K and OBJ_ELF.
236         * config/m68k-parse.y (yylex): Handle @PLTPC, etc.
237         (motorola_operand): Add rule for `(zapc, EXPR)'.
238
239 Mon Feb 12 10:07:33 1996  David Mosberger-Tang  <davidm@azstarnet.com>
240
241         * ecoff.c (ecoff_directive_weakext): Fixed so that whitespace
242         *really* is permissible before the comma.
243
244 Mon Feb 12 00:12:13 1996  Ian Lance Taylor  <ian@cygnus.com>
245
246         * config/tc-sh.c (sh_do_align): Align to a 2 byte boundary before
247         inserting nop instructions.
248
249 Fri Feb  9 10:54:19 1996  Ian Lance Taylor  <ian@cygnus.com>
250
251         * config/te-aux.h: Change include of aux.h to aux-coff.h.
252
253 Thu Feb  8 20:02:58 1996  Ian Lance Taylor  <ian@cygnus.com>
254
255         * config/tc-i960.c (tc_coff_symbol_emit_hook): Correct storage
256         class setting for a CALLNAME symbol in COFF.
257
258         * read.c (potable): Pass negative numbers for new .balign[wl] and
259         .p2align[wl] pseudo-ops.
260         (s_align_bytes): Treat a negative argument as specifying the fill
261         length.
262         (s_align_ptwo): Likewise.
263
264 Wed Feb  7 14:12:03 1996  Ian Lance Taylor  <ian@cygnus.com>
265
266         * read.c (potable): Add balignw, balignl, p2alignw, and p2alignl.
267         (do_align): Take new len parameter.  Change all callers.  Pass it
268         to md_do_align.
269         (s_align_bytes): Arg now indicates the length of the fill pattern.
270         (s_align_ptwo): Likewise.
271         * config/obj-coff.c (write_object_file): Pass length to
272         md_do_align.
273         * config/tc-i386.h (md_do_align): Take new len parameter.
274         * config/tc-m88k.h (md_do_align): Likewise.
275         * config/tc-m88k.c (m88k_do_align): Likewise.
276         * config/tc-sh.h (md_do_align): Likewise.
277         * config/tc-sh.c (sh_do_align): Likewise.
278         * doc/as.texinfo: Document new pseudo-ops.
279
280         * config/obj-coff.c (fixup_mdeps): Divide offset by fr_var, as is
281         done in cvt_frag_to_fill.
282
283         * config/tc-sh.h (sh_do_align): Declare.
284         (md_do_align): Define.
285         * config/tc-sh.c (sh_do_align): New function.
286
287         * ecoff.c (ecoff_build_lineno): Don't try to store the address
288         difference if the next address is before the current one.
289
290         * config/tc-m68k.c (struct m68k_cpu): Add alias field.
291         (archs): Initialize new field.
292         (m68k_ip): Don't list alias names when listing CPUs which support
293         an instruction.
294
295         * as.c (main): Call parse_args before read_begin.
296         * app.c (do_scrub_chars): If flag_m68k_mri, don't put a dot in
297         front of generated pseudo-ops.
298         * read.c (potable): Ignore "name".
299         (s_app_file): Permit a single quote after the string, since one
300         may appear in m68k MRI mode.
301
302         * configure.in: Check for --enable-shared.  If linking against
303         shared BFD and opcodes, fix library name on SunOS, and try to set
304         -rpath reasonably.
305         * configure: Rebuild.
306
307 Tue Feb  6 15:16:17 1996  Ian Lance Taylor  <ian@cygnus.com>
308
309         * as.h (flag_m68k_mri): Declare.
310         * as.c (parse_args): If TC_M68K, set flag_m68k_mri for -M.
311         * Many files: For MRI syntax that is specific to the m68k MRI
312         assembler, check flag_m68k_mri rather than flag_mri or
313         MRI_MODE_NEEDS_PSEUDO_DOT.
314
315 Mon Feb  5 16:29:11 1996  Ian Lance Taylor  <ian@cygnus.com>
316
317         * config/tc-i960.c (ARCH_HX): Define.
318         (arch_tab): Add HX.
319         (targ_has_sfr): Handle ARCH_HX.
320         (targ_has_iclass): Handle ARCH_HX.
321         (tc_coff_fix2rtype): Add return 0 to avoid warning.
322         (tc_headers_hook): If the architecture was specified explicitly,
323         use it when setting the flags.  Set the extern variable coff_flags
324         rather than headers->filehdr.f_flags, since the latter is set
325         unconditionally in obj-coff.c.
326         (i960_handle_align): Remove unused variable fixp.
327
328         Support for building bfd and opcodes as shared libraries, based on
329         patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
330         * configure.in: Set OPCODES and BFD to search directories.
331         Substitute OPCODES_DEP and BFDDEP.  On SunOS, set HLDFLAGS.
332         * configure: Rebuild.
333         * Makefile.in (LDFLAGS, HLDFLAGS): New variables.
334         (LIBDEPS): New variable.
335         (as.new0: Depend upon $(LIBDEPS) rather than $(LIBS).  Use
336         $(HLDFLAGS) in link.
337         (check): Set LD_LIBRARY_PATH in the environment.
338
339 Fri Feb  2 17:41:53 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
340
341         * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Make .sdata2, .sbss2,
342         .PPC.EMB.sdata0, and .PPC.EMB.sbss0 sections all default to
343         read-only, not read/write.
344
345 Fri Feb  2 14:09:25 1996  Alan Modra  <alan@spri.levels.unisa.edu.au>
346
347         * Makefile.in (INSTALL_XFORM): Remove -e.
348
349 Fri Feb  2 12:32:15 1996  Ian Lance Taylor  <ian@cygnus.com>
350
351         * write.c (write_relocs): Use S_IS_DEFINED and S_IS_COMMON rather
352         than comparing S_GET_SEGMENT to undefined_section.
353         (write_object_file): Skip symbols which were equated to an
354         undefined or common symbol.
355         * symbols.c (resolve_symbol_value): Use S_IS_DEFINED and
356         S_IS_COMMON rather than comparing S_GET_SEGMENT to
357         undefined_section.
358         (S_GET_VALUE): Likewise.  Avoid recursion problems if S_IS_DEFINED
359         or S_IS_COMMON call S_GET_VALUE.
360         * config/obj-aout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER.
361         * config/obj-aout.c (obj_emit_relocations): If a reloc is equated
362         to an undefined or common symbol, convert the reloc to be against
363         the target symbol.
364         (obj_crawl_symbol_chain): Skip symbols which were equated to an
365         undefined or common symbol.
366         * config/obj-bout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER.
367         * config/obj-bout.c (obj_emit_relocations): If a reloc is equated
368         to an undefined or common symbol, convert the reloc to be against
369         the target symbol.
370         (obj_crawl_symbol_chain): Skip symbols which were equated to an
371         undefined or common symbol.
372         * config/obj-coff.c (do_relocs_for): Use S_IS_DEFINED and
373         S_IS_COMMON rather than comparing S_GET_SEGMENT to
374         undefined_section.
375         (yank_symbols): Skip symbols which were equated to an undefined or
376         common symbol.
377
378 Thu Feb  1 15:34:32 1996  Ian Lance Taylor  <ian@cygnus.com>
379
380         * config/obj-aout.h (S_IS_LOCAL): Check for \002 as well as \001.
381         * config/obj-bout.h (S_IS_LOCAL): Likewise.
382
383         * configure.in: Make sure we only add m68k-parse.o to
384         ${extra_objects} once, no matter how many m68k targets have been
385         enabled.
386         * configure: Rebuild.
387
388 Wed Jan 31 18:31:46 1996  Steve Chamberlain  <sac@slash.cygnus.com>
389
390         * configure.in (i386-*-cygwin32, ppc-*-cygwin32): New.
391         * configure: Rebuild.
392
393 Wed Jan 31 14:03:17 1996  Richard Henderson  <rth@tamu.edu>
394
395         * config/tc-m68k.c (md_pseudo_table): Add "extend" and "ldouble".
396         * doc/c-m68k.texi: Document .extend and .ldouble.
397
398         * configure.in (m68*-apple-aux*): New target.
399         * config/te-aux.h: New file.
400         * config/obj-coff.c (compare_external_relocs): New static function
401         if TE_AUX.
402         (do_relocs_for): Sort relocs if TE_AUX.
403         (fixup_segment): If TE_AUX, store common symbol value in segment.
404         * config/tc-m68k.h (TARGET_FORMAT): Define if TE_AUX.
405
406 Wed Jan 31 12:24:58 1996  Ian Lance Taylor  <ian@cygnus.com>
407
408         * config/obj-coff.h (S_IS_LOCAL): Check for \002 as well as \001.
409
410         * config/tc-mips.c (s_mips_globl): Set BSF_OBJECT if it is not
411         BSF_FUNCTION.
412         (s_cpload): Set BSF_OBJECT for _gp_disp symbol.
413         * read.c (s_lcomm): If S_SET_SIZE is defined, set the size of the
414         symbol.
415         * ecoff.c (add_procedure): Set the BSF_FUNCTION flag.
416         (ecoff_build_symbols): If S_SET_SIZE is defined, set the size of
417         an undefined symbol and the size of a function symbol.
418         * config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT
419         for all common symbols.
420
421 Tue Jan 30 12:35:24 1996  Ken Raeburn  <raeburn@cygnus.com>
422
423         * config/tc-i960.c (parse_memop): In MRI mode, don't use implicit
424         scaling of index.
425
426         * expr.c (operand): Accept 0x hex constants in MRI mode if not on
427         m68k.
428
429 Mon Jan 29 12:21:30 1996  Ian Lance Taylor  <ian@cygnus.com>
430
431         * config/obj-elf.c (obj_elf_type): Set BSF_OBJECT flag for a type
432         of object.  From Ronald F. Guilmette <rfg@monkeys.com>.
433
434         * ecoff.c (localsym_t): Add addend field.
435         (add_ecoff_symbol): Add addend argument.  Change all callers.
436         (coff_sym_value): Make static.
437         (coff_sym_addend): New static variable.
438         (ecoff_directive_def): Initialize coff_sym_addend.
439         (ecoff_directive_val): Accept symbol + constant.
440         (ecoff_directive_endef): Pass coff_sym_addend to add_ecoff_symbol.
441         (ecoff_build_symbols): Include the addend in the symbol value.
442
443 Fri Jan 26 19:28:52 1996  Kim Knuttila  <krk@cygnus.com>
444
445         * config/tc-ppc.c (md_assemble): Ignore overflow on 
446         BFD_RELOC_16_GOTOFF and BFD_RELOC_PPC_TOC16.
447
448 Fri Jan 26 16:14:17 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
449
450         * config/tc-ppc.c (md_apply_fix3): SDA21 relocations are now 4
451         bytes in size, so offset appropriately in big endian mode when
452         writing the bottom 2 bytes.
453
454 Thu Jan 25 20:26:23 1996  Doug Evans  <dje@charmed.cygnus.com>
455
456         * config/tc-sparc.c (default_compatible): New static local.
457         (md_begin): Initialize it.  Rewrite warn_on_bump handling.
458         (sparc_ip): If no architecture or -bump specified, don't mark as
459         mismatched those in default_compatible.
460
461 Thu Jan 25 12:21:53 1996  Ian Lance Taylor  <ian@cygnus.com>
462
463         SCO ELF support from Robert Lipe <robertl@arnet.com>:
464         * configure.in (i386-*-sco*elf*): Use fmt elf, targ sco5.
465         * configure: Rebuild.
466         * config/sco5.mt: New file; set TDEFINES to -DSCO_ELF.
467         * config/tc-i386.c (sco_id): New function, if SCO_ELF.
468         * config/tc-i386.h (tc_init_after_args): Define if SCO_ELF.
469         (sco_id): Declare if SCO_ELF.
470
471 Thu Jan 25 03:10:53 1996  Doug Evans  <dje@charmed.cygnus.com>
472
473         * config/tc-sparc.c (initial_architecture,can_bump_v9_p): Deleted.
474         ({max,warn_after}_architecture): New static locals.
475         (md_begin): Replace NUMOPCODES with sparc_num_opcodes.
476         If both architecture and -bump requested, set max_architecture to max.
477         (sparc_md_end): Simplify.
478         (sparc_ip): Replace references to can_bump_v9_p with max_architecture.
479         Rewrite code to bump architecture and check for conflicts.
480         (md_longopts): Recognize -xarch={v8plus,v8plusa} for compatibility
481         with Solaris assembler.
482         (md_parse_option): Likewise.  Call sparc_opcode_lookup_arch.
483         (md_show_usage): Update.
484
485 Wed Jan 24 22:11:03 1996  Doug Evans  <dje@charmed.cygnus.com>
486
487         * Makefile.in (RUNTEST): Fix reference to $${srcdir}.
488
489 Mon Jan 22 09:21:36 1996  Doug Evans  <dje@charmed.cygnus.com>
490
491         * config/tc-sparc.h (TARGET_FORMAT): Use #ifdef SPARC_ARCH64 instead of
492         #ifdef sparcv9 when choosing value.
493         (ENV64): Delete.
494         (md_end): Define.
495         (sparc_md_end): Declare.
496         * config/tc-sparc.c (SPARC_V9): Renamed from sparcv9.
497         (initial_architecture): New static local.
498         (can_bump_v9_p): Likewise.
499         (NO_V9): Delete all occurrences.
500         (sparc_md_end): New function.
501         (sparc_ip): New local v9_arg_p.  Rework fp reg number test.
502         Don't bump architecture to v9 unless can_bump_v9_p set.
503         (md_parse_option): -A<arch> passed, set can_bump_v9_p accordingly.
504         * configure.in (sparc64 target cpu): Don't set obj_format here.
505         (SPARC_V9): Renamed from sparcv9.
506         (sparc64-*-elf*): Define SPARC_ARCH64.
507         * configure: Regenerated.
508         * acconfig.h (SPARC_V9): Renamed from sparcv9.
509         (SPARC_ARCH64): Add.
510         * conf.in: Regenerated.
511         * config/vmsconf.h: Update.
512
513 Mon Jan 22 17:24:47 1996  James G. Smith  <jsmith@cygnus.co.uk>
514
515         * config/tc-mips.c (load_register): Optimise "dli" loads.
516         (md_show_usage): add "-mcpu=vr4100" to help text.
517
518 Mon Jan 22 11:53:00 1996  Ian Lance Taylor  <ian@cygnus.com>
519
520         * symbols.c (resolve_symbol_value): If a symbol is equated to an
521         undefined symbol, preserve the X_op of O_symbol.
522         (S_GET_VALUE): Fix check to permit this case.
523         * write.c (write_relocs): If a reloc is against an undefined
524         symbol equated to another symbol, change the reloc to be against
525         the latter symbol.
526         * config/obj-coff.c (do_relocs_for): Likewise.
527
528         * config/tc-ppc.c (ppc_csect): An unnamed csect is storage class
529         XMC_PR.
530
531 Mon Jan 22 10:59:48 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
532
533         * config/obj-elf.c (elf/ppc.h): Include elf/ppc.h if target
534         computer is PowerPC.
535
536         * config/tc-ppc.c (md_apply_fix3): Add more embedded relocations.
537
538         * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Add sections
539         mentioned in the eabi.
540
541 Thu Jan 18 17:58:19 1996  Kim Knuttila  <krk@cygnus.com>
542
543         * config/tc-ppc.c (ppc_reldata): Changed alignement on reldata_section
544         * config/tc-ppc.c (ppc_pdata): Changed the alignment on pdata_section
545
546 Mon Jan 15 17:43:42 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
547
548         * config/tc-ppc.c (mapping): Add more relocation suffixes.
549
550 Sun Jan 14 21:29:36 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
551
552         * config/tc-ppc.c (ppc_elf_validate_fix): Allow .gcc_except_table
553         as a section it is ok to have unadorned -mrelocatable pointers in.
554
555 Sat Jan 13 11:09:08 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
556
557         * config/tc-ppc.c (ppc_section*): Wrap these functions inside
558         #ifdef OBJ_ELF.
559
560 Fri Jan 12 15:32:07 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
561
562         * config/obj-elf.c (obj_elf_section): Add hooks so machine
563         dependent section attributes can be handled.
564
565         * config/tc-ppc.h: (md_elf_section_{letter,type,word,flags}): New
566         macros to add support for exclude section flag and ordered section
567         type.
568
569         * config/tc-ppc.c (ppc_elf_section_{letter,type,word,flags}): New
570         functions to add support for exclude section flag and ordered
571         section type.
572
573 Fri Jan 12 12:04:00 1996  Ian Lance Taylor  <ian@cygnus.com>
574
575         * subsegs.c (section_symbol): Don't try to look up the section
576         symbol in the hash table.  It should be possible to have a symbol
577         with the same name as a section, but no connection to it.
578
579         * read.c (cons_worker): Only call mri_comment_end from flag_mri.
580         From James Carlson <carlson@xylogics.com>.
581
582         * expr.c (operand): Skip whitespace after a close parenthesis.
583         From James Carlson <carlson@xylogics.com>.
584
585 Tue Jan  2 12:43:23 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
586
587         * config/tc-sh.c (md_apply_fix): Call as_bad_where instead of
588         as_warn_where for relocation overflow.
589         (parse_reg): Accept register name only if next character is
590         not alphanumeric.
591
592 Sat Dec 30 23:42:51 1995  Jeffrey A Law  (law@cygnus.com)
593
594         * ecoff.c (ecoff_stab): Simplify.  Correctly handle sym + offset
595         addresses for static variables.
596
597 Thu Dec 21 12:54:32 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
598
599         * config/tc-ppc.c (mapping): Make @got give a real GOT relocation,
600         and xgot give the old toc16 relocation.
601         (md_apply_fix3): Support all GOT relocations.
602
603 Wed Dec 20 14:57:17 1995  Ian Lance Taylor  <ian@cygnus.com>
604
605         * config/tc-mips.c (load_address): Correctly handle a constant in
606         SVR4_PIC case.  From Richard Kenner <kenner@vlsi1.ultra.nyu.edu>.
607
608 Fri Dec 15 14:25:07 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
609
610         * config/tc-sh.c (parse_reg): Recognize SH3 registers.
611         (get_specific): Handle A_SSR, A_SPC and A_REG_B.
612         (build_Mbytes): Handle REG_B.
613
614 Fri Dec 15 16:07:25 1995  Ian Lance Taylor  <ian@cygnus.com>
615
616         * ecoff.c (ecoff_build_aux): Use new bfd_big_endian macro.
617
618 Fri Dec 15 12:11:48 1995  Raymond Jou  <rjou@mexican.cygnus.com>
619
620         * mpw-make.sed: If linking, edit ALL_CFLAGS to CFLAGS.
621
622 Thu Dec 14 15:09:52 1995  Ian Lance Taylor  <ian@cygnus.com>
623
624         * config/obj-coff.c (write_object_file): Set the s_align field to
625         the number of bytes, rather than to the power of 2.
626
627 Tue Dec 12 12:19:37 1995  Ian Lance Taylor  <ian@cygnus.com>
628
629         * Makefile.in (DISTCLEAN_HERE): New variable.
630         (distclean): Use it.
631         (maintainer-clean): Depend upon clean-here rather than clean,
632         distclean, and clean-info.  Run make maintainer-clean in doc.
633         Remove files listed in DISTCLEAN_HERE.
634         * doc/Makefile.in (maintainer-clean realclean): Split out from
635         distclean.  Depend upon clean-info and distclean.
636
637 Mon Dec 11 16:23:51 1995  Stan Shebs  <shebs@andros.cygnus.com>
638
639         * mac-as.r: Fix copyright and version strings.
640         (cfrg): Use PROG_NAME instead of literal name.
641
642
643 Mon Dec 11 14:14:08 1995  Ian Lance Taylor  <ian@cygnus.com>
644
645         * read.c (read_a_source_file): If tc_unrecognized_line is defined,
646         call it.
647         * config/tc-a29k.h (tc_unrecognized_line): Define.
648         * config/tc-a29k.c (a29k_unrecognized_line): New function.
649         (md_operand): Handle a29k style local dollar labels.
650
651 Wed Dec  6 17:52:52 1995  Ian Lance Taylor  <ian@cygnus.com>
652
653         * config/obj-multi.h: If OBJ_MAYBE_ELF, define OBJ_SYMFIELD_TYPE.
654
655 Tue Dec  5 13:26:34 1995  Ken Raeburn  <raeburn@cygnus.com>
656
657         * read.c (s_fill): If md_flush_pending_output is defined, call
658         it.
659
660 Mon Dec  4 15:10:53 1995  Ken Raeburn  <raeburn@cygnus.com>
661
662         * config/obj-coff.c (size_section, fill_section, fixup_mdeps):
663         Treat rs_align_code like rs_align.
664
665 Sun Dec  3 16:46:54 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
666
667         * config/tc-arm.c (cp_address_required_here): Set pre_inc when
668         converting an absolute address into a PC-relative one.
669
670 Fri Dec  1 11:57:56 1995  Stan Shebs  <shebs@andros.cygnus.com>
671
672         * mpw-config.in: Don't always use te-generic.h for emulation.
673         (powerpc-apple-macos): Use emulation te-macos.h.
674 start-sanitize-gm
675         (mips-gm-magic): New configuration.
676 end-sanitize-gm
677         * mpw-make.sed (install, install-only): Edit in Mac-specific
678         install procedure.
679
680 Fri Dec  1 10:59:25 1995  Ian Lance Taylor  <ian@cygnus.com>
681
682         * configure.in: Improve message about unsupported ELF targets.
683         * configure: Rebuild.
684
685         * config/tc-m88k.c (m88k_do_align): Correct check for whether fill
686         pattern is zero.  From Manfred Hollstein.
687
688 Thu Nov 30 13:25:49 1995  Kim Knuttila  <krk@cygnus.com>
689
690         * config/tc-ppc.c (ppc_pe_section): To get the alignment right for
691         the various idata sections, we check the name on the .section pseudo.
692
693 Thu Nov 30 11:23:42 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
694
695         * config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not
696         add section's paddr to add_number; compatibility to native as and
697         ld forbids.
698
699 Wed Nov 29 23:14:27 1995  Ken Raeburn  <raeburn@cygnus.com>
700
701         * configure.in: Treat m68k-sysv4 like m68k-elf, not m68k-sysv3.
702
703         * hash.c (struct hash_entry): Moved here...
704         * hash.h (struct hash_entry): ...from here.
705
706         * config/obj-elf.c (elf_frob_symbol): Don't free and clear sy_obj
707         if it's already known to be null.
708
709 Wed Nov 29 13:00:20 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
710
711         * config/tc-ppc.c (md_apply_fix3): Don't adjust the value for 32
712         bit relocs converted to PC relative relocs.  This turned out to
713         add the offset from the beginning of .text twice.
714
715 Tue Nov 28 10:42:36 1995  Ken Raeburn  <raeburn@cygnus.com>
716
717         * stabs.c (s_stab_generic): In 's' case, free string from
718         obstack.
719
720         * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Remove unused field
721         sy_name_offset.
722         * config/obj-multi.h (ELF_TARGET_SYMBOL_FIELDS) [OBJ_MAYBE_ELF]:
723         Ditto.
724
725         * subsegs.h (segment_info_type): Make bitfields unsigned.
726
727         * expr.h (struct expressionS): Make X_op and X_unsigned bitfields,
728         and move them together.  On most systems this will reduce the
729         structure size by one word.
730         (operatorT): Define O_max.
731         * expr.c (expr_begin): Verify that X_op is wide enough to hold
732         O_max.
733
734         * read.c (pop_insert): Print error returned by hash table
735         insertion code.
736
737         * as.c (dump_statistics): Split out from main; dump some hash
738         table stats and target-specific stats.
739         (start_time): No longer automatic to main.
740         (main): Set file-level start_time and call dump_statistics at
741         exit.  Exit by calling xexit.
742         (show_usage): Make --statistics description less specific.
743         * subsegs.c (subsegs_print_statistics): New function.
744         * write.c (write_print_statistics): New function.
745         (n_fixups): New static variable.
746         (fix_new_internal): Increment it.
747         * read.c (read_print_statistics): New function.
748         * read.h (read_print_statistics): Declare.
749         * symbol.c (symbol_print_statistics): New function.
750         * symbol.h (symbol_print_statistics): Declare.
751         * hash.c (hash_print_statistics): New function.
752         * hash.h (hash_print_statistics): Declare.
753         * config/tc-i386.c (i386_print_statistics): New function.
754         * config/tc-i386.h (i386_print_statistics): Declare.
755         (tc_print_statistics): New macro.
756         * messages.c (as_fatal, as_assert, as_abort): Use xexit, not
757         exit.
758
759         * hash.c (DELETED): Rewrite to use a valid but unique address.
760         (START_POWER): Reduce to 10.
761         (enum stat_enum): New enumerator, replacing STAT_* index macros.
762         Add new values for counting strcmp calls.
763         (GROW_FACTOR): New macro.
764         (hash_grow): Use GROW_FACTOR.  Rewrite for quick returns instead
765         of nesting blocks.
766         (FULL_VALUE): New macro.  Use 1/4 of table size instead of 1/2.
767         (hash_new): Use FULL_VALUE.
768         (struct hash_control): Definition moved here.
769         (hash_code): Don't mask to low bits.
770         (hash_ask): Mask returned hash code here.  Check hash value before
771         calling strcmp; count strcmp calls.
772         * hash.h (struct hash_control): Declare, don't define, here.
773         (HASH_STATLENGTH): Deleted.
774         (struct hash_entry): Add field for hash code.
775         (hash_say, hash_apply): Don't declare.
776
777         * hash.c (destroy): Return void.
778         (applicatee): Ditto.
779         (main): Fix declarations.
780         (hash_apply): Return void.  Argument `function' returns void.  Put
781         inside "#ifdef TEST".
782         (hash_say): Define only if TEST is defined.
783         * hash.h (hash_apply, hash_say): Declarations deleted.
784
785 Mon Nov 27 13:18:25 1995  Ian Lance Taylor  <ian@cygnus.com>
786
787         * configure: Rebuild with autoconf 2.7.
788
789 Tue Nov 21 18:39:01 1995  Ian Lance Taylor  <ian@cygnus.com>
790
791         * aclocal.m4 (AC_PROG_CC): Remove local definition.
792         * configure: Rebuild with autoconf 2.6.
793
794 Mon Nov 20 17:26:00 1995  Ian Lance Taylor  <ian@cygnus.com>
795
796         * config/tc-ppc.c (ppc_debug_name_section_size): Remove.
797         (ppc_stabx): Don't increment ppc_debug_name_section_size.
798         (ppc_bc): Likewise.
799         (ppc_frob_file): Remove.
800         * config/tc-ppc.h (tc_frob_file): Don't define.
801         (ppc_frob_file): Don't declare.
802
803 Mon Nov 20 13:37:05 1995  Ken Raeburn  <raeburn@cygnus.com>
804
805         * Makefile.in (TARG_CPU_DEP_alpha): Mention alpha-opcode.h.
806         * config/alpha-opcode.h: Include one-operand variants of jmp and
807         jsr.
808
809         * config/te-delt88.h: Renamed from te-delta88.h, to avoid conflict
810         with te-delta.h in 8.3 file systems.
811         * configure.in: Adjusted.
812
813 Thu Nov 16 12:49:38 1995  Ian Lance Taylor  <ian@cygnus.com>
814
815         * config/tc-mips.c (s_err): Remove; just use the one in read.c.
816
817         * config/m68k-parse.y (yylex): In MRI mode, '@' can start an octal
818         number.
819         * expr.c (operand): Handle MRI suffixes after unadorned 0.
820
821 Thu Nov 16 00:21:44 1995  Ken Raeburn  <raeburn@cygnus.com>
822
823         Version 2.6 released.
824         * Makefile.in (VERSION): Updated to 2.6.
825
826         * config/obj-coff.c (write_object_file): Change use of md_do_align
827         to pass a pointer rather than a fill value, to match other uses.
828
829 Wed Nov 15 03:52:00 1995  Ken Raeburn  <raeburn@cygnus.com>
830
831         * config/tc-ns32k.h (TC_FIX_TYPE): Add missing semicolon.
832
833         * as.c (main): Move md_end call to just after call to
834         perform_an_assembly_pass.  Delete cpu-specific code here.
835         * config/tc-i960.h (md_end): New macro, calls brtab_emit.
836 start-sanitize-rce
837         * config/tc-rce.c (md_end): Deleted.
838         * config/tc-rce.h (md_end): New macro, calls dump_literals.
839 end-sanitize-rce
840         * config/tc-arm.c (md_end): Unused function deleted.
841         * config/tc-ns32k.c (md_end): Ditto.
842
843         * config/tc-i386.c (i386_align_code): New function, moved here
844         from HANDLE_ALIGN macro.
845         * config/tc-i386.h (HANDLE_ALIGN): Call it.
846
847         Mon Jul 31 14:53:19 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
848
849         * config/tc-i386.h (md_do_align): cast fill and 0x90 to char
850         before comparing
851
852         Mon May  1 10:91:49 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
853
854         * config/tc-i386.h (md_do_align):  Make ".align n,0x90" generate
855         multi-byte nops to avoid changing gcc.  The necessary gcc change
856         might break old assemblers.
857
858         Sat Apr 22 20:53:05 1995  Alan Modra  <alan@spri.levels.unisa.edu.au>
859
860         * config/tc-i386.h (md_do_align, HANDLE_ALIGN):  Add macros to
861         generate optimal multi-byte nop instructions for ".align n"
862         ".align n,0x90", and aligns requiring more than 15 bytes of
863         padding still generate multiple 0x90's as before.
864
865 Mon Nov 13 17:40:21 1995  Ian Lance Taylor  <ian@cygnus.com>
866
867         * config/tc-m68k.c (s_mri_until): Call pop_mri_control.
868
869 Mon Nov 13 20:39:06 1995  Stan Shebs  <shebs@andros.cygnus.com>
870
871         * configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations.
872         * configure: Update.
873         * mpw-make.sed: Reorder commands to make sed happier.
874         * config/te-macos.h: New file.
875         * config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac.
876
877 Sun Nov 12 21:14:56 1995  Jeffrey A Law  (law@cygnus.com)
878
879         * config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for
880         conditional branches.
881         (md_apply_fix): Likewise.
882
883 Thu Nov  9 16:14:01 1995  Ian Lance Taylor  <ian@cygnus.com>
884
885         * config/tc-a29k.c (md_apply_fix): Warn if an attempt is made to
886         generate a reloc which the linker will not handle correctly.  Fix
887         overflow checking--R_IREL is 18 bits, not 17.
888
889 Wed Nov  8 19:59:36 1995  Ian Lance Taylor  <ian@cygnus.com>
890
891         * config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from
892         from a PC relative reloc if TC_A29K.
893
894         * config/tc-a29k.c (line_separator_chars): Restore '@'.  Existing
895         code depends upon it.
896
897         * config/tc-a29k.c (md_operand): Handle $float, $double, and
898         $extend.  Based on code from Eric Freudenthal
899         <freudenthal@nyu.edu>.
900         * config/tc-a29k.h (LEX_DOLLAR): Define.
901         * read.c (LEX_DOLLAR): Define if not defined.
902         (lex_type): Use LEX_DOLLAR.
903
904 Wed Nov  8 16:38:14 1995  Eric Freudenthal <freudenthal@nyu.edu>
905
906         * configure.in (a29k-nyu-sym1): New target, just like other a29k
907         targets.
908
909 Wed Nov  8 11:38:48 1995  Ian Lance Taylor  <ian@cygnus.com>
910
911         * config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return.
912
913 Tue Nov  7 09:14:35 1995  Kim Knuttila  <krk@cygnus.com>
914
915         * config/tc-ppc.c (md_apply_fix3): Added BFD_RELOC_RVA. Currently
916         used only by "dlltool.c".
917
918 Mon Nov  6 18:51:26 1995  Ian Lance Taylor  <ian@cygnus.com>
919
920         * config/tc-alpha.c: Undefine inline if not __GNUC__.
921         (md_pseudo_table): Don't define "extern".
922
923 Sat Nov  4 00:51:21 1995  Ian Lance Taylor  <ian@cygnus.com>
924
925         * config/tc-ppc.c (ppc_biei): Force symbol into text_section.
926
927         * config/tc-ppc.c (md_show_usage): Put backslash at end of line.
928
929 Fri Nov  3 13:02:59 1995  Ian Lance Taylor  <ian@cygnus.com>
930
931         * macro.c (macro_expand_body): Don't warn about == with a
932         nonexistent parameter, in case it is in a comment field.
933
934         * as.c (main): On TC_A29K, call macro_init with macro_alternate
935         set to 1.
936         * macro.c (get_any_string): Don't keep quotes if macro_strip_at is
937         set, even if macro_alternate is set.
938         (get_apost_token): If macro_strip_at, only skip kind if it is '@'.
939         (sub_actual): If macro_strip_at, and kind is '@', don't look up
940         the token unless it ended in '@'.
941         * config/tc-a29k.c (line_separator_chars): Remove '@'.
942         * doc/c-a29k.texi: Document macro usage on A29K.
943
944 Thu Nov  2 23:07:57 1995  Ian Lance Taylor  <ian@cygnus.com>
945
946         * config/tc-m68k.c (m68k_ip): Handle new 'W' place, meaning a
947         signed word.
948         (install_operand): Likewise.
949
950         * config/obj-elf.c (ecoff_debug_pseudo_table): Add "extern".
951
952 Wed Nov  1 15:17:02 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
953
954         * configure.in (m88k-motorola-sysv*): New target.
955         * configure: Rebuild.
956         * config/te-delta88.h: New file.
957         * config/obj-coff.c (write_object_file): Use md_do_align if it is
958         defined.
959         * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define.
960         (md_do_align): Define.
961         * config/tc-m88k.c: Include "subsegs.h".
962         (m88k_do_align): New function.
963
964         * config/te-delta.h (STRIP_UNDERSCORE): Don't define.
965         (COFF_NOLOAD_PROBLEM): Define.
966         (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): Define.
967
968 Wed Nov  1 16:07:43 1995  Ken Raeburn  <raeburn@cygnus.com>
969
970         * config/tc-i386.c (md_assemble): For a jump instruction with
971         non-constant target, require 7 available bytes in the current
972         frag, not 6.
973
974 Tue Oct 31 15:37:16 1995  Fred Fish  <fnf@rtl.cygnus.com>
975
976         * config/obj-elf.h: Include bfd/elf-bfd.h rather than
977         bfd/libelf.h.
978
979 Tue Oct 31 16:34:28 1995  David Mosberger-Tang  <davidm@azstarnet.com>
980
981         * configure.in (alpha-*-linux*): Use ecoff.
982         * configure: Rebuild.
983         * ecoff.c (ecoff_directive_extern): New function.
984         (ecoff_directive_weakext): New function.
985         (ecoff_build_symbols): Handle weak symbols.
986         (ecoff_setup_ext): Likewise.
987         (ecoff_frob_symbol): Warn about weak common symbols.
988         * ecoff.h (ecoff_directive_extern): Declare.
989         (ecoff_directive_weakext): Declare.
990         * symbols.c (S_IS_WEAK): New function.
991         * symbols.h (S_IS_WEAK): Declare.
992         * config/obj-ecoff.c (obj_pseudo_table): Add "extern" and
993         "weakext".
994         * config/tc-mips.c (mips_pseudo_table): Remove "extern".
995         (s_extern): Remove.
996
997 Tue Oct 31 13:29:08 1995  Ian Lance Taylor  <ian@cygnus.com>
998
999         * config/tc-ppc.c (ppc_lglobl): Do the right thing.
1000
1001         * config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS.
1002         (ppc_eb): Likewise.  Set the storage class to C_BLOCK, not C_FCN.
1003         (ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT.
1004         * config/obj-coff.c (coff_frob_symbol): Don't call
1005         SA_SET_SYM_ENDNDX with the current symbol; call it with the next
1006         one.  If OBJ_XCOFF, try to figure out whether the symbol is going
1007         to be dropped.
1008
1009         * config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec".
1010         (ppc_stab_symbol): New static variable.
1011         (ppc_change_csect): Check that ppc_toc_csect is not NULL.
1012         (ppc_stabx): Set ppc_stab_symbol around call to symbol_make.  Set
1013         sy_tc.real_name to the stab string.
1014         (ppc_bc, ppc_ec): New static functions.
1015         (ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't
1016         do anything.
1017         (ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a
1018         suffix.
1019         (ppc_frob_symbol): Set BSF_NOT_AT_END for symbols with csect aux
1020         entries.
1021
1022         * input-scrub.c (input_scrub_push): Reset sb_index.
1023
1024 Mon Oct 30 17:52:46 1995  Ian Lance Taylor  <ian@cygnus.com>
1025
1026         * listing.c (listing_newline): Don't create a frag in the absolute
1027         section.
1028
1029 Sat Oct 28 01:02:05 1995  Ian Lance Taylor  <ian@cygnus.com>
1030
1031         * config/tc-ppc.c (md_pseudo_table): Add "data" and "text".
1032         (ppc_csect): Move most of the code to ppc_change_csect, and call
1033         it.
1034         (ppc_change_csect): New static function, taken from ppc_csect.
1035         (ppc_section): New static function.
1036         (ppc_saw_abs): New static varable.
1037         (ppc_frob_symbol): Create aux entry for absolute symbols.  Warn if
1038         a symbol has no csect.
1039         (ppc_adjust_symtab): New function.
1040         * config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF.
1041         (ppc_adjust_symtab): Declare if OBJ_XCOFF.
1042
1043         * write.c (write_object_file): If tc_adjust_symtab is defined,
1044         call it just before the call to obj_adjust_symtab.
1045
1046         * symbols.c (symbol_find_or_make): Change name to be const.
1047         * symbols.h (symbol_find_or_make): Update declaration.
1048
1049 Thu Oct 26 19:18:27 1995  Ken Raeburn  <raeburn@cygnus.com>
1050
1051         * doc/as.texinfo (Align): Mention SH.
1052         * doc/c-m68k.texi (M68K-Directives, .even): Describe behavior, not
1053         .align value.
1054         * doc/c-z8k.texi (Z8000 Directives, global): Fix minor typo.
1055         (Z8000 Directives, even): Don't give numeric align value, instead
1056         explain behavior.
1057
1058 Thu Oct 26 11:45:03 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
1059
1060         * tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a pre-increment
1061         instruction.
1062
1063 Wed Oct 25 11:59:24 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1064
1065         * Makefile.in (diststuff):  Also make info.
1066         (maintainer-clean realclean):  Also make clean-info.
1067
1068 Tue Oct 24 15:21:33 1995  Jeffrey A Law  (law@cygnus.com)
1069
1070         * config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode.
1071         (pa_subspace): For ".nsubspa", always create a new subspace
1072         with the given attributes, even if one already exists with the
1073         same name.
1074
1075 Tue Oct 24 14:50:38 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
1076
1077         * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Rename from
1078         TC_FORCE_RELOCATION, taking an additional section argument.  If
1079         the section of the target symbol is not the same as the current
1080         section, always force the relocation to be used.
1081         (MD_PCREL_FROM_SECTION): New macro to call md_pcrel_from_section.
1082
1083         * config/tc-ppc.c (md_pcrel_from_section): Rename from the
1084         md_pcrel_from function, taking an additional section argument.
1085         Invoke TC_FORCE_RELOCATION_SECTION instead of TC_FORCE_RELOCATION.
1086
1087         * write.c (TC_FORCE_RELOCATION_SECTION): Define in terms of the
1088         older TC_FORCE_RELOCATION if not defined.
1089         (MD_PCREL_FROM_SECTION): If not defined, invoke md_pcrel_from.
1090         (fixup_segment): Use MD_PCREL_FROM_SECTION instead of
1091         md_pcrel_from, and TC_FORCE_RELOCATION_SECTION instead of
1092         TC_FORCE_RELOCATION.
1093         
1094 Mon Oct 23 16:20:04 1995  Ken Raeburn  <raeburn@cygnus.com>
1095
1096         * input-scrub.c (as_where): Set name to null pointer if we don't
1097         have a file name.
1098         * messages.c (identify): Only print filename if non-null.
1099         (as_show_where): Ditto, for line number too.
1100         (as_warn_internal, as_bad_internal): Ditto.
1101
1102         * input-file.c (input_file_open): If the input file can't be
1103         opened, consider it an error.
1104
1105 Mon Oct 23 11:15:44 1995  James G. Smith  <jsmith@pasanda.cygnus.co.uk>
1106
1107         * config/tc-mips.c: Added mips_4100 control, and support for
1108         accepting the 4100 as a MIPS architecture variant (md_begin,
1109         macro_build, mips_ip, md_parse_option). Adding suitable
1110         command-line OPTIONs, and updating the help text (md_show_usage).
1111         
1112 Wed Oct 18 13:20:32 1995  Ken Raeburn  <raeburn@cygnus.com>
1113
1114         * subsegs.c (subseg_begin): Only set absolute_frchain.fix_* when
1115         BFD_ASSEMBLER is defined.
1116
1117         * Use one active frag and one obstack per frag chain:
1118         * frags.c (frags): Variable deleted.
1119         (frag_alloc): New function.
1120         (frag_grow, frag_more, frag_variant, frag_now_fix,
1121         frag_append_1_char): Refer to frchain_now->frch_obstack instead of
1122         frags variable.
1123         (frag_new): Ditto.  Verify that frch_last and frag_now match on
1124         entry and exit, and that old frag_now has non-zero type.  Replace
1125         "know" uses with "assert".  Use frag_alloc instead of mucking with
1126         obstack alignment.
1127         * frags.h (frags): Declaration deleted.
1128         * subsegs.h (struct frchain): Add new field frch_frag_now.
1129         * subsegs.c (frchains, dummy_frag, absolute_frchain): New static
1130         variables.
1131         (subsegs_begin): Initialize frchains obstack.  Under gcc, don't
1132         give it any stricter alignment than frchainS structures need.  Do
1133         not initialize frags obstack.  Set frag_now to point to
1134         dummy_obstack.  Initialize absolute_frchain.
1135         (subseg_set_rest): Save and restore frag_now in frch_frag_now
1136         field of frchainS.  Don't create new frags on section switch, and
1137         use frag_alloc when creating a new frag chain.  For absolute
1138         section, set frchain_now to absolute_frchain.  Verify that
1139         frch_last and frag_now match on entry and exit.  Initialize
1140         per-chain obstack, and under gcc, set required alignment to that
1141         needed by fragS structure.
1142
1143         * write.c (chain_frchains_together_1): Verify fr_type is nonzero.
1144
1145         * stabs.c (get_stab_string_offset): Only copy input string if a
1146         fresh copy is needed, not if the section already exists.
1147         (s_stab_generic): Cache stab section name to bypass lookups, since
1148         usually it will match.  Could be made faster still by changing the
1149         memory allocation rules.
1150         (s_xstab): Cache section name to bypass repeated string
1151         allocation.
1152
1153         * frags.c (frag_new): Deleted register declarations.
1154
1155         * listing.c (frag_now): Don't declare.
1156
1157         * as.c (chunksize): New variable.
1158         (debug_memory): New variable.
1159         (main): If debug_memory is set, reduce chunksize and
1160         _bfd_chunksize.
1161         * as.h (chunksize): Declare it.
1162         * read.c (read_begin): Use it.
1163
1164         * config/tc-alpha.c (md_shortopts): Include 'g'.
1165         (md_parse_option): Ignore it.
1166
1167         * Makefile.in (distclean): Remove Makefile and config.status from
1168         testsuite directory.
1169         (clean-here): Don't delete testsuite.  Instead, delete only the
1170         files within it that would be generated by running tests.
1171
1172         * config/tc-hppa.c (hppa_elf_mark_end_of_function): Call
1173         frag_now_fix instead of accessing obstack info directly.
1174         * config/tc-arm.c (s_ltorg): Ditto.
1175         (md_assemble): Ditto.
1176
1177         * config/tc-i386.c (md_assemble): Call frag_grow instead of
1178         obstack_room.
1179
1180 Wed Oct 18 12:22:59 1995  Ken Raeburn  <raeburn@cygnus.com>
1181
1182         * stabs.c (aout_process_stab): Insert debug symbol into symbol
1183         chain after parsing value expression, if any, to avoid separating
1184         continued .stabs lines.
1185
1186 Mon Oct 16 10:56:41 1995  Ian Lance Taylor  <ian@cygnus.com>
1187
1188         * config/tc-mips.c (mips_elf_pseudo_table): Remove.
1189         (mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table.
1190
1191 Mon Oct 16 07:07:37 1995  Michael Meissner  <meissner@wogglebug.tiac.net>
1192
1193         * config/tc-ppc.c (md_begin): Use new flags PPC_OPCODE_COMMON for
1194         -mcom support and PPC_OPCODE_ANY for -many.
1195         (md_parse_option): Ditto.
1196         (ppc_arch): Ditto.
1197         (md_begin): For duplicate instructions, print all duplicates
1198         before aborting.
1199
1200 Sun Oct 15 22:06:14 1995  Michael Meissner  <meissner@cygnus.com>
1201
1202         * config/tc-ppc.c (md_parse_option): Support for -mcom to turn on
1203         common mode operation.
1204         (md_show_usage): Add -mcom to usage message.
1205
1206 Fri Oct 13 13:32:45 1995  steve chamberlain  <sac@slash.cygnus.com>
1207
1208         * expr.c (op_rank): Add O_symbol_rva.
1209         * expr.h (operatorT): Add O_symbol_rva.
1210         * read.c (cons_worker): Set O_symbol_rva when necessary.
1211         * write.c (fix_new_exp): Understand O_symbol_rva.
1212
1213 Tue Oct 10 11:34:14 1995  Ian Lance Taylor  <ian@cygnus.com>
1214
1215         * config/tc-mips.c: Correct s_cons arguments.  From Michael
1216         Joosten <joost@ori.cadlab.de>.
1217
1218 Mon Oct  9 19:59:53 1995  Ian Lance Taylor  <ian@cygnus.com>
1219
1220         * config/tc-ppc.c (ppc_macro): Make count unsigned.
1221         (ppc_biei): Set segment to now_seg and value to coff_n_line_nos.
1222         (ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting
1223         the fix_line field.
1224         * config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and
1225         make non-static.  Change all users.
1226         * config/obj-coff.h (coff_n_line_nos): Declare.
1227
1228 Fri Oct  6 16:24:27 1995  Ken Raeburn  <raeburn@cygnus.com>
1229
1230         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1231
1232         * configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message.
1233
1234         * config/obj-elf.c (obj_elf_common): Convert specified byte
1235         alignment to power of two.  Set size of local bss symbol.
1236
1237         * config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name.
1238
1239 Fri Oct  6 15:22:25 1995  Ian Lance Taylor  <ian@cygnus.com>
1240
1241         * sb.c, macro.c: Decide whether to include <string.h> or
1242         <strings.h> just as as.h does.
1243
1244 Fri Oct  6 09:55:33 1995  Doug Evans  <dje@canuck.cygnus.com>
1245
1246         * Makefile.in (site.exp): Fix setting of $srcdir.
1247
1248         * config/tc-arm.c (md_atof): Fix little-endian output.
1249         * config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for
1250         all coff targets.
1251
1252 Thu Oct  5 20:17:30 1995  Ken Raeburn  <raeburn@cygnus.com>
1253
1254         * doc/as.texinfo: Split out the NS32k family documentation,
1255         despite its being commented out for now.
1256         * doc/c-ns32k.texi: New file.
1257
1258         * sb.c, macro.c: Include string.h.
1259
1260         * Makefile.in (comparison): Only check *.o; we don't care if
1261         timestamps inserted by the native linker differ.
1262
1263         * config/tc-alpha.c (alpha_align): Only fill with a no-op pattern
1264         if alignment stricter than 4 bytes is requested; in that case,
1265         align to a 4-byte boundary first.
1266
1267         Thu Sep 28 19:35:27 1995  Pat Rankin  <rankin@eql.caltech.edu>
1268
1269         * config/obj-vms.c (VMS_RSYM_Parse): eliminate "might be used
1270         uninitialized" warning for `Max_Source_Offset'.
1271
1272 Wed Oct  4 16:17:02 1995  Kim Knuttila  <krk@cygnus.com>
1273
1274         * config/tc-ppc.c (parse_toc_entry): New function to parse [toc]
1275         qualifiers and detect errors if present.
1276         (md_assemble): Add call to parse_toc_entry. Also added some support
1277         for the [tocv] qualifier.
1278         (ppc_pe_tocd): New function to support data in the toc section.
1279
1280 Wed Oct  4 14:03:39 1995  Ian Lance Taylor  <ian@cygnus.com>
1281
1282         * config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for
1283         an absolute symbol.
1284
1285 Tue Oct  3 12:18:19 1995  Ian Lance Taylor  <ian@cygnus.com>
1286
1287         * config/tc-m68k.c (isword): Accept all values from -65536 to
1288         +65535, so ~VAL will not be rejected.
1289
1290         * cond.c (s_endif): Call demand_empty_rest_of_line.  In MRI mode,
1291         skip characters after the pseudo-op.
1292         (s_else): Likewise.
1293         * read.c (get_line_sb): Don't look past buffer_limit.
1294         (s_include): In MRI mode, skip characters after the file name.
1295
1296 Mon Oct  2 16:15:27 1995  Ian Lance Taylor  <ian@cygnus.com>
1297
1298         * config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit
1299         periods in register names.
1300
1301 For older changes see ChangeLog.1.