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