1 Mon Aug 16 14:16:02 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
3 * configure.in (z8k-*-{coff,sim}): use coffbfd for this target
5 Thu Aug 12 11:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7 * config/tc-mips.c (mips_ip): Suggested by
8 davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
9 names for 'E' and 'G' argument types (coprocessor registers) and
10 don't warn if $1 is used on the coprocessor.
11 (macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
13 Mon Aug 9 12:09:14 1993 Doug Evans (dje@canuck.cygnus.com)
15 * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
16 * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
18 * config/tc-sparc.h (WORKING_DOT_WORD): Define.
20 Mon Aug 9 13:36:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
22 * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
23 defined or BFD is not.
24 (relax_and_size_all_segments): Declare local variable fragP.
26 Fri Aug 6 15:22:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
28 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
29 bytes with real values, not zeros.
31 Fri Aug 6 10:57:59 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
33 * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
34 targets, using ecoff and mips-big.
36 * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
37 Johnson): Added case for 'C' for coprocessor instruction codes.
39 Thu Aug 5 13:08:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
41 * config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
43 * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
45 * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
46 for verifying symbol chain.
47 (merge_data_into_text, relax_and_size_all_segments): New
48 functions, split out from write_object_file.
50 Tue Aug 3 15:43:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
52 * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
53 debug section is new, allocate an extra 12 bytes at its start. If
54 ".stabs" type is N_SO, fill in filename symbol field of that first
55 entry. Return early if "goof", to simplify later code slightly.
56 (adjust_stab_sections): New function.
57 (elf_frob_file): Apply adjust_stab_sections to each section.
59 * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
61 * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
62 * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
63 and "popsection", and call cons for "uaword" and "uahalf".
65 * config/obj-elf.c (obj_elf_version): Use English in error
68 Tue Aug 3 11:29:06 1993 Ian Lance Taylor (ian@cygnus.com)
70 * config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the
71 swapping routines and external structure sizes via the
72 ecoff_backend information. No longer includes coff/mips.h.
74 Mon Aug 2 17:35:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
76 * config/obj-ecoff.c (get_tag): Save tag name in permanent memory
77 and in hash_ptr->string.
79 * app.c (do_scrub_next_char): Reset state to 0 after .appline if
80 file name is not seen.
82 Thu Jul 29 22:21:28 1993 Ian Lance Taylor (ian@cygnus.com)
84 * write.c: Don't use short int in a prototype.
86 * expr.c (operand): Make return value simply depend on contents of
89 Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
91 * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
93 Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
95 * config/ho-sunos.h: remove some old function decls that conflict
96 w/ ANSI, and which weren't needed anyway
98 Wed Jul 28 16:34:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
100 * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
101 and disabled since it breaks Ian's new symbol-value code.
103 * expr.c (integer_constant): Accept more digits if BFD64.
105 Wed Jul 28 11:30:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
107 * config/tc-m68k.c (m68k_ip): If we have a normal constant when we
108 expect a bignum, turn it into a bignum. Output extra zeroes
109 before a short bignum, rather than after.
111 Tue Jul 27 15:54:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
113 * symbols.c (symbol_new): Conditionalize verify_symbol_chain call
114 on DEBUG_SYMS, not DEBUG.
115 (symbol_remove): Likewise.
116 (symbol_insert): Likewise.
118 Tue Jul 27 08:45:05 1993 Ian Lance Taylor (ian@cygnus.com)
120 * config/tc-mips.c (mips_optimize): New static variable.
121 (append_insn): If mips_optimize == 0, always insert NOP
122 instructions. If mips_optimize < 2, don't swap branches.
123 (md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
125 Mon Jul 26 18:02:43 1993 K. Richard Pixley (rich@sendai.cygnus.com)
127 * Makefile.in (clean): if testsuite does not exist, then skip it.
129 Fri Jul 23 14:13:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
131 * config/tc-mips.c (prev_insn_unreordered,
132 prev_prev_insn_unreordered): New static variables.
133 (append_insn): Don't swap branch instruction if
134 prev_prev_insn_unreordered (see comment).
135 (mips_no_prev_insn): Clear the unreordered variables.
136 (s_mipsset): When turning on reordering, set the unreordered
139 Fri Jul 23 13:09:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
141 * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
142 are also magic, and have special default flag settings.
143 (obj_elf_frob_symbol): Since the return value from this function
144 isn't used, don't bother calling obj_elf_write_symbol_p, since it
145 doesn't accomplish anything else.
147 * config/tc-sparc.c (md_section_align): Round up section size only
150 * symbols.c: Don't define DEBUG by default.
152 Thu Jul 22 12:09:41 1993 Ian Lance Taylor (ian@cygnus.com)
154 * write.c (fix_new_exp): Handle a O_uminus expression.
156 * expr.c (expr): Don't let absolute_section override
157 undefined_section for the return value.
159 * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
160 pseudo-op with a poc_handler field of NULL, ignore it and treat it
161 as an instruction instead.
162 * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
165 * config/tc-h8500.c (md_begin): Use a local variable when
166 initializing md_relax_table to avoid warnings about modifying a
167 supposedly const data structure.
169 Thu Jul 22 10:58:51 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
171 * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
174 Wed Jul 21 17:32:02 1993 Fred Fish (fnf@deneb.cygnus.com)
176 * configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv.
177 * configure.in (case ${generic_target}): Add i[34]86-*-sysv4*
178 case to set obj_format=elf. Must go before i386-*-sysv* case that
179 sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and
180 *-*-solaris case, and move to before *-sysv* case that wants to
181 set obj_format to coff.
182 * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
184 * config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for
187 Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
189 * config/obj-aout.c: Include aout/aout64.h.
190 (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
191 symbol, so that BFD doesn't tamper with the type.
193 * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
194 up opcodes as pseudo-ops even if they don't start with '.'.
195 * config/tc-m88k.h (NO_PSEUDO_DOT): Define.
196 * config/tc-m88k.c (md_assemble): Removed special pseudo-op
198 (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
199 Output the low 16 bits for RELOC_HI16, not the high 16 bits.
200 * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
201 r_offset field of the reloc to the fixup offset.
202 (fixup_segments): If TC_M88K, don't warn about fixup overflows.
203 * doc/as.texinfo: Minor updates.
205 Tue Jul 20 19:28:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
207 * Extensive changes to permit symbols to contain any expression
208 type and to delay the computation of the expression until the
209 value is actually needed. This permits setting symbols to values
210 calculated based on object code size. Expressions were changed to
211 no longer be in a section, to stop the overloading of segment and
212 expression type that previously occurred.
214 * as.c (big_section, pass1_section, diff_section, absent_section):
216 (expr_section): Added (used for dummy symbols which hold
217 intermediate expression values).
218 (perform_an_assembly_pass): Create expr_section, do not create the
219 sections now removed.
220 * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
221 SEG_DIFFERENCE. Added SEG_EXPR.
222 (SEG_NORMAL): Corresponding changes.
223 * subsegs.c (seg_name, subsegs_begin): Changed accordingly.
224 * write.c (write_object_file): Ditto.
225 * config/obj-aout.c (seg_N_TYPE): Ditto.
226 * config/obj-bout.c (seg_N_TYPE): Ditto.
227 * config/obj-coff.c (seg_N_TYPE): Ditto.
228 * config/obj-coffbfd.c (seg_N_TYPE): Ditto.
229 * config/obj-vms.c (seg_N_TYPE): Ditto.
231 * expr.h (operatorT): Moved in from expr.c, added some values.
232 (expressionS): Added X_op field, removed X_seg field; renamed
233 X_subtract_symbol to X_op_symbol.
234 * expr.c: Extensive changes to assign expression types rather than
235 sections and to simplify the parsing.
236 * write.c (fix_new_internal): New static function.
237 (fix_new): Removed sub_symbol argument.
238 (fix_new_exp): New function, takes expression argument.
239 * write.h: Prototype changes for fix_new and fix_new_exp.
240 * cond.c (s_if): Changed accordingly.
241 * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
242 parse_repeat_cons, get_segmented_expression,
243 get_known_segmented_expression, get_absolute_expression): Ditto.
244 * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
246 * write.c (write_object_file): Ditto.
247 * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
248 * config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
249 obj_coff_endef, yank_symbols): Ditto.
250 * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
251 * config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
252 print_insn, md_operand): Ditto.
253 * config/tc-h8300.c (parse_exp, colonmod24, check_operand,
254 do_a_fix_imm, build_bytes): Ditto.
255 * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
256 get_specific, check, insert, md_convert_frag): Ditto.
257 * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
258 md_assemble, pa_ip, getExpression, getAbsoluteExpression,
259 evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
260 process_exit): Ditto.
261 * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
263 * config/tc-i386.c (pe, md_assemble, i386_operand,
264 md_estimate_size_before_relax, md_create_long_jump): Ditto.
265 * config/tc-i860.c (md_assemble, getExpression, print_insn):
267 * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
268 get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
269 i960_handle_align): Ditto.
270 * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
271 subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
272 md_estimate_size_before_relax, md_create_long_jump, get_num):
274 * config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
275 md_create_short_jump, md_create_long_jump): Ditto.
276 * config/tc-mips.c (md_assemble, append_insn, gp_reference,
277 macro_build, macro, my_getExpression): Ditto. Also removed
278 get_optional_absolute_expression; just use get_absolute_expression
280 * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
281 fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
282 * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
283 * config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
285 * config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
287 * config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
288 tip_op, md_assemble): Ditto.
289 * config/tc-vax.c (seg_of_operand, md_assemble,
290 md_estimate_size_before_relax, md_create_long_jump): Ditto.
291 * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
293 Tue Jul 20 12:17:16 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
295 * configure.in: i386-lynx is the same as i386-coff
297 Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
299 * config/obj-elf.c (obj_elf_previous): New function.
300 (previous_section, previous_subsection): New vars.
301 (obj_elf_section): Save current place in case DWARF code wants us
302 to pop back to it. Handle unquoted section name as well as quoted
303 section name. Don't crash on invalid strings.
304 (obj_pseudo_table): Handle new pseudos "previous", "2byte", and
307 * config/obj-elf.h: Don't include struc-symbol.h.
308 (obj_elf_frob_symbol): Declare arg as struct symbol *.
310 * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
313 * write.c (write_relocs): New function, split off from
314 write_contents. Use memset instead of bzero.
315 (write_object_file): Apply write_relocs to each section before
316 applying write_contents.
318 * read.c (read_begin): Call obstack_begin with values closer to 1K
320 (read_a_source_file, big_cons, float_cons): Use memcpy instead of
323 Mon Jul 19 14:30:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
325 * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
326 calculating opP->isiz; this permits the expression size to be
327 determined as well, later on.
329 * expr.c (clean_up_expression): Don't cancel the subtraction of
332 * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
333 switch to text section rather than data section.
335 Mon Jul 19 12:35:39 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
337 * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
338 expression (to take the pc-rel instruction itself into account)
339 before using the expression, instead of after.
341 Fri Jul 16 08:56:04 1993 Ian Lance Taylor (ian@cygnus.com)
343 * read.c (float_cons): Simplified parsing logic. If
344 REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
346 * symbols.c (colon): Rather than a special case for TC_HPPA,
347 use new macro tc_frob_label.
348 * config/tc-hppa.h (tc_frob_label): Define.
350 * config/tc-mips.c: Many changes to support simple assembler
352 (insn_label, prev_insn, prev_prev_insn, dummy_opcode,
353 prev_insn_valid, prev_insn_frag, prev_insn_where,
354 prev_insn_fixp, prev_insn_is_delay_slot): New static
356 (insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
357 mips_align, s_stringer, s_mips_space): New static functions.
358 (mips_define_label): New global function.
359 (md_pseudo_table): For "ascii", "asciz", "asciiz", call
360 s_stringer. Changed argument to float_cons from 0 or 1 to 'f'
361 or 'd'. For "space" call s_mips_space.
362 (md_begin): Call mips_no_prev_insn.
363 (append_insn): Only insert necessary NOP instructions.
364 (macro): Call mips_emit_delays before setting mips_noreorder.
365 Increment and decrement mips_noreorder rather than using
366 save_reorder_condition. Don't bother to use noreorder in
367 M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
368 (md_atof): Handle floating point numbers correctly for both
369 big and little endian targets.
370 (s_align, s_cons): Call mips_align rather than frag_align.
371 (s_change_seg, s_cons): Call mips_emit_delays.
372 (s_float_cons): Let float_cons do the work.
373 (s_mipsset): Call mips_emit_delays when setting noreorder.
374 * config/tc-mips.h (tc_frob_label): Define to be
377 * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
378 ecoff_frob_files): Consistently use S_GET_VALUE rather than
379 bfd_asymbol_value. Warn if taking difference of symbols in
382 Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
384 * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
387 * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
388 by md_pcrel_from if we are relocating against a symbol (we still
389 need md_pcrel_from for a PC relative relocation within the same
391 * config/tc-m88k.c (md_pcrel_from): Corrected return value.
392 (omagic): Removed unused variable.
394 * Preliminary support for m88k-coff.
395 * configure.in (m88k-*-coff*): New target. Use coffbfd and
397 * config/m88kcoff.mt: New file.
398 * read.c (lex_type): New macro LEX_AT to set lex type of '@'.
399 (pseudo_set): Handle difference of symbols in different fragments
400 by saving the entire expression as the value of the symbol.
401 * symbols.c (resolve_symbol_value): Resolve difference
403 * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
404 "sdef" as a synonym for "def".
405 * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
407 (S_IS_LOCAL): Any symbol which includes \001 in the name is local.
408 * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
409 m88k port up to date, and to add COFF support.
411 Wed Jul 14 15:09:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
413 * Removed sy_forward and replaced it with an undefined expression
414 as the value of a symbol.
415 * struc-symbol.h (struct symbol): Removed sy_forward field. Added
416 sy_resolved and sy_resolving single bit fields.
417 * symbols.c (symbol_new): Don't initialize sy_forward field.
418 (resolve_symbol_value): New function to adjust symbol value by
419 fragment address, using recursion to resolve forward symbols.
420 * symbols.h: Added prototype for new function.
421 * read.c (pseudo_set): Set symbolP->sy_value to an undefined
422 expression rather than setting symbolP->sy_forward.
423 * write.c (write_object_file): Use resolve_symbol_value on
424 symbols, keeping the common case (the old behaviour) inline.
425 * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
426 handling (subsumed by write.c change).
427 * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
428 sy_value rather than sy_forward.
429 * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
430 expression segment rather than sy_forward.
431 (yank_symbols): Use resolve_symbol_value.
432 (crawl_symbols): Removed extra pass over symbols.
433 * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
434 config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
435 symbols which handled sy_forward; use resolve_symbol_value
437 * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
439 * config/obj-elf.c (obj_elf_stab_generic): Check expression
440 segment rather than sy_forward.
441 * config/obj-vms.c (VMS_Check_For_Main): Don't initialize
442 sy_forward; do initialize sy_resolved and sy_resolving.
443 * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
445 * Changes to keep a full expression as the value of a symbol, not
447 * struc-symbol.h: New field sy_value.
448 * as.h: Include expr.h before struc-symbol.h.
449 * expr.h: Use struct symbol rather than symbolS.
450 * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
451 of sy_value field; compile unconditionally, not just if
453 * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
454 * write.c (write_object_file): Set BFD symbol value to gas symbol
456 * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
457 config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
458 (S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
459 * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
460 * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
461 S_GET_VALUE rather than ost_entry.n_value.
462 * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
463 (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
464 config/obj-coffbfd.c (symbol_to_chars): Get value to write out
465 using S_GET_VALUE--don't assume it is already set.
466 * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
468 * config/obj-vms.c (various): Don't assign directly to
469 S_GET_VALUE; use S_SET_VALUE instead.
471 Wed Jul 14 09:35:23 1993 Doug Evans (dje@canuck.cygnus.com)
473 * configure.in: Recognize h8300h.
475 Tue Jul 13 12:09:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
477 * config/tc-h8500.c (line_comment_chars): Add hash.
478 (parse_exp, skip_colonthing, build_bytes): Add support for
479 R_H8500_HIGH16 relocation type.
481 Mon Jul 12 11:15:34 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
483 * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
484 attribute name. Handle `execinstr' attribute.
486 Mon Jul 12 07:22:28 1993 Ian Lance Taylor (ian@cygnus.com)
488 * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
489 there is another alternative for the instruction.
491 Fri Jul 9 17:31:34 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
493 * doc/as.texinfo: updates for H8/300H
495 Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com)
497 * config/tc-i960.c (md_create_short_jump, md_create_long_jump,
498 md_number_to_chars, md_section_align): Adjusted to use valueT,
499 addressT, to match tc.h.
501 Thu Jul 8 14:15:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
503 * config/tc-sparc.c (s_common): Revamp to handle both syntaxes,
504 independent of format.
506 Thu Jul 8 07:25:25 1993 Doug Evans (dje@canuck.cygnus.com)
508 * config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h.
510 Wed Jul 7 18:11:07 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
512 * configure.in: define CROSS=-DCROSS_COMPILE if it is a cross
513 build; also recognize h8300-*-coff
515 Wed Jul 7 10:21:24 1993 Ian Lance Taylor (ian@cygnus.com)
517 * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
518 core just because somebody uses a label before it is defined.
520 * config/mips-opcode.h: Moved to opcode/mips.h.
521 * config/tc-mips.c: Include opcode/mips.h rather than
523 (append_insn): An extra NOP is only needed after instructions
524 which set HI or LO, not after instructions which read it.
525 (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
526 (macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
527 * config/tc-mips.h (struct mips_opcode): Don't define.
528 * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
529 Set to $(srcdir)/../include/opcode/mips.h.
531 Get the MIPS assembler up to speed with other gas changes:
533 * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
534 Removed; don't change the symbol value.
535 (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
536 bfd_asymbol_value rather than S_GET_VALUE to include section
538 (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
539 doesn't output them. Set the vma of sections.
540 * config/obj-ecoff.h: Don't define obj_frob_symbol.
541 * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
543 (various): use valueT rather than long.
545 Wed Jul 7 08:33:30 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
547 * as.h (valueT): Typedef moved here.
548 * struc-symbol.h (valueT): ...from here.
549 * write.c (write_object_file): Locals from_addr, to_addr,
550 table_addr are now addressT. Supply prototype for bfd_alloc for
552 (fixup_segment): Local add_number is now valueT. Correct some
554 (relax_align): Type `int' should be sufficient for the exponent.
555 (fix_new): Argument offset is type offsetT. Locals size and
556 newsize are type valueT.
557 * write.h (struct fix): Fields fx_offset and fx_addnumber are now
559 (fix_new): Fix prototype.
560 * symbols.c (symbol_new): Symbol value is type valueT.
561 (S_SET_VALUE, S_GET_VALUE): Likewise.
562 (S_IS_*): Specify int return type explicitly.
563 * symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed
565 * read.c (s_comm): Values read are type valueT.
566 * expr.h (expressionS): Field X_add_number is an offsetT.
567 * tc.h (md_create_long_jump, md_create_short_jump,
568 md_section_align): Addresses are now type addressT.
569 (md_number_to_chars, md_apply_fix): Pass value as valueT.
570 * config/tc-i386.c (md_create_short_jump, md_create_long_jump,
571 md_number_to_chars, md_section_align): Adjusted.
572 * config/tc-sparc.c (sparc_ip): Initialize `len' variable to make
574 (md_create_short_jump, md_create_long_jump, md_number_to_chars,
575 md_section_align): Adjusted.
577 * config/tc-sparc.c (s_reserve): Permit use for other than a.out
579 (s_common): Handle Solaris-2 version.
581 * config/ho-generic.h (free): Returns void if __STDC__.
583 * config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file,
584 elf_file_symbol): Declare.
586 * expr.c (floating_constant, integer_constant): Now return void.
588 Thu Jul 1 12:13:43 1993 Ian Lance Taylor (ian@cygnus.com)
590 * configure.in: Match on sparc*-fujitsu-none rather than
591 sparclite*-fujitsu-none.
593 Wed Jun 30 11:12:02 1993 Ian Lance Taylor (ian@cygnus.com)
595 * read.c (cons): Conditionalize parsing of expression. Move
596 putting value into object file into separate function. Separate
597 out MRI and WANT_BITFIELDS cases into separate functions.
598 (emit_expr): New function to write data into object file.
599 Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
601 (parse_bitfield_cons): New function to parse bitfield expressions
602 as used by i960 assemblers. Only compiled if
603 BITFIELD_CONS_EXPRESSIONS is defined.
604 (parse_mri_cons): New function to parse MRI style strings. Only
605 compiled if MRI is defined.
606 (parse_repeat_cons): New function to parse repeat counts. Only
607 compiled if REPEAT_CONS_EXPRESSIONS is defined.
608 * read.h (emit_expr): Added declaration of new function.
609 * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
610 * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
611 * config/tc-hppa.c (parse_cons_expression_hppa): New function to
612 parse a HPPA expression, rather than special case in cons
614 (cons_fix_new_hppa): New function to emit an HPPA fixup, rather
615 than special case in emit_expr function.
616 * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
617 Define to use new functions from tc-hppa.c.
618 * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
619 (WANT_BITFIELDS): Removed; now obsolete.
620 * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
621 * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
622 NS32K fixup, rather than special case in emit_expr function.
623 * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
624 cons_fix_new_ns32k. Also use PARAMS rather than checking
626 * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.
628 * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
629 Don't core dump if gas has no information about a section.
631 Wed Jun 30 06:21:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
633 * write.c (relax_and_size_seg): Always fully process a section.
634 Section size is last frag's (vm)address plus its size. If no
635 relocations are present, force SEC_RELOC flag clear.
636 (dump_section_relocs): New debugging routine.
637 (adjust_reloc_syms): New routine, broken out from write_contents.
638 Don't adjust relocs that are already relative to section symbol.
639 Look for obj_fix_adjustable macro to know what else to skip,
640 instead of obj_write_symbol. Look for section symbol stored in
642 (write_object_file): Map adjust_reloc_syms over all sections.
643 (write_contents): Clear SEC_RELOC flag if no relocations are
646 * as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to
649 * write.c (remove_subsegs): Don't define for BFD_ASSEMBLER.
651 Fri Jun 25 14:42:53 1993 K. Richard Pixley (rich@sendai.cygnus.com)
653 * Makefile.in (all, dvi, info, install-info, clean-info): do not
654 echo recursion lines.
655 (install-info, clean-info): collapse into the dvi and info rule.
657 Fri Jun 25 03:43:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
659 * as.h (strstr): Disable declaration for now.
660 (fprint_value, sprint_value): Declare.
662 * subsegs.c (subseg_new_rest): Use memset to clear new frag.
663 (subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields.
665 * expr.c (expr_part): Made sanity checks a.out-specific.
666 (expr): Disabled sanity checks.
668 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for
670 * subsegs.c (subseg_change): Initialize section symbol pointer
671 when setting up a new section.
673 * symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata
674 field back at gas symbol structure.
676 * symbols.c (colon): Cast obstack_next_free value to char* before
677 doing arithmetic on it.
678 * subsegs.c (subseg_new_rest): Likewise.
679 * as.h (frag_now_fix): Likewise.
681 * config/obj-elf.c (elf_file_symbol): Use subseg_new instead of
682 calling bfd_make_section_old_way directly, and call subseg_set
683 instead of subseg_change. Now returns void.
684 (obj_elf_write_symbol): Only check local symbols for now.
685 (elf_stab_symbol): Now static and void, and disabled until it
687 (obj_elf_size): For expression values, fail silently for now.
688 (obj_symbol_new_hook): Do nothing.
690 * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22
692 (s_local) [OBJ_ELF]: New function.
693 (md_pseudo_table) [OBJ_ELF]: Call it for "local".
694 (s_common): Rearrange to handle Solaris .common pseudo, which may
695 sometimes use bss space instead of common.
696 * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field.
698 Thu Jun 24 16:33:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
700 * configure.in: set host config to hpux for hppa*-hp-hpux
702 Thu Jun 24 13:35:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
704 * app.c (app_pop, app_push): Fix bug reported by Chris Arthur.
706 Tue Jun 22 01:04:23 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
708 * subsegs.c (subseg_new): Don't special-case a.out -R flag here.
709 * config/obj-aout.c (s_sect): Do it here.
711 * as.h (BAD_CASE): Don't make some lame compilers think we want
712 substitution inside strings.
714 * as.c (print_version_id): New function, split off from main.
716 * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id
717 for -V. Ignore -Q and -s options for now.
719 Mon Jun 21 17:37:59 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
721 * Makefile.in: make installation & builds work again for crosses
723 Sun Jun 20 18:18:26 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
725 * listing.c (list_symbol_table): Rewrite to print wide (>32 bits)
726 symbol values correctly.
728 * write.c (write_object_file): Deleted unused variables.
729 (fixup_segment): Use sprint_value.
731 * messages.c (sprint_value, fprint_value): New routines.
733 * config/obj-elf.c (elf_stab_symbol): Now returns void.
734 (obj_elf_stab_generic): Fix typo in logic.
736 * Makefile.in (INCLUDES): Look in ../bfd for bfd.h.
738 * as.h (addressT, offsetT): New types, using BFD types if
740 (relax_addressT, struct frag): Use them.
741 * struc-symbol.h (valueT, struct broken_word): Likewise.
743 * as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
744 * subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
746 Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
748 * Makefile.in: canonicalize install.sh; for use within
749 this directory (and subdirs)
751 Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se)
753 * m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
754 specified, should have both S1 and S2 fields identical
755 If only finding the problem was as fast as fixing the bug !!!!
757 Tue Jun 15 16:01:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
759 * write.c (write_contents): Do write out non-loadable sections.
760 Debug sections can fall in this category.
762 * read.c (s_app_file): Call elf_file_symbol for ELF files.
763 * config/obj-elf.c (elf_file_symbol): New function.
765 * config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_...,
766 added argument to specify section base name.
767 (obj_elf_stab_generic): Renamed from ..._stab. New argument
768 specifies section base name.
769 (obj_elf_stab): New function, calls obj_elf_stab_generic with
770 ".stab" as section base name.
771 (obj_elf_xstab): New function, calls obj_elf_stab_generic.
772 (obj_elf_type): Handle "object". Use bitwise-or to merge in
773 symbol flags rather than simply replacing, so global/local flags
775 (obj_elf_ident): Rewrite.
777 Tue Jun 15 17:03:25 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
779 * Makefile.in: remove parentdir support; use INSTALL_XFORM
781 Wed Jun 9 11:26:07 1993 Ian Lance Taylor (ian@cygnus.com)
783 * config/tc-i386.c (md_pseudo_table): .align uses a power of two
784 for any a.out target, not just Linux and 386BSD.
785 * config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out
788 Mon Jun 7 13:33:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
790 * config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h. They
791 don't exist or duplicate other inclusions.
793 * config/tc-vax.h (NO_RELOC): Define.
795 Sat Jun 5 19:32:52 1993 Torbjorn Granlund (tege@nada.kth.se)
797 * gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions.
798 * gas/config/tc-m88k.c (get_reg): New arg reg_prefix. Compare first
799 char to reg_prefix instead of to 'r'.
800 (calcop): Change calls to get_reg.
801 (calcop): Handle new case 'x' to set reg_prefix.
802 (calcop): Set reg_prefix to 'r' after each call to get_reg.
803 (cmpslot): Add 88110 conditions.
805 * gas/config/m88k-opcode.h: Swap cases for "rot" for consistency.
807 * gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer
810 * gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics
811 adjacent; mov.s and mov.d swapped.
812 (m88k_opcodes): Fix typo `r2' -> `2'.
814 Fri Jun 4 15:59:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
816 * config/h8300.c: Support for H8/300-H opcodes.
818 * config/obj-coffbfd.c (w_strings): String table length is 4
819 bytes, no matter what the host int size is.
821 * configure.in (alpha-*-osf*): New.
823 Fri Jun 4 07:51:18 1993 Ian Lance Taylor (ian@cygnus.com)
825 * configure.in (mips-*-ecoffl*): New target; use ecoff and
827 (mips-*-ecoff*): Added trailing '*'.
829 * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
830 first FDR in a file to be zero.
832 Thu Jun 3 14:09:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
834 * Makefile.in (VERSION): Jump to 2.1.4.
836 * config/ho-hppabsd.h: New file, from Peter Hoogenboom.
838 * config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for
841 Tue Jun 1 15:21:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
843 * config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a
846 * config/obj-elf.c, config/obj-elf.h: Update for new type, macro,
847 and routine names. Assuming 32 bits for now.
849 * config/obj-elf.c (elf_frob_file): Look for macro
850 elf_tc_final_processing_hook, instead of assuming a function
852 * config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from
853 tc_final_processing_hook.
854 * config/tc-hppa.h (elf_tc_final_processing_hook): Use it.
856 * config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros
857 moved here from obj-elf.h.
858 * config/obj-elf.h: Don't include CPU-specific header files.
860 Sun May 30 16:49:37 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu)
862 * configure.in: configurations should match on 'hppa*' not 'hppa'.
864 * read.c: Add support for HPPA assembly language syntax (denoted
865 with '#ifdef TC_HPPA').
867 * symbols.c: Add support for HPPA assembly language syntax (denoted
868 with '#ifdef TC_HPPA').
870 * write.c (write_contents): Add support for HPPA-style
873 * config/obj-elf.c: Stab symbols weren't written properly.
876 (obj_elf_write_symbol):
877 (obj_elf_write_symbol_p):
878 (obj_elf_frob_symbol):
882 * config/tc-hppa.c: Support for HPPA symbol extension sections.
883 Remove some unused code. Support for HPPA assembly language
894 (elf_tc_make_sections):
898 Sun May 30 21:44:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
900 * config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume
901 hash_new will have succeeded if it returns.
902 * config/tc-a29k.c (md_begin): Likewise.
904 * config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is
906 (mode_from_disp_size, opcode_suffic_to_type): Now inline under
908 (fits_in_{signed,unsigned}_{byte,word}): Likewise.
910 * expr.c: Delete register declarations; gcc ignores them anyways.
912 Fri May 28 19:03:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
914 * hash.c (hash_new): Use xmalloc, since many callers don't check
917 Thu May 27 13:02:15 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
919 * frags.c (zero_address_frag, bss_address_frag): These are
922 * tc.h (md_reloc_size): This is const.
923 * config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c
924 (md_reloc_size): Now const.
926 * config/aout_gnu.h (enum machine_type, enum reloc_type): Delete
928 * as.h (enum _segT): Ditto.
930 * struc-symbol.h (N_TYPE_seg): This should be const.
932 Thu May 27 11:43:59 1993 Michael Meissner (meissner@osf.org)
934 * config/obj-ecoff.c (add_file): Cast file_name to char * in
935 listing_source_file call.
937 * config/obj-elf.c (elf_stab_symbol_string): Cast first argument
938 of subseg_new call to eliminate const attribute.
939 (obj_elf_stab): Ditto.
940 (obj_symbol_new_hook): Cast first argument of bzero call to char *.
942 * read.c (s_align_bytes): Properly record alignment.
944 * expr.c (__): Undefine __ macro before use, since OSF/1 uses it
945 for the prototype/no prototype macro.
947 * as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be
950 * as.h (relax_stateT enum): Delete trailing comma.
952 Thu May 27 11:07:50 1993 Ian Lance Taylor (ian@cygnus.com)
954 * app.c (do_scrub_begin): Let line_comment_chars override
956 (do_scrub_next_char): If a line comment character is not at the
957 start of a line, treat it as a comment character if it is one.
958 For a CPP line comment use pseudo-op .appline rather than .line.
959 * input-scrub.c (logical_input_line): Make int rather than
961 (input_scrub_push, input_scrub_begin): Initialize
962 logical_input_line to -1 rather than 0.
963 (bump_line_counters): Increment logical_input_line.
964 (new_logical_line): If line_number is -2, decrement
966 (as_where): Use logical_input_line even if it is 0.
967 * read.h (s_app_file prototype): Now takes an int argument.
968 * read.c (potable): Make .appfile call s_app_file with 1. New
969 .appline pseudo-op calls s_app_line.
970 (s_app_file): If .appfile, call new_logical_line with -2 to
971 account for newline inserted by do_scrub_next_char. If listing,
972 call listing_source_file.
973 (s_app_line): New function to handle fake pseudo-op .appline.
974 * config/obj-coff.c (obj_pseudo_table): Make .appline call
976 (obj_coff_ln): Added argument to indicate whether .appline.
977 * config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
979 (obj_coff_ln): Added argument to indicate whether .appline.
980 * config/tc-mips.c (s_file): Pass argument to s_app_file.
982 Tue May 25 11:59:07 1993 Ian Lance Taylor (ian@cygnus.com)
984 * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast.
986 Thu May 20 19:14:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
988 * config/tc-m68k.c (md_apply_fix_2): Straighten out check for
991 Wed May 19 07:33:17 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
993 * config/tc-h5000.c (build_bytes): Understand @rd mode and build
994 relocations correctly.
996 Mon May 17 15:06:26 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
998 * Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because
1001 * config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn
1002 if value is out of range.
1004 Patch from Minh Tran-Le:
1005 * config/tc-i386.c (i386_operand): For in/out port register used
1006 as base reg, include InOutPortReg in operand type.
1007 (MATCH): Accept overlap value of InOutPortReg.
1009 Mon May 17 09:29:34 1993 Ian Lance Taylor (ian@cygnus.com)
1011 * config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab):
1012 Add calls to listing routines to produce combined source/assembler
1014 (obj_ecoff_stab): Create a file pointer if none used yet.
1015 (ecoff_frob_file): Set symcount to correct value.
1017 Fri May 14 06:53:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
1019 * Makefile.in (VERSION): Bump to version 2.1, in preparation for
1022 * config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE):
1023 Define in terms of constants, not C structure sizes.
1025 * config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files.
1027 Thu May 13 17:01:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1029 * config/obj-aout.c (obj_header_append): Don't define if it's
1031 * config/obj-hp300.h (obj_header_append): Define it as a macro.
1032 * config/obj-hp300.c (hp300_header_append): New function.
1034 * Makefile.in (distclean): Don't bother cleaning up doc files;
1035 they aren't going to be in this directory.
1037 Thu May 13 07:51:35 1993 Ian Lance Taylor (ian@cygnus.com)
1039 * config/obj-ecoff.c (ecoff_build_symbols): Handle absolute
1042 * tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
1043 * config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
1045 Mon May 10 06:01:12 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1047 * config/obj-vms.c (VMS_Symbol_type_list): Don't bother with
1050 * configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff.
1052 Wed May 5 14:00:49 1993 Ian Lance Taylor (ian@cygnus.com)
1054 * config/tc-mips.c (macro): Correct floating point double word
1055 loads and stores for big endian target.
1057 Wed May 5 08:39:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
1059 * config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_*
1060 calls. Deleted some unused code.
1061 * config/obj-coff.c: Likewise.
1063 ELF support, mostly contributed by Utah:
1064 * config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line,
1065 obj_elf_type): Rewrite.
1066 (obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol,
1067 obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size):
1069 (obj_elf_ident): Dummy.
1070 * config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol,
1071 TARGET_SYMBOL_FIELDS): New macros.
1072 (gdb_section): New variable decl.
1074 * config/tc-i386.c (md_atof): Return zero, not empty string, on
1077 BFD_ASSEMBLER conditional changes:
1078 * config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header):
1080 (SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions.
1081 (fetch_coff_debug_section): Ditto.
1082 (obj_coff_endef): Call fetch_coff_debug_section.
1083 (struct line_no): New type.
1084 (c_symbol_merge): New way for copying aux fields.
1085 (c_dot_file_symbol): Put symbol in absolute section, and set flag
1087 (function_lineoff): New symbol.
1088 (function_lineoff, text_lineno_number, our_lineno_number,
1089 lineno_lastP): Don't define.
1090 (c_line_new): Don't define.
1091 (obj_emit_lineno, obj_coff_endef): Use abort calls as, uh,
1093 line-number recording gets implemented.
1094 (obj_new_symbol_hook): New code for handling aux fields.
1095 (add_lineno, add_linesym): New functions.
1096 (obj_coff_ln): Call add_lineno, not c_line_new.
1097 (obj_coff_endef): New code for handling symbol names. New lineno
1098 code. Look for section name "*DEBUG*" for debugging section.
1099 (align, coff_check_file_symbols, obj_coff_section,
1100 coff_frob_file): New functions.
1101 * config/obj-coff.h: Reordered some includes.
1102 (BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg,
1103 DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't
1105 (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros.
1106 (SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing
1107 aux entries. Most SA_* macros now use it unconditionally.
1108 (S_*): Use `bsym' field, and access BFD private data.
1109 (SF_*): Use `sy_flags' symbol field for most of these.
1110 (H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't
1112 (*_section_header): Don't define.
1113 * config/tc-i386.c (md_convert_frag, md_apply_fix): Changed
1115 (tc_gen_reloc) [I386COFF]: New function.
1116 (tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define.
1117 * config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New
1120 * config/obj-coff.c (stack_init): Don't do assignments inside
1122 (obj_coff_def): Simplified handling of symbol name a bit.
1123 (tag_insert): Name argument is now pointer to CONST.
1124 (obj_crawl_symbol_chain): Commented out.
1126 * config/obj-coff.h: Use PARAMS macro in prototypes.
1128 * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect
1129 through frchainP pointer if it is null.
1131 * configure.in: Warn if BFD mode is explicitly turned off but is
1132 required by specified target.
1133 (mips ecoff targets): Don't need to set bfd_gas here; it gets
1134 taken care of later.
1136 * config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward
1138 (yank_symbols): Merge symbols only if sy_forward is null.
1140 * config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already
1143 * tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not
1145 * config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto.
1147 * config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting
1148 with "." is a local label.
1150 * config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config
1153 * config/te-linux.h, config/te-386bsd.h: New config files.
1154 * configure.in (i386-*-linux, i386-*-bsd): Use them.
1155 * config/tc-i386.h (TARGET_FORMAT): Select format based on target
1157 (DOT_LABEL_PREFIX): Don't define for 386bsd or Linux.
1159 Wed May 5 13:14:01 1993 Ian Lance Taylor (ian@cygnus.com)
1161 * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
1162 to want it that way.
1163 (ecoff_build_symbols): Turn local st_Proc symbols into
1164 st_StaticProc symbols. Set index field of external st_Proc and
1165 st_staticProc symbols correctly.
1166 * config/tc-mips.h (NO_LISTING): Don't define. People might want
1169 Tue May 4 21:22:54 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1171 * config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New
1173 * configure.in (m68k-*-hpux): Use them.
1175 * config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if
1176 defined, otherwise zero.
1178 * config/aout_gnu.h (OMAGIC): Don't define if already defined.
1180 Mon May 3 15:59:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
1182 * config/tc-sparc.c (sparc_ip): Allow any abs expression as an
1183 address space number.
1185 Wed Apr 28 19:11:22 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
1187 * config/obj-aout.h (TARGET_DEFAULT): Don't default this at all.
1189 * config/tc-a29k.c: Include ctype.h.
1190 (define_some_regs): Added special-purpose registers for 29050.
1192 * config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/".
1194 * config/obj-coffbfd.c (fill_section): Don't set STYP_REG here.
1195 (change_to_section): Set it here instead.
1197 Wed Apr 28 13:40:29 1993 Ian Lance Taylor (ian@rtl.cygnus.com)
1199 * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
1200 hasn't been seen yet.
1201 (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
1203 Mon Apr 26 18:29:05 1993 Steve Chamberlain (sac@thepub.cygnus.com)
1205 * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi
1208 Mon Apr 26 12:28:27 1993 Ian Lance Taylor (ian@cygnus.com)
1210 * expr.c (operand): Fix unary plus operator (previously was the
1211 same as '~' operator!).
1213 Wed Apr 21 00:20:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1215 * write.c (cvt_frag_to_fill): Define even if BFD is defined.
1216 (write_object_file): Do define if BFD_ASSEMBLER. Invoke
1217 obj_check_file_symbols if defined. Call verify_symbol_chain_2
1218 instead of open-coding it. Fix some bugs in patching up symbol
1220 (relax_segment): Make some code we "ought to be able to" use for
1221 all targets no longer conditionalized on ns32k target; instead, do
1222 it always, and if the appropriate conditions fail, abort.
1224 * symbols.c (DEBUG): Enabled.
1225 (symbol_new): Make sure bfd_make_empty_symbol works.
1226 (verify_symbol_chain_2): New funcion; takes one symbol as
1227 argument, anywhere in the chain.
1228 (dollar_label*): Use default initializers.
1230 * as.c (perform_an_assembly_pass): Call md_begin here...
1231 (main): ...and not here.
1233 * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
1234 (tc_frob_symbol): New macro: Get rid of symbols in reg_section.
1236 * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
1237 (add_fix, add_frag): Now functions instead of macros.
1238 (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
1239 s_data1, s_data2, s_bss): Use new *_section names, for
1240 compatibility with BFD_ASSEMBLER mode; rewrite switch statements
1241 to handle non-integral segT.
1242 (tc_coff_fix2rtype, tc_aout_fix_to_chars,
1243 tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
1244 (tc_gen_reloc): New routine for BFD_ASSEMBLER.
1245 (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
1246 md_apply_fix_2; new md_apply_fix definition varies interface
1247 depending on BFD_ASSEMBLER.
1248 (md_convert_frag, md_convert_frag_1): Likewise. Use new *_section
1251 * config/obj-vms.c: Include config.h.
1252 (version_string): Delete declaration.
1253 (Write_VMS_MHD_Records): Use GAS_VERSION instead.
1254 (vms_resolve_symbol_redef): New function, taken from VMS code in
1257 (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
1258 VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
1259 VMS_Psect_Spec): Fixed to compiler under traditional C.
1260 * config/obj-vms.h: Use PARAMS macro.
1261 (vms_resolve_symbol_redef): Declare.
1262 (RESOLVE_SYMBOL_REDEFINITION): New macro.
1263 * symbols.c (colon): Remove some VMS-specific code, look for
1264 RESOLVE_SYMBOL_REDEFINITION macro instead.
1266 * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
1269 * config/tc-i386.c: Reordered some functions so inlining might
1270 work. Use PARAMS in function declarations.
1271 (reloc): New routine.
1272 (md_assemble): Rearrange switch statements to work with
1275 * struc-symbol.h [BFD_ASSEMBLER]: Undefine
1276 SYMBOLS_NEED_BACKPOINTERS before defining it.
1278 * subsegs.c (subseg_new_rest): Now static.
1280 * read.c (pseudo_set): Better error message for difference of
1281 symbols in different frags.
1283 * Makefile.in (check): Pass down some new variables, indicating
1284 pathname or program name for cc, nm, objdump.
1286 * as.h (OUTPUT_FLAVOR): New macro.
1287 * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
1289 * configure.in: Initialize bfd_gas properly. Warn that ELF
1290 support is incomplete.
1292 Thu Apr 15 22:39:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1294 * read.c (float_cons): Accept null pointer return from md_atof.
1295 * config/tc-m68k.c (md_atof): Return null for success.
1296 * config/tc-sparc.c (md_atof): Ditto.
1298 Thu Apr 15 16:04:39 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
1300 * doc/as.texinfo: formatting and comment cleanups; show SPARC
1301 alternative options in same style as other machines; simplify some
1302 conditional use; include GPL as separate file (from texinfo dir)
1304 * doc/Makefile.in: (as.info) include directory containing GPL in
1305 makeinfo search path
1307 * doc/h8.texi: new file; conditional settings for GAS manual
1310 Tue Apr 13 15:31:40 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
1312 * doc/as.texinfo: mention SPARC architecture options.
1314 Fri Apr 9 17:43:11 1993 Ken Raeburn (raeburn@cygnus.com)
1316 * configure.in: Rearranged whitespace in per-host/per-target
1317 sections. Added hooks for dropping in HPPA support (not included
1318 yet). Separate out overrides of variables based on target format
1319 and bfd-gas selection from actual target-specific commands. Add
1320 error message for recognized but unsupported format name.
1322 Fri Apr 9 09:05:47 1993 Ian Lance Taylor (ian@cygnus.com)
1324 * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
1325 symbolic header match cline in FDR; the native linker seems to
1328 Thu Apr 8 15:51:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1330 * doc/Makefile.in: as.texinfo is in $(srcdir). Use
1331 $(srcdir)/as.texinfo explicitly in several places
1333 Thu Apr 8 15:15:02 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
1335 * doc/Makefile.in: update dvi, clean targets for new source
1338 Thu Apr 8 12:52:46 1993 Ian Lance Taylor (ian@cygnus.com)
1340 * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
1341 rather than undefining know.
1342 * configure.in: Match ultrix*, not just ultrix.
1344 Wed Apr 7 20:18:10 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
1346 * doc/as.texinfo: converted conditional markup to use new
1347 Texinfo facilities, avoiding m4.
1349 * doc/as-all.texinfo, all.m4, pretex.m4: deleted.
1351 * doc/Makefile.in: recast doc configuration to use a link to an
1352 included texinfo file.
1354 * doc/all.texi: settings for generic form of documentation.
1356 Tue Apr 6 11:56:21 1993 Ian Lance Taylor (ian@cygnus.com)
1358 * read.c (cons): Zero out frag when creating reloc.
1360 Mon Apr 5 09:41:58 1993 Ian Lance Taylor (ian@cygnus.com)
1362 * config/tc-mips.c (gp_reference): Certain magic symbols can never
1363 be referenced off the GP register.
1365 * app.c (do_scrub_next_char): Handle states 9 and 10 correctly
1366 when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
1367 LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
1369 * config/te-irix.h: New file; irix needs a different LOCAL_LABEL
1370 definition from other MIPS targets.
1371 * configure.in (mips-*-irix): Use emulation irix.
1373 Sun Apr 4 15:21:09 1993 Steve Chamberlain (sac@thepub.cygnus.com)
1375 * config/tc-h8500.c: Get relax size of branch instructions right,
1376 (get_operand): Parse @sp+ correctly.
1378 Fri Apr 2 15:59:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1380 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
1381 COFF section header field.
1383 * configure.in: Print error message if host or target is not
1386 * configure.in: If with-bfd-assembler, use obj-coff instead of
1389 * config/ho-generic.h: Include string.h.
1391 Fri Apr 2 08:54:57 1993 Ian Lance Taylor (ian@cygnus.com)
1393 * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
1394 '$' as local, for any object file format.
1396 * config/tc-mips.c (macro): Optimizations to branching code and a
1397 couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph
1400 * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
1401 * configure.in (mips-sgi-irix*): Set gas_host to irix.
1403 Wed Mar 31 17:53:54 1993 Ian Lance Taylor (ian@cygnus.com)
1405 * subsegs.c (subseg_new): Set output_section of new section.
1406 * as.c (perform_an_assemly_pass): Don't set output_section here.
1407 * expr.c (expr_part, expr): Turn off section assertions for ECOFF,
1408 since it has additional sections.
1409 * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
1411 * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
1412 ecoff_undefined field.
1413 * config/obj-ecoff.c (obj_symbol_new_hook): Initialize
1414 ecoff_undefined field.
1415 (add_file): If using stabs, just output a stabs symbol rather than
1417 (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
1418 it with get_absolute_expression, rather than skipping it by hand.
1419 (obj_ecoff_loc): If using stabs, just output a stabs symbol rather
1420 than ECOFF line number information.
1421 (obj_ecoff_stab): Accept non-zero values for stabs line number.
1422 (ecoff_build_symbols): Set ifilesym correctly. Set storage class
1423 to small, undefined and/or readonly sections if appropriate.
1424 Don't output symbol names containing \001 characters.
1425 (ecoff_frob_file): Make sure at least one fdr is output.
1426 * config/tc-mips.h: Define TC_MIPS.
1427 * config/tc-mips.c (g_switch_value): New static variable.
1428 (md_assemble): Set gp size of output BFD.
1429 (gp_reference): New function; returns 1 if expression can be
1430 accesssed via gp. Always returns 0 if not using ECOFF.
1431 (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
1433 (macro): Generate sequences using gp if possible.
1434 (md_parse_option): Ignore -EL and -EB. Parse -G.
1435 (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
1436 (s_change_sec): Handle .rdata and .sdata for ECOFF.
1437 (s_extern): Mark symbol as external. Set ecoff_undefined field.
1439 Tue Mar 30 10:11:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1441 * output-file.c (output_file_create): Don't call as_perror for
1442 filename rejected by application.
1444 * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
1447 * doc/as.texinfo: Don't use @value in node names for the moment;
1448 references don't appear to work right.
1450 * as.h (const, volatile): Put these definitions back, and use
1453 * doc/as.texinfo: First pass at using new texinfo features --
1454 variables, conditional tests. Far from complete.
1456 Mon Mar 29 16:05:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1458 * read.c: Temporary hack to handle some 64-bit constants. This
1459 should be redone later.
1460 (target_big_endian): Declare.
1461 (big_cons): If it's set, reverse order of bytes being copied.
1462 * config/tc-sparc.c (md_begin): Set target_big_endian.
1464 * read.c (s_ignore): Delete declaration of is_end_of_line.
1466 * config/obj-coffbfd.c (yank_symbols): Build list of file symbol
1467 forward pointers properly.
1469 Mon Mar 29 13:47:33 1993 Steve Chamberlain (sac@thepub.cygnus.com)
1471 * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
1472 wasn't being stored into scnhdr.
1473 * config/obj-coffbfd.h: Add prototype of s_get_segment.
1474 * read.c (TC_START_LABEL): Default definition.
1475 (read_a_source_file): Use TC_START_LABEL macro to work out
1476 if a label has been seen.
1478 Mon Mar 29 12:56:56 1993 Ian Lance Taylor (ian@cygnus.com)
1480 * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
1481 the bottom (make expands variables in dependencies when the
1482 dependencies are read, not when they are used).
1484 * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
1485 a29k .bss section; the mondfe program doesn't like it.
1487 Sun Mar 28 08:12:53 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1489 * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
1491 (current_architecture): Don't need initializer.
1493 Fri Mar 26 08:12:48 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1495 * doc/none.m4: Define Z8000.
1496 * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir). Remove the
1497 texinfo file before recreating it.
1498 (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
1500 (srcdir): Delete second, bogus definition.
1501 (as.info): Look for as-*.texinfo in current directory rather than
1505 * doc/configure.in: Create links to all as-*.texinfo files in the
1506 source directory, if that's not the current directory.
1508 * configure.in (per-host): Accept MIPS host with BSD version
1510 (per-target): Classify i486 as i386. Use generic cpu_type instead
1511 of target_cpu in selecting format etc.
1513 * app.c (do_scrub_next_char): Use .appfile, not .app-file.
1514 * read.c (potable): Change .app-file to .appfile.
1516 * config/ho-decstatn.h: Renamed from ho-decstation.h.
1517 * configure.in: Adjusted.
1519 * config/obj-bfd-sunos.*: Unused; deleted.
1521 * Makefile.in (version.c, vers-stamp): Deleted.
1522 (config.h): Define GAS_VERSION.
1523 * as.c (version_string): Deleted declaration.
1524 (main): Look for GAS_VERSION instead.
1526 * doc/as.texinfo: Updated description of -a* (listing) options,
1527 and describe how to pass them through from gcc.
1529 * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
1530 process relocs if there aren't any relocs to process. Avoids
1531 malloc/free bug on SCO too.
1533 * as.h: Move local include files below system include files, to
1534 avoid some redefinition complaints on some systems.
1535 (const, volatile): Don't need these conditionally defined if we
1536 use CONST and VOLATILE from ansidecl.h.
1537 (seg_name): Use CONST, not const.
1539 Fri Mar 26 10:22:04 1993 Ian Lance Taylor (ian@cygnus.com)
1541 * config/tc-mips.c: Reindented to GNU standards.
1543 Thu Mar 25 08:59:14 1993 Ian Lance Taylor (ian@cygnus.com)
1545 * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
1546 (fixup_segment): Add a29k special case; the linker is not prepared
1547 to see a segment offset here.
1549 * app.c (do_scrub_next_char): Added new state, 10, modifying state
1550 9 to only keep a space in between identifier characters.
1552 Wed Mar 24 02:16:22 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
1554 * Makefile.in: add dvi target; as-$(config).texinfo might live in
1555 srcdir, might be in objdir.
1557 * doc/Makefile.in: dvi depends on as.dvi
1559 Mon Mar 22 23:59:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1561 * Makefile.in: add installcheck target
1563 Mon Mar 22 10:19:00 1993 Ian Lance Taylor (ian@cygnus.com)
1565 * config/tc-mips.c (macro): Use $AT for any floating point load.
1567 Sat Mar 20 12:50:51 1993 Ken Raeburn (raeburn@urth.cygnus.com)
1569 * config/tc-m68k.c (m68k_ip): For operand type 'M', reject
1570 bignums, but don't emit error message.
1572 Fri Mar 19 21:02:19 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
1574 * Makefile.in (targ-cpu.o): Depend on config.h.
1576 Wed Mar 17 16:44:06 1993 Ian Lance Taylor (ian@cygnus.com)
1578 * app.c (do_scrub_next_char): Added new state, 9, to avoid
1579 dropping a space immediately following an identifier.
1580 * expr.c, write.c: Rewrote assert expressions to not use multiple
1581 lines; I don't think that can be done portably.
1582 * config/tc-mips.c (macro): Use $AT if target register is zero in
1583 load instruction, which it can be for a floating point load.
1585 Mon Mar 15 12:17:28 1993 Ian Lance Taylor (ian@cygnus.com)
1587 * write.c (write_contents): Compute the relocs before writing out
1588 the section contents.
1589 * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
1590 symbol table and values right.
1591 * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
1593 * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
1596 * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
1597 z8k-opc.h, not z8k.h.
1599 * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
1602 Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1604 * configure.in: recognize sparc-sun-solaris2* instead of -solaris2
1606 Fri Mar 12 12:00:07 1993 Ian Lance Taylor (ian@cygnus.com)
1608 * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
1609 to be on a single line.
1611 Thu Mar 11 17:56:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1613 * Makefile.in (config.h): Create file, writing out definitions of
1614 target cpu, alias, and canonical name.
1615 (ALL_CFLAGS): No longer define TARGET_CPU.
1617 * Makefile.in (check): Print a message, instead of quitting
1620 * as.c (main): Don't catch any signals, for now.
1622 * version.c: Deleted.
1623 * Makefile.in: Generate it, putting in only the version number
1625 (VERSION): New variable.
1626 * as.c: Include config.h.
1627 (main): Reformatted version string. Include target alias. Don't
1628 print if not requested (i.e., unknown -v argument).
1630 * as.c (stralloc): Deleted.
1631 (main): Call strdup instead.
1633 * configure.in: Handle all 68300 series chips.
1634 * config/tc-m68k.c: Include config.h.
1635 (md_assemble): Assume TARGET_CPU is defined. Accept some 68300
1636 series cpus as defaults.
1637 (md_parse_option): Accept some m68300 series CPUs as defaults.
1639 Wed Mar 10 17:41:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1641 * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
1642 not already defined.
1643 (main, got_sig): Use them.
1644 * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
1647 Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
1649 * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
1652 * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
1653 OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
1654 (struct loc, struct proc, struct file): Moved to tc-mips.c within
1655 #ifndef OBJ_ECOFF block, since ECOFF uses different versions.
1656 * config/tc-mips.c: Rearranged for ECOFF support. Added
1657 prototypes for all static functions. Moved existing minimal
1658 debugging format support info #ifndef OBJ_ECOFF blocks.
1659 (macro_build_lui): Eliminated sign_extend argument, because ECOFF
1660 does not support a non sign extended high 16 bits reloc. Adjusted
1661 all callers accordingly.
1662 (tc_get_register): Renamed from get_register, and made non-static.
1664 * config/mips-big.mt, config/mips-lit.mt: New files. Define
1665 TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
1667 * configure.in (mips-*-bsd*): Use gas_target mips-lit.
1668 (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
1669 obj_format ecoff and gas_target mips-lit or mips-big.
1671 Tue Mar 9 07:43:01 1993 Ken Raeburn (raeburn@cygnus.com)
1673 * version.c: Bump to version 2.0.1.
1675 Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
1677 * write.c (chain_frchains_together): Check that seg_info (section)
1679 (write_object_file): Call obj_frob_file after setting the symbols,
1682 Tue Mar 9 00:00:00 1993 Ken Raeburn (raeburn@cygnus.com)
1684 * Version 2.0 released.
1686 Mon Mar 8 14:57:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1688 * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
1690 Fri Mar 5 09:05:55 1993 Ian Lance Taylor (ian@cygnus.com)
1692 * read.h: Define stringer here.
1693 read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
1696 Thu Mar 4 11:52:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
1698 * read.c (s_space): Multiply repeat count by mult, not fill.
1700 Thu Mar 4 05:20:42 1993 Ken Raeburn (raeburn@cygnus.com)
1702 * read.c: Include ctype.h.
1704 Wed Mar 3 10:41:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1706 Patches from Eric Youngdale:
1707 * make-gas.com: Find obstack.obj if it's not in the current
1709 * read.c (s_ignore): Don't declare is_end_of_line. It's
1710 redundant, and triggers a VMS gcc compiler bug.
1712 * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
1713 current segment as an argument. (Ignored in all cases but VMS.)
1714 All callers and definitions changed.
1716 Tue Mar 2 11:56:19 1993 Ian Lance Taylor (ian@cygnus.com)
1718 * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
1721 Tue Mar 2 08:53:34 1993 Ken Raeburn (raeburn@cygnus.com)
1723 * config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
1724 so "~0x80" won't be rejected.
1726 * config/obj-elf.c: No longer include elf/reloc.h.
1727 (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
1728 (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
1730 (obj_elf_xstab): New routine.
1731 (obj_elf_set_size): Call as_warn, not fprintf. Pass desired
1732 argument to s_ignore. Put "#if 0" around unused code.
1733 (obj_pseudo_table): Use s_ignore instead of do-nothing routines.
1734 Call elf_xstabs for .stabs and .xstabs operators.
1736 * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
1738 * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
1741 * configure.in: mips-bsd configuration was missing format spec.
1744 * Makefile.in (Makefile): Depends on configure.in.
1746 * config/tc-mips.c (append_insn): Don't check for alignment of
1747 frag in memory; alignment of instructions in section is a separate
1750 * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
1753 * listing.h: Always provide function declarations, not macros, so
1756 Tue Mar 2 00:50:43 1993 John Gilmore (gnu@cygnus.com)
1758 * CONTRIBUTORS: Update Gilmore entry.
1760 Wed Feb 24 14:58:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1762 * frags.c (frag_init): New function.
1763 (zero_address_frag, bss_address_frag): Now initialized at run
1765 * as.c (main): Call frag_init.
1767 Wed Feb 24 10:32:42 1993 Ian Lance Taylor (ian@cygnus.com)
1769 * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
1770 Don't unget ch2 if we didn't get it.
1772 Wed Feb 24 04:14:07 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1774 * doc/Makefile.in (TEXIDIR): Updated for new layout.
1776 * config/tc-sparc.c (s_common): Add support for ELF version.
1777 (tc_gen_reloc) [BFD_ASSEMBLER]: New function.
1778 * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
1780 (md_convert_frag): New macro.
1782 * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
1783 symbol, fix the offset so "+2" isn't required.
1785 * config/tc-i960.c (line_comment_chars, line_separator_chars):
1786 Define as common/bss.
1787 (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
1788 initializers are sufficient.
1790 * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
1791 (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
1792 (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
1793 (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
1794 * config/obj-aout.c: Use PARAMS macro for declarations. Remove
1795 "IGNORE_DEBUG" conditional, since both branches are identical.
1796 Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
1797 referencing symbol structure members.
1798 (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
1800 * as.h (struct frag): Reordered a couple of fields for better
1803 * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
1805 (write_contents) [BFD_ASSEMBLER]: New function.
1806 (write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call
1807 fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call
1808 obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
1809 (fixup_segment): Make sure common-section symbols get treated the
1810 same as undefined symbols.
1811 (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
1812 bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from
1814 * write.h (fix_new): Update prototype.
1816 * tc.h (md_operand, md_convert_frag, tc_headers_hook,
1817 md_section_align, md_undefined_symbol): Don't provide prototypes
1818 if these are defined as macros.
1819 (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
1822 * symbols.c (symbol_new): Argument NAME is now pointer to const.
1823 Simplified STRIP_UNDERSCORE code. Remove assumptions about null
1824 pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new
1826 (colon): Display other/desc fields of redefined symbol only if
1827 S_GET_OTHER and S_GET_DESC are defined.
1828 (symbol_make): Argument NAME is now pointer to const.
1829 (symbol_find, symbol_find_base): Likewise.
1830 (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
1831 * symbols.h: Fix prototypes for new const arguments. Add
1832 prototypes for BFD_ASSEMBLER S_* functions.
1834 * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
1835 for changing to an existing section.
1836 (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
1837 called by subseg_new and subseg_set.
1838 (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
1839 given section name and subseg number.
1840 (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
1841 new section/subsection.
1843 * read.c: Don't include ctype.h.
1844 (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
1845 for now; should be machine-dependent.
1847 * configure.in: Accept *-*-elf and *-*-solaris* as ELF format
1848 targets, forcing BFD use.
1850 Wed Feb 17 18:59:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1852 * config/tc-sparc.c: Use PARAMS macro for static function
1853 declarations. Use BFD_RELOC_ macros everywhere, with
1854 compatibility macros declared for non-BFD mode.
1855 (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
1856 instead of enum reloc_type.
1857 (emit_sparc_reloc): Commented-out function deleted.
1858 (md_convert_frag): Deleted.
1859 (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
1860 (md_apply_fix): Changed calling sequence (conditionally) for BFD
1862 * config/tc-sparc.h (md_convert_frag): New macro.
1864 * config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
1865 not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
1866 of referencing fields directly.
1868 * write.c (cvt_frag_to_fill): New function; extracted from
1870 (write_object_file) [! BFD_ASSEMBLER]: Call it.
1871 (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
1872 and set its size and flags.
1874 * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
1875 fields with BFD equivalents. Turn on back-pointers, and add
1876 target-specific fields at end.
1878 Thu Feb 11 09:20:37 1993 Ian Lance Taylor (ian@cygnus.com)
1880 * config/obj-coffbfd.c (fill_section): Don't set vaddr here.
1881 (write_object_file): Set it here instead, so that fixup_segment
1882 can see the correct value.
1884 Mon Feb 8 13:56:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1886 * write.c (write_object_file): Check for errors and warnings and
1887 bail out before processing contents.
1888 (chain_frchains_together_1): New function, does most of the work
1890 (chain_frchains_together) [BFD_ASSEMBLER]: New function.
1891 (remove_subsegs) [! BFD]: Call it.
1892 (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
1893 structures and routines.
1895 * config/obj-elf.*: New files.
1897 * config/mips.mt, config/rs6000.mt: Deleted.
1899 * config/h8300.mt: Don't specify compiler here.
1901 * config/z8k.mt: The z8k code depends on the z8k opcode table,
1903 * config/tc-z8k.h: Comment fix.
1905 * write.c: Reordered some functions for better inlining.
1906 (fixup_segment): Linkrelax code is no longer conditional on
1909 Thu Feb 4 12:45:16 1993 Steve Chamberlain (sac@thepub.cygnus.com)
1911 * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
1912 obj-coffbfd.h}: support for the H8/500
1914 Wed Feb 3 19:28:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1916 * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
1917 * write.c (write_object_file): Not here.
1918 (fix_new): Initialize fx_addnumber.
1920 * listing.c: Don't include target-cpu.h explicitly, since as.h
1923 Thu Jan 28 00:35:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1925 * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
1926 *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
1927 (struct fix): Reordered fields for compactness and efficiency.
1928 Converted some logical fields to 1-bit fields.
1930 * config/obj-aout.h: Use PARAMS.
1931 [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
1932 N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
1934 * read.c: Don't include listing.h; as.h includes it. Removed
1936 [BFD_ASSEMBLER]: Include subsegs.h.
1937 (old_buffer, new_broken_words): Default initialization is
1940 * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
1941 to 0, define stdoutput.
1942 (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
1943 Call bfd_set_arch_mach.
1944 (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
1945 bfd_close_all_done. Call bfd_perror on failure.
1946 (output_file_append) [BFD_ASSEMBLER]: Don't define.
1948 * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
1950 * subsegs.h (segment_info_type): Always define. Omit field scnhdr
1951 if not MANY_SEGMENTS. Define new field bfd_section if
1953 (seg_info): New macro.
1955 * expr.c, input-scrub.c: Use PARAMS macro. Deleted unused
1956 variables, and some irrelevant comments.
1958 * Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
1959 (LIBS): Include $(BFDLIB). Don't bother with $(CLIB).
1960 * configure.in: Permit --with-bfd-assembler now, with a warning.
1961 Variable need_bfd is now a boolean, as is new variable bfd_gas.
1962 Set BFDDEF and BFDLIB in Makefile when appropriate.
1964 * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
1965 (main): Refer to flag_always_generate_output instead of
1968 * as.c (main) [BFD_ASSEMBLER]: Open output bfd.
1969 (*_section) [BFD_ASSEMBLER]: Define them.
1970 (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
1971 set section flags when appropriate.
1972 * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
1973 section is not absolute, undefined, or an assembler internal one.
1974 (absolute_section, undefined_section): Always define.
1975 * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
1976 switch statements into if-else trees.
1977 * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
1978 SEG_BSS and SEG_DATA.
1980 * as.h (frag_now_fix): New macro.
1981 * symbols.c (colon): Use it.
1983 Wed Jan 27 21:43:53 PST 1993 Ralph Campbell (ralphc@pyramid.com)
1985 * config/tc-mips.c: Added mips support for mips-dec-bsd.
1986 * config/tc-mips.h: Added mips support for mips-dec-bsd.
1987 * config/ho-mipsbsd.h: Added mips support for mips-dec-bsd.
1988 * config/mips-opcode.h: Added mips support for mips-dec-bsd.
1989 * configure.in: Added mips support for mips-dec-bsd.
1990 * atof-generic.c: Define TRUE and FALSE if not defined.
1992 Thu Jan 21 12:48:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1994 * version.c: Bumped version number to 1.93.05.
1996 Wed Jan 20 17:11:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1998 * config/obj-coff.c (obj_emit_relocations): Don't use #elif.
1999 (obj_emit_lineno): Don't need return at end of void function.
2000 (obj_symbol_new_hook): Ditto.
2002 * config/tc-m68k.c: Removed some unused code.
2003 (tc_aout_fix_to_chars): Array nbytes_r_length is now const.
2005 * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
2006 offset field is set.
2008 Fri Jan 8 05:44:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2010 * config/tc-sparc.c (architecture_requested, warn_on_bump,
2011 md_relax_table): Use default zero initialization.
2012 (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
2013 latter, instead of selecting with preprocessor conditionals.
2015 Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2017 * configure.in: recognise all sparclite variants
2019 Thu Jan 7 05:25:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2021 * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
2022 accidentally changed to use subseg_change where it should have
2025 Tue Jan 5 08:42:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2027 * expr.c (operand): If character other than comma or newline is a
2028 logical end-of-line character, use the newline case.
2029 From Eric Youngdale:
2030 (operand): Set X_add_number field for floating-point numbers.
2031 (operand): Treat zero byte as end-of-operand.
2033 * configure.in (per-target): Look for with_bfd_assembler option.
2034 For now, only accept "no", until the merge is done.
2036 Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil):
2037 * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
2038 config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
2039 * read.c: Finish conversion to S_* macros in the VMS only
2040 parts of the program. Add "const" modifier to hex_value.
2041 * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
2043 * expr.c: Add "const" modifier to hex_value.
2044 * symbols.c: Finish conversion to S_* macros in the VMS only
2045 parts of the program. Add "const" modifier to
2046 md_[long,short]_jump_size. Remove declaration of const_flag
2047 (which will be declared in obj-vms.h).
2048 * write.c: Add "const" modifier to md_[long,short]_jump_size.
2049 Fix arguments to VMS_write_object_file.
2050 * config-gas.com: New file. Script for VMS systems to set up the
2051 configuration to build gas for VMS, and create config.status.
2052 * make-gas.com: Redone to work with new scheme.
2053 * obj-vms.c: Patch to fix bug where we were not correctly parsing the
2055 * obj-vms.c: Define macros COPY_LONG and COPY_SHORT which
2056 will swap bytes if needed on a big endian system. Use throughout
2058 * obj-vms.c (obj_aout_stab): Add code to generate listing file.
2059 * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
2060 types of malformed stabs. Change parsing algorithm so that we are
2061 more certain of having all of the information that we need on hand.
2062 * obj-vms.c (final_forward_reference): New function, used to help
2063 resolve the data types of as many struct elements as possible
2064 when some part of the struct is not fully defined by the compiler.
2065 * obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation
2067 * obj-vms.c (VMS_write_object_file): Define all vtable psects
2068 as symbols as well in the object file. Look for external functions
2069 that start with "__vt.", and turn them into variables, since the
2070 g++ compiler is incapable of doing this.
2071 * tc-vax.c: Add '1' option for backward compatibility with older GCC
2073 * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
2074 * input-scrub.c (as_where): Fix bug where as would crash if we did not
2075 have the name of the source file yet.
2076 * config/ho-vms.h: define HO_VMS, not HO_VAX.
2078 Mon Jan 4 05:17:26 1993 Ken Raeburn (raeburn@cygnus.com)
2080 * read.c (s_data): Always use "data_section", since it'll map to
2081 SEG_DATA or SEG_E1 if needed.
2082 (s_lcomm): Likewise with bss_section.
2083 (s_fill): Use memset, not bzero.
2085 Thu Dec 31 04:29:27 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2087 * read.c: Deleted some code under "#ifdef DONTDEF" that was for
2088 handling GDB symbol table data.
2090 * config/obj-aout.h (segment_name): Delete definition.
2091 (seg_name): Delete declaration.
2092 * config/obj-bout.h (segment_name, seg_name): Ditto.
2093 * config/obj-vms.h (segment_name, seg_name): Ditto.
2094 * config/obj-coff.h (segment_name): Ditto.
2095 * config/obj-coffbfd.h (segment_name): Ditto.
2097 * Changes for BFD_ASSEMBLER:
2098 * obj.h (obj_crawl_symbol_chain): Declare only if not
2100 (obj_header_append, obj_pre_write_hook): Ditto.
2101 * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
2102 (segT) [BFD_ASSEMBLER]: New typedef for "asection *".
2103 (segment_name) If BFD_ASSEMBLER, look up BFD section name;
2104 otherwise, use seg_name array.
2105 (seg_name): Declare only if not BFD_ASSEMBLER.
2106 (section_alignment): Declare only if not BFD_ASSEMBLER.
2107 (big_section, reg_section, pass1_section, diff_section,
2108 absent_section, text_section, data_section, bss_section): If
2109 BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
2110 mapping to segT enum values.
2111 (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
2112 if these are used or defined, if BFD_ASSEMBLER.
2113 (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
2114 subseg_new split into two functions.
2115 (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
2117 * as.h (volatile): Don't define if already defined.
2118 (had_errors, had_warnings): Provide prototypes for ANSI C even if
2120 (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
2121 declare with format attribute for -Wformat checking.
2123 Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com)
2125 * app.c, config/tc-*.c: Don't include read.h, since it is already
2128 * These are based on patches from Minh Tran-le
2129 <mtranle@paris.intellicorp.com>.
2130 * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use
2131 obj_format coffbfd and gas_target i386coff for target.
2132 (i[34]86-*-isc*): New host (uses sysv).
2133 * config/i386aix.mt: Removed (no longer used).
2134 * config/mh-i386aix (RANLIB): Use true rather than /bin/true.
2136 (LDFLAGS): Added, defined as -shlib.
2137 * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
2138 * config/te-sco386.h (LOCAL_LABEL): Don't define.
2139 (DOT_LABEL_PREFIX): Define.
2140 * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
2141 name rather than L0\001.
2142 * read.c (s_lcomm): Make a frag in SEG_BSS rather than using
2144 * symbols.c, symbols.h (local_bss_counter): Removed.
2145 * write.c (write_object_file): bss no longer uses
2146 local_bss_counter. Pass correct data and bss size to
2147 VMS_write_object_file.
2148 * config/obj-vms.c (VMS_write_object_file): Accept bss size as
2149 argument, rather than using local_bss_counter.
2150 * config/tc-m88k.c (s_bss): Don't use local_bss_counter.
2151 * config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
2152 * config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
2153 (size_section): Restored sanity check.
2154 (do_relocs_for): Base section address on s_paddr rather than
2155 computing it. Adjust a29k R_IHIHALF special case to account for
2156 section paddr (used to require paddr to be zero). If there are no
2157 reclos, set s_relptr to 0. Set relocation size in object_headers.
2158 (fill_section): Always set s_vaddr here, removing
2159 ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set
2160 NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
2161 Set STYP_INFO for .comment.
2162 (coff_header_append): Use object headers and H_{SET,GET}_* macros.
2163 Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
2164 (crawl_symbols): Handle 8 character section name correctly. Use
2165 H_{SET,GET}_* macros.
2166 (do_linenos_for): Set lineno size in object_headers.
2167 (write_object_file): Use H_{SET,GET}_* macros. Don't bother to
2168 set s_vaddr here. If string_byte_count remains 4, set it back to
2169 0, and only write strings out if there are some. Call
2170 fill_section before do_relocs_for and do_linenos_for.
2171 (obj_coff_section): Handle optional quoted second argument giving
2172 section characteristics.
2173 (obj_coff_bss): Added to handle .bss.
2174 (obj_coff_ident): Added to handle .ident (puts string in .comment
2176 (obj_coff_lcomm): Put common symbols in .bss, not .data.
2177 (fixup_mdeps): Change to segment. Call frag_wane after
2179 (fixup_segment): Explicitly check S_IS_COMMON before making 386
2180 adjustment (already happened only for common symbols, but this is
2182 * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
2183 * config/tc-i386.c (s_bss): Don't use if I386COFF.
2184 (md_pseudo_table): Ignore .optim and .noopt.
2185 (tc_coff_sizemachdep): New function.
2186 * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
2188 (LOCAL_LABEL): Removed definition.
2189 (DOT_LABEL_PREFIX): Defined.
2191 Mon Dec 28 10:32:05 1992 Ken Raeburn (raeburn@cygnus.com)
2193 * app.c (app_push): Use memcpy, not bcopy.
2194 (do_scrub_next_char): For \", return " not '.
2195 (symbol_chars): Now const.
2197 * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
2198 and "0b". If LOCAL_LABELS_DOLLAR, check for "0$".
2200 * config/obj-coff.h: Don't use #elif.
2202 * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
2203 have it. (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.)
2205 Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com)
2207 * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
2210 Tue Dec 15 12:40:11 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2212 * app.c (do_scrub_begin): allow single quote strings if so
2215 * config/*z8k*: checkpoint
2217 Sun Dec 13 00:04:38 1992 Ian Lance Taylor (ian@cygnus.com)
2219 * read.c (read_a_source_file): avoid calling xmalloc (0).
2221 Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com)
2223 * listing.c: Call xmalloc, not malloc; don't declare malloc.
2225 * Changes to support SCO 3.2v4:
2226 * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
2227 SEG_BSS, fill with NOP_OPCODE.
2228 * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
2229 * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
2230 using ZERO_BASED_SEGMENTS.
2231 (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
2232 never set segment address for SEG_E2 (.bss) and don't write out
2233 SEG_E2 contents. Set .init and .fini sections to STYP_TEXT.
2234 (obj_coff_endef): Don't merge labels or symbols awaiting forward
2235 definitions, and don't merge tags with non-tags. Check for .bf
2236 rather than just checking whether the second character is b and
2237 the third character is f.
2238 (obj_coff_val): gcc can generate values which we don't handle
2239 correctly; discard information for now, since it only affects the
2240 debugging information.
2241 (tag_find_or_name): Don't insert tags in the symbol table.
2242 (yank_symbols): Don't merge labels.
2243 (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
2244 already defined. Fill subsegments with NOP_OPCODE, not 0. Don't
2245 set segment address if ZERO_BASED_SEGMENTS.
2246 (obj_coff_section): Accept and ignore a trailing quoted string, as
2247 used in AT&T i386 syntax.
2248 (fixup_segment): Take segment as argument. On the i386, adjust PC
2249 relative addends by the segment vaddr.
2250 * tc-i386.h: Define SUB_SEGMENT_ALIGN.
2251 * tc-a29k.h: Define ZERO_BASED_SEGMENTS.
2252 * tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
2254 Tue Dec 8 00:06:48 1992 Ken Raeburn (raeburn@rtl.cygnus.com)
2256 * config/obj-coffbfd.c: Include libcoff.h.
2258 * version.c: Now version 1.93.
2260 Mon Dec 7 00:39:09 1992 Ken Raeburn (raeburn@cygnus.com)
2262 * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
2263 power-of-two alignment for .align.
2265 * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
2266 and leave everything else alone.
2268 Fri Dec 4 16:58:42 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
2270 * Makefile.in (as.new): Don't bother saving as.old.
2272 * write.c: Conditionalize on OBJ_VMS, not VMS.
2273 (magic_number_for_object_file): Don't define if OBJ_VMS.
2275 * config/obj-vms.c: Changes for traditional C.
2277 Thu Dec 3 01:24:07 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2279 * config/ho-generic.h (malloc, realloc): Declare.
2281 * Lots of comment/whitespace changes.
2283 * write.h (struct fix): Some fields reordered, narrowed.
2285 * read.c (MASK_CHAR): Define using C types, not magic number.
2287 * as.c, input-file.c: Deleted some unused code.
2289 * app.c, as.h: Doc fix.
2291 * flonum-konst.c, flonum-mult.c: Include ansidecl.h.
2293 * as.h (xmalloc): Argument is long.
2295 * xmalloc.c (error): Remove declaration; as.h takes care of it.
2297 * doc/as.texinfo: Regrouped documentation of some command-line
2298 options. Updated options documentation for m68k. Some minor
2299 wording/punctuation changes.
2301 Mon Nov 30 11:42:11 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
2303 * configure.in: Accept target OS "vms".
2305 * symbols.c: Merged ANSI and non-ANSI function decls, using
2308 * xmalloc.c: Just include as.h, don't bother trying to figure out
2311 * strstr.c, strerror.c: Deleted.
2312 * Makefile.in: Deleted references.
2314 * config/tc-ns32k.c: Don't include header file for string
2315 declarations; leave that to ho-*.h.
2317 Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com)
2319 * config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
2320 imported from FSF sources.
2322 * messages.c (strerror): Declare unconditionally.
2324 * as.h: Delete alloca and register definitions.
2326 * config/atof-ieee.c (mask): Now const.
2328 * obstack.c, obstack.h: Deleted.
2330 * as.h (flag_readonly_data_in_text): New flag.
2331 * as.c (main): Set it for -R.
2333 * as.h (flag_suppress_warnings): New flag.
2334 * as.c (main): Set it for -W.
2335 * messages.c (as_warn): Check it instead of flagseen['W'].
2337 * as.h (flag_always_generate_output): New flag.
2338 * as.c (main): Set it for -Z.
2340 * config/tc-sparc.h: Define NEED_FX_R_TYPE.
2341 * config/tc-a29k.h: Ditto.
2342 * write.h (struct fix): Don't conditionalize fx_r_type field on TC
2345 * as.h: Merged ANSI and non-ANSI function decls, using PARAMS
2347 * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
2348 obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
2352 * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in
2353 xrealloc from xrealloc.c.
2354 * xrealloc.c: Deleted.
2355 * Makefile.in (REAL_SOURCES, OBJS): Adjusted.
2357 * configure.in: For host CPU a29k, rs6000, vax, consider using bsd
2360 * config/ho-sysv.h (setbuffer, HO_USG): Deleted.
2362 * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
2363 don't initialize it with NULL.
2365 * config/ho-vax.h (M_VAX): Deleted; was unused.
2367 * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
2368 New files imported from FSF version, contributed by Eric Youngdale.
2369 * README-vms-dbg, config/vms: Deleted.
2371 * ChangeLog, config/ChangeLog: Merged.
2373 * config/*tahoe*, configure.in: Tahoe support brought in from FSF
2376 * input-file.c (input_file_open): Eliminate call to setvbuf.
2377 [USG] (setbuffer): Deleted macro.
2379 Mon Nov 23 11:00:16 1992 Ken Raeburn (raeburn@cygnus.com)
2381 * all files: Whitespace changes for GNU indentation style, done by
2382 GNU `indent'. Some cleanup still needed, especially of comments.
2384 * configure.in: No te-386bsd.h file exists; don't try to use it.
2386 * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
2388 * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
2389 could be doing emulation.
2391 Thu Nov 19 11:47:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2394 * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
2397 Tue Nov 10 09:49:24 1992 Ian Lance Taylor (ian@cygnus.com)
2399 * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
2401 * subsegs.h: add extern to segment_info declaration.
2403 * read.h: added extern declarations for comment_chars,
2404 line_comment_chars, and line_separator_chars.
2405 read.c, app.c: removed definitions of comment_chars,
2406 line_comment_chars, and line_separator_chars.
2408 * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
2409 still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
2411 (insert_reg): put REGISTER_PREFIX before register names before
2412 putting them in the symbol table.
2413 * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
2416 * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
2419 * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
2420 comment_chars, line_comment_chars and line_seperator_chars
2421 consistently const, and always initialized them. Included read.h.
2423 Thu Nov 5 17:55:41 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
2425 * tc-sparc.c (sparc_ip): Add code to flag error if an absolute
2426 constant will not fit in an immediate field.
2427 (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
2429 Wed Nov 4 07:50:46 1992 Ken Raeburn (raeburn@cygnus.com)
2431 * obj-coff.c (callj_table): Delete global variable.
2432 (obj_emit_relocations): Define it locally here, and only if
2435 * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
2436 (m68k_ip): Don't warn about bignum used as float bit-pattern.
2438 * obj-coff.c: Replaced ANSI and non-ANSI function declarations
2439 with a single set using PARAMS macro.
2441 * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
2444 * tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
2446 * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
2447 so widening works consistently.
2449 Wed Oct 28 08:52:34 1992 Ken Raeburn (raeburn@cygnus.com)
2451 * version.c: Put conditional "const" before version_string, not
2452 before dummy function for VMS. Now version 1.91.03.
2454 * app.c (do_scrub_next_char): Need double-\ before `000' to show
2455 printed rep of null character.
2457 Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com)
2459 * obj-coffbfd.c (write_object_file): check return value of
2462 Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com)
2464 * Support for i386-sysv.
2465 obj-coffbfd.c (do_relocs_for, write_object_file): set segment
2466 addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can
2467 be used to set them all to zero as was done before.
2468 (fill_section): segment addresses now set in write_object_file.
2469 (fill_section): Don't set STYP_NOLOAD for .bss section.
2470 (fixup_segment): 386 uses strange common symbol format.
2471 tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
2472 compatibility with SVR3.2 linker.
2473 * configure.in: i386-sysv and i386-sco use coffbfd.
2475 * app.c (do_scrub_next_char): discard whitespace after a label.
2477 Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2479 * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
2480 hosts, use the sysv configuration for solaris2
2482 Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2484 fix i960+non-bfd coff bit rot.
2485 * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
2486 support for C source listings. (obj_coff_endef): look in the right
2487 part of the symbol for the symbol name
2489 * tc-m68k.c (get_num): make it work for all segments, not just the
2492 Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
2494 * configure.in: recognize i386-*-bsd emulation.
2496 Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2498 * configure.in: use the cpu-vendor-os triple for host and target
2500 Tue Sep 29 12:22:52 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2502 * obj-coffbfd.c (write_object_file): don't fixup for the z8k
2503 * tc-z8k.c: lots of bug fixes
2505 Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com)
2507 * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
2508 #elif, since it is not supported by old compilers.
2509 ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
2510 couple of expressions in tc-m68k.c.
2512 Mon Sep 28 21:18:24 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
2514 * read.c (cons): If NO_RELOC is defined, use it.
2516 * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
2518 Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com)
2520 * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
2521 local labels to start with a .) and set REGISTER_PREFIX to %.
2522 tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
2524 Fri Sep 25 17:53:43 1992 John Gilmore (gnu@cygnus.com)
2526 * messages.c: Comment changes.
2528 Fri Sep 25 14:12:58 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
2530 * as.h: Test if __STDC__ is defined only, don't test its value.
2531 * messages.c: If __STDC__ is not defined, define NO_STDARG.
2533 Thu Sep 24 12:42:32 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
2535 * listing.c (debugging_pseudo): Add stabs and stabn as things to
2538 Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com)
2540 * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
2541 sections starting from zero, rather than making them consecutive.
2542 This makes subsequent reloc calculations easier, esp if the object
2543 format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
2544 allocate lcomm in .data rather than in .bss. It seems that some
2545 tools can't cope with a non-zero sized bss before linkage.
2547 Tue Sep 22 15:10:51 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
2549 * tc-m68k.c: Replace "enum m68k_architecture" with "int"
2550 throughout. That enum no longer means what we thought it meant.
2552 * tc-m68k.c (md_assemble, md_parse_option): Handle new
2553 "-mno-688[58]1" options.
2555 * tc-m68k.c: Added CPU32 support.
2557 Fri Sep 18 08:02:18 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2559 * tc-m68k.c (m68k_ip): An(disp) is not pc relative.
2561 Tue Sep 15 17:25:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
2563 * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
2564 Change LIBDEPS dependence to LIBS.
2566 Tue Sep 15 15:32:02 1992 Ian Lance Taylor (ian@cygnus.com)
2568 * Makefile.in (install): if $(tooldir) exists, install as in
2571 Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com)
2573 * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
2574 .word is < -32768 or > 32767. The -J flag causes the error to be
2575 ignored. This is to catch over-sized switches generated by gcc on
2576 systems which don't support the broken .word hack.
2577 as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
2578 write.c (fixup_segment): check for signed .word overflow if
2579 WARN_SIGNED_OVERFLOW_WORD.
2581 * write.c (fixup_segment): fixed missing parens in expression
2582 checking for byte or word overflow.
2584 * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
2585 obj-coffbfd.c (fixup_segment): check for signed .word overflow if
2586 WARN_SIGNED_OVERFLOW_WORD.
2588 * obj-coffbfd.c (fixup_segment): fixed missing parens in
2589 expression checking for byte or word overflow.
2591 Fri Sep 11 10:21:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2593 Support for i386 coff
2594 * obj-coffbfd.h : added stuff
2595 * tc-i386.c (tc_coff_fix2rtype): new function
2596 * tc-i386.h : new coff defines
2598 Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com)
2600 * input-scrub.c (input_scrub_push): call input_file_begin, not
2602 messages.c (as_perror): print ": " between the passed in error and
2603 the strerror, like perror does.
2605 Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com)
2607 * Makefile.in: use gas_target instead of modifying target_cpu.
2608 From Steve Chamberlain:
2609 Makefile.in: Handle m68*-*-coff*.
2610 read.c, read.h: add mult argument to s_space
2612 * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
2613 Motorola and MIT syntax; gas can now assemble either type of
2615 tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
2616 From Steve Chamberlain:
2617 m68kcoff.mt: for m68k COFF.
2618 obj-coffbfd.c: (fixup_mdeps) added
2619 (size_section) removed bad sanity check
2620 (fill_section) added rs_machine_dependent case
2621 (write_object_file) call fixup_mdeps
2622 (fixup_segment) set fx_subsy to 0.
2623 obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
2625 tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
2628 Tue Sep 8 17:10:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
2630 * Makefile.in (LIBS): Include opcode library.
2632 Fri Sep 4 18:20:56 1992 Ken Raeburn (raeburn@cygnus.com)
2634 * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
2635 including zero are accepted, pass +0.0.
2637 Sun Aug 30 21:24:46 1992 Ian Lance Taylor (ian@cygnus.com)
2639 * Makefile.in: map "as" through program_transform_name when
2642 * doc/Makefile.in: map "as" through program_transform_name when
2645 Sat Aug 29 12:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
2647 * Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
2649 Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com)
2651 * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
2652 tc-i960.c (md_ri_to_chars): Always output bout object file in
2653 little endian byte order (used to use endianness of host).
2655 Tue Aug 25 15:50:48 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
2657 * config/tc-m68k.c (init_table): Now const. Always include 68851
2658 data, so that "bc" is available to 68040 cache instructions.
2659 Added "tt0", "tt1", and 68ec030 variants.
2660 (md_assemble): Complain if 68000 (only) and 68881 are specified.
2661 (enum _register): Added TT0, TT1.
2662 (m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass
2663 line number correctly in "internal error" messages. Don't print
2664 architecture-mismatch message for operand errors.
2666 From Colin Smith (colin@wrs.com):
2667 * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
2668 than install_operand.
2670 Tue Aug 25 15:13:48 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2672 * listing.c (buffer_line): rewind to the start of include
2673 files, they might be included twice.
2675 * z8k.c, z8k.h, z8k.mt: z8000 support stuff
2677 Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com)
2679 * Makefile.in: defined TARGET_CPU for C code so that it can choose
2680 one element of a family.
2682 * tc-m68k.c: use TARGET_CPU to choose default cpu type.
2684 * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
2685 so that we can assemble hand-written libgcc code.
2687 Fri Aug 21 14:38:44 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
2689 * messages.c (as_warn): Use fputs, not fprintf, with a buffer that
2690 has already been formatted (but may still contain %-characters).
2693 Wed Aug 19 11:20:59 1992 Ian Lance Taylor (ian@cygnus.com)
2695 * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
2696 written with indirection on the last two operands, which can be
2697 either data or address registers. Added a new operand type 'r'
2698 which accepts either register type. Added '(' to notend stuff in
2699 tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
2701 Wed Aug 19 09:25:09 1992 Ken Raeburn (raeburn@cygnus.com)
2703 * as.h (enum _relax_state): Start off at one, not zero, to better
2704 catch uninitialized-variable errors.
2705 (linkrelax): Declare new variable.
2707 * messages.c (warning_count, error_count): Default initializer is
2710 * write.c: Merged some declarations, using PARMS macro.
2711 (text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
2712 data_last_frag): No longer static.
2713 (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
2714 defined, call it. Change segments before calling fixup_segment.
2715 (relax_align): If linkrelax, provide extra padding.
2717 * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
2718 their not having symbols associated.
2720 * tc-i960.c (norelax, instrument_branches): Default initializer is
2722 (linkrelax): Delete variable definition.
2723 (mem_fmt): Call fix_new with NO_RELOC.
2724 (tc_bout_fix_to_chars): Handle alignment relocs.
2725 (i960_handle_align): New function.
2726 * tc-i960.h (linkrelax): Delete declaration.
2727 (HANDLE_ALIGN): New macro; calls i960_handle_align.
2728 (NEED_FX_R_TYPE, NO_RELOC): New macros.
2730 Tue Aug 18 14:59:21 1992 Ken Raeburn (raeburn@cygnus.com)
2732 * config/sparc.mt: New file. Grab sparc opcode table from bfd
2735 Tue Aug 18 14:16:38 1992 Ian Lance Taylor (ian@cygnus.com)
2737 * Makefile.in: always create installation directories. Removed
2738 MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
2739 FLAGS_TO_PASS to recursive makes.
2741 * doc/Makefile.in: always create installation directories.
2743 Mon Aug 17 15:09:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2745 * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
2746 being used with args swapped, causing occasional lossage when
2747 refilling buffers after an include file.
2749 Mon Aug 17 13:18:51 1992 Ken Raeburn (raeburn@cygnus.com)
2751 * messages.c (as_tsktsk): Use correct ANSI form for stdarg
2752 version. Discard bogus DONTDEF version.
2753 (as_warn, as_bad, as_fatal): Likewise.
2755 Fri Aug 14 18:31:14 1992 Ken Raeburn (raeburn@cygnus.com)
2757 * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
2758 selected architecture, print a message saying so and listing what
2759 processors support it, rather than saying "operands mismatch".
2761 Thu Aug 13 13:53:19 1992 Ken Raeburn (raeburn@cygnus.com)
2763 * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
2765 * config/ho-rs6000.h (M_RS6000): Don't define it.
2767 (BROKEN_ASSERT): Define it if not __STDC__.
2769 Tue Aug 11 12:58:14 1992 Ken Raeburn (raeburn@cygnus.com)
2771 * sparc.mt: New file.
2773 Mon Aug 10 14:37:08 1992 Per Bothner (bothner@cygnus.com)
2775 * tc-m68k.c: ".align N" means align to N-byte boundary *only*
2776 if TN_SUN3; otherwise align to 2**N-byte bounary.
2778 Thu Aug 6 12:10:39 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2780 * read.c (s_fill): make the .fill size clamped error a warn and
2781 fix bug where 0's were always placed.
2783 * config/tc-h8300.c: if a :8 is seen after an operand, fill top
2784 two bytes of any constant with 0xff:
2786 Wed Aug 5 12:02:40 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2788 * config/tc-m68k.c (md_pseudo_table): fix the .align thing
2789 the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
2791 Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com)
2793 * tc-m68k.c (try_index): Error if index scaling specified and
2794 assembling for an older CPU than a 68020.
2796 Sat Aug 1 19:10:13 1992 Ken Raeburn (raeburn@cygnus.com)
2798 * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
2799 fx_offset into account.
2801 Fri Jul 31 21:53:28 1992 Ken Raeburn (raeburn@cygnus.com)
2803 * configure.in (mips host): Accept "ultrix" with version number.
2805 * expr.c (floating_constant): Separate "=-" to avoid confusing
2806 ancient or broken compilers.
2808 * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
2809 processor/opcode mismatch, so reword the error message.
2810 (md_assemble): If no CPU has been set (even if FPU/PMMU
2811 characteristics have been), default to 68020. Don't need extra
2812 quotes around error string.
2814 Fri Jul 31 12:26:34 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
2816 * read.c (potable): Revert sac's incorrect change made Jul 13.
2817 Align really is supposed to be ptwo not nbytes.
2819 Mon Jul 20 02:51:59 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
2821 * Makefile.in: _Do_ include libiberty. (from sef)
2823 Fri Jul 17 15:15:28 1992 Ken Raeburn (raeburn@cygnus.com)
2825 * expr.c (integer_constant): Handle "0f" and "0b" label references
2828 Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2830 * write.c (fixup_segment): if relaxing, don't do anything.
2831 * config/obj-bout.[ch] : maintain the a_relaxable file header info
2832 * config/tc-i960.c: new option -linkrelax
2834 Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2836 * expr.c (expr): allow SEG_BSS in expressions
2837 * read.c (potable): align should be nbytes, not ptwo!
2838 * write.c (write_object_file): extra glue for new bss attributes
2839 (relax_segment): SEG_BSS is ok now
2840 * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
2842 Mon Jul 6 17:09:32 1992 Steve Chamberlain (sac@cygnus.com)
2844 * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
2846 Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
2848 * configure.in: recognize m680x0 as having sun3 emulation mode for
2849 vxworks environment.
2852 Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
2854 * Makefile.in: Add program_suffix (parallel to program_prefix)
2856 Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2858 * app.c (process_escape): new function to handle escapes the right
2859 way, (do_scrub_next_char): use new function
2860 * cond.c (s_ifdef): do ifdef/ifndef right
2861 * read.c (s_fill): make the , expressions optional like the doc
2863 * config/tc-h8300.[ch]: better warnings
2865 Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2867 * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
2870 * write.c (write_object_file): various changes to handle data in
2871 the BSS segment in much the same was as stuff in the DATA segment.
2873 * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
2874 pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
2875 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
2876 the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
2879 Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2881 * expr.c(expr): allow SEG_REGISTER in expressions.
2882 * read.c(pseudo_set): register expressions can be the source of a
2884 * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
2885 goto SEG_TEXT (if a.out)
2886 * write.c (write_object_file): If a.out don't use the old way for
2888 * config/obj-a.out (s_sect): complain if the user tries to use a
2889 subsegment with a value which might interfere with out -R hackery.
2890 * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
2891 rather than use ugly if tree. (init_regtable): insert register
2892 names into symbol table.
2894 Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com)
2896 * write.c (write_object_file): keep the fix_tail clean, which
2897 fixes a bug in -R where relocations were being lost.
2899 Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
2901 * configure.in: recognize m680x0 as having sun3 emulation mode for
2902 vxworks environment.
2904 Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com)
2906 * configure.in: recognize m680x0 as an m68k
2908 Thu May 28 11:22:02 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
2910 * configure.in: Recognize sparclite as a sparc variant.
2912 * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new
2915 Tue May 26 16:47:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2917 * config/tc-a29k.c: lint
2918 * listing.c, expr.c: patches from Andrew Smith
2920 Thu May 14 17:22:48 1992 K. Richard Pixley (rich@rtl.cygnus.com)
2922 * doc/Makefile.in: use m4 rather than gm4.
2924 Mon May 4 18:56:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2926 * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
2927 calc the base of relocs correctly.
2928 * tc-a29k.c (parse_operand): allow expressions to be in any section.
2930 Mon Apr 27 13:13:31 1992 K. Richard Pixley (rich@cygnus.com)
2932 * as.c, write.c: use -K rather than -k for the broken word warning
2935 Tue Apr 21 13:35:30 1992 K. Richard Pixley (rich@cygnus.com)
2937 * Makefile.in: do not print recursion lines.
2939 Wed Apr 15 21:19:31 1992 K. Richard Pixley (rich@rtl.cygnus.com)
2941 * Makefile.in: the tooldir copy of gas goes directly in tooldir.
2943 Tue Apr 14 14:50:22 1992 Ken Raeburn (Raeburn@Cygnus.COM)
2945 * write.c (write_object_file): For b.out format, round up section
2946 start addresses to match required alignment.
2948 Thu Apr 9 05:45:29 1992 Ken Raeburn (Raeburn@Cygnus.COM)
2950 * Makefile.in (install): Install into $(tooldir)/bin, since that's
2951 where gcc looks for it.
2953 Tue Apr 7 15:12:15 1992 Sean Eric Fagan (sef@cygnus.com)
2955 * Makefile.in: Changed some lines to be less confusing for some
2958 * input-file.c: Conditionalize on _IOFBF, not VMS.
2960 * read.c, write.c: Change a series of ifdef/elif to
2961 ifdef/else/ifdef etc.
2963 Fri Mar 27 12:21:16 1992 K. Richard Pixley (rich@cygnus.com)
2965 * symbols.c (fb_label_init): fix sizeof to memset.
2967 Fri Mar 13 15:45:44 1992 K. Richard Pixley (rich@cygnus.com)
2969 * Makefile.in: install the man page.
2971 * Makefile.in: pass down MAKEINFO explicitly on info.
2973 * doc/Makefile.in: use $(MAKEINFO) not makeinfo.
2975 Fri Mar 13 08:03:03 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2977 * flonum-const.c: renamed flonum-konst.c to stop dos name
2980 Thu Mar 12 04:42:38 1992 K. Richard Pixley (rich@cygnus.com)
2982 * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
2983 tc-m68k.h to te-sun3.h.
2985 Wed Mar 11 23:32:42 1992 K. Richard Pixley (rich@cygnus.com)
2987 * configure.in: vxworks68 gets te-sun3.h.
2989 * expr.c: remove limitation that local_labels_dollar or
2990 local_labels_fb must be < 10.
2992 * symbols.c: remove local_labels_dollar, replace with a function
2993 interface for a sparse array. All users adjusted.
2995 * te-sun3.h: add LOCAL_LABELS_DOLLAR.
2997 Sat Mar 7 00:06:25 1992 K. Richard Pixley (rich@rtl.cygnus.com)
2999 * doc/Makefile.in: commented out line for building as-all.texinfo.
3002 * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
3004 Fri Mar 6 21:57:18 1992 K. Richard Pixley (rich@cygnus.com)
3006 * Makefile.in: added check target.
3008 Tue Mar 3 15:45:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
3010 * Makefile.in: added tooldir and program_prefix.
3012 Sun Mar 1 04:43:19 1992 Michael Tiemann (tiemann@cygnus.com)
3014 * write.{c,h} (fix_new): Make these declarations consistent.
3016 Sat Feb 29 13:59:10 1992 Michael Tiemann (tiemann@cygnus.com)
3018 * Makefile.in (strerror.o): Add rule so that broken Sun make can
3021 Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com)
3023 * read.c, obj-coffbfd.c : fix h8300 specific bit rot
3025 * expr.c (operand): if can't work out what sort of operand it is,
3026 then look through FLT_CHARS for a hint.
3028 Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
3030 * Makefile.in, configure.in: removed traces of namesubdir,
3031 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
3032 copyrights to '92, changed some from Cygnus to FSF.
3034 * doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
3035 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
3036 copyrights to '92, changed some from Cygnus to FSF.
3038 Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
3040 * expr.c: If an expression is single comma, then return with
3041 SEG_ABSENT rather than an error - since the sparc front end does
3042 really strange things with things like fbge,a
3044 * as.h: include bfd.h if using many sections
3045 * expr.c: LOCAL_LABELS_FB had been changed to lower case - so
3046 local labels didn't work.
3047 * listing.c (list_symbol_table): don't core dump when there's no
3049 * write.c, write.h: call fix_new with the right number of args on
3051 * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
3054 Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com)
3056 * app.c: MRI compatibility - allow single quote to start a string.
3057 * as.c: fix typo recently introduced.
3058 * as.h : Don't include aout/reloc.h - it's not right for COFF!
3059 * expr.c: Much rewriting, to accomodate MRI syntax for
3060 expressions. Also easier to read now.
3061 * listing.c: Put back defuns
3062 * read.c: modified to accept MRI syntax, put back listing pseudo
3063 ops so that an assembler built with NO_LISTING ignores list ops
3065 * write.c, write.h: fixs - only keep a reloc type in a fix if the target
3066 machine is a SPARC or a 29K.
3067 * config/obj-aout.c: added s_sect pseudo op
3068 * config/obj-coffbfd.c: lints, set the filehdr flags right and
3069 fill in the timestamp.
3070 * config/obj-coffbfd.h: Since we don't include aout/reloc.h
3071 anymore, define all the relocs which the tc-<x> bit will use so we
3072 can translate from them to the coff types.
3073 * config/tc-a29k.c: reloc_type isn't ane enum any more
3074 * config/tc-m68k.c: Added NO_RELOC definition.
3076 Fri Feb 21 06:21:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
3078 * Makefile.in: put header files before C source for TAGS; remove
3079 references to non-existent syscalls.h.
3081 * read.c, write.c subsegs.c: back out the .bss changes.
3083 * obj-aout.c: do not include stab.gnu.h if NO_LISTING.
3085 * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
3089 Fri Feb 21 01:08:48 1992 Minh Tran-Le (TRANLE@INTELLICORP.COM)
3091 * symbols.c (local_label_name): symbols now start with ^A.
3093 * read.c, subsegs.c, write.c obj-coff.c: added handling of
3094 `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
3095 generate these sections. .align: will use NOP_OPCODE or 0
3096 for padding. This is just for being nice to the
3099 * expr.c (operand): changed to generate local label "\001L0"
3100 starting with a ^A so that it is recognized as a local label.
3102 * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
3104 * tc-i386.c: tc-i386.c: added handling of the following opcodes:
3105 i/o opcodes - inb, inw, outb and outw. string manipulation with
3106 att syntax - scmp, slod, smov, ssca, ssto.
3108 * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
3109 to just after .file .
3111 In obj_crawl_symbol_chain() where it tries to put the external
3112 symbols apart, with the condition:
3113 (!S_IS_DEFINED(symbolP) &&
3114 !S_IS_DEBUG(symbolP) &&
3115 !SF_GET_STATICS(symbolP))
3116 it was moving too many symbols out. So I switch it back to the
3118 (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
3120 In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
3121 so that we don't use the F_RELFLG which make the linker complain
3122 that somebody has stripped the relocation info.
3124 Also, the AIX ld program require that the relocation table
3125 is sorted by r_vaddr like the standard ATT assembler does.
3127 [he also changed the sizeof(struct ...)'s into the coff
3128 style FOOSZ macros. I'm not sure this is right, but I can't
3129 remember why. xoxorich.]
3131 Fri Feb 21 01:08:48 1992 K. Richard Pixley (rich@cygnus.com)
3133 * Makefile.in, configure.in, doc: use the doc. Build it, install
3136 Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com)
3138 * read.c: white space and comments only.
3140 * configure.in: use the new atof-ns32.c for ns32k.
3142 * write.c: comment change only.
3144 * tc-m88k.[hc]: pulled in from hack's unfinished work. These
3145 aren't yet integrated.
3147 * tc-i860.[hc]: blew off the dust. Something must still be done
3148 about conflicting relocation types.
3150 * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
3153 * tc-i960.c, tc-sparc.c: white space and comments only.
3155 * tc-a29k.h: delete duplicate macro definition.
3157 * new file atof-ns32k.c copied from hack's last unreleased gas.
3159 Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com)
3161 * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
3164 * nearly everything. flush ChangeLog, package as gas-1.92.1.
3165 ChangeLog's prior to this are sketchy at best. I have logs.
3166 They just aren't ChangeLogs.