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