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