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