Sun Oct 24 20:16:38 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
[deliverable/binutils-gdb.git] / gas / ChangeLog
CommitLineData
ab0751c8
DZ
1Fri Oct 22 20:40:56 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
2
3 * messages.c: replaced all variables called Format with 'format',
4 for consistency throughout
5
6 * configure.in: handle mips*- instead of mips, mips*el for little
7 endian configurations
8
8efed14f
ILT
9Fri Oct 22 14:45:49 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
10
11 * input-scrub.c (physical_input_file, logical_input_file,
12 physical_input_line, logical_input_line): Made static.
13 (as_where): Return current file name and line number, don't print
14 them out.
15 * messages.c (as_show_where): New static function. Other
16 functions use it instead of as_where.
17 (as_bad_internal): New static function.
18 (as_bad): Use as_bad_internal.
19 (as_bad_where): New function, like as_bad but taking a file name
20 and line number.
21 * as.h (as_bad_where): Declare.
22 (as_where): Change prototype for new arguments.
23 * write.h (fixS): Added fields fx_file and fx_line.
24 * write.c (fix_new_internal): Save file and line number in fix.
25 (fixup_segment): Use as_bad_where, not as_bad.
26 * input-file.c (f_in, file_name): Made static.
27 * cond.c (struct file_line): Just use file and line fields.
28 (s_else): Use as_where and as_bad_where, not get_file_line and
29 set_file_line.
30 (get_file_line, set_file_line): Removed.
31 * listing.c (listing_newline): Use as_where.
32 * config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where.
33 * config/obj-ecoff.c (add_file): Use as_where.
34 * config/obj-elf.c (obj_elf_init_stab_section): Use as_where.
35 * config/tc-m68k.c (md_apply_fix_2): Use as_bad_where.
36 * config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert.
37
efa0c22e
KR
38Thu Oct 21 12:52:01 1993 Ken Raeburn (raeburn@cygnus.com)
39
40 * config/tc-m68k.h: Don't define REGISTER_PREFIX or
41 OPTIONAL_REGISTER_PREFIX if either is already defined.
42
43 * config/tc-m68k.c (m68k_ip): Delete some code in "#if 0".
44
45 * configure.in: Set bfd_gas for all sparc targets. Added facility
46 for keeping or rejecting configurations still under development;
47 default is to assume production environment, and reject configs
48 still being worked on. Mark Elf configurations (except sparc and
49 i386) as developmental. Deleted cases matching some generic names
50 in favor of more specific names. (E.g., when we get Alpha
51 support, we'll still only support VMS for Vax.)
52
53 * config/tc-sparc.h (md_end): New macro.
54 * config/tc-sparc.c (md_end): Function deleted.
55 (BFD_RELOC_*): Delete macros that used to help keep the non-bfd
56 version compiling. All sparc targets will use bfd now.
57 * tc.h (md_end): Don't declare if it's defined as a macro.
58
59 Changes from Jeff Law and Peter Hoogenboom:
60
61 * read.c (next_char_of_string): Limit octal character constants to
62 three digits.
63
64 * config/tc-hppa.h: Major cleanup. Use GNU-style comments. Warn
65 against placing additional object-file dependent code here. Warn
66 against contaminating all of GAS with the internals of tc-hppa.c
67 through inclusion of tc-hppa.h. Delete all forward declarations
68 for functions only used within tc-hppa.c, likewise for structures,
69 variables, and #defines. Try to group OBJ_ELF and OBJ_SOM
70 conditional code in a few small places.
71
72 * config/tc-hppa.c: Major cleanup. Use GNU-style comments. Group
73 structures, global variables, forward declarations together.
74 Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM
75 conditional code -- try to group conditional code together
76 into a few places. Make all functions and variables which
77 are only used within tc-hppa.c static. PARAMize all functions.
78 Add comments to functions. Delete unused functions, variables,
79 #defines, etc. Delete unused members within structures. Delete
80 ldil;ble hacks -- it is believed they were installed to work
81 around old gas bugs. Avoid using mixed case for local
82 functions, variables, and structures. Fix formatting problems
83 not found by GNU-indent. Add FIXME notices for things which
84 should be worked on the near future. Delete lots of old
85 useless (1.36 PA-SOM) code.
86
87 * config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type
88 field of the fixS structure. Needed to build unwind
89 descriptors correctly.
90
91 * write.c: (fixup_segment): Allow expressions such as
92 sym1-sym2+const as long as sym2 is $global$.
93
94 * write.c (adjust_reloc_syms): Provide a hook so that a target
95 cpu configuration can reject certain relocation reductions.
96 * tc-hppa.h (tc_fix_adjustable): New macro. Only accept relocations
97 which do not involve function symbols.
98
99 * config/tc-hppa.h: Reindent with GNU-indent. Delete references
100 to OBJ_OSFROSE. Fix typos (OBJ_SOME -> OBJ_SOM). Delete unused
101 STAB_FIXUP macro.
102 * config/tc-hppa.c: Likewise.
103
104 * config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead
105 of elf32_symbol_type.
106 (pa_export_args): Likewise.
107 (elf_hppa_final_processing): Likewise.
108 (pa_desc): Do not call obj_elf_desc. (Is pa_desc even needed
109 anymore?)
110 (hppa_tc_make_sections): Do not declare elf_get_symtab_map any
111 ore.
112
113 * config/tc-hppa.c: (md_section_align): Align all sections to
114 a multiple of the section alignment rather than always a
115 multiple of 8.
116
117 * config/tc-hppa.c (hppa_tc_symbol): If the argument relocation
118 bits are zero (eg they specify no relocations), then do not even
119 bother adding their entries to thesymextn section.
120
7766838e
ILT
121Thu Oct 21 15:44:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
122
123 * config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
124 option, which is used by the SunOS make default .s.o rule.
125
dff60b7d
ILT
126Tue Oct 19 18:13:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
127
128 * config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable
129 m68k_aout_machtype.
130 * config/tc-m68k.c (omagic): Remove obsolete and unused variable.
131 (m68k_aout_machtype): New variable, if OBJ_AOUT.
132 (md_assemble): Initialize m68k_aout_machtype based on
133 current_architecture, if OBJ_AOUT.
134 (md_parse_option): Remove obsolete reference to omagic.
135
c17cd709
ILT
136Thu Oct 14 16:51:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
137
dd3f1f76
ILT
138 * config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op.
139 (s_option): Ignore .option O* and .option pic*.
140 (s_ent): Skip whitespace between symbol and optional digit.
dff60b7d 141 (my_getSmallExpression): Handle ($xx) correctly: assume 0($xx).
dd3f1f76 142
54508138
ILT
143 * app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape
144 characters in state 6.
145 * read.c (next_char_of_string): Accept \Xh* and \xh* where h* are
146 hexidecimal digits.
147
c17cd709
ILT
148 * config/tc-i386.c (md_apply_fix_1): Make cross segment calls work
149 for ELF by hacking around bizarre bfd_perform_relocation behaviour
150 that I don't dare change.
151
ad660eb1
ILT
152Thu Oct 14 11:33:25 1993 Michael Meissner (meissner@osf.org)
153
154 * config/tc-i386.c: (md_begin): Do not zero static arrays. Don't
155 call strchr for each character to see if it is a special char,
156 instead add a second loop over special_chars. Set alignment
157 of text, data and bss sections to 4.
158 (pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be
159 used again.
160 (reloc): Don't return 8 and 16 bit non-PC relative relocations on
161 ELF, since the ELF object format does not have these type of
162 relocations. Change the abort into as as_bad and return
163 BFD_RELOC_NONE to silence compiler warnings.
164 (md_assemble): Keep track of the instruction size. Allow white
165 space between the $ and the constant for compatibility with older
166 gases and other assemblers.
167 (i386_operand): Skip spaces between $ and expression.
168 (tc_gen_reloc): Don't allow anything but 32 bit relocations on
169 ELF. Convert abort into an as_bad and assert into as_fatal.
170
132239bf
KR
171Wed Oct 13 16:50:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
172
173 * config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If
174 sub_symbolP is in the current segment, convert to a PC-relative
175 fixup and discard the symbol.
176
b7cbb59f
ILT
177Wed Oct 13 14:00:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
178
463b1851
ILT
179 * config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol
180 for st_StaticProc just like st_Proc.
181
b7cbb59f
ILT
182 * write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT
183 so that OBJ_BOUT doesn't forget to adjust all the fragments in the
184 .bss section.
185
f2a663d3
ILT
186Tue Oct 12 17:26:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
187
188 * config/tc-mips.c: If OBJ_ELF, include elf/mips.h.
189 (mips_regmask_frag): New static variable, if OBJ_ELF.
190 (md_begin): If OBJ_ELF, create .reginfo section and set
191 mips_regmask_frag to a frag.
192 (mips_elf_final_processing): New function, if OBJ_ELF. Set
193 mips_regmask_frag to register mask information.
194 * config/tc-mips.h (elf_tc_final_processing): New macro, defined
195 if OBJ_ELF.
196
99024047
KR
197Tue Oct 12 03:33:26 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
198
2145a183
KR
199 * messages.c (as_fatal): Use myname when printing messages.
200
99024047
KR
201 * config/tc-i960.c (md_begin): Use null pointer, not empty string,
202 as initial "return" value in case hashing isn't needed.
203
204 * config/tc-a29k.c (md_atof): Return null, not empty string, on
205 success.
206 * config/tc-h8300.c (md_atof), config/tc-h8500.c (md_atof),
207 config/tc-hppa.c (md_atof), config/tc-i860.c (md_atof),
208 config/tc-i960.c (md_atof), config/tc-m88k.c (md_atof),
209 config/tc-ns32k.c (md_atof), config/tc-sh.c (md_atof): Ditto.
210
211Mon Oct 11 16:46:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
2dd45209
SC
212
213 fix for pr 3571
214 * config/tc-h8300.c (get_specific): Special action if 8 bit
215 address seen. (check_operand): Don't complain if truncating top
216 bits of an 8 bit address. (build_bytes): Allow an immediate and
217 an absolute in the same insn.
218
f37449aa
ILT
219Mon Oct 11 17:18:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
220
221 * write.c (write_contents): Don't crash if seginfo is NULL.
222
223 * config/obj-ecoff.c (ecoff_frob_file): Write out register masks
224 by modifying .reginfo section, not by directly modifying BFD
225 backend data.
226
fec552ce
DZ
227Mon Oct 11 14:11:32 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
228
229 * config/ho-sunos.h: remove extern time declaration
230
8d3be803
KR
231Mon Oct 11 16:14:43 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
232
233 * messages.c (as_fatal): Do mention that it's the assembler that
234 got the fatal error.
235
88225433
ILT
236Fri Oct 8 14:09:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
237
1aa6938e
ILT
238 * config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
239 hold register masks.
240 (md_begin): Initialize them to zero.
241 (append_insn): Update mips_gprmask and mips_cprmask. Also add
242 register variables pinfo and prev_pinfo.
243 * config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
244 * config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
245 and cprmask from mips_gprmask and mips_cprmask.
246
88225433
ILT
247 * config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
248 * config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
249 (various): Change all references to GP references to apply if
250 GPOPT, not if OBJ_ECOFF.
251 (s_change_sec): Rearrange somewhat. If OBJ_ELF, use .rodata
252 instead of .rdata. If OBJ_ELF, set section flags for .rodata and
253 .sdata sections.
254 (s_frame, s_loc, s_mask): Comment out entire functions, rather
255 than just body. They're not used anyhow.
256 * configure.in: Set cpu_type to mips for mips*. Accept
257 mips-*-elfl* and mips-*-elf*.
258
17a0da33
ILT
259Thu Oct 7 18:36:29 1993 Michael Meissner (meissner@osf.org)
260
261 * config/obj-elf.c (obj_elf_common): Allow the alignment field to
262 not be specified.
263
80aab579
ILT
264Wed Oct 6 13:01:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
265
abdad6bc
ILT
266 * config/tc-mips.c (cons_fix_new_mips): New function. Turn
267 BFD_RELOC_64 into BFD_RELOC_32.
268 * config/tc-mips.h (TC_CONS_FIX_NEW): Define.
269 (cons_fix_new_mips): Declare.
270
80aab579
ILT
271 Changes to let cons handle bignums like general expressions.
272 * expr.h (expressionS): New field X_unsigned.
273 * expr.c (operand): Initialize X_unsigned to 1. Set it to 0 for
274 unary minus case.
275 (expr) Fix typo resultP to right if missing operand. Set
276 X_unsigned to 1 when building new expression.
277 * read.c (potable): Make "octa" and "quad" call cons, not
278 big_cons.
279 (cons): Handle bignums. If given an O_constant (small integer) to
280 fill a big space, turn it into a bignum.
281 (parse_bitfield_cons): Set X_unsigned field.
282 (bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
283 Removed.
284 * read.h (big_cons): Remove prototype.
285 * symbols.c (resolve_symbol_value): Don't give a warning if a
286 symbol in expr_section can not be resolved.
287 (S_SET_VALUE): Clear X_unsigned.
288 * write.c (write_object_file): If resolve_symbol_value failed on a
289 symbol we are writing out, give a warning.
290 * config/tc-h8500.c (parse_reglist): Set X_unsigned.
291 * config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
292 call pa_cons, not pa_big_cons.
293 (pa_big_cons): Remove.
294 * config/tc-hppa.h (pa_big_cons): Remove declaration.
295 * config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
296 not big_cons.
297
298Tue Oct 5 10:53:36 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
299
300 * doc/as.texinfo (Copying): new node, to handle the recent changes
301 in the texinfo/gpl.texinfo file
302
4f5666c5
ILT
303Mon Oct 4 17:10:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
304
305 * read.c (big_cons): Handle "0" correctly.
306
307 * config/tc-mips.c (md_begin): Set target_big_endian correctly.
308
8208ab5a
KR
309Mon Oct 4 15:37:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
310
311 * config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should
312 have pc-relative fixup.
313 (md_parse_option): Move "-k" case down near "-pic" case.
314
31909d40
KR
315 * configure.in: Alphabetize list of cpu type alternatives. Enable
316 OS values of "linux*elf*" and "linux*coff*" to select those
317 formats, with linux emulation. Don't bother checking for upper-
318 or mixed-case versions of "ose".
319
8208ab5a
KR
320Thu Sep 30 11:05:35 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
321
322 * config/z8k.c (md_pseudo_table): add "unseg".
323
6cc87fbb
RP
324Wed Sep 29 16:15:11 1993 K. Richard Pixley (rich@sendai.cygnus.com)
325
326 * config/m88k-opcode.h (m88k_opcodes): correct a few mistakes
327 found while extending the dissassembler.
328
8f3956b3
SS
329Tue Sep 28 12:02:04 1993 Stan Shebs (shebs@rtl.cygnus.com)
330
331 * configure.in: Split i386 LynxOS out from other coff targets,
332 add a specific Lynx emulation.
333 Add m68k LynxOS target.
334 * config/tc-i386.c: Define specific Lynx target format.
335 * config/tc-m68k.c: Define specific Lynx target format.
336 * config/te-lynx.h: New file.
337
338 * config/obj-coffbfd.h: Don't set TARGET_FORMAT to be
339 "coff-{i386,m68k}" if TARGET_FORMAT already defined.
340 (INIT_STAB_SECTION): Define.
341 * config/obj-coffbfd.c: Include <time.h>.
342 (write_object_file): Look for .stab sections and call
343 adjust_stab_section.
344 (adjust_stab_section): New function, fills in the first symbol
345 of a stab section with number of symbols and string table size.
346 (obj_coff_init_stab_section): New function, creates the initial
347 symbol for a stab section.
348
43029a8f
KR
349Mon Sep 27 15:21:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
350
351 * config/atof-vax.c (md_atof): Return null on success instead of
352 empty string.
353 * config/atof-tahoe.c (md_atof): Ditto.
354 * read.c (float_cons): Expect a null pointer for success, not an
355 empty string.
356
357 * hash.c (hash_insert, hash_jam, hash_grow): Return null pointer
358 on success, instead of empty string. All callers changed.
359
360 * config/tc-vax.c: Use PARAMS in declarations.
361 (vip_op): Use NULL instead of empty string for success in error
362 and warning fields.
363
b7318ac4
KR
364Sun Sep 26 23:45:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
365
b9790da8
KR
366 * expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols
367 in different defined segments.
368
b7318ac4 369 * write.c (relax_segment): Localize "aim" variable. If
132239bf 370 DIFF_EXPR_OK, don't impose checks on symbol segment types.
b7318ac4
KR
371 (fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current
372 segment, convert to a PC-relative fixup and discard the symbol.
373
374 * config/tc-m68k.c (flag_want_pic): New variable, mostly ignored.
375 (md_parse_option) [TE_SUN3]: Set it for "-k".
376 (m68k_ip): Generate proper fixup for mode 7.3.
377 * config/tc-m68k.h (DIFF_EXPR_OK): Define.
378
c996b199
KR
379Sat Sep 25 05:08:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
380
381 * config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved
382 earlier in the file.
383 (insop, add_exp): Now defined as functions, for readability.
384 (insop): Now takes two arguments; callers changed.
385
6d6b97b7
RP
386Fri Sep 24 12:37:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
387
58f3e8a9
RP
388 * config/tc-m88k.c (get_o6): new function.
389 (get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
390 get_vec9, getval, get_pcr, calcop, match_name): make static and
391 prototype.
392 (s_file): remove extraneous forward decl.
393 (md_begin): add const to retval decl.
394 (calcop): cope with instructions without arguments. Handle 'o'
395 type argument, the o6 field of the prot insn.
396 (md_estimate_size_before_relax): return a dummy value.
397
6d6b97b7
RP
398 * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
399 in bits 10 through 7. flt.[dxs]s requires an r register in the
400 second argument. New instruction lda.x. New instruction muls
401 (alias for mul).
402
403Fri Sep 24 13:43:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
404
405 * Makefile.in (distclean): Recurse like clean.
406 * doc/Makefile.in (distclean): New target.
407
408 * config/tc-mips.c (md_begin): Set BFD architecture and machine
409 based on MIPS ISA level.
410
411Thu Sep 23 17:58:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
412
413 * as.c (main): "exhausted", not "exhuasted".
414
415 * struc-symbol.h (struct symbol): Add sy_used_in_reloc field.
416 * write.c (adjust_reloc_syms): Set sy_used_in_reloc.
417 (write_object_file): Never strip symbols with sy_used_in_reloc
418 set.
419
420 * config/obj-elf.c (obj_elf_section): Rewrote to handle both
421 Solaris and SVR4 style .section pseudo-ops.
422 (obj_elf_ident): Set SEC_READONLY for .comment section.
423 * config/tc-sparc.c (md_apply_fix): If this is ELF, and we're
424 generating a reloc, don't apply a fix.
425
6110df28
KR
426Thu Sep 23 13:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
427
428 * config/obj-coffbfd.c (relax_align): Now static.
429
9bd0d649
ILT
430Mon Sep 20 19:23:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
431
432 * read.c (get_stab_string_offset): Make non-static. Make
433 arguments const. Don't align strings to 4 byte boundaries.
434 * read.h: Declare get_stab_string_offset.
435 * config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
436 SEC_LOAD for progbits section.
437 (obj_elf_init_stab_section): New function.
438 (adjust_stab_sections): Add casts to avoid warnings.
439 * config/obj-elf.h (INIT_STAB_SECTION): Call
440 obj_elf_init_stab_section.
441 (OBJ_PROCESS_STAB): Removed definition.
442
80903ca6
ILT
443Fri Sep 17 18:12:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
444
445 * config/obj-elf.h (S_GET_SIZE): Define.
446 (obj_frob_forward_symbol): Define.
447 * config/tc-i386.c (line_comment_chars): Initialize in all cases.
448
13998021
ILT
449Thu Sep 16 14:23:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
450
9bd0d649 451 * tc.h: Declare tc_gen_reloc differently depending upon
13998021
ILT
452 RELOC_EXPANSION_POSSIBLE.
453 * config/obj-elf.c (obj_elf_section): Only set flags when first
454 creating the section.
455
456Wed Sep 15 12:15:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
457
458 * config/tc-mips.c (append_insn): Don't swap a trap instruction
459 with a branch.
460
4f0bccc7
ILT
461Tue Sep 14 13:31:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
462
90397ff8
ILT
463 * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
464 set previous_section and previous_subsection and then call s_data
465 and s_text, respectively.
466 (obj_pseudo_table): Add data and text.
467 (obj_elf_section): Add SEC_LOAD to default initialization of
468 flags. Treat .rodata1 like .rodata. Set SEC_LOAD as well as
469 SEC_ALLOC for "alloc" string. Don't bother trying to find the
470 section; just use subseg_new.
471
4f0bccc7
ILT
472 * read.c (change_to_section): Removed. This is now done by
473 subseg_new.
474 (get_stab_string_offset): Rearranged somewhat. Create the section
475 using subseg_new. Store the string index in seg_info, rather than
476 in a static variable. Force the first string to be empty. Use
477 frag_more rather than FRAG_APPEND_1_CHAR.
478 (s_stab_generic): Rewrote.
479 * subsegs.h (segment_info_type): Added stabu union.
480 * subsegs.c (subseg_new): Initialize stab_string_size to 0.
481 * config/obj-aout.c: Don't include aout/stab_gnu.h.
482 (obj_aout_stab, obj_aout_desc): Removed.
483 (obj_pseudo_table): Removed desc and stabX entries.
484 * config/obj-bout.c: Same changes as config/obj-aout.c.
485 * config/obj-bout.h (S_SET_TYPE): Define.
486 (tc_bout_fix_to_chars): Declare.
487 * config/obj-coff.c (obj_coff_stab): Removed.
488 (obj_pseudo_table): Removed desc and stabX entries.
489 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
490 * config/obj-coffbfd.c (current_stab_symbol): Removed.
491 * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
492 n_other, n_desc and n_value fields.
493 (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
494 (MAKE_STAB_SYMBOL): Removed.
495 * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
496 Changed arguments and removed parsing code.
497 (obj_pseudo_table): Removed stabX entries.
498 * config/obj-ecoff.h (ecoff_stab): Declare.
499 (OBJ_PROCESS_STAB): Define.
500 * config/obj-elf.c: Don't include aout/stab_gnu.h.
501 (obj_elf_stab, obj_elf_xstab, obj_elf_desc,
502 elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
503 Removed.
504 (obj_pseudo_table): Removed desc, stabX and xstabs entries.
505 (obj_elf_version): Use subseg_new, not bfd_make_section. Don't
506 set SEC_LOAD for .note section.
507 (adjust_stab_sections): Get frag pointer from seg_info, rather
508 than looking through frags.
509 * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
510 (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
511 Define.
512 * config/obj-vms.c (obj_aout_stab): Removed.
513 (obj_pseudo_table): Removed stabX entries.
514 * config/obj-vms.h (S_SET_TYPE): Define.
515
516 * as.h: Declare listing.
517 * read.c: Don't declare listing.
518 (emit_expr): Cast fix_new_exp argument.
519 (parse_bitfield_cons): Correct printf format.
520 * symbols.c (symbol_new): Add cast to avoid warning.
521 * write.h: Declare text_last_frag and data_last_frag.
522 * config/obj-bout.c (obj_bout_line): Added dummy argument.
523 * config/obj-coffbfd.c: Add some casts to avoid warnings.
524 * config/tc-a29k.c: Likewise.
525 * config/tc-i960.c: Likewise. Also fully bracket structure
526 initializations, fix printf formats, and remove unused variables.
527
604633ae
ILT
528Mon Sep 13 16:48:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
529
530 * read.c (s_desc): Only compile and use if S_SET_DESC is defined.
531 * struc-symbol.h: Declare verify_symbol_chain and
532 verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS.
533 * symbols.c (verify_symbol_chain): Removed useless expression.
534 * write.c (headers, the_object_file): Only use if not
535 BFD_ASSEMBLER and not BFD.
536 (fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or
537 not BFD.
538 (merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and
539 not OBJ_AOUT).
540 * write.h: Declare relax_segment.
541 * config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made
542 static.
543 (stack_top): Commented out, since it's not used.
544 Fixed up pseudo-op functions to take an ignored int argument.
545 (size_section): Added default BAD_CASE to switch.
546 Changed bzero calls to memset.
547 * config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME
548 (s), not on s itself.
549 * config/tc-a29k.c (s_use): Take ignored int argument. Only
550 define if OBJ_COFF is not defined.
551 * config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make
552 argument signed again.
553 * config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int
554 argument.
555 (m68k_ip): Fully bracket initialization of archs.
556 Correct several formats for __LINE__ to be %d rather than %s.
557 (init_table): Fully bracket initialization.
558 Cast values larger than 0x7f assigned to fr_opcode to char.
559
560 * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
561 Wrote non-BFD_ASSEMBLER subseg_new. Now subseg_new always takes a
562 section name, and subseg_set always takes a segT. Changed all
563 callers as appropriate.
564 * config/obj-coffbfd.c (change_to_section): Renamed to
565 obj_coff_add_segment. Corrected. Made callers use subseg_new.
566 * config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
567 Define.
568
54e3e909
DE
569Mon Sep 13 13:15:03 1993 Doug Evans (dje@canuck.cygnus.com)
570
571 * config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'.
572
58d4951d
ILT
573Fri Sep 10 11:22:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
574
575 * config/obj-elf.h (S_SET_SIZE): Actually set the size.
576
577 Gcc lint.
54e3e909 578 * Added a number of casts to function calls.
58d4951d
ILT
579 * app.c (do_scrub_begin), as.c (main), expr.c (integer_constant,
580 operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY,
581 read_a_source_file, s_align_bytes, demand_empty_rest_of_line,
582 ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore),
583 read.h (is_name_beginner, is_part_of_name), config/obj-elf.c
584 (obj_elf_section), config/tc-i386.c (parse_register),
585 config/tc-sparc.c (isoctal, s_proc): Cast char
586 array indices to unsigned char.
54e3e909
DE
587 * app.c (process_escape): Make static. Add prototype. Change
588 argument from char to int.
58d4951d
ILT
589 * as.c: Include output-file.h for prototypes. Comment out unused
590 function got_sig.
591 * Makefile.in (as.o): Depend on output-file.h.
592 * as.h (BAD_CASE): Cast val argument to long, and use %ld.
54e3e909
DE
593 (pseudo_typeS): Add prototype to poc_handler field.
594 (print_version_id): Add prototype.
595 (xmalloc, xrealloc): Change size arguments to unsigned long.
596 (do_scrub_next_char): Add prototypes for function arguments.
597 (had_errors, had_warnings, scrub_from_file): Remove duplicate
598 declarations.
599 * atof-generic.c (atof_generic): Make size variables unsigned.
58d4951d 600 * cond.c (ignore_input): Removed unused local variable ptr.
54e3e909
DE
601 * expr.c (floating_constant, integer_constant): Make static. Add
602 prototypes.
603 * flonum-copy.c (flonum_copy): Make size variables unsigned.
58d4951d 604 * frags.h: Add prototype for frag_init.
54e3e909
DE
605 * hash.h, hash.c: Change hash values from char * to PTR, make hash
606 strings const, make returned error strings const char *. Added
607 prototypes for functions.
608 * input-file.h, input-file.c (input_file_buffer_size): Return
609 unsigned int.
610 * input-scrub.c (buffer_length): Make unsigned.
611 (input_scrub_push, input_scrub_pop): Make static.
58d4951d
ILT
612 * listing.c (list_symbol_table): Cast sprintf argument to unsigned
613 long and use %lx. Print name of segment rather than address of
614 structure.
54e3e909
DE
615 (listing_list, listing_title): Change argument to int.
616 (listing_eject, listing_flags, listing_psize): Add int argument.
617 * listing.h: Corresponding declaration changes.
618 * obj.h (obj_emit_symbols): Rename prototype argument to avoid
619 shadowing.
58d4951d 620 * read.h: Change get_absolute_expression prototype to return
54e3e909
DE
621 offsetT. Add prototype for next_char_of_string. Various
622 prototype changes.
58d4951d 623 * read.c: Remove prototype for next_char_of_string.
54e3e909
DE
624 (pobegin): Make errtxt const. Make new_length, tmp_len and num
625 unsigned.
626 (s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill,
627 s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument.
628 Change all callers.
58d4951d
ILT
629 (s_comm): Change temp from valueT to offsetT. Cast to long when
630 printing and use %ld (only for error messages anyhow).
54e3e909
DE
631 (s_long, s_int): Remove unused functions.
632 (cons): Change argument to int.
58d4951d
ILT
633 (emit_expr): Use %lx when printing longs.
634 (get_absolute_expression): Return offsetT, not long.
635 (get_stab_string_offset): Comment out unless
636 SEPARATE_STAB_SECTIONS.
637 (s_stab_generic): Remove unused offset. Define seg_is_new only
638 if SEPARATE_STAB_SECTIONS. Use toP only in local block.
54e3e909 639 * struc-symbol.h (verify_symbol_chain_2): Add prototype.
58d4951d 640 * symbols.c: Remove nested comment.
54e3e909 641 (symbol_new): Rename value to valu.
58d4951d 642 (colon): Use %ld and cast to long in error message.
54e3e909
DE
643 * symbols.h: Remove duplicate verify_symbol_chain declaration.
644 * tc.h: Remove unused md_emit_relocations declaration.
645 (tc_gen_reloc): Add declaration.
58d4951d
ILT
646 * write.c (cvt_frag_to_fill): Change first argument name depending
647 on BFD_ASSEMBLER.
54e3e909
DE
648 (write_relocs): Remove unused offset, frags. Remove tc_gen_reloc
649 declarations. Make n unsigned.
650 (write_contents): Remove unused i, n, relocs, fixp. Rename frags
651 to f to avoid shadowing.
58d4951d
ILT
652 (write_object_file): Define fragP only if not BFD_ASSEMBLER or not
653 WORKING_DOT_WORD. Remove unused keep. Only declare punt and
54e3e909 654 punt_it if they will be used. Make i and n unsigned.
58d4951d 655 (fixup_segment): Cast to long and use %ld in error message.
54e3e909 656 * xmalloc.c (xmalloc, xrealloc): Make size argument unsigned.
58d4951d
ILT
657 * config/obj-aout.h: Remove nested comment. Add prototype for
658 obj_aout_frob_symbol.
54e3e909
DE
659 (obj_aout_line, obj_aout_desc): Add int argument.
660 * config/obj-ecoff.c: Changed build routines to use an unsigned
661 offset.
662 (add_string): Make len unsigned long.
58d4951d
ILT
663 (obj_ecoff_stab): Use %lu in error message.
664 * config/obj-elf.c (obj_elf_common): Comment out unused label
665 allocate_bss.
666 (obj_elf_frob_symbol): Return 0 (currently broken).
54e3e909
DE
667 (obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type,
668 obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common,
669 obj_elf_line, obj_elf_previous): Add int argument.
670 (obj_elf_write_symbol_p): Make static.
671 * config/obj-elf.h (obj_elf_write_symbol): Add prototype.
58d4951d
ILT
672 * config/tc-hppa.h: Remove declarations of functions declared in
673 read.h.
54e3e909
DE
674 * config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT.
675 (s_bss): Add int argument.
676 (fits_in_signed_byte, smallest_imm_type): Make argument unsigned.
677 (dummy): Remove unused function.
678 (md_assemble): Rename local o to op to avoid shadowing.
679 (tc_gen_reloc): Rename local reloc to rel to avoid shadowing.
680 * config/tc-m68k.c (s_data1, s_data2): Add int argument.
58d4951d
ILT
681 * config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use
682 %ld in error messages.
54e3e909
DE
683 * config/tc-sparc.c: Remove duplicate declarations.
684 (getExpression): Rewrite condition to avoid empty conditional
685 body.
686 (s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int
687 argument.
58d4951d 688
892a3ff1
KR
689Thu Sep 9 17:10:00 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
690
691 Changes from Jeff Law:
692
693 * config/tc-hppa.c (md_assemble): Fix typo.
132239bf 694 (pa_ip): Delete unused variables and labels. Do not check for
892a3ff1
KR
695 unsigned values being < 0, it can't happen.
696 (is_same_frag): Return a value in recursive call case.
697 (pa_callinfo): Delete unused variables and labels.
698 (pa_comm): Likewise.
699 (pa_copyright): Likewise.
700 (pa_export): Likewise.
701 (pa_import): Likewise.
702 (pa_param): Likewise.
703 (pa_space): Likewise.
704 (pa_subspace): Likewise.
705
abdd08c9
ILT
706Thu Sep 9 15:05:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
707
708 * read.c (get_stab_string_offset, s_stab_generic): If
709 BFD_ASSEMBLER, call subseg_set rather than subseg_new.
710
414b2c8f
ILT
711Wed Sep 8 15:09:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
712
713 * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
714 default flag values.
715
4064305e
SS
716Tue Sep 7 10:22:52 1993 Stan Shebs (shebs@rtl.cygnus.com)
717
1531386b
SS
718 * read.c: (change_to_section): Don't include body if not MANY_SECTIONS.
719
4064305e
SS
720 * read.c: (s_stab, s_xstab, s_desc): New functions to parse
721 various stab-related directives.
722 * read.h: (s_stab, s_xstab, s_desc): New function prototypes.
723 * write.c: (merge_data_into_text): Fix ifdef tangle.
724 * config/obj-coffbfd.c (current_stab_symbol): Fake symbol
725 for stab reader to use.
726 * config/obj-coffbfdh.h (obj_symbol_type): Added fields for
132239bf 727 stab reader, macros to access.
4064305e 728
81b407c9
KR
729Fri Sep 3 16:44:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
730
731 * config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type.
732
733 * config/tc-hppa.h (struct default_subspace_dict, struct
734 default_space_dict): Field "sort" is now unsigned char.
735
736 * config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align
737 columns for easier reading.
738 (bcmp, index): Deleted USG-specific definitions. Should be dealt
739 with in ho-*.h, or in libiberty. Changed mention of index to
740 strchr.
741 (label_symbolP, label_symbol_defined, callinfo_found,
742 within_entry_exit, exit_processing_complete, within_procedure,
743 pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc,
744 label_symbols_rootP, pa_get_label, pa_label_is_defined,
745 pa_undefine_label): Now static.
746 (movers): Now const, in addition to pointing to const data.
747 * config/tc-hppa.h (label_symbolS_rootP, pa_get_label,
748 pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc):
749 Delete declarations.
750
751 Merged more changes from Jeff Law and Pete Hoogenboom:
752
753 * config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove
754 entries for .stab and .stabstr.
755
756 * config/obj-elf.c: (elf_stab_symbol_string): Set the
757 SEC_LOAD attribute for the .stabstr section.
758 (obj_elf_stab_generic): Set the SEC_LOAD attribute for the
759 .stab section.
760 (obj_elf_stab_generic): Change '#if 1' to '#if 0'.
761 (obj_elf_stab_generic): Incorrect byte count on call to
762 md_number_to_chars function.
763
764 * config/tc-hppa.c (hppa_tc_symbol): Static functions need
765 argument relocation bits too.
766
767 * config/tc-hppa.c (pa_stringer): Correctly handle escaping
768 characters which should appear unaltered in the output string (for
769 example an escaped double-quote).
770
771 * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always
772 initialize name.
773 (pa_parse_neg_cmpsub_cmpltr): Likewise.
774 (pa_parse_nonneg_add_cmpltr): Likewise.
775 (pa_parse_neg_add_cmpltr): Likewise.
776
777 * config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype
778 for now.
779 (cons_fix_new_hppa): Likewise.
780 * config/tc-hppa.c (md_apply_fix): Fix type of valp to match
781 prototype.
782
783 * config/tc-hppa.c: Include libhppa.h.
784
132239bf 785 * config/tc-hppa.h: Delete extern declarations of functions
81b407c9
KR
786 found in libhppa.h.
787
788 * config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef
789 OBJ_ELF conditionals.
790 * config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels
791 on the PA.
792
1849d646
ILT
793Thu Sep 2 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
794
ff3a5c18
ILT
795 * config/tc-mips.c (macro_build): Accept 'z', and ignore it.
796 (macro): Use "z,s,t" for div instructions to match corresponding
797 change in opcode table.
798 (mips_ip): Added 'z'--must be zero register.
1849d646 799
e96d50d0
KR
800Wed Sep 1 15:56:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
801
802 * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare
803 tc_gen_reloc correctly.
804
805 * configure.in: Use "case" instead of "if" when possible. Rewrote
806 Makefile editing to reduce work done. Treat "hppa*" as "hppa".
807
56607c4e
RP
808Wed Sep 1 12:19:07 1993 K. Richard Pixley (rich@sendai.cygnus.com)
809
810 * config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for
811 section type of data. 'd' seems to be used for m88k.
812
813Wed Aug 25 22:33:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
814
815 * config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons,
816 s_mips_space): Set insn_label to NULL to avoid changing it at the
817 next .align statement.
818 (append_insn): Don't swap jal with instruction that sets the
819 register that jal sets.
820
37d719bb
RP
821Wed Aug 25 16:15:57 1993 K. Richard Pixley (rich@sendai.cygnus.com)
822
823 * configure.in: recognize m88110.
824
28344993
KR
825Wed Aug 25 13:37:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
826
827 Merged changes from Pete Hoogenboom and Jeff Law at Utah:
828 * config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should
829 not be on for .hppa_unwind.
830 (md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS.
831 (pa_param): New function to handle .PARAM directives.
832 (pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr
833 functions. Handle '|' for movb; allow movb,n.
834 (pa_parse_nonneg_cmpsub_cmpltr): Delete old useless
835 version. Handle cases where no completer exists for
836 comb,n or addb,n.
132239bf 837 (pa_parse_neg_cmpsub_cmpltr): Handle cases where no
28344993
KR
838 completer exists for comb,n or addb,n. Make logic
839 mirror that of pa_parse_nonneg_cmpsub_cmpltr.
840 (pa_parse_nonneg_add_cmpltr): Likewise.
841 (pa_parse_neg_add_cmpltr): Likewise.
842 * tc-hppa.h (pa_param): Declare.
843
844Tue Aug 24 15:41:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
845
846 * config/tc-hppa.c (hppa_tc_make_symextn_section): Now static.
847 Added forward declaration.
848
849 Merged changes from Pete Hoogenboom and Jeff Law at Utah:
850
851 * config/obj-elf.c (elf_frob_file): Arguments were incorrect on
852 call to elf_tc_make_sections.
853 (obj_elf_version): A .note section shouldn't have the SEC_ALLOC
854 attribute.
855
856 * config/tc-hppa.c (hppa_tc_make_sections): Add some processing to
857 handle symbol extension sections.
858
859 * config/tc-hppa.c (pa_build_symextn_section): New function to
860 create a symbol extension section.
861 (pa_export_args): Make call to pa_build_symextn_section.
862 (hppa_tc_symbol, hppa_tc_make_sections,
863 hppa_tc_make_symextn_section): New functions.
864 * config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections
865 macros.
866
867 * read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the
868 BFD_ASSEMBLER branch as well.
869
870 * config/tc-hppa.h: If ELF is the target object format, define
871 some ELF- and hppa-specific types and constants.
872
873 * config/tc-hppa.c (getExpression): Fix a typo.
874
875 * read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine
876 if a `=' is part of an instruction.
877 (read_a_source_file): Handle case where end-of-line markers are
878 also used within instructions.
879 * config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define.
880
881 * config/tc-hppa.c (md_apply_fix_1): Keep relocations for
882 out-of-range branches/'calls using "bl" or calls which may need
883 argument relocation stubs. Do not need/keep relocations for
884 conditional branches.
885 (elf_hppa_final_processing): Fix calculation of function size.
886
887 * config/obj-elf.c (obj_elf_version): Mark .note section as
888 READONLY.
889
890 * config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the
891 address of exp, to expression.
892 (pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on.
893 (md_apply_fix_1): Delete unwanted comments.
894 (process_exit): Symbols marking the end of a function are always
895 BSF_LOCAL.
896
897 * config/tc-hppa.c: Include elf32-hppa.h from BFD tree.
898 (pa_space): Declare and initialize gdb_section.
899
900 * config/obj-elf.c (elf_frob_file): Change
901 elf_tc_final_processing_hook to elf_tc_final_processing.
902
903 * config/tc-hppa.c (fix_new_hppa): Fix argument list to match
904 argument type declarations.
905 (getExpression): Fix typo.
906 (pa_export_args): Change elf_symbol_type to elf32_symbol_type.
907 (elf_hppa_final_processing): Likewise. Name changed from
908 elf_hppa_final_processing_hook.
909 (start_symbol_root, start_symbol_last): Deleted.
910
911 * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo.
912
913 * config/tc-hppa.h: Replace "symbolS" with "struct symbol" to
914 avoid changing include ordering.
915
916 * config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'.
917
6e8dda9c
ILT
918Mon Aug 23 12:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
919
920 * config/tc-mips.c (set_at): Added unsignedp argument. Use
921 load_register.
922 (set_at_unsigned): Removed; changed callers to use set_at.
923 (load_register): Removed unused ip argument. Changed callers.
924 (append_insn): Don't swap branch and branch likely.
925 (macro_build): Handle 'u'.
926 (load_register): Handle 64 bit constants.
927 (macro): Added M_DABS, removed M_ABSU. Numerous changes to
928 support 64 bit constants.
929 (mips_ip): Use hex constants in range checks for clarity.
930 (md_number_to_chars): Support 8 byte values.
931
1e35cd8f
RP
932Fri Aug 20 16:50:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
933
934 * config/tc-m88k.h: updated copyrights.
935 (TC_CONS_RELOC): declare to be RELOC_32.
936
8358c818
ILT
937Fri Aug 20 11:16:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
938
939 * config/tc-mips.c (mips_isa): New static variable.
940 (md_begin): Initialize mips_isa based on TARGET_CPU. Don't sanity
941 check macros. Set text alignment and GP size here.
942 (md_assemble): Don't set text alignment and GP size here.
943 (append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
944 Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S. Add
945 a NOP after a branch likely.
946 (mips_emit_delays): Don't insert NOPS for load delays if mips_isa
947 >= 2.
948 (macro): Support r6000 and r4000 macros.
949 (mips_ip): Check insn ISA level against mips_isa before using it.
950 Added 'x' case for ignored register.
951 (md_parse_option): Handle -mipsN and -mcpu=XX.
952
c8d4cda1
KR
953Fri Aug 20 01:26:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
954
955 * config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero".
956
957Thu Aug 19 12:15:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
958
959 * config/tc-sparc.c (s_local): Function moved and renamed...
960 * config/obj-elf.c (obj_elf_local): ...to here.
961 * config/tc-sparc.c (md_pseudo_table), config/obj-elf.c
962 (obj_pseudo_table): Move handling of ".local".
963
964 * tc.h (md_parse_option): Don't declare if defined as a macro.
965
966 * config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as
967 BFD_RELOC_NONE.
968 (md_parse_option): New macro, converted from function.
969 * config/tc-i386.c (md_parse_option): Function deleted.
970 (comment_chars) [OBJ_ELF]: Include "/".
971 (line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
972 (md_assemble): Cast 0xe9 to char explicitly, to avoid compiler
973 warning.
974 (md_assemble, md_estimate_size_before_relax, md_create_long_jump):
975 Call reloc for fix_new type, or use correct enumerator, instead of
976 always using NO_RELOC.
977 (i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
978 tests for valid section.
979 (md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start
980 address.
981 (md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
982 symbol, compensate for location of reloc.
983 (reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define
984 to return zero.
985
4915cac0
KR
986Wed Aug 18 16:51:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
987
988 * config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h.
989 (obj_elf_weak): New function.
990 (obj_pseudo_table): Handle ".weak".
991 (obj_elf_section): If section directive includes a string, ignore
992 it for now. Accept "progbits" flag.
993 (obj_elf_type): Accept `@' before flag name.
994
995 * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)'
996 condition.
997 (fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather
998 than checking for bfd_com_section directly.
999 (fixup_segment): Simplify range check.
1000 (fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition
1001 test.
1002
1003 * symbols.h (S_SET_WEAK): Declare.
1004 * symbols.c (S_SET_WEAK): New function.
1005 (S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT,
1006 it's not a separate flag any more. Clear BSF_WEAK.
1007
1008 * read.c (potable): Treat "string" like "asciz".
1009
19ed8960
ILT
1010Wed Aug 18 15:30:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1011
1012 * config/tc-mips.c (append_insn): Don't swap branch instructions
1013 if .set nobopt or .set volatile.
1014 (gp_reference): .lit8 and .lit4 are accessed via the GP register.
1015 (macro): Added cases M_LI_S, M_LI_SS. Fixed M_LI_D and M_LI_DD.
1016 (mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
1017 * config/obj-ecoff.c: Renamed some variables to avoid shadow
1018 warnings.
1019
ae8c28f8
DZ
1020Mon Aug 16 14:16:02 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
1021
19ed8960
ILT
1022 * config/obj-coff.h (S_IS_COMMON): add missing backslash
1023
ae8c28f8
DZ
1024 * configure.in (z8k-*-{coff,sim}): use coffbfd for this target
1025
0aa07269
ILT
1026Thu Aug 12 11:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1027
1028 * config/tc-mips.c (mips_ip): Suggested by
1029 davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
1030 names for 'E' and 'G' argument types (coprocessor registers) and
1031 don't warn if $1 is used on the coprocessor.
ae8c28f8 1032 (macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
0aa07269
ILT
1033
1034Mon Aug 9 12:09:14 1993 Doug Evans (dje@canuck.cygnus.com)
1035
1036 * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
1037 * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
1038 BFD_RELOC_16.
1039 * config/tc-sparc.h (WORKING_DOT_WORD): Define.
1040
6a9cf6fa
KR
1041Mon Aug 9 13:36:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1042
1043 * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
1044 defined or BFD is not.
1045 (relax_and_size_all_segments): Declare local variable fragP.
1046
b114e492
KR
1047Fri Aug 6 15:22:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1048
1049 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
1050 bytes with real values, not zeros.
1051
ac32a7e7
ILT
1052Fri Aug 6 10:57:59 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1053
3d2330f8
ILT
1054 * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
1055 targets, using ecoff and mips-big.
1056
ac32a7e7
ILT
1057 * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
1058 Johnson): Added case for 'C' for coprocessor instruction codes.
1059
273aa947
KR
1060Thu Aug 5 13:08:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1061
b114e492
KR
1062 * config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
1063
273aa947
KR
1064 * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
1065
b114e492
KR
1066 * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
1067 for verifying symbol chain.
1068 (merge_data_into_text, relax_and_size_all_segments): New
1069 functions, split out from write_object_file.
1070
273aa947
KR
1071Tue Aug 3 15:43:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1072
1073 * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
1074 debug section is new, allocate an extra 12 bytes at its start. If
1075 ".stabs" type is N_SO, fill in filename symbol field of that first
1076 entry. Return early if "goof", to simplify later code slightly.
1077 (adjust_stab_sections): New function.
1078 (elf_frob_file): Apply adjust_stab_sections to each section.
1079
1080 * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
1081 static.
1082 * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
1083 * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
1084 and "popsection", and call cons for "uaword" and "uahalf".
1085
1086 * config/obj-elf.c (obj_elf_version): Use English in error
1087 messages.
1088
4573d186
ILT
1089Tue Aug 3 11:29:06 1993 Ian Lance Taylor (ian@cygnus.com)
1090
1091 * config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the
1092 swapping routines and external structure sizes via the
1093 ecoff_backend information. No longer includes coff/mips.h.
1094
b4703fa6
ILT
1095Mon Aug 2 17:35:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1096
4c7ff23d
ILT
1097 * config/obj-ecoff.c (get_tag): Save tag name in permanent memory
1098 and in hash_ptr->string.
1099
b4703fa6
ILT
1100 * app.c (do_scrub_next_char): Reset state to 0 after .appline if
1101 file name is not seen.
1102
ced16de6
ILT
1103Thu Jul 29 22:21:28 1993 Ian Lance Taylor (ian@cygnus.com)
1104
1105 * write.c: Don't use short int in a prototype.
ab4d34cd
ILT
1106
1107 * expr.c (operand): Make return value simply depend on contents of
1108 returned expression.
1109
b4703fa6
ILT
1110Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
1111
1112 * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
1113
0ccc65ec
DZ
1114Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
1115
1116 * config/ho-sunos.h: remove some old function decls that conflict
1117 w/ ANSI, and which weren't needed anyway
1118
1119Wed Jul 28 16:34:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1120
1121 * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
1122 and disabled since it breaks Ian's new symbol-value code.
1123
1124 * expr.c (integer_constant): Accept more digits if BFD64.
1125
7fe17970
ILT
1126Wed Jul 28 11:30:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1127
1128 * config/tc-m68k.c (m68k_ip): If we have a normal constant when we
1129 expect a bignum, turn it into a bignum. Output extra zeroes
1130 before a short bignum, rather than after.
1131
0c2734c3
KR
1132Tue Jul 27 15:54:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1133
1134 * symbols.c (symbol_new): Conditionalize verify_symbol_chain call
1135 on DEBUG_SYMS, not DEBUG.
1136 (symbol_remove): Likewise.
1137 (symbol_insert): Likewise.
1138
4fe45d22
ILT
1139Tue Jul 27 08:45:05 1993 Ian Lance Taylor (ian@cygnus.com)
1140
1141 * config/tc-mips.c (mips_optimize): New static variable.
e9f108bc
ILT
1142 (append_insn): If mips_optimize == 0, always insert NOP
1143 instructions. If mips_optimize < 2, don't swap branches.
1144 (md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
4fe45d22 1145
de9310b9
RP
1146Mon Jul 26 18:02:43 1993 K. Richard Pixley (rich@sendai.cygnus.com)
1147
1148 * Makefile.in (clean): if testsuite does not exist, then skip it.
1149
1150Fri Jul 23 14:13:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1151
1152 * config/tc-mips.c (prev_insn_unreordered,
1153 prev_prev_insn_unreordered): New static variables.
1154 (append_insn): Don't swap branch instruction if
1155 prev_prev_insn_unreordered (see comment).
1156 (mips_no_prev_insn): Clear the unreordered variables.
1157 (s_mipsset): When turning on reordering, set the unreordered
1158 variables.
1159
7767e7e9
KR
1160Fri Jul 23 13:09:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1161
1162 * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
1163 are also magic, and have special default flag settings.
1164 (obj_elf_frob_symbol): Since the return value from this function
1165 isn't used, don't bother calling obj_elf_write_symbol_p, since it
1166 doesn't accomplish anything else.
1167
1168 * config/tc-sparc.c (md_section_align): Round up section size only
1169 for a.out format.
1170
1171 * symbols.c: Don't define DEBUG by default.
1172
88b457e5
ILT
1173Thu Jul 22 12:09:41 1993 Ian Lance Taylor (ian@cygnus.com)
1174
2a2d3d08
ILT
1175 * write.c (fix_new_exp): Handle a O_uminus expression.
1176
e979ea04
ILT
1177 * expr.c (expr): Don't let absolute_section override
1178 undefined_section for the return value.
1179
cf897ce2
ILT
1180 * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
1181 pseudo-op with a poc_handler field of NULL, ignore it and treat it
1182 as an instruction instead.
1183 * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
1184 poc_handler field.
1185
88b457e5
ILT
1186 * config/tc-h8500.c (md_begin): Use a local variable when
1187 initializing md_relax_table to avoid warnings about modifying a
1188 supposedly const data structure.
1189
88e12460
BK
1190Thu Jul 22 10:58:51 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
1191
1192 * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
1193 is defined.
1194
86a6ada2
FF
1195Wed Jul 21 17:32:02 1993 Fred Fish (fnf@deneb.cygnus.com)
1196
1197 * configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv.
1198 * configure.in (case ${generic_target}): Add i[34]86-*-sysv4*
1199 case to set obj_format=elf. Must go before i386-*-sysv* case that
1200 sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and
1201 *-*-solaris case, and move to before *-sysv* case that wants to
1202 set obj_format to coff.
1203 * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
1204 'exp->X_op'.
1205 * config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for
1206 BFD_ASSEMBLER case.
1207
8ff6f40e
ILT
1208Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1209
2c5c299f
ILT
1210 * config/obj-aout.c: Include aout/aout64.h.
1211 (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
1212 symbol, so that BFD doesn't tamper with the type.
1213
8ff6f40e
ILT
1214 * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
1215 up opcodes as pseudo-ops even if they don't start with '.'.
1216 * config/tc-m88k.h (NO_PSEUDO_DOT): Define.
1217 * config/tc-m88k.c (md_assemble): Removed special pseudo-op
1218 handling.
1219 (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
1220 Output the low 16 bits for RELOC_HI16, not the high 16 bits.
1221 * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
1222 r_offset field of the reloc to the fixup offset.
1223 (fixup_segments): If TC_M88K, don't warn about fixup overflows.
1224 * doc/as.texinfo: Minor updates.
1225
5ac34ac3
ILT
1226Tue Jul 20 19:28:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1227
1228 * Extensive changes to permit symbols to contain any expression
1229 type and to delay the computation of the expression until the
1230 value is actually needed. This permits setting symbols to values
1231 calculated based on object code size. Expressions were changed to
1232 no longer be in a section, to stop the overloading of segment and
1233 expression type that previously occurred.
1234
1235 * as.c (big_section, pass1_section, diff_section, absent_section):
1236 Removed.
1237 (expr_section): Added (used for dummy symbols which hold
1238 intermediate expression values).
1239 (perform_an_assembly_pass): Create expr_section, do not create the
1240 sections now removed.
1241 * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
1242 SEG_DIFFERENCE. Added SEG_EXPR.
1243 (SEG_NORMAL): Corresponding changes.
1244 * subsegs.c (seg_name, subsegs_begin): Changed accordingly.
1245 * write.c (write_object_file): Ditto.
1246 * config/obj-aout.c (seg_N_TYPE): Ditto.
1247 * config/obj-bout.c (seg_N_TYPE): Ditto.
1248 * config/obj-coff.c (seg_N_TYPE): Ditto.
1249 * config/obj-coffbfd.c (seg_N_TYPE): Ditto.
1250 * config/obj-vms.c (seg_N_TYPE): Ditto.
1251
1252 * expr.h (operatorT): Moved in from expr.c, added some values.
1253 (expressionS): Added X_op field, removed X_seg field; renamed
1254 X_subtract_symbol to X_op_symbol.
1255 * expr.c: Extensive changes to assign expression types rather than
1256 sections and to simplify the parsing.
1257 * write.c (fix_new_internal): New static function.
1258 (fix_new): Removed sub_symbol argument.
1259 (fix_new_exp): New function, takes expression argument.
1260 * write.h: Prototype changes for fix_new and fix_new_exp.
1261 * cond.c (s_if): Changed accordingly.
1262 * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
1263 parse_repeat_cons, get_segmented_expression,
1264 get_known_segmented_expression, get_absolute_expression): Ditto.
1265 * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
1266 Ditto.
1267 * write.c (write_object_file): Ditto.
1268 * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
1269 * config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
1270 obj_coff_endef, yank_symbols): Ditto.
1271 * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
1272 * config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
1273 print_insn, md_operand): Ditto.
1274 * config/tc-h8300.c (parse_exp, colonmod24, check_operand,
1275 do_a_fix_imm, build_bytes): Ditto.
1276 * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
1277 get_specific, check, insert, md_convert_frag): Ditto.
1278 * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
1279 md_assemble, pa_ip, getExpression, getAbsoluteExpression,
1280 evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
1281 process_exit): Ditto.
1282 * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
1283 is_complex): Ditto.
1284 * config/tc-i386.c (pe, md_assemble, i386_operand,
1285 md_estimate_size_before_relax, md_create_long_jump): Ditto.
1286 * config/tc-i860.c (md_assemble, getExpression, print_insn):
1287 Ditto.
1288 * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
1289 get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
1290 i960_handle_align): Ditto.
1291 * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
1292 subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
1293 md_estimate_size_before_relax, md_create_long_jump, get_num):
1294 Ditto.
1295 * config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
1296 md_create_short_jump, md_create_long_jump): Ditto.
1297 * config/tc-mips.c (md_assemble, append_insn, gp_reference,
1298 macro_build, macro, my_getExpression): Ditto. Also removed
1299 get_optional_absolute_expression; just use get_absolute_expression
1300 instead.
1301 * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
1302 fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
1303 * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
1304 * config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
1305 Ditto.
1306 * config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
1307 print_insn): Ditto.
1308 * config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
1309 tip_op, md_assemble): Ditto.
1310 * config/tc-vax.c (seg_of_operand, md_assemble,
1311 md_estimate_size_before_relax, md_create_long_jump): Ditto.
1312 * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
1313
84873870
DZ
1314Tue Jul 20 12:17:16 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
1315
1316 * configure.in: i386-lynx is the same as i386-coff
1317
623d6e9a
KR
1318Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
1319
1320 * config/obj-elf.c (obj_elf_previous): New function.
1321 (previous_section, previous_subsection): New vars.
1322 (obj_elf_section): Save current place in case DWARF code wants us
1323 to pop back to it. Handle unquoted section name as well as quoted
1324 section name. Don't crash on invalid strings.
1325 (obj_pseudo_table): Handle new pseudos "previous", "2byte", and
1326 "4byte".
1327
1328 * config/obj-elf.h: Don't include struc-symbol.h.
1329 (obj_elf_frob_symbol): Declare arg as struct symbol *.
1330
1331 * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
1332 "L" or "_.L_".
1333
1334 * write.c (write_relocs): New function, split off from
1335 write_contents. Use memset instead of bzero.
1336 (write_object_file): Apply write_relocs to each section before
1337 applying write_contents.
1338
1339 * read.c (read_begin): Call obstack_begin with values closer to 1K
1340 multiples.
1341 (read_a_source_file, big_cons, float_cons): Use memcpy instead of
1342 bcopy.
1343
ffffc8fb
ILT
1344Mon Jul 19 14:30:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1345
ce2ad89a
ILT
1346 * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
1347 calculating opP->isiz; this permits the expression size to be
1348 determined as well, later on.
1349
ffffc8fb
ILT
1350 * expr.c (clean_up_expression): Don't cancel the subtraction of
1351 undefined symbols.
1352
1353 * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
1354 switch to text section rather than data section.
1355
9d4dfbf3
KR
1356Mon Jul 19 12:35:39 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1357
1358 * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
1359 expression (to take the pc-rel instruction itself into account)
1360 before using the expression, instead of after.
1361
04acd059
ILT
1362Fri Jul 16 08:56:04 1993 Ian Lance Taylor (ian@cygnus.com)
1363
1e9cf565
ILT
1364 * read.c (float_cons): Simplified parsing logic. If
1365 REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
1366
1367 * symbols.c (colon): Rather than a special case for TC_HPPA,
1368 use new macro tc_frob_label.
1369 * config/tc-hppa.h (tc_frob_label): Define.
1370
1371 * config/tc-mips.c: Many changes to support simple assembler
1372 optimization.
1373 (insn_label, prev_insn, prev_prev_insn, dummy_opcode,
1374 prev_insn_valid, prev_insn_frag, prev_insn_where,
1375 prev_insn_fixp, prev_insn_is_delay_slot): New static
1376 variables.
1377 (insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
1378 mips_align, s_stringer, s_mips_space): New static functions.
1379 (mips_define_label): New global function.
1380 (md_pseudo_table): For "ascii", "asciz", "asciiz", call
1381 s_stringer. Changed argument to float_cons from 0 or 1 to 'f'
1382 or 'd'. For "space" call s_mips_space.
1383 (md_begin): Call mips_no_prev_insn.
1384 (append_insn): Only insert necessary NOP instructions.
1385 (macro): Call mips_emit_delays before setting mips_noreorder.
1386 Increment and decrement mips_noreorder rather than using
1387 save_reorder_condition. Don't bother to use noreorder in
1388 M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
1389 (md_atof): Handle floating point numbers correctly for both
1390 big and little endian targets.
1391 (s_align, s_cons): Call mips_align rather than frag_align.
1392 (s_change_seg, s_cons): Call mips_emit_delays.
1393 (s_float_cons): Let float_cons do the work.
1394 (s_mipsset): Call mips_emit_delays when setting noreorder.
1395 * config/tc-mips.h (tc_frob_label): Define to be
1396 mips_define_label.
1397
04acd059
ILT
1398 * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
1399 ecoff_frob_files): Consistently use S_GET_VALUE rather than
1400 bfd_asymbol_value. Warn if taking difference of symbols in
1401 different segments.
1402
c978e704
ILT
1403Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1404
5276e361
ILT
1405 * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
1406 with a warning.
1407
2368ec63
ILT
1408 * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
1409 by md_pcrel_from if we are relocating against a symbol (we still
1410 need md_pcrel_from for a PC relative relocation within the same
1411 file).
1412 * config/tc-m88k.c (md_pcrel_from): Corrected return value.
cb441b38 1413 (omagic): Removed unused variable.
2368ec63 1414
c978e704
ILT
1415 * Preliminary support for m88k-coff.
1416 * configure.in (m88k-*-coff*): New target. Use coffbfd and
1417 m88kcoff.
1418 * config/m88kcoff.mt: New file.
1419 * read.c (lex_type): New macro LEX_AT to set lex type of '@'.
1420 (pseudo_set): Handle difference of symbols in different fragments
1421 by saving the entire expression as the value of the symbol.
1422 * symbols.c (resolve_symbol_value): Resolve difference
1423 expressions.
1424 * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
1425 "sdef" as a synonym for "def".
1426 * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
1427 TARGET_FORMAT.
1428 (S_IS_LOCAL): Any symbol which includes \001 in the name is local.
1429 * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
1430 m88k port up to date, and to add COFF support.
1431
85051959
ILT
1432Wed Jul 14 15:09:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1433
5868b1fe
ILT
1434 * Removed sy_forward and replaced it with an undefined expression
1435 as the value of a symbol.
1436 * struc-symbol.h (struct symbol): Removed sy_forward field. Added
1437 sy_resolved and sy_resolving single bit fields.
1438 * symbols.c (symbol_new): Don't initialize sy_forward field.
1439 (resolve_symbol_value): New function to adjust symbol value by
1440 fragment address, using recursion to resolve forward symbols.
1441 * symbols.h: Added prototype for new function.
1442 * read.c (pseudo_set): Set symbolP->sy_value to an undefined
1443 expression rather than setting symbolP->sy_forward.
1444 * write.c (write_object_file): Use resolve_symbol_value on
1445 symbols, keeping the common case (the old behaviour) inline.
1446 * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
1447 handling (subsumed by write.c change).
1448 * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
1449 sy_value rather than sy_forward.
1450 * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
1451 expression segment rather than sy_forward.
1452 (yank_symbols): Use resolve_symbol_value.
1453 (crawl_symbols): Removed extra pass over symbols.
1454 * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
1455 config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
1456 symbols which handled sy_forward; use resolve_symbol_value
1457 instead.
1458 * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
1459 Define.
1460 * config/obj-elf.c (obj_elf_stab_generic): Check expression
1461 segment rather than sy_forward.
1462 * config/obj-vms.c (VMS_Check_For_Main): Don't initialize
1463 sy_forward; do initialize sy_resolved and sy_resolving.
1464 * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
1465
85051959
ILT
1466 * Changes to keep a full expression as the value of a symbol, not
1467 just a longword:
1468 * struc-symbol.h: New field sy_value.
1469 * as.h: Include expr.h before struc-symbol.h.
1470 * expr.h: Use struct symbol rather than symbolS.
1471 * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
1472 of sy_value field; compile unconditionally, not just if
1473 BFD_ASSEMBLER.
1474 * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
1475 * write.c (write_object_file): Set BFD symbol value to gas symbol
1476 value.
1477 * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
1478 config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
1479 (S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
1480 * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
1481 * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
1482 S_GET_VALUE rather than ost_entry.n_value.
1483 * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
1484 (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
1485 config/obj-coffbfd.c (symbol_to_chars): Get value to write out
1486 using S_GET_VALUE--don't assume it is already set.
1487 * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
1488 symbol value.
1489 * config/obj-vms.c (various): Don't assign directly to
1490 S_GET_VALUE; use S_SET_VALUE instead.
1491
b50401c9
DE
1492Wed Jul 14 09:35:23 1993 Doug Evans (dje@canuck.cygnus.com)
1493
1494 * configure.in: Recognize h8300h.
1495
489a93f3
SC
1496Tue Jul 13 12:09:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
1497
1498 * config/tc-h8500.c (line_comment_chars): Add hash.
1499 (parse_exp, skip_colonthing, build_bytes): Add support for
1500 R_H8500_HIGH16 relocation type.
1501
5d4ef296
KR
1502Mon Jul 12 11:15:34 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
1503
1504 * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
1505 attribute name. Handle `execinstr' attribute.
1506
99c24539
ILT
1507Mon Jul 12 07:22:28 1993 Ian Lance Taylor (ian@cygnus.com)
1508
1509 * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
1510 there is another alternative for the instruction.
1511
ec1c752b
RP
1512Fri Jul 9 17:31:34 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
1513
1514 * doc/as.texinfo: updates for H8/300H
1515
d358969d
ME
1516Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com)
1517
1518 * config/tc-i960.c (md_create_short_jump, md_create_long_jump,
1519 md_number_to_chars, md_section_align): Adjusted to use valueT,
1520 addressT, to match tc.h.
1521
ff4cac38
KR
1522Thu Jul 8 14:15:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1523
1524 * config/tc-sparc.c (s_common): Revamp to handle both syntaxes,
b2565433 1525 independent of format.
ff4cac38 1526
42206996
DE
1527Thu Jul 8 07:25:25 1993 Doug Evans (dje@canuck.cygnus.com)
1528
1529 * config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h.
1530
e9baeb46
DZ
1531Wed Jul 7 18:11:07 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
1532
1533 * configure.in: define CROSS=-DCROSS_COMPILE if it is a cross
1534 build; also recognize h8300-*-coff
1535
76c64db0
ILT
1536Wed Jul 7 10:21:24 1993 Ian Lance Taylor (ian@cygnus.com)
1537
e154ecf4
ILT
1538 * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
1539 core just because somebody uses a label before it is defined.
1540
76c64db0
ILT
1541 * config/mips-opcode.h: Moved to opcode/mips.h.
1542 * config/tc-mips.c: Include opcode/mips.h rather than
1543 mips-opcode.h.
1544 (append_insn): An extra NOP is only needed after instructions
1545 which set HI or LO, not after instructions which read it.
1546 (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
1547 (macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
1548 * config/tc-mips.h (struct mips_opcode): Don't define.
1549 * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
1550 Set to $(srcdir)/../include/opcode/mips.h.
1551
1552 Get the MIPS assembler up to speed with other gas changes:
1553
1554 * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
1555 Removed; don't change the symbol value.
1556 (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
1557 bfd_asymbol_value rather than S_GET_VALUE to include section
1558 vma in symbol value.
1559 (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
1560 doesn't output them. Set the vma of sections.
1561 * config/obj-ecoff.h: Don't define obj_frob_symbol.
1562 * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
1563 longer necessary.
1564 (various): use valueT rather than long.
1565
e28e0b95
KR
1566Wed Jul 7 08:33:30 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1567
1568 * as.h (valueT): Typedef moved here.
1569 * struc-symbol.h (valueT): ...from here.
1570 * write.c (write_object_file): Locals from_addr, to_addr,
1571 table_addr are now addressT. Supply prototype for bfd_alloc for
1572 now.
1573 (fixup_segment): Local add_number is now valueT. Correct some
1574 range-checking bugs.
1575 (relax_align): Type `int' should be sufficient for the exponent.
1576 (fix_new): Argument offset is type offsetT. Locals size and
1577 newsize are type valueT.
1578 * write.h (struct fix): Fields fx_offset and fx_addnumber are now
1579 type valueT.
1580 (fix_new): Fix prototype.
1581 * symbols.c (symbol_new): Symbol value is type valueT.
1582 (S_SET_VALUE, S_GET_VALUE): Likewise.
1583 (S_IS_*): Specify int return type explicitly.
1584 * symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed
1585 prototypes.
1586 * read.c (s_comm): Values read are type valueT.
1587 * expr.h (expressionS): Field X_add_number is an offsetT.
1588 * tc.h (md_create_long_jump, md_create_short_jump,
1589 md_section_align): Addresses are now type addressT.
1590 (md_number_to_chars, md_apply_fix): Pass value as valueT.
1591 * config/tc-i386.c (md_create_short_jump, md_create_long_jump,
1592 md_number_to_chars, md_section_align): Adjusted.
1593 * config/tc-sparc.c (sparc_ip): Initialize `len' variable to make
1594 gcc shut up.
1595 (md_create_short_jump, md_create_long_jump, md_number_to_chars,
1596 md_section_align): Adjusted.
1597
1598 * config/tc-sparc.c (s_reserve): Permit use for other than a.out
1599 format.
1600 (s_common): Handle Solaris-2 version.
1601
1602 * config/ho-generic.h (free): Returns void if __STDC__.
1603
1604 * config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file,
1605 elf_file_symbol): Declare.
1606
1607 * expr.c (floating_constant, integer_constant): Now return void.
1608
1609Thu Jul 1 12:13:43 1993 Ian Lance Taylor (ian@cygnus.com)
1610
1611 * configure.in: Match on sparc*-fujitsu-none rather than
1612 sparclite*-fujitsu-none.
1613
267389df
ILT
1614Wed Jun 30 11:12:02 1993 Ian Lance Taylor (ian@cygnus.com)
1615
1616 * read.c (cons): Conditionalize parsing of expression. Move
1617 putting value into object file into separate function. Separate
1618 out MRI and WANT_BITFIELDS cases into separate functions.
1619 (emit_expr): New function to write data into object file.
1620 Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
1621 processor types.
1622 (parse_bitfield_cons): New function to parse bitfield expressions
1623 as used by i960 assemblers. Only compiled if
1624 BITFIELD_CONS_EXPRESSIONS is defined.
1625 (parse_mri_cons): New function to parse MRI style strings. Only
1626 compiled if MRI is defined.
1627 (parse_repeat_cons): New function to parse repeat counts. Only
1628 compiled if REPEAT_CONS_EXPRESSIONS is defined.
1629 * read.h (emit_expr): Added declaration of new function.
1630 * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
1631 * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
1632 * config/tc-hppa.c (parse_cons_expression_hppa): New function to
1633 parse a HPPA expression, rather than special case in cons
1634 function.
1635 (cons_fix_new_hppa): New function to emit an HPPA fixup, rather
1636 than special case in emit_expr function.
1637 * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
1638 Define to use new functions from tc-hppa.c.
1639 * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
1640 (WANT_BITFIELDS): Removed; now obsolete.
1641 * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
1642 * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
1643 NS32K fixup, rather than special case in emit_expr function.
1644 * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
1645 cons_fix_new_ns32k. Also use PARAMS rather than checking
1646 __STDC__.
1647 * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.
1648
1649 * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
1650 Don't core dump if gas has no information about a section.
1651
1652Wed Jun 30 06:21:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1653
1654 * write.c (relax_and_size_seg): Always fully process a section.
1655 Section size is last frag's (vm)address plus its size. If no
1656 relocations are present, force SEC_RELOC flag clear.
1657 (dump_section_relocs): New debugging routine.
1658 (adjust_reloc_syms): New routine, broken out from write_contents.
1659 Don't adjust relocs that are already relative to section symbol.
1660 Look for obj_fix_adjustable macro to know what else to skip,
1661 instead of obj_write_symbol. Look for section symbol stored in
1662 section information.
1663 (write_object_file): Map adjust_reloc_syms over all sections.
1664 (write_contents): Clear SEC_RELOC flag if no relocations are
1665 found.
1666
1667 * as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to
1668 keep it quiet.
1669
1670 * write.c (remove_subsegs): Don't define for BFD_ASSEMBLER.
1671
e28e0b95
KR
1672Fri Jun 25 14:42:53 1993 K. Richard Pixley (rich@sendai.cygnus.com)
1673
1674 * Makefile.in (all, dvi, info, install-info, clean-info): do not
1675 echo recursion lines.
1676 (install-info, clean-info): collapse into the dvi and info rule.
1677
267389df
ILT
1678Fri Jun 25 03:43:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
1679
1680 * as.h (strstr): Disable declaration for now.
1681 (fprint_value, sprint_value): Declare.
1682
1683 * subsegs.c (subseg_new_rest): Use memset to clear new frag.
1684 (subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields.
1685
1686 * expr.c (expr_part): Made sanity checks a.out-specific.
1687 (expr): Disabled sanity checks.
1688
1689 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for
1690 section symbol.
1691 * subsegs.c (subseg_change): Initialize section symbol pointer
1692 when setting up a new section.
1693
1694 * symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata
1695 field back at gas symbol structure.
1696
1697 * symbols.c (colon): Cast obstack_next_free value to char* before
1698 doing arithmetic on it.
1699 * subsegs.c (subseg_new_rest): Likewise.
1700 * as.h (frag_now_fix): Likewise.
1701
1702 * config/obj-elf.c (elf_file_symbol): Use subseg_new instead of
1703 calling bfd_make_section_old_way directly, and call subseg_set
1704 instead of subseg_change. Now returns void.
1705 (obj_elf_write_symbol): Only check local symbols for now.
1706 (elf_stab_symbol): Now static and void, and disabled until it
1707 works completely.
1708 (obj_elf_size): For expression values, fail silently for now.
1709 (obj_symbol_new_hook): Do nothing.
1710
1711 * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22
1712 relocation.
1713 (s_local) [OBJ_ELF]: New function.
1714 (md_pseudo_table) [OBJ_ELF]: Call it for "local".
1715 (s_common): Rearrange to handle Solaris .common pseudo, which may
1716 sometimes use bss space instead of common.
1717 * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field.
1718
a8285504
DZ
1719Thu Jun 24 16:33:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1720
1721 * configure.in: set host config to hpux for hppa*-hp-hpux
1722
267389df
ILT
1723Thu Jun 24 13:35:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
1724
1725 * app.c (app_pop, app_push): Fix bug reported by Chris Arthur.
1726
1727Tue Jun 22 01:04:23 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
1728
1729 * subsegs.c (subseg_new): Don't special-case a.out -R flag here.
1730 * config/obj-aout.c (s_sect): Do it here.
1731
1732 * as.h (BAD_CASE): Don't make some lame compilers think we want
1733 substitution inside strings.
1734
1735 * as.c (print_version_id): New function, split off from main.
1736 (main): Call it.
1737 * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id
1738 for -V. Ignore -Q and -s options for now.
1739
a8285504
DZ
1740Mon Jun 21 17:37:59 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1741
1742 * Makefile.in: make installation & builds work again for crosses
1743
267389df
ILT
1744Sun Jun 20 18:18:26 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
1745
1746 * listing.c (list_symbol_table): Rewrite to print wide (>32 bits)
1747 symbol values correctly.
1748
1749 * write.c (write_object_file): Deleted unused variables.
1750 (fixup_segment): Use sprint_value.
1751
1752 * messages.c (sprint_value, fprint_value): New routines.
1753
1754 * config/obj-elf.c (elf_stab_symbol): Now returns void.
1755 (obj_elf_stab_generic): Fix typo in logic.
1756
1757 * Makefile.in (INCLUDES): Look in ../bfd for bfd.h.
1758
1759 * as.h (addressT, offsetT): New types, using BFD types if
1760 available.
1761 (relax_addressT, struct frag): Use them.
1762 * struc-symbol.h (valueT, struct broken_word): Likewise.
1763
1764 * as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
1765 * subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
1766
9126738c 1767Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
132239bf 1768
9126738c
DZ
1769 * Makefile.in: canonicalize install.sh; for use within
1770 this directory (and subdirs)
1771
267389df
ILT
1772Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se)
1773
1774 * m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
1775 specified, should have both S1 and S2 fields identical
1776 If only finding the problem was as fast as fixing the bug !!!!
1777
1778Tue Jun 15 16:01:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1779
1780 * write.c (write_contents): Do write out non-loadable sections.
1781 Debug sections can fall in this category.
115147fb 1782
267389df
ILT
1783 * read.c (s_app_file): Call elf_file_symbol for ELF files.
1784 * config/obj-elf.c (elf_file_symbol): New function.
1785
1786 * config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_...,
1787 added argument to specify section base name.
1788 (obj_elf_stab_generic): Renamed from ..._stab. New argument
1789 specifies section base name.
1790 (obj_elf_stab): New function, calls obj_elf_stab_generic with
1791 ".stab" as section base name.
1792 (obj_elf_xstab): New function, calls obj_elf_stab_generic.
1793 (obj_elf_type): Handle "object". Use bitwise-or to merge in
1794 symbol flags rather than simply replacing, so global/local flags
1795 are preserved.
1796 (obj_elf_ident): Rewrite.
115147fb 1797
a00ee522
DZ
1798Tue Jun 15 17:03:25 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1799
1800 * Makefile.in: remove parentdir support; use INSTALL_XFORM
1801
1802Wed Jun 9 11:26:07 1993 Ian Lance Taylor (ian@cygnus.com)
1803
1804 * config/tc-i386.c (md_pseudo_table): .align uses a power of two
1805 for any a.out target, not just Linux and 386BSD.
1806 * config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out
1807 target.
1808
267389df
ILT
1809Mon Jun 7 13:33:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1810
1811 * config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h. They
1812 don't exist or duplicate other inclusions.
1813
1814 * config/tc-vax.h (NO_RELOC): Define.
1815
1816Sat Jun 5 19:32:52 1993 Torbjorn Granlund (tege@nada.kth.se)
1817
1818 * gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions.
1819 * gas/config/tc-m88k.c (get_reg): New arg reg_prefix. Compare first
1820 char to reg_prefix instead of to 'r'.
1821 (calcop): Change calls to get_reg.
1822 (calcop): Handle new case 'x' to set reg_prefix.
1823 (calcop): Set reg_prefix to 'r' after each call to get_reg.
1824 (cmpslot): Add 88110 conditions.
1825
1826 * gas/config/m88k-opcode.h: Swap cases for "rot" for consistency.
1827
1828 * gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer
1829 before returning.
1830
1831 * gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics
1832 adjacent; mov.s and mov.d swapped.
1833 (m88k_opcodes): Fix typo `r2' -> `2'.
1834
a00ee522
DZ
1835Fri Jun 4 15:59:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
1836
1837 * config/h8300.c: Support for H8/300-H opcodes.
1838
1839 * config/obj-coffbfd.c (w_strings): String table length is 4
1840 bytes, no matter what the host int size is.
1841
1842 * configure.in (alpha-*-osf*): New.
1843
68ad4c92
ILT
1844Fri Jun 4 07:51:18 1993 Ian Lance Taylor (ian@cygnus.com)
1845
47fcc4f5
ILT
1846 * configure.in (mips-*-ecoffl*): New target; use ecoff and
1847 mips-lit.
1848 (mips-*-ecoff*): Added trailing '*'.
1849
68ad4c92
ILT
1850 * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
1851 first FDR in a file to be zero.
1852
75776695
KR
1853Thu Jun 3 14:09:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1854
b7067d7f
KR
1855 * Makefile.in (VERSION): Jump to 2.1.4.
1856
75776695
KR
1857 * config/ho-hppabsd.h: New file, from Peter Hoogenboom.
1858
1859 * config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for
1860 ECOFF format.
1861
1862Tue Jun 1 15:21:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1863
1864 * config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a
1865 separate '851 mmu.
1866
1867 * config/obj-elf.c, config/obj-elf.h: Update for new type, macro,
1868 and routine names. Assuming 32 bits for now.
1869
1870 * config/obj-elf.c (elf_frob_file): Look for macro
1871 elf_tc_final_processing_hook, instead of assuming a function
1872 always exists.
1873 * config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from
1874 tc_final_processing_hook.
1875 * config/tc-hppa.h (elf_tc_final_processing_hook): Use it.
1876
1877 * config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros
1878 moved here from obj-elf.h.
1879 * config/obj-elf.h: Don't include CPU-specific header files.
1880
1881Sun May 30 16:49:37 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu)
1882
1883 * configure.in: configurations should match on 'hppa*' not 'hppa'.
1884
1885 * read.c: Add support for HPPA assembly language syntax (denoted
1886 with '#ifdef TC_HPPA').
1887
1888 * symbols.c: Add support for HPPA assembly language syntax (denoted
1889 with '#ifdef TC_HPPA').
1890
1891 * write.c (write_contents): Add support for HPPA-style
1892 relocations.
1893
1894 * config/obj-elf.c: Stab symbols weren't written properly.
1895 (obj_elf_version):
1896 (obj_elf_desc):
1897 (obj_elf_write_symbol):
1898 (obj_elf_write_symbol_p):
1899 (obj_elf_frob_symbol):
1900 (elf_stab_symbol):
1901 (elf_frob_file):
1902
1903 * config/tc-hppa.c: Support for HPPA symbol extension sections.
1904 Remove some unused code. Support for HPPA assembly language
1905 syntax.
1906
1907 * app.c:
1908
1909 * symbols.c:
1910
1911 * config/obj-elf.h:
1912 (obj_write_symbol):
1913 (obj_frob_file):
1914 (elf_tc_symbol):
1915 (elf_tc_make_sections):
1916
1917 * config/tc-hppa.h:
1918
1919Sun May 30 21:44:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1920
1921 * config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume
1922 hash_new will have succeeded if it returns.
1923 * config/tc-a29k.c (md_begin): Likewise.
1924
1925 * config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is
1926 const.
1927 (mode_from_disp_size, opcode_suffic_to_type): Now inline under
1928 gcc.
1929 (fits_in_{signed,unsigned}_{byte,word}): Likewise.
1930
1931 * expr.c: Delete register declarations; gcc ignores them anyways.
1932
1933Fri May 28 19:03:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1934
1935 * hash.c (hash_new): Use xmalloc, since many callers don't check
1936 for failure.
1937
49864cfa
KR
1938Thu May 27 13:02:15 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1939
1940 * frags.c (zero_address_frag, bss_address_frag): These are
1941 external.
1942
1943 * tc.h (md_reloc_size): This is const.
1944 * config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c
1945 (md_reloc_size): Now const.
1946
1947 * config/aout_gnu.h (enum machine_type, enum reloc_type): Delete
1948 trailing commas.
1949 * as.h (enum _segT): Ditto.
1950
1951 * struc-symbol.h (N_TYPE_seg): This should be const.
1952
1953Thu May 27 11:43:59 1993 Michael Meissner (meissner@osf.org)
1954
1955 * config/obj-ecoff.c (add_file): Cast file_name to char * in
1956 listing_source_file call.
1957
1958 * config/obj-elf.c (elf_stab_symbol_string): Cast first argument
1959 of subseg_new call to eliminate const attribute.
1960 (obj_elf_stab): Ditto.
1961 (obj_symbol_new_hook): Cast first argument of bzero call to char *.
1962
1963 * read.c (s_align_bytes): Properly record alignment.
1964
1965 * expr.c (__): Undefine __ macro before use, since OSF/1 uses it
1966 for the prototype/no prototype macro.
1967
1968 * as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be
1969 void.
1970
1971 * as.h (relax_stateT enum): Delete trailing comma.
1972
9a7d824a
ILT
1973Thu May 27 11:07:50 1993 Ian Lance Taylor (ian@cygnus.com)
1974
1975 * app.c (do_scrub_begin): Let line_comment_chars override
1976 comment_chars.
1977 (do_scrub_next_char): If a line comment character is not at the
1978 start of a line, treat it as a comment character if it is one.
1979 For a CPP line comment use pseudo-op .appline rather than .line.
1980 * input-scrub.c (logical_input_line): Make int rather than
1981 unsigned.
1982 (input_scrub_push, input_scrub_begin): Initialize
1983 logical_input_line to -1 rather than 0.
1984 (bump_line_counters): Increment logical_input_line.
1985 (new_logical_line): If line_number is -2, decrement
1986 logical_input_line.
1987 (as_where): Use logical_input_line even if it is 0.
1988 * read.h (s_app_file prototype): Now takes an int argument.
1989 * read.c (potable): Make .appfile call s_app_file with 1. New
1990 .appline pseudo-op calls s_app_line.
1991 (s_app_file): If .appfile, call new_logical_line with -2 to
1992 account for newline inserted by do_scrub_next_char. If listing,
1993 call listing_source_file.
1994 (s_app_line): New function to handle fake pseudo-op .appline.
1995 * config/obj-coff.c (obj_pseudo_table): Make .appline call
1996 obj_coff_ln.
1997 (obj_coff_ln): Added argument to indicate whether .appline.
1998 * config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
1999 obj_coff_ln.
2000 (obj_coff_ln): Added argument to indicate whether .appline.
2001 * config/tc-mips.c (s_file): Pass argument to s_app_file.
2002
61f14fb0
ILT
2003Tue May 25 11:59:07 1993 Ian Lance Taylor (ian@cygnus.com)
2004
2005 * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast.
2006
2007Thu May 20 19:14:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2008
2009 * config/tc-m68k.c (md_apply_fix_2): Straighten out check for
2010 invalid values.
2011
6eef4543
SC
2012Wed May 19 07:33:17 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
2013
2014 * config/tc-h5000.c (build_bytes): Understand @rd mode and build
2015 relocations correctly.
2016
f8f61478
KR
2017Mon May 17 15:06:26 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
2018
6eef4543
SC
2019 * Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because
2020 it's wrong.
2021
f8f61478
KR
2022 * config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn
2023 if value is out of range.
2024
2025 Patch from Minh Tran-Le:
2026 * config/tc-i386.c (i386_operand): For in/out port register used
2027 as base reg, include InOutPortReg in operand type.
2028 (MATCH): Accept overlap value of InOutPortReg.
2029
2030Mon May 17 09:29:34 1993 Ian Lance Taylor (ian@cygnus.com)
2031
2032 * config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab):
2033 Add calls to listing routines to produce combined source/assembler
2034 listings.
2035 (obj_ecoff_stab): Create a file pointer if none used yet.
2036 (ecoff_frob_file): Set symcount to correct value.
2037
2038Fri May 14 06:53:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
2039
2040 * Makefile.in (VERSION): Bump to version 2.1, in preparation for
2041 release.
2042
2043 * config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE):
2044 Define in terms of constants, not C structure sizes.
2045
2046 * config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files.
2047
2048Thu May 13 17:01:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2049
2050 * config/obj-aout.c (obj_header_append): Don't define if it's
2051 defined as a macro.
2052 * config/obj-hp300.h (obj_header_append): Define it as a macro.
2053 * config/obj-hp300.c (hp300_header_append): New function.
2054
2055 * Makefile.in (distclean): Don't bother cleaning up doc files;
2056 they aren't going to be in this directory.
2057
204ff785
ILT
2058Thu May 13 07:51:35 1993 Ian Lance Taylor (ian@cygnus.com)
2059
f8f61478
KR
2060 * config/obj-ecoff.c (ecoff_build_symbols): Handle absolute
2061 symbols.
2062
204ff785
ILT
2063 * tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
2064 * config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
2065
65824763
KR
2066Mon May 10 06:01:12 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2067
204ff785
ILT
2068 * config/obj-vms.c (VMS_Symbol_type_list): Don't bother with
2069 initialization.
2070
65824763
KR
2071 * configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff.
2072
21bb48b9
ILT
2073Wed May 5 14:00:49 1993 Ian Lance Taylor (ian@cygnus.com)
2074
2075 * config/tc-mips.c (macro): Correct floating point double word
2076 loads and stores for big endian target.
2077
e7c2f943
KR
2078Wed May 5 08:39:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
2079
2080 * config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_*
2081 calls. Deleted some unused code.
2082 * config/obj-coff.c: Likewise.
2083
2084 ELF support, mostly contributed by Utah:
2085 * config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line,
2086 obj_elf_type): Rewrite.
2087 (obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol,
2088 obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size):
2089 New functions.
2090 (obj_elf_ident): Dummy.
2091 * config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol,
2092 TARGET_SYMBOL_FIELDS): New macros.
2093 (gdb_section): New variable decl.
2094
2095 * config/tc-i386.c (md_atof): Return zero, not empty string, on
2096 success.
2097
2098 BFD_ASSEMBLER conditional changes:
2099 * config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header):
2100 Don't define these.
2101 (SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions.
2102 (fetch_coff_debug_section): Ditto.
2103 (obj_coff_endef): Call fetch_coff_debug_section.
2104 (struct line_no): New type.
2105 (c_symbol_merge): New way for copying aux fields.
2106 (c_dot_file_symbol): Put symbol in absolute section, and set flag
2107 BSF_DEBUGGING.
2108 (function_lineoff): New symbol.
2109 (function_lineoff, text_lineno_number, our_lineno_number,
2110 lineno_lastP): Don't define.
2111 (c_line_new): Don't define.
2112 (obj_emit_lineno, obj_coff_endef): Use abort calls as, uh,
2113 placeholders, until
2114 line-number recording gets implemented.
2115 (obj_new_symbol_hook): New code for handling aux fields.
2116 (add_lineno, add_linesym): New functions.
2117 (obj_coff_ln): Call add_lineno, not c_line_new.
2118 (obj_coff_endef): New code for handling symbol names. New lineno
2119 code. Look for section name "*DEBUG*" for debugging section.
2120 (align, coff_check_file_symbols, obj_coff_section,
2121 coff_frob_file): New functions.
2122 * config/obj-coff.h: Reordered some includes.
2123 (BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg,
2124 DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't
2125 define these.
2126 (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros.
2127 (SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing
2128 aux entries. Most SA_* macros now use it unconditionally.
2129 (S_*): Use `bsym' field, and access BFD private data.
2130 (SF_*): Use `sy_flags' symbol field for most of these.
2131 (H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't
2132 define.
2133 (*_section_header): Don't define.
2134 * config/tc-i386.c (md_convert_frag, md_apply_fix): Changed
2135 interface.
2136 (tc_gen_reloc) [I386COFF]: New function.
2137 (tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define.
2138 * config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New
2139 macros.
2140
2141 * config/obj-coff.c (stack_init): Don't do assignments inside
2142 conditions.
2143 (obj_coff_def): Simplified handling of symbol name a bit.
2144 (tag_insert): Name argument is now pointer to CONST.
2145 (obj_crawl_symbol_chain): Commented out.
2146
2147 * config/obj-coff.h: Use PARAMS macro in prototypes.
2148
2149 * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect
2150 through frchainP pointer if it is null.
2151
2152 * configure.in: Warn if BFD mode is explicitly turned off but is
2153 required by specified target.
2154 (mips ecoff targets): Don't need to set bfd_gas here; it gets
2155 taken care of later.
2156
2157 * config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward
2158 field.
2159 (yank_symbols): Merge symbols only if sy_forward is null.
2160
2161 * config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already
2162 defined.
2163
2164 * tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not
2165 pointer.
2166 * config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto.
2167
2168 * config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting
2169 with "." is a local label.
2170
2171 * config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config
2172 files.
2173
2174 * config/te-linux.h, config/te-386bsd.h: New config files.
2175 * configure.in (i386-*-linux, i386-*-bsd): Use them.
2176 * config/tc-i386.h (TARGET_FORMAT): Select format based on target
2177 environment.
2178 (DOT_LABEL_PREFIX): Don't define for 386bsd or Linux.
2179
5d6cfa60
ILT
2180Wed May 5 13:14:01 1993 Ian Lance Taylor (ian@cygnus.com)
2181
2182 * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
2183 to want it that way.
2184 (ecoff_build_symbols): Turn local st_Proc symbols into
2185 st_StaticProc symbols. Set index field of external st_Proc and
2186 st_staticProc symbols correctly.
2187 * config/tc-mips.h (NO_LISTING): Don't define. People might want
2188 listings.
2189
e7c2f943
KR
2190Tue May 4 21:22:54 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2191
2192 * config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New
2193 files.
2194 * configure.in (m68k-*-hpux): Use them.
2195
2196 * config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if
2197 defined, otherwise zero.
2198
2199 * config/aout_gnu.h (OMAGIC): Don't define if already defined.
2200
5d6cfa60
ILT
2201Mon May 3 15:59:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
2202
2203 * config/tc-sparc.c (sparc_ip): Allow any abs expression as an
2204 address space number.
2205
2206Wed Apr 28 19:11:22 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
2207
2208 * config/obj-aout.h (TARGET_DEFAULT): Don't default this at all.
2209
2210 * config/tc-a29k.c: Include ctype.h.
2211 (define_some_regs): Added special-purpose registers for 29050.
2212
e7c2f943
KR
2213 * config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/".
2214
2215 * config/obj-coffbfd.c (fill_section): Don't set STYP_REG here.
2216 (change_to_section): Set it here instead.
2217
a1387260
ILT
2218Wed Apr 28 13:40:29 1993 Ian Lance Taylor (ian@rtl.cygnus.com)
2219
2220 * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
2221 hasn't been seen yet.
2222 (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
2223
4a1bbbe7
SC
2224Mon Apr 26 18:29:05 1993 Steve Chamberlain (sac@thepub.cygnus.com)
2225
2226 * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi
2227 SH.
2228
be2f6bd6
ILT
2229Mon Apr 26 12:28:27 1993 Ian Lance Taylor (ian@cygnus.com)
2230
2231 * expr.c (operand): Fix unary plus operator (previously was the
2232 same as '~' operator!).
2233
2234Wed Apr 21 00:20:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2235
2236 * write.c (cvt_frag_to_fill): Define even if BFD is defined.
2237 (write_object_file): Do define if BFD_ASSEMBLER. Invoke
2238 obj_check_file_symbols if defined. Call verify_symbol_chain_2
2239 instead of open-coding it. Fix some bugs in patching up symbol
2240 chain.
2241 (relax_segment): Make some code we "ought to be able to" use for
2242 all targets no longer conditionalized on ns32k target; instead, do
2243 it always, and if the appropriate conditions fail, abort.
2244
2245 * symbols.c (DEBUG): Enabled.
2246 (symbol_new): Make sure bfd_make_empty_symbol works.
2247 (verify_symbol_chain_2): New funcion; takes one symbol as
2248 argument, anywhere in the chain.
2249 (dollar_label*): Use default initializers.
2250
2251 * as.c (perform_an_assembly_pass): Call md_begin here...
2252 (main): ...and not here.
2253
2254 * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
2255 (tc_frob_symbol): New macro: Get rid of symbols in reg_section.
2256
2257 * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
2258 (add_fix, add_frag): Now functions instead of macros.
2259 (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
2260 s_data1, s_data2, s_bss): Use new *_section names, for
2261 compatibility with BFD_ASSEMBLER mode; rewrite switch statements
2262 to handle non-integral segT.
2263 (tc_coff_fix2rtype, tc_aout_fix_to_chars,
2264 tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
2265 (tc_gen_reloc): New routine for BFD_ASSEMBLER.
2266 (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
2267 md_apply_fix_2; new md_apply_fix definition varies interface
2268 depending on BFD_ASSEMBLER.
2269 (md_convert_frag, md_convert_frag_1): Likewise. Use new *_section
2270 names.
2271
2272 * config/obj-vms.c: Include config.h.
2273 (version_string): Delete declaration.
2274 (Write_VMS_MHD_Records): Use GAS_VERSION instead.
2275 (vms_resolve_symbol_redef): New function, taken from VMS code in
2276 symbols.c.
2277 (_doprnt): Deleted.
2278 (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
2279 VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
2280 VMS_Psect_Spec): Fixed to compiler under traditional C.
2281 * config/obj-vms.h: Use PARAMS macro.
2282 (vms_resolve_symbol_redef): Declare.
2283 (RESOLVE_SYMBOL_REDEFINITION): New macro.
2284 * symbols.c (colon): Remove some VMS-specific code, look for
2285 RESOLVE_SYMBOL_REDEFINITION macro instead.
2286
2287 * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
2288 instructions.
2289
2290 * config/tc-i386.c: Reordered some functions so inlining might
2291 work. Use PARAMS in function declarations.
2292 (reloc): New routine.
2293 (md_assemble): Rearrange switch statements to work with
2294 non-integral segT.
2295
2296 * struc-symbol.h [BFD_ASSEMBLER]: Undefine
2297 SYMBOLS_NEED_BACKPOINTERS before defining it.
2298
2299 * subsegs.c (subseg_new_rest): Now static.
2300
2301 * read.c (pseudo_set): Better error message for difference of
2302 symbols in different frags.
2303
2304 * Makefile.in (check): Pass down some new variables, indicating
2305 pathname or program name for cc, nm, objdump.
2306
2307 * as.h (OUTPUT_FLAVOR): New macro.
2308 * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
2309
2310 * configure.in: Initialize bfd_gas properly. Warn that ELF
2311 support is incomplete.
2312
2313Thu Apr 15 22:39:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2314
2315 * read.c (float_cons): Accept null pointer return from md_atof.
2316 * config/tc-m68k.c (md_atof): Return null for success.
2317 * config/tc-sparc.c (md_atof): Ditto.
2318
97a6070c
RP
2319Thu Apr 15 16:04:39 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
2320
2321 * doc/as.texinfo: formatting and comment cleanups; show SPARC
2322 alternative options in same style as other machines; simplify some
2323 conditional use; include GPL as separate file (from texinfo dir)
2324
2325 * doc/Makefile.in: (as.info) include directory containing GPL in
2326 makeinfo search path
2327
2328 * doc/h8.texi: new file; conditional settings for GAS manual
2329 on Hitachi chips
2330
2331Tue Apr 13 15:31:40 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
2332
2333 * doc/as.texinfo: mention SPARC architecture options.
2334
be2f6bd6
ILT
2335Fri Apr 9 17:43:11 1993 Ken Raeburn (raeburn@cygnus.com)
2336
2337 * configure.in: Rearranged whitespace in per-host/per-target
2338 sections. Added hooks for dropping in HPPA support (not included
2339 yet). Separate out overrides of variables based on target format
2340 and bfd-gas selection from actual target-specific commands. Add
2341 error message for recognized but unsupported format name.
2342
349f20de
ILT
2343Fri Apr 9 09:05:47 1993 Ian Lance Taylor (ian@cygnus.com)
2344
2345 * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
55ff56bd 2346 symbolic header match cline in FDR; the native linker seems to
349f20de
ILT
2347 want that.
2348
5316696f
DZ
2349Thu Apr 8 15:51:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2350
2351 * doc/Makefile.in: as.texinfo is in $(srcdir). Use
2352 $(srcdir)/as.texinfo explicitly in several places
2353
8ac18b21
RP
2354Thu Apr 8 15:15:02 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
2355
132239bf 2356 * doc/Makefile.in: update dvi, clean targets for new source
8ac18b21
RP
2357 file structure
2358
d565311f
ILT
2359Thu Apr 8 12:52:46 1993 Ian Lance Taylor (ian@cygnus.com)
2360
2361 * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
2362 rather than undefining know.
8ac18b21 2363 * configure.in: Match ultrix*, not just ultrix.
d565311f 2364
0742a6fd
RP
2365Wed Apr 7 20:18:10 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
2366
2367 * doc/as.texinfo: converted conditional markup to use new
2368 Texinfo facilities, avoiding m4.
2369
2370 * doc/as-all.texinfo, all.m4, pretex.m4: deleted.
2371
2372 * doc/Makefile.in: recast doc configuration to use a link to an
2373 included texinfo file.
2374
2375 * doc/all.texi: settings for generic form of documentation.
2376
2377Tue Apr 6 11:56:21 1993 Ian Lance Taylor (ian@cygnus.com)
2378
2379 * read.c (cons): Zero out frag when creating reloc.
2380
367fc835
ILT
2381Mon Apr 5 09:41:58 1993 Ian Lance Taylor (ian@cygnus.com)
2382
84e4920f
ILT
2383 * config/tc-mips.c (gp_reference): Certain magic symbols can never
2384 be referenced off the GP register.
2385
367fc835
ILT
2386 * app.c (do_scrub_next_char): Handle states 9 and 10 correctly
2387 when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
2388 LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
2389
2390 * config/te-irix.h: New file; irix needs a different LOCAL_LABEL
2391 definition from other MIPS targets.
2392 * configure.in (mips-*-irix): Use emulation irix.
2393
dd4227d3
SC
2394Sun Apr 4 15:21:09 1993 Steve Chamberlain (sac@thepub.cygnus.com)
2395
2396 * config/tc-h8500.c: Get relax size of branch instructions right,
2397 (get_operand): Parse @sp+ correctly.
2398
be2f6bd6
ILT
2399Fri Apr 2 15:59:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2400
2401 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
2402 COFF section header field.
2403
2404 * configure.in: Print error message if host or target is not
2405 supported.
2406
2407 * configure.in: If with-bfd-assembler, use obj-coff instead of
2408 obj-coffbfd.
2409
2410 * config/ho-generic.h: Include string.h.
2411
ed364bb6
ILT
2412Fri Apr 2 08:54:57 1993 Ian Lance Taylor (ian@cygnus.com)
2413
0433135d
ILT
2414 * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
2415 '$' as local, for any object file format.
2416
477b4b04
ILT
2417 * config/tc-mips.c (macro): Optimizations to branching code and a
2418 couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph
2419 Campbell).
2420
ed364bb6
ILT
2421 * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
2422 * configure.in (mips-sgi-irix*): Set gas_host to irix.
2423
670a50eb
ILT
2424Wed Mar 31 17:53:54 1993 Ian Lance Taylor (ian@cygnus.com)
2425
2426 * subsegs.c (subseg_new): Set output_section of new section.
2427 * as.c (perform_an_assemly_pass): Don't set output_section here.
2428 * expr.c (expr_part, expr): Turn off section assertions for ECOFF,
2429 since it has additional sections.
2430 * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
2431 not bss_section.
2432 * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
2433 ecoff_undefined field.
2434 * config/obj-ecoff.c (obj_symbol_new_hook): Initialize
2435 ecoff_undefined field.
2436 (add_file): If using stabs, just output a stabs symbol rather than
2437 creating a new fdr.
2438 (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
2439 it with get_absolute_expression, rather than skipping it by hand.
2440 (obj_ecoff_loc): If using stabs, just output a stabs symbol rather
2441 than ECOFF line number information.
2442 (obj_ecoff_stab): Accept non-zero values for stabs line number.
2443 (ecoff_build_symbols): Set ifilesym correctly. Set storage class
2444 to small, undefined and/or readonly sections if appropriate.
2445 Don't output symbol names containing \001 characters.
2446 (ecoff_frob_file): Make sure at least one fdr is output.
2447 * config/tc-mips.h: Define TC_MIPS.
2448 * config/tc-mips.c (g_switch_value): New static variable.
2449 (md_assemble): Set gp size of output BFD.
2450 (gp_reference): New function; returns 1 if expression can be
2451 accesssed via gp. Always returns 0 if not using ECOFF.
2452 (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
2453 possible.
2454 (macro): Generate sequences using gp if possible.
2455 (md_parse_option): Ignore -EL and -EB. Parse -G.
2456 (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
2457 (s_change_sec): Handle .rdata and .sdata for ECOFF.
2458 (s_extern): Mark symbol as external. Set ecoff_undefined field.
2459
2b1b5697
KR
2460Tue Mar 30 10:11:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2461
670a50eb
ILT
2462 * output-file.c (output_file_create): Don't call as_perror for
2463 filename rejected by application.
2464
2465 * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
2466 the output file.
2467
4b061a2a
KR
2468 * doc/as.texinfo: Don't use @value in node names for the moment;
2469 references don't appear to work right.
2470
4478def8
KR
2471 * as.h (const, volatile): Put these definitions back, and use
2472 them.
2473
2b1b5697
KR
2474 * doc/as.texinfo: First pass at using new texinfo features --
2475 variables, conditional tests. Far from complete.
2476
2477Mon Mar 29 16:05:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2478
2479 * read.c: Temporary hack to handle some 64-bit constants. This
2480 should be redone later.
2481 (target_big_endian): Declare.
2482 (big_cons): If it's set, reverse order of bytes being copied.
2483 * config/tc-sparc.c (md_begin): Set target_big_endian.
2484
2485 * read.c (s_ignore): Delete declaration of is_end_of_line.
2486
2487 * config/obj-coffbfd.c (yank_symbols): Build list of file symbol
2488 forward pointers properly.
2489
e02eaa59
SC
2490Mon Mar 29 13:47:33 1993 Steve Chamberlain (sac@thepub.cygnus.com)
2491
2492 * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
2493 wasn't being stored into scnhdr.
2494 * config/obj-coffbfd.h: Add prototype of s_get_segment.
2495 * read.c (TC_START_LABEL): Default definition.
2496 (read_a_source_file): Use TC_START_LABEL macro to work out
2497 if a label has been seen.
2498
543d88e4
ILT
2499Mon Mar 29 12:56:56 1993 Ian Lance Taylor (ian@cygnus.com)
2500
c39b3eba
ILT
2501 * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
2502 the bottom (make expands variables in dependencies when the
2503 dependencies are read, not when they are used).
2504
543d88e4
ILT
2505 * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
2506 a29k .bss section; the mondfe program doesn't like it.
2507
2b1b5697
KR
2508Sun Mar 28 08:12:53 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2509
2510 * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
2511 const.
2512 (current_architecture): Don't need initializer.
2513
2514Fri Mar 26 08:12:48 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2515
2516 * doc/none.m4: Define Z8000.
2517 * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir). Remove the
2518 texinfo file before recreating it.
2519 (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
2520 this directory.
2521 (srcdir): Delete second, bogus definition.
2522 (as.info): Look for as-*.texinfo in current directory rather than
2523 in $(srcdir).
2524 (as.dvi): Ditto.
2525 (dvi): New rule.
2526 * doc/configure.in: Create links to all as-*.texinfo files in the
2527 source directory, if that's not the current directory.
2528
2529 * configure.in (per-host): Accept MIPS host with BSD version
2530 number.
2531 (per-target): Classify i486 as i386. Use generic cpu_type instead
2532 of target_cpu in selecting format etc.
2533
2534 * app.c (do_scrub_next_char): Use .appfile, not .app-file.
2535 * read.c (potable): Change .app-file to .appfile.
2536
2537 * config/ho-decstatn.h: Renamed from ho-decstation.h.
2538 * configure.in: Adjusted.
2539
2540 * config/obj-bfd-sunos.*: Unused; deleted.
2541
2542 * Makefile.in (version.c, vers-stamp): Deleted.
2543 (config.h): Define GAS_VERSION.
2544 * as.c (version_string): Deleted declaration.
2545 (main): Look for GAS_VERSION instead.
2546
2547 * doc/as.texinfo: Updated description of -a* (listing) options,
2548 and describe how to pass them through from gcc.
2549
2550 * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
2551 process relocs if there aren't any relocs to process. Avoids
2552 malloc/free bug on SCO too.
2553
2554 * as.h: Move local include files below system include files, to
2555 avoid some redefinition complaints on some systems.
2556 (const, volatile): Don't need these conditionally defined if we
2557 use CONST and VOLATILE from ansidecl.h.
2558 (seg_name): Use CONST, not const.
2559
543d88e4
ILT
2560Fri Mar 26 10:22:04 1993 Ian Lance Taylor (ian@cygnus.com)
2561
2562 * config/tc-mips.c: Reindented to GNU standards.
2563
2c19a57c
ILT
2564Thu Mar 25 08:59:14 1993 Ian Lance Taylor (ian@cygnus.com)
2565
61001d96
ILT
2566 * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
2567 (fixup_segment): Add a29k special case; the linker is not prepared
2568 to see a segment offset here.
2569
2c19a57c
ILT
2570 * app.c (do_scrub_next_char): Added new state, 10, modifying state
2571 9 to only keep a space in between identifier characters.
2572
afcc637a
DZ
2573Wed Mar 24 02:16:22 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
2574
2d4bef5e
DZ
2575 * Makefile.in: add dvi target; as-$(config).texinfo might live in
2576 srcdir, might be in objdir.
afcc637a
DZ
2577
2578 * doc/Makefile.in: dvi depends on as.dvi
2579
80c8fd72
DZ
2580Mon Mar 22 23:59:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2581
2582 * Makefile.in: add installcheck target
2583
1369949e
ILT
2584Mon Mar 22 10:19:00 1993 Ian Lance Taylor (ian@cygnus.com)
2585
2586 * config/tc-mips.c (macro): Use $AT for any floating point load.
2587
63cdddad
KR
2588Sat Mar 20 12:50:51 1993 Ken Raeburn (raeburn@urth.cygnus.com)
2589
2590 * config/tc-m68k.c (m68k_ip): For operand type 'M', reject
2591 bignums, but don't emit error message.
2592
69498fa2
JW
2593Fri Mar 19 21:02:19 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
2594
2595 * Makefile.in (targ-cpu.o): Depend on config.h.
2596
f6a91cc0
ILT
2597Wed Mar 17 16:44:06 1993 Ian Lance Taylor (ian@cygnus.com)
2598
2599 * app.c (do_scrub_next_char): Added new state, 9, to avoid
2600 dropping a space immediately following an identifier.
2601 * expr.c, write.c: Rewrote assert expressions to not use multiple
2602 lines; I don't think that can be done portably.
2603 * config/tc-mips.c (macro): Use $AT if target register is zero in
2604 load instruction, which it can be for a floating point load.
2605
a36f6645
ILT
2606Mon Mar 15 12:17:28 1993 Ian Lance Taylor (ian@cygnus.com)
2607
3d3c5039
ILT
2608 * write.c (write_contents): Compute the relocs before writing out
2609 the section contents.
2610 * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
2611 symbol table and values right.
2612 * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
2613 with $L is local.
2614 * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
2615 by the section vma.
2616
2617 * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
2618 z8k-opc.h, not z8k.h.
2619
a36f6645
ILT
2620 * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
2621 symbol.
2622
2a697fa4
DZ
2623Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2624
2625 * configure.in: recognize sparc-sun-solaris2* instead of -solaris2
2626
f2f7d044
ILT
2627Fri Mar 12 12:00:07 1993 Ian Lance Taylor (ian@cygnus.com)
2628
2629 * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
2630 to be on a single line.
2631
ed099874
KR
2632Thu Mar 11 17:56:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2633
2634 * Makefile.in (config.h): Create file, writing out definitions of
2635 target cpu, alias, and canonical name.
2636 (ALL_CFLAGS): No longer define TARGET_CPU.
2637
2638 * Makefile.in (check): Print a message, instead of quitting
2639 silently.
2640
2641 * as.c (main): Don't catch any signals, for now.
2642
2643 * version.c: Deleted.
2644 * Makefile.in: Generate it, putting in only the version number
2645 itself.
2646 (VERSION): New variable.
2647 * as.c: Include config.h.
2648 (main): Reformatted version string. Include target alias. Don't
2649 print if not requested (i.e., unknown -v argument).
2650
2651 * as.c (stralloc): Deleted.
2652 (main): Call strdup instead.
2653
2654 * configure.in: Handle all 68300 series chips.
2655 * config/tc-m68k.c: Include config.h.
2656 (md_assemble): Assume TARGET_CPU is defined. Accept some 68300
2657 series cpus as defaults.
2658 (md_parse_option): Accept some m68300 series CPUs as defaults.
2659
2660Wed Mar 10 17:41:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2661
2662 * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
2663 not already defined.
2664 (main, got_sig): Use them.
2665 * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
2666 values.
2667
2668Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
2669
2670 * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
2671 support.
2672
2673 * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
2674 OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
2675 (struct loc, struct proc, struct file): Moved to tc-mips.c within
2676 #ifndef OBJ_ECOFF block, since ECOFF uses different versions.
2677 * config/tc-mips.c: Rearranged for ECOFF support. Added
2678 prototypes for all static functions. Moved existing minimal
2679 debugging format support info #ifndef OBJ_ECOFF blocks.
2680 (macro_build_lui): Eliminated sign_extend argument, because ECOFF
2681 does not support a non sign extended high 16 bits reloc. Adjusted
2682 all callers accordingly.
2683 (tc_get_register): Renamed from get_register, and made non-static.
2684
2685 * config/mips-big.mt, config/mips-lit.mt: New files. Define
2686 TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
2687 respectively.
2688 * configure.in (mips-*-bsd*): Use gas_target mips-lit.
2689 (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
2690 obj_format ecoff and gas_target mips-lit or mips-big.
2691
c5d4bc88
KR
2692Tue Mar 9 07:43:01 1993 Ken Raeburn (raeburn@cygnus.com)
2693
2694 * version.c: Bump to version 2.0.1.
2695
fefba3a5
ILT
2696Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
2697
2698 * write.c (chain_frchains_together): Check that seg_info (section)
2699 is not NULL.
2700 (write_object_file): Call obj_frob_file after setting the symbols,
2701 not before.
2702
2b1b5697
KR
2703Tue Mar 9 00:00:00 1993 Ken Raeburn (raeburn@cygnus.com)
2704
2705 * Version 2.0 released.
2706
fefba3a5
ILT
2707Mon Mar 8 14:57:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2708
2709 * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
2710
2711Fri Mar 5 09:05:55 1993 Ian Lance Taylor (ian@cygnus.com)
2712
2713 * read.h: Define stringer here.
2714 read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
2715 places.
2716
bf449293
SC
2717Thu Mar 4 11:52:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
2718
2719 * read.c (s_space): Multiply repeat count by mult, not fill.
2720
9471a360
KR
2721Thu Mar 4 05:20:42 1993 Ken Raeburn (raeburn@cygnus.com)
2722
2723 * read.c: Include ctype.h.
2724
1101551c
KR
2725Wed Mar 3 10:41:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2726
2727 Patches from Eric Youngdale:
2728 * make-gas.com: Find obstack.obj if it's not in the current
2729 directory.
2730 * read.c (s_ignore): Don't declare is_end_of_line. It's
2731 redundant, and triggers a VMS gcc compiler bug.
2732
2733 * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
2734 current segment as an argument. (Ignored in all cases but VMS.)
2735 All callers and definitions changed.
2736
5e4cddb7
ILT
2737Tue Mar 2 11:56:19 1993 Ian Lance Taylor (ian@cygnus.com)
2738
2739 * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
2740 case compile again.
2741
f3ca2a64
KR
2742Tue Mar 2 08:53:34 1993 Ken Raeburn (raeburn@cygnus.com)
2743
2744 * config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
2745 so "~0x80" won't be rejected.
2746
2747 * config/obj-elf.c: No longer include elf/reloc.h.
2748 (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
2749 (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
2750 routines.
2751 (obj_elf_xstab): New routine.
2752 (obj_elf_set_size): Call as_warn, not fprintf. Pass desired
2753 argument to s_ignore. Put "#if 0" around unused code.
2754 (obj_pseudo_table): Use s_ignore instead of do-nothing routines.
2755 Call elf_xstabs for .stabs and .xstabs operators.
2756
2757 * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
2758
2759 * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
2760 present.
2761
2762 * configure.in: mips-bsd configuration was missing format spec.
2763 Should use aout.
2764
2765 * Makefile.in (Makefile): Depends on configure.in.
2766
2767 * config/tc-mips.c (append_insn): Don't check for alignment of
2768 frag in memory; alignment of instructions in section is a separate
2769 matter.
2770
2771 * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
2772 C availability.
2773
2774 * listing.h: Always provide function declarations, not macros, so
2775 pcc won't lose.
2776
7687d89b
JG
2777Tue Mar 2 00:50:43 1993 John Gilmore (gnu@cygnus.com)
2778
2779 * CONTRIBUTORS: Update Gilmore entry.
2780
2781Wed Feb 24 14:58:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2782
2783 * frags.c (frag_init): New function.
2784 (zero_address_frag, bss_address_frag): Now initialized at run
2785 time.
2786 * as.c (main): Call frag_init.
2787
160b7f0f
ILT
2788Wed Feb 24 10:32:42 1993 Ian Lance Taylor (ian@cygnus.com)
2789
2790 * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
2791 Don't unget ch2 if we didn't get it.
2792
0cca30f3
KR
2793Wed Feb 24 04:14:07 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2794
2795 * doc/Makefile.in (TEXIDIR): Updated for new layout.
2796
2797 * config/tc-sparc.c (s_common): Add support for ELF version.
2798 (tc_gen_reloc) [BFD_ASSEMBLER]: New function.
2799 * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
2800 New macros.
2801 (md_convert_frag): New macro.
2802
2803 * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
2804 symbol, fix the offset so "+2" isn't required.
2805
2806 * config/tc-i960.c (line_comment_chars, line_separator_chars):
2807 Define as common/bss.
2808 (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
2809 initializers are sufficient.
2810
2811 * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
2812 (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
2813 (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
2814 (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
2815 * config/obj-aout.c: Use PARAMS macro for declarations. Remove
2816 "IGNORE_DEBUG" conditional, since both branches are identical.
2817 Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
2818 referencing symbol structure members.
2819 (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
2820
2821 * as.h (struct frag): Reordered a couple of fields for better
2822 packing.
2823
2824 * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
2825 section info.
2826 (write_contents) [BFD_ASSEMBLER]: New function.
2827 (write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call
2828 fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call
2829 obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
2830 (fixup_segment): Make sure common-section symbols get treated the
2831 same as undefined symbols.
2832 (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
2833 bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from
2834 section info.
2835 * write.h (fix_new): Update prototype.
2836
2837 * tc.h (md_operand, md_convert_frag, tc_headers_hook,
2838 md_section_align, md_undefined_symbol): Don't provide prototypes
2839 if these are defined as macros.
2840 (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
2841 section passed.
2842
2843 * symbols.c (symbol_new): Argument NAME is now pointer to const.
2844 Simplified STRIP_UNDERSCORE code. Remove assumptions about null
2845 pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new
2846 BFD symbol.
2847 (colon): Display other/desc fields of redefined symbol only if
2848 S_GET_OTHER and S_GET_DESC are defined.
2849 (symbol_make): Argument NAME is now pointer to const.
2850 (symbol_find, symbol_find_base): Likewise.
2851 (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
2852 * symbols.h: Fix prototypes for new const arguments. Add
2853 prototypes for BFD_ASSEMBLER S_* functions.
2854
2855 * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
2856 for changing to an existing section.
2857 (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
2858 called by subseg_new and subseg_set.
2859 (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
2860 given section name and subseg number.
2861 (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
2862 new section/subsection.
2863
2864 * read.c: Don't include ctype.h.
2865 (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
2866 for now; should be machine-dependent.
2867
2868 * configure.in: Accept *-*-elf and *-*-solaris* as ELF format
2869 targets, forcing BFD use.
2870
2871Wed Feb 17 18:59:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2872
2873 * config/tc-sparc.c: Use PARAMS macro for static function
2874 declarations. Use BFD_RELOC_ macros everywhere, with
2875 compatibility macros declared for non-BFD mode.
2876 (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
2877 instead of enum reloc_type.
2878 (emit_sparc_reloc): Commented-out function deleted.
2879 (md_convert_frag): Deleted.
2880 (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
2881 (md_apply_fix): Changed calling sequence (conditionally) for BFD
2882 version.
2883 * config/tc-sparc.h (md_convert_frag): New macro.
2884
2885 * config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
2886 not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
2887 of referencing fields directly.
2888
2889 * write.c (cvt_frag_to_fill): New function; extracted from
2890 write_object_file.
2891 (write_object_file) [! BFD_ASSEMBLER]: Call it.
2892 (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
2893 and set its size and flags.
2894
2895 * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
2896 fields with BFD equivalents. Turn on back-pointers, and add
2897 target-specific fields at end.
2898
2899Thu Feb 11 09:20:37 1993 Ian Lance Taylor (ian@cygnus.com)
2900
2901 * config/obj-coffbfd.c (fill_section): Don't set vaddr here.
2902 (write_object_file): Set it here instead, so that fixup_segment
2903 can see the correct value.
2904
2905Mon Feb 8 13:56:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2906
2907 * write.c (write_object_file): Check for errors and warnings and
2908 bail out before processing contents.
2909 (chain_frchains_together_1): New function, does most of the work
2910 of remove_subsegs.
2911 (chain_frchains_together) [BFD_ASSEMBLER]: New function.
2912 (remove_subsegs) [! BFD]: Call it.
2913 (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
2914 structures and routines.
2915
2916 * config/obj-elf.*: New files.
2917
2918 * config/mips.mt, config/rs6000.mt: Deleted.
2919
2920 * config/h8300.mt: Don't specify compiler here.
2921
7687d89b 2922 * config/z8k.mt: The z8k code depends on the z8k opcode table,
0cca30f3
KR
2923 not the h8300 one.
2924 * config/tc-z8k.h: Comment fix.
2925
2926 * write.c: Reordered some functions for better inlining.
2927 (fixup_segment): Linkrelax code is no longer conditional on
2928 TC_I960.
2929
2930Thu Feb 4 12:45:16 1993 Steve Chamberlain (sac@thepub.cygnus.com)
2931
2932 * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
2933 obj-coffbfd.h}: support for the H8/500
2934
2935Wed Feb 3 19:28:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2936
2937 * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
2938 * write.c (write_object_file): Not here.
2939 (fix_new): Initialize fx_addnumber.
2940
2941 * listing.c: Don't include target-cpu.h explicitly, since as.h
2942 includes it.
2943
2944Thu Jan 28 00:35:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2945
2946 * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
2947 *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
2948 (struct fix): Reordered fields for compactness and efficiency.
2949 Converted some logical fields to 1-bit fields.
2950
2951 * config/obj-aout.h: Use PARAMS.
2952 [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
2953 N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
2954
2955 * read.c: Don't include listing.h; as.h includes it. Removed
2956 DONTDEF code.
2957 [BFD_ASSEMBLER]: Include subsegs.h.
2958 (old_buffer, new_broken_words): Default initialization is
2959 sufficient.
2960
2961 * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
2962 to 0, define stdoutput.
2963 (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
2964 Call bfd_set_arch_mach.
2965 (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
2966 bfd_close_all_done. Call bfd_perror on failure.
2967 (output_file_append) [BFD_ASSEMBLER]: Don't define.
2968
2969 * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
2970
2971 * subsegs.h (segment_info_type): Always define. Omit field scnhdr
2972 if not MANY_SEGMENTS. Define new field bfd_section if
2973 BFD_ASSEMBLER.
2974 (seg_info): New macro.
2975
2976 * expr.c, input-scrub.c: Use PARAMS macro. Deleted unused
2977 variables, and some irrelevant comments.
2978
2979 * Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
2980 (LIBS): Include $(BFDLIB). Don't bother with $(CLIB).
2981 * configure.in: Permit --with-bfd-assembler now, with a warning.
2982 Variable need_bfd is now a boolean, as is new variable bfd_gas.
2983 Set BFDDEF and BFDLIB in Makefile when appropriate.
2984
2985 * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
2986 (main): Refer to flag_always_generate_output instead of
2987 flagseen['Z'].
2988
2989 * as.c (main) [BFD_ASSEMBLER]: Open output bfd.
2990 (*_section) [BFD_ASSEMBLER]: Define them.
2991 (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
2992 set section flags when appropriate.
2993 * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
2994 section is not absolute, undefined, or an assembler internal one.
2995 (absolute_section, undefined_section): Always define.
2996 * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
2997 switch statements into if-else trees.
2998 * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
2999 SEG_BSS and SEG_DATA.
3000
3001 * as.h (frag_now_fix): New macro.
3002 * symbols.c (colon): Use it.
3003
3004Wed Jan 27 21:43:53 PST 1993 Ralph Campbell (ralphc@pyramid.com)
3005
3006 * config/tc-mips.c: Added mips support for mips-dec-bsd.
3007 * config/tc-mips.h: Added mips support for mips-dec-bsd.
3008 * config/ho-mipsbsd.h: Added mips support for mips-dec-bsd.
3009 * config/mips-opcode.h: Added mips support for mips-dec-bsd.
3010 * configure.in: Added mips support for mips-dec-bsd.
3011 * atof-generic.c: Define TRUE and FALSE if not defined.
3012
3013Thu Jan 21 12:48:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3014
3015 * version.c: Bumped version number to 1.93.05.
3016
3017Wed Jan 20 17:11:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3018
3019 * config/obj-coff.c (obj_emit_relocations): Don't use #elif.
3020 (obj_emit_lineno): Don't need return at end of void function.
3021 (obj_symbol_new_hook): Ditto.
3022
3023 * config/tc-m68k.c: Removed some unused code.
3024 (tc_aout_fix_to_chars): Array nbytes_r_length is now const.
3025
3026 * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
3027 offset field is set.
3028
3029Fri Jan 8 05:44:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3030
3031 * config/tc-sparc.c (architecture_requested, warn_on_bump,
3032 md_relax_table): Use default zero initialization.
3033 (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
3034 latter, instead of selecting with preprocessor conditionals.
3035
3036Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3037
3038 * configure.in: recognise all sparclite variants
3039
3040Thu Jan 7 05:25:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3041
3042 * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
3043 accidentally changed to use subseg_change where it should have
3044 been subseg_new.
3045
6c5f9998
KR
3046Tue Jan 5 08:42:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3047
0bd77bc4
KR
3048 * expr.c (operand): If character other than comma or newline is a
3049 logical end-of-line character, use the newline case.
0cca30f3
KR
3050 From Eric Youngdale:
3051 (operand): Set X_add_number field for floating-point numbers.
3052 (operand): Treat zero byte as end-of-operand.
0bd77bc4 3053
6c5f9998
KR
3054 * configure.in (per-target): Look for with_bfd_assembler option.
3055 For now, only accept "no", until the merge is done.
3056
0cca30f3
KR
3057 Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil):
3058 * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
3059 config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
3060 * read.c: Finish conversion to S_* macros in the VMS only
3061 parts of the program. Add "const" modifier to hex_value.
3062 * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
3063 "ifdef OBJ_VMS".
3064 * expr.c: Add "const" modifier to hex_value.
3065 * symbols.c: Finish conversion to S_* macros in the VMS only
3066 parts of the program. Add "const" modifier to
3067 md_[long,short]_jump_size. Remove declaration of const_flag
3068 (which will be declared in obj-vms.h).
3069 * write.c: Add "const" modifier to md_[long,short]_jump_size.
3070 Fix arguments to VMS_write_object_file.
3071 * config-gas.com: New file. Script for VMS systems to set up the
3072 configuration to build gas for VMS, and create config.status.
3073 * make-gas.com: Redone to work with new scheme.
3074 * obj-vms.c: Patch to fix bug where we were not correctly parsing the
3075 stabs directives.
3076 * obj-vms.c: Define macros COPY_LONG and COPY_SHORT which
3077 will swap bytes if needed on a big endian system. Use throughout
3078 as needed.
3079 * obj-vms.c (obj_aout_stab): Add code to generate listing file.
3080 * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
3081 types of malformed stabs. Change parsing algorithm so that we are
3082 more certain of having all of the information that we need on hand.
3083 * obj-vms.c (final_forward_reference): New function, used to help
3084 resolve the data types of as many struct elements as possible
3085 when some part of the struct is not fully defined by the compiler.
3086 * obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation
3087 stabs directives.
3088 * obj-vms.c (VMS_write_object_file): Define all vtable psects
3089 as symbols as well in the object file. Look for external functions
3090 that start with "__vt.", and turn them into variables, since the
3091 g++ compiler is incapable of doing this.
3092 * tc-vax.c: Add '1' option for backward compatibility with older GCC
3093 versions.
3094 * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
3095 * input-scrub.c (as_where): Fix bug where as would crash if we did not
3096 have the name of the source file yet.
3097 * config/ho-vms.h: define HO_VMS, not HO_VAX.
3098
9d76a195
KR
3099Mon Jan 4 05:17:26 1993 Ken Raeburn (raeburn@cygnus.com)
3100
3101 * read.c (s_data): Always use "data_section", since it'll map to
3102 SEG_DATA or SEG_E1 if needed.
3103 (s_lcomm): Likewise with bss_section.
3104 (s_fill): Use memset, not bzero.
3105
3106Thu Dec 31 04:29:27 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
3107
3108 * read.c: Deleted some code under "#ifdef DONTDEF" that was for
3109 handling GDB symbol table data.
3110
3111 * config/obj-aout.h (segment_name): Delete definition.
3112 (seg_name): Delete declaration.
3113 * config/obj-bout.h (segment_name, seg_name): Ditto.
3114 * config/obj-vms.h (segment_name, seg_name): Ditto.
3115 * config/obj-coff.h (segment_name): Ditto.
3116 * config/obj-coffbfd.h (segment_name): Ditto.
3117
3118 * Changes for BFD_ASSEMBLER:
3119 * obj.h (obj_crawl_symbol_chain): Declare only if not
3120 BFD_ASSEMBLER.
3121 (obj_header_append, obj_pre_write_hook): Ditto.
3122 * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
3123 (segT) [BFD_ASSEMBLER]: New typedef for "asection *".
3124 (segment_name) If BFD_ASSEMBLER, look up BFD section name;
3125 otherwise, use seg_name array.
3126 (seg_name): Declare only if not BFD_ASSEMBLER.
3127 (section_alignment): Declare only if not BFD_ASSEMBLER.
3128 (big_section, reg_section, pass1_section, diff_section,
3129 absent_section, text_section, data_section, bss_section): If
3130 BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
3131 mapping to segT enum values.
3132 (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
3133 if these are used or defined, if BFD_ASSEMBLER.
3134 (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
3135 subseg_new split into two functions.
3136 (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
3137
3138 * as.h (volatile): Don't define if already defined.
3139 (had_errors, had_warnings): Provide prototypes for ANSI C even if
3140 NO_STDARG.
3141 (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
3142 declare with format attribute for -Wformat checking.
3143
85825401
ILT
3144Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com)
3145
3146 * app.c, config/tc-*.c: Don't include read.h, since it is already
3147 included by as.h.
3148
3149 * These are based on patches from Minh Tran-le
3150 <mtranle@paris.intellicorp.com>.
3151 * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use
3152 obj_format coffbfd and gas_target i386coff for target.
3153 (i[34]86-*-isc*): New host (uses sysv).
3154 * config/i386aix.mt: Removed (no longer used).
3155 * config/mh-i386aix (RANLIB): Use true rather than /bin/true.
3156 (MINUS_G): Removed.
3157 (LDFLAGS): Added, defined as -shlib.
3158 * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
3159 * config/te-sco386.h (LOCAL_LABEL): Don't define.
3160 (DOT_LABEL_PREFIX): Define.
3161 * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
3162 name rather than L0\001.
3163 * read.c (s_lcomm): Make a frag in SEG_BSS rather than using
3164 local_bss_counter.
3165 * symbols.c, symbols.h (local_bss_counter): Removed.
3166 * write.c (write_object_file): bss no longer uses
3167 local_bss_counter. Pass correct data and bss size to
3168 VMS_write_object_file.
3169 * config/obj-vms.c (VMS_write_object_file): Accept bss size as
3170 argument, rather than using local_bss_counter.
3171 * config/tc-m88k.c (s_bss): Don't use local_bss_counter.
3172 * config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
3173 * config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
3174 (size_section): Restored sanity check.
3175 (do_relocs_for): Base section address on s_paddr rather than
3176 computing it. Adjust a29k R_IHIHALF special case to account for
3177 section paddr (used to require paddr to be zero). If there are no
3178 reclos, set s_relptr to 0. Set relocation size in object_headers.
3179 (fill_section): Always set s_vaddr here, removing
3180 ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set
3181 NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
3182 Set STYP_INFO for .comment.
3183 (coff_header_append): Use object headers and H_{SET,GET}_* macros.
3184 Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
3185 (crawl_symbols): Handle 8 character section name correctly. Use
3186 H_{SET,GET}_* macros.
3187 (do_linenos_for): Set lineno size in object_headers.
3188 (write_object_file): Use H_{SET,GET}_* macros. Don't bother to
3189 set s_vaddr here. If string_byte_count remains 4, set it back to
3190 0, and only write strings out if there are some. Call
3191 fill_section before do_relocs_for and do_linenos_for.
3192 (obj_coff_section): Handle optional quoted second argument giving
3193 section characteristics.
3194 (obj_coff_bss): Added to handle .bss.
3195 (obj_coff_ident): Added to handle .ident (puts string in .comment
3196 section).
3197 (obj_coff_lcomm): Put common symbols in .bss, not .data.
3198 (fixup_mdeps): Change to segment. Call frag_wane after
3199 md_convert_frag.
3200 (fixup_segment): Explicitly check S_IS_COMMON before making 386
3201 adjustment (already happened only for common symbols, but this is
3202 clearer).
3203 * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
3204 * config/tc-i386.c (s_bss): Don't use if I386COFF.
3205 (md_pseudo_table): Ignore .optim and .noopt.
3206 (tc_coff_sizemachdep): New function.
3207 * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
3208 compatibility.
3209 (LOCAL_LABEL): Removed definition.
3210 (DOT_LABEL_PREFIX): Defined.
3211
4539aa02
KR
3212Mon Dec 28 10:32:05 1992 Ken Raeburn (raeburn@cygnus.com)
3213
6d331d71
KR
3214 * app.c (app_push): Use memcpy, not bcopy.
3215 (do_scrub_next_char): For \", return " not '.
3216 (symbol_chars): Now const.
3217
4539aa02
KR
3218 * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
3219 and "0b". If LOCAL_LABELS_DOLLAR, check for "0$".
3220
3221 * config/obj-coff.h: Don't use #elif.
3222
3223 * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
3224 have it. (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.)
3225
3eb802b5
ILT
3226Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com)
3227
3228 * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
3229 already defined.
3230
be06bdcd
SC
3231Tue Dec 15 12:40:11 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3232
3233 * app.c (do_scrub_begin): allow single quote strings if so
3234 configured.
3235
3236 * config/*z8k*: checkpoint
3237
3238Sun Dec 13 00:04:38 1992 Ian Lance Taylor (ian@cygnus.com)
3239
3240 * read.c (read_a_source_file): avoid calling xmalloc (0).
3241
016e0d42
ILT
3242Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com)
3243
3244 * listing.c: Call xmalloc, not malloc; don't declare malloc.
3245
3246 * Changes to support SCO 3.2v4:
3247 * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
3248 SEG_BSS, fill with NOP_OPCODE.
3249 * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
3250 * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
3251 using ZERO_BASED_SEGMENTS.
3252 (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
3253 never set segment address for SEG_E2 (.bss) and don't write out
3254 SEG_E2 contents. Set .init and .fini sections to STYP_TEXT.
3255 (obj_coff_endef): Don't merge labels or symbols awaiting forward
3256 definitions, and don't merge tags with non-tags. Check for .bf
3257 rather than just checking whether the second character is b and
3258 the third character is f.
3259 (obj_coff_val): gcc can generate values which we don't handle
3260 correctly; discard information for now, since it only affects the
3261 debugging information.
3262 (tag_find_or_name): Don't insert tags in the symbol table.
3263 (yank_symbols): Don't merge labels.
3264 (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
3265 already defined. Fill subsegments with NOP_OPCODE, not 0. Don't
3266 set segment address if ZERO_BASED_SEGMENTS.
3267 (obj_coff_section): Accept and ignore a trailing quoted string, as
3268 used in AT&T i386 syntax.
3269 (fixup_segment): Take segment as argument. On the i386, adjust PC
3270 relative addends by the segment vaddr.
3271 * tc-i386.h: Define SUB_SEGMENT_ALIGN.
3272 * tc-a29k.h: Define ZERO_BASED_SEGMENTS.
3273 * tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
3274
db33220f
KR
3275Tue Dec 8 00:06:48 1992 Ken Raeburn (raeburn@rtl.cygnus.com)
3276
016e0d42
ILT
3277 * config/obj-coffbfd.c: Include libcoff.h.
3278
db33220f
KR
3279 * version.c: Now version 1.93.
3280
dde624ef
KR
3281Mon Dec 7 00:39:09 1992 Ken Raeburn (raeburn@cygnus.com)
3282
db33220f
KR
3283 * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
3284 power-of-two alignment for .align.
3285
dde624ef
KR
3286 * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
3287 and leave everything else alone.
3288
3289Fri Dec 4 16:58:42 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
3290
3291 * Makefile.in (as.new): Don't bother saving as.old.
3292
3293 * write.c: Conditionalize on OBJ_VMS, not VMS.
3294 (magic_number_for_object_file): Don't define if OBJ_VMS.
3295
3296 * config/obj-vms.c: Changes for traditional C.
3297
7f2cb270
KR
3298Thu Dec 3 01:24:07 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
3299
3300 * config/ho-generic.h (malloc, realloc): Declare.
3301
3302 * Lots of comment/whitespace changes.
3303
3304 * write.h (struct fix): Some fields reordered, narrowed.
3305
3306 * read.c (MASK_CHAR): Define using C types, not magic number.
3307
3308 * as.c, input-file.c: Deleted some unused code.
3309
3310 * app.c, as.h: Doc fix.
3311
3312 * flonum-konst.c, flonum-mult.c: Include ansidecl.h.
3313
3314 * as.h (xmalloc): Argument is long.
3315
3316 * xmalloc.c (error): Remove declaration; as.h takes care of it.
3317
0cca30f3
KR
3318 * doc/as.texinfo: Regrouped documentation of some command-line
3319 options. Updated options documentation for m68k. Some minor
3320 wording/punctuation changes.
3321
7f2cb270
KR
3322Mon Nov 30 11:42:11 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
3323
3324 * configure.in: Accept target OS "vms".
3325
3326 * symbols.c: Merged ANSI and non-ANSI function decls, using
3327 PARAMS macro.
3328
3329 * xmalloc.c: Just include as.h, don't bother trying to figure out
3330 other header files.
3331
3332 * strstr.c, strerror.c: Deleted.
3333 * Makefile.in: Deleted references.
3334
3335 * config/tc-ns32k.c: Don't include header file for string
3336 declarations; leave that to ho-*.h.
3337
3338Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com)
3339
3340 * config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
3341 imported from FSF sources.
3342
3343 * messages.c (strerror): Declare unconditionally.
3344
3345 * as.h: Delete alloca and register definitions.
3346
3347 * config/atof-ieee.c (mask): Now const.
3348
3349 * obstack.c, obstack.h: Deleted.
3350
3351 * as.h (flag_readonly_data_in_text): New flag.
3352 * as.c (main): Set it for -R.
3353
3354 * as.h (flag_suppress_warnings): New flag.
3355 * as.c (main): Set it for -W.
3356 * messages.c (as_warn): Check it instead of flagseen['W'].
3357
3358 * as.h (flag_always_generate_output): New flag.
3359 * as.c (main): Set it for -Z.
3360
3361 * config/tc-sparc.h: Define NEED_FX_R_TYPE.
3362 * config/tc-a29k.h: Ditto.
3363 * write.h (struct fix): Don't conditionalize fx_r_type field on TC
3364 macros.
3365
3366 * as.h: Merged ANSI and non-ANSI function decls, using PARAMS
3367 macro.
3368 * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
3369 obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
3370 write.h: Likewise.
3371 * read.c: Likewise.
3372
3373 * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in
3374 xrealloc from xrealloc.c.
3375 * xrealloc.c: Deleted.
3376 * Makefile.in (REAL_SOURCES, OBJS): Adjusted.
3377
3378 * configure.in: For host CPU a29k, rs6000, vax, consider using bsd
3379 or vms ho- files.
3380
3381 * config/ho-sysv.h (setbuffer, HO_USG): Deleted.
3382
3383 * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
3384 don't initialize it with NULL.
3385
3386 * config/ho-vax.h (M_VAX): Deleted; was unused.
3387
3388 * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
3389 New files imported from FSF version, contributed by Eric Youngdale.
3390 * README-vms-dbg, config/vms: Deleted.
3391
3392 * ChangeLog, config/ChangeLog: Merged.
3393
3394 * config/*tahoe*, configure.in: Tahoe support brought in from FSF
3395 version.
3396
3397 * input-file.c (input_file_open): Eliminate call to setvbuf.
3398 [USG] (setbuffer): Deleted macro.
3399
6efd877d
KR
3400Mon Nov 23 11:00:16 1992 Ken Raeburn (raeburn@cygnus.com)
3401
3402 * all files: Whitespace changes for GNU indentation style, done by
7f2cb270 3403 GNU `indent'. Some cleanup still needed, especially of comments.
6efd877d
KR
3404
3405 * configure.in: No te-386bsd.h file exists; don't try to use it.
3406
7f2cb270
KR
3407 * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
3408
3409 * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
3410 could be doing emulation.
3411
0cca30f3 3412Thu Nov 19 11:47:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
132239bf 3413
0cca30f3
KR
3414 z8000 documentation
3415 * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
3416 all modified.
3417
6efd877d
KR
3418Tue Nov 10 09:49:24 1992 Ian Lance Taylor (ian@cygnus.com)
3419
3420 * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
3421
3422 * subsegs.h: add extern to segment_info declaration.
3423
3424 * read.h: added extern declarations for comment_chars,
3425 line_comment_chars, and line_separator_chars.
3426 read.c, app.c: removed definitions of comment_chars,
3427 line_comment_chars, and line_separator_chars.
3428
7f2cb270
KR
3429 * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
3430 still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
3431 the register name.
3432 (insert_reg): put REGISTER_PREFIX before register names before
3433 putting them in the symbol table.
3434 * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
3435 M68KCOFF.
3436
3437 * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
3438 section.
3439
3440 * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
3441 comment_chars, line_comment_chars and line_seperator_chars
3442 consistently const, and always initialized them. Included read.h.
3443
3444Thu Nov 5 17:55:41 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
3445
3446 * tc-sparc.c (sparc_ip): Add code to flag error if an absolute
3447 constant will not fit in an immediate field.
3448 (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
3449
3450Wed Nov 4 07:50:46 1992 Ken Raeburn (raeburn@cygnus.com)
3451
3452 * obj-coff.c (callj_table): Delete global variable.
3453 (obj_emit_relocations): Define it locally here, and only if
3454 TC_I960 is defined.
3455
3456 * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
3457 (m68k_ip): Don't warn about bignum used as float bit-pattern.
3458
3459 * obj-coff.c: Replaced ANSI and non-ANSI function declarations
3460 with a single set using PARAMS macro.
3461
3462 * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
3463 of 2.
3464
3465 * tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
3466
3467 * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
3468 so widening works consistently.
3469
6efd877d
KR
3470Wed Oct 28 08:52:34 1992 Ken Raeburn (raeburn@cygnus.com)
3471
3472 * version.c: Put conditional "const" before version_string, not
3473 before dummy function for VMS. Now version 1.91.03.
3474
3475 * app.c (do_scrub_next_char): Need double-\ before `000' to show
3476 printed rep of null character.
3477
7f2cb270
KR
3478Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com)
3479
3480 * obj-coffbfd.c (write_object_file): check return value of
3481 bfd_close_all_done.
3482
559d9aac
ILT
3483Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com)
3484
7f2cb270
KR
3485 * Support for i386-sysv.
3486 obj-coffbfd.c (do_relocs_for, write_object_file): set segment
3487 addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can
3488 be used to set them all to zero as was done before.
3489 (fill_section): segment addresses now set in write_object_file.
3490 (fill_section): Don't set STYP_NOLOAD for .bss section.
3491 (fixup_segment): 386 uses strange common symbol format.
3492 tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
3493 compatibility with SVR3.2 linker.
6efd877d
KR
3494 * configure.in: i386-sysv and i386-sco use coffbfd.
3495
559d9aac
ILT
3496 * app.c (do_scrub_next_char): discard whitespace after a label.
3497
0f8b9790
DZ
3498Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3499
3500 * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
3501 hosts, use the sysv configuration for solaris2
3502
7f2cb270
KR
3503Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3504
132239bf 3505 fix i960+non-bfd coff bit rot.
7f2cb270
KR
3506 * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
3507 support for C source listings. (obj_coff_endef): look in the right
3508 part of the symbol for the symbol name
3509
3510 * tc-m68k.c (get_num): make it work for all segments, not just the
3511 first three.
3512
984cf2d7
ME
3513Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
3514
3515 * configure.in: recognize i386-*-bsd emulation.
3516
3517Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3518
3519 * configure.in: use the cpu-vendor-os triple for host and target
3520
7f2cb270
KR
3521Tue Sep 29 12:22:52 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3522
3523 * obj-coffbfd.c (write_object_file): don't fixup for the z8k
3524 * tc-z8k.c: lots of bug fixes
3525
3526Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com)
3527
3528 * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
3529 #elif, since it is not supported by old compilers.
3530 ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
3531 couple of expressions in tc-m68k.c.
3532
984cf2d7
ME
3533Mon Sep 28 21:18:24 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
3534
3535 * read.c (cons): If NO_RELOC is defined, use it.
3536
7f2cb270
KR
3537 * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
3538
3539Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com)
3540
3541 * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
3542 local labels to start with a .) and set REGISTER_PREFIX to %.
3543 tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
3544
5a0fc1d4
JG
3545Fri Sep 25 17:53:43 1992 John Gilmore (gnu@cygnus.com)
3546
3547 * messages.c: Comment changes.
3548
4959cb7b
KR
3549Fri Sep 25 14:12:58 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
3550
3551 * as.h: Test if __STDC__ is defined only, don't test its value.
3552 * messages.c: If __STDC__ is not defined, define NO_STDARG.
3553
5e9d510e
BK
3554Thu Sep 24 12:42:32 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
3555
3556 * listing.c (debugging_pseudo): Add stabs and stabn as things to
3557 ignore.
3558
7f2cb270
KR
3559Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com)
3560
3561 * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
3562 sections starting from zero, rather than making them consecutive.
3563 This makes subsequent reloc calculations easier, esp if the object
3564 format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
3565 allocate lcomm in .data rather than in .bss. It seems that some
3566 tools can't cope with a non-zero sized bss before linkage.
132239bf 3567
7f2cb270
KR
3568Tue Sep 22 15:10:51 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
3569
3570 * tc-m68k.c: Replace "enum m68k_architecture" with "int"
3571 throughout. That enum no longer means what we thought it meant.
3572
3573 * tc-m68k.c (md_assemble, md_parse_option): Handle new
3574 "-mno-688[58]1" options.
3575
3576 * tc-m68k.c: Added CPU32 support.
3577
3578Fri Sep 18 08:02:18 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3579
3580 * tc-m68k.c (m68k_ip): An(disp) is not pc relative.
3581
569dac15
JW
3582Tue Sep 15 17:25:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
3583
3584 * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
3585 Change LIBDEPS dependence to LIBS.
3586
efbfb612
ILT
3587Tue Sep 15 15:32:02 1992 Ian Lance Taylor (ian@cygnus.com)
3588
3589 * Makefile.in (install): if $(tooldir) exists, install as in
3590 $(tooldir)/bin.
3591
987b1491
ILT
3592Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com)
3593
ca5e9d49
ILT
3594 * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
3595 .word is < -32768 or > 32767. The -J flag causes the error to be
3596 ignored. This is to catch over-sized switches generated by gcc on
3597 systems which don't support the broken .word hack.
3598 as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
3599 write.c (fixup_segment): check for signed .word overflow if
3600 WARN_SIGNED_OVERFLOW_WORD.
3601
987b1491
ILT
3602 * write.c (fixup_segment): fixed missing parens in expression
3603 checking for byte or word overflow.
3604
7f2cb270
KR
3605 * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
3606 obj-coffbfd.c (fixup_segment): check for signed .word overflow if
3607 WARN_SIGNED_OVERFLOW_WORD.
3608
3609 * obj-coffbfd.c (fixup_segment): fixed missing parens in
3610 expression checking for byte or word overflow.
3611
3612Fri Sep 11 10:21:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3613
3614 Support for i386 coff
132239bf 3615 * obj-coffbfd.h : added stuff
7f2cb270
KR
3616 * tc-i386.c (tc_coff_fix2rtype): new function
3617 * tc-i386.h : new coff defines
3618
b1520b1f
ILT
3619Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com)
3620
3621 * input-scrub.c (input_scrub_push): call input_file_begin, not
3622 input_scrub_begin.
3623 messages.c (as_perror): print ": " between the passed in error and
3624 the strerror, like perror does.
3625
b53ccaac
ILT
3626Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com)
3627
3628 * Makefile.in: use gas_target instead of modifying target_cpu.
3629 From Steve Chamberlain:
3630 Makefile.in: Handle m68*-*-coff*.
3631 read.c, read.h: add mult argument to s_space
3632
7f2cb270
KR
3633 * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
3634 Motorola and MIT syntax; gas can now assemble either type of
3635 file.
3636 tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
3637 From Steve Chamberlain:
3638 m68kcoff.mt: for m68k COFF.
3639 obj-coffbfd.c: (fixup_mdeps) added
3640 (size_section) removed bad sanity check
3641 (fill_section) added rs_machine_dependent case
3642 (write_object_file) call fixup_mdeps
3643 (fixup_segment) set fx_subsy to 0.
3644 obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
3645 handle m68k.
3646 tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
3647 pseudo ops.
3648
db4d20e5
KR
3649Tue Sep 8 17:10:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
3650
3651 * Makefile.in (LIBS): Include opcode library.
3652
e53ab768
KR
3653Fri Sep 4 18:20:56 1992 Ken Raeburn (raeburn@cygnus.com)
3654
3655 * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
3656 including zero are accepted, pass +0.0.
3657
7e10f53c
ILT
3658Sun Aug 30 21:24:46 1992 Ian Lance Taylor (ian@cygnus.com)
3659
3660 * Makefile.in: map "as" through program_transform_name when
3661 installing.
3662
0cca30f3
KR
3663 * doc/Makefile.in: map "as" through program_transform_name when
3664 installing.
3665
b0952e12
JW
3666Sat Aug 29 12:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
3667
3668 * Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
3669
7f2cb270
KR
3670Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com)
3671
3672 * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
3673 tc-i960.c (md_ri_to_chars): Always output bout object file in
3674 little endian byte order (used to use endianness of host).
3675
b2f221a9
KR
3676Tue Aug 25 15:50:48 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
3677
3678 * config/tc-m68k.c (init_table): Now const. Always include 68851
3679 data, so that "bc" is available to 68040 cache instructions.
3680 Added "tt0", "tt1", and 68ec030 variants.
3681 (md_assemble): Complain if 68000 (only) and 68881 are specified.
3682 (enum _register): Added TT0, TT1.
3683 (m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass
3684 line number correctly in "internal error" messages. Don't print
3685 architecture-mismatch message for operand errors.
3686
3687 From Colin Smith (colin@wrs.com):
3688 * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
3689 than install_operand.
3690
ab737e51
SC
3691Tue Aug 25 15:13:48 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3692
3693 * listing.c (buffer_line): rewind to the start of include
3694 files, they might be included twice.
3695
7f2cb270
KR
3696 * z8k.c, z8k.h, z8k.mt: z8000 support stuff
3697
7121231f
ILT
3698Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com)
3699
3700 * Makefile.in: defined TARGET_CPU for C code so that it can choose
3701 one element of a family.
3702
7f2cb270
KR
3703 * tc-m68k.c: use TARGET_CPU to choose default cpu type.
3704
3705 * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
3706 so that we can assemble hand-written libgcc code.
3707
4772861e
KR
3708Fri Aug 21 14:38:44 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
3709
3710 * messages.c (as_warn): Use fputs, not fprintf, with a buffer that
3711 has already been formatted (but may still contain %-characters).
3712 (as_bad): Likewise.
3713
7f2cb270
KR
3714Wed Aug 19 11:20:59 1992 Ian Lance Taylor (ian@cygnus.com)
3715
3716 * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
3717 written with indirection on the last two operands, which can be
3718 either data or address registers. Added a new operand type 'r'
3719 which accepts either register type. Added '(' to notend stuff in
3720 tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
3721
09952cd9
KR
3722Wed Aug 19 09:25:09 1992 Ken Raeburn (raeburn@cygnus.com)
3723
3724 * as.h (enum _relax_state): Start off at one, not zero, to better
3725 catch uninitialized-variable errors.
3726 (linkrelax): Declare new variable.
3727
3728 * messages.c (warning_count, error_count): Default initializer is
3729 sufficient.
3730
3731 * write.c: Merged some declarations, using PARMS macro.
3732 (text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
3733 data_last_frag): No longer static.
3734 (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
3735 defined, call it. Change segments before calling fixup_segment.
3736 (relax_align): If linkrelax, provide extra padding.
3737
3738 * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
3739 their not having symbols associated.
3740
3741 * tc-i960.c (norelax, instrument_branches): Default initializer is
3742 sufficient.
3743 (linkrelax): Delete variable definition.
3744 (mem_fmt): Call fix_new with NO_RELOC.
3745 (tc_bout_fix_to_chars): Handle alignment relocs.
3746 (i960_handle_align): New function.
3747 * tc-i960.h (linkrelax): Delete declaration.
3748 (HANDLE_ALIGN): New macro; calls i960_handle_align.
3749 (NEED_FX_R_TYPE, NO_RELOC): New macros.
3750
a457f4d9
KR
3751Tue Aug 18 14:59:21 1992 Ken Raeburn (raeburn@cygnus.com)
3752
3753 * config/sparc.mt: New file. Grab sparc opcode table from bfd
3754 library.
3755
4b857710
ILT
3756Tue Aug 18 14:16:38 1992 Ian Lance Taylor (ian@cygnus.com)
3757
3758 * Makefile.in: always create installation directories. Removed
3759 MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
3760 FLAGS_TO_PASS to recursive makes.
3761
0cca30f3
KR
3762 * doc/Makefile.in: always create installation directories.
3763
f7e9bc5a
SC
3764Mon Aug 17 15:09:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3765
3766 * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
3767 being used with args swapped, causing occasional lossage when
3768 refilling buffers after an include file.
3769
c1c28543
KR
3770Mon Aug 17 13:18:51 1992 Ken Raeburn (raeburn@cygnus.com)
3771
3772 * messages.c (as_tsktsk): Use correct ANSI form for stdarg
3773 version. Discard bogus DONTDEF version.
3774 (as_warn, as_bad, as_fatal): Likewise.
3775
2e20e59a
KR
3776Fri Aug 14 18:31:14 1992 Ken Raeburn (raeburn@cygnus.com)
3777
3778 * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
3779 selected architecture, print a message saying so and listing what
3780 processors support it, rather than saying "operands mismatch".
3781
c8c7e0bf
KR
3782Thu Aug 13 13:53:19 1992 Ken Raeburn (raeburn@cygnus.com)
3783
3784 * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
3785
3786 * config/ho-rs6000.h (M_RS6000): Don't define it.
3787 (free): Declare it.
3788 (BROKEN_ASSERT): Define it if not __STDC__.
3789
7f2cb270
KR
3790Tue Aug 11 12:58:14 1992 Ken Raeburn (raeburn@cygnus.com)
3791
3792 * sparc.mt: New file.
3793
3794Mon Aug 10 14:37:08 1992 Per Bothner (bothner@cygnus.com)
3795
3796 * tc-m68k.c: ".align N" means align to N-byte boundary *only*
3797 if TN_SUN3; otherwise align to 2**N-byte bounary.
3798
7fd3560a
SC
3799Thu Aug 6 12:10:39 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3800
3801 * read.c (s_fill): make the .fill size clamped error a warn and
3802 fix bug where 0's were always placed.
3803
7f2cb270
KR
3804 * config/tc-h8300.c: if a :8 is seen after an operand, fill top
3805 two bytes of any constant with 0xff:
3806
62594bd7
SC
3807Wed Aug 5 12:02:40 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3808
3809 * config/tc-m68k.c (md_pseudo_table): fix the .align thing
4f3569fa 3810 the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
62594bd7 3811
7f2cb270
KR
3812Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com)
3813
3814 * tc-m68k.c (try_index): Error if index scaling specified and
3815 assembling for an older CPU than a 68020.
3816
680227f3
KR
3817Sat Aug 1 19:10:13 1992 Ken Raeburn (raeburn@cygnus.com)
3818
3819 * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
3820 fx_offset into account.
3821
c51ccfd5
KR
3822Fri Jul 31 21:53:28 1992 Ken Raeburn (raeburn@cygnus.com)
3823
3824 * configure.in (mips host): Accept "ultrix" with version number.
3825
3826 * expr.c (floating_constant): Separate "=-" to avoid confusing
3827 ancient or broken compilers.
3828
3829 * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
3830 processor/opcode mismatch, so reword the error message.
3831 (md_assemble): If no CPU has been set (even if FPU/PMMU
3832 characteristics have been), default to 68020. Don't need extra
3833 quotes around error string.
3834
14f1fc24
JW
3835Fri Jul 31 12:26:34 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
3836
3837 * read.c (potable): Revert sac's incorrect change made Jul 13.
3838 Align really is supposed to be ptwo not nbytes.
3839
3840Mon Jul 20 02:51:59 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
3841
3842 * Makefile.in: _Do_ include libiberty. (from sef)
3843
3844Fri Jul 17 15:15:28 1992 Ken Raeburn (raeburn@cygnus.com)
3845
3846 * expr.c (integer_constant): Handle "0f" and "0b" label references
3847 properly.
3848
462088b8
SC
3849Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3850
3851 * write.c (fixup_segment): if relaxing, don't do anything.
3852 * config/obj-bout.[ch] : maintain the a_relaxable file header info
3853 * config/tc-i960.c: new option -linkrelax
3854
3855Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3856
3857 * expr.c (expr): allow SEG_BSS in expressions
3858 * read.c (potable): align should be nbytes, not ptwo!
3859 * write.c (write_object_file): extra glue for new bss attributes
3860 (relax_segment): SEG_BSS is ok now
3861 * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
3862
7f2cb270
KR
3863Mon Jul 6 17:09:32 1992 Steve Chamberlain (sac@cygnus.com)
3864
3865 * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
3866
462088b8
SC
3867Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
3868
3869 * configure.in: recognize m680x0 as having sun3 emulation mode for
3870 vxworks environment.
3871
3872
0b0b5dba
DHW
3873Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
3874
3875 * Makefile.in: Add program_suffix (parallel to program_prefix)
3876
7c2d4011
SC
3877Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3878
3879 * app.c (process_escape): new function to handle escapes the right
3880 way, (do_scrub_next_char): use new function
3881 * cond.c (s_ifdef): do ifdef/ifndef right
3882 * read.c (s_fill): make the , expressions optional like the doc
3883 says
3884 * config/tc-h8300.[ch]: better warnings
3885
90d49457
SC
3886Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3887
65bfcf2e
SC
3888 * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
3889 as data0_frchainP
3890
3891 * write.c (write_object_file): various changes to handle data in
132239bf 3892 the BSS segment in much the same was as stuff in the DATA segment.
65bfcf2e 3893
7f2cb270
KR
3894 * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
3895 pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
3896 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
3897 the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
3898 it into SEG_BSS
462088b8 3899
f8701a3f
SC
3900Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3901
3902 * expr.c(expr): allow SEG_REGISTER in expressions.
3903 * read.c(pseudo_set): register expressions can be the source of a
3904 set.
3905 * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
3906 goto SEG_TEXT (if a.out)
3907 * write.c (write_object_file): If a.out don't use the old way for
3908 -R.
3909 * config/obj-a.out (s_sect): complain if the user tries to use a
3910 subsegment with a value which might interfere with out -R hackery.
3911 * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
3912 rather than use ugly if tree. (init_regtable): insert register
3913 names into symbol table.
3914
ebfb4167
MT
3915Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com)
3916
3917 * write.c (write_object_file): keep the fix_tail clean, which
3918 fixes a bug in -R where relocations were being lost.
3919
3920Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
3921
3922 * configure.in: recognize m680x0 as having sun3 emulation mode for
3923 vxworks environment.
3924
3925Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com)
3926
3927 * configure.in: recognize m680x0 as an m68k
3928
dfd53fe9
JW
3929Thu May 28 11:22:02 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
3930
3931 * configure.in: Recognize sparclite as a sparc variant.
3932
7f2cb270
KR
3933 * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new
3934 -Asparclite flag.
3935
d312e231
SC
3936Tue May 26 16:47:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3937
3938 * config/tc-a29k.c: lint
3939 * listing.c, expr.c: patches from Andrew Smith
3940
0cca30f3
KR
3941Thu May 14 17:22:48 1992 K. Richard Pixley (rich@rtl.cygnus.com)
3942
3943 * doc/Makefile.in: use m4 rather than gm4.
3944
7f2cb270
KR
3945Mon May 4 18:56:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3946
3947 * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
3948 calc the base of relocs correctly.
3949 * tc-a29k.c (parse_operand): allow expressions to be in any section.
3950
d312e231
SC
3951Mon Apr 27 13:13:31 1992 K. Richard Pixley (rich@cygnus.com)
3952
3953 * as.c, write.c: use -K rather than -k for the broken word warning
3954 option.
3955
fa493b93
RP
3956Tue Apr 21 13:35:30 1992 K. Richard Pixley (rich@cygnus.com)
3957
3958 * Makefile.in: do not print recursion lines.
3959
d96c09ed
RP
3960Wed Apr 15 21:19:31 1992 K. Richard Pixley (rich@rtl.cygnus.com)
3961
3962 * Makefile.in: the tooldir copy of gas goes directly in tooldir.
3963
3964Tue Apr 14 14:50:22 1992 Ken Raeburn (Raeburn@Cygnus.COM)
3965
3966 * write.c (write_object_file): For b.out format, round up section
3967 start addresses to match required alignment.
3968
81484684
KR
3969Thu Apr 9 05:45:29 1992 Ken Raeburn (Raeburn@Cygnus.COM)
3970
3971 * Makefile.in (install): Install into $(tooldir)/bin, since that's
3972 where gcc looks for it.
3973
3876b4c5
SEF
3974Tue Apr 7 15:12:15 1992 Sean Eric Fagan (sef@cygnus.com)
3975
3976 * Makefile.in: Changed some lines to be less confusing for some
3977 makes.
3978
3979 * input-file.c: Conditionalize on _IOFBF, not VMS.
3980
3981 * read.c, write.c: Change a series of ifdef/elif to
3982 ifdef/else/ifdef etc.
3983
3984Fri Mar 27 12:21:16 1992 K. Richard Pixley (rich@cygnus.com)
3985
3986 * symbols.c (fb_label_init): fix sizeof to memset.
3987
95a925b8
RP
3988Fri Mar 13 15:45:44 1992 K. Richard Pixley (rich@cygnus.com)
3989
3876b4c5
SEF
3990 * Makefile.in: install the man page.
3991
95a925b8
RP
3992 * Makefile.in: pass down MAKEINFO explicitly on info.
3993
0cca30f3
KR
3994 * doc/Makefile.in: use $(MAKEINFO) not makeinfo.
3995
5d53038b
SC
3996Fri Mar 13 08:03:03 1992 Steve Chamberlain (sac@thepub.cygnus.com)
3997
3998 * flonum-const.c: renamed flonum-konst.c to stop dos name
3999 conflict.
4000
7f2cb270
KR
4001Thu Mar 12 04:42:38 1992 K. Richard Pixley (rich@cygnus.com)
4002
4003 * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
132239bf 4004 tc-m68k.h to te-sun3.h.
7f2cb270 4005
8c1b25e4
RP
4006Wed Mar 11 23:32:42 1992 K. Richard Pixley (rich@cygnus.com)
4007
4008 * configure.in: vxworks68 gets te-sun3.h.
4009
4010 * expr.c: remove limitation that local_labels_dollar or
4011 local_labels_fb must be < 10.
4012
4013 * symbols.c: remove local_labels_dollar, replace with a function
4014 interface for a sparse array. All users adjusted.
4015
7f2cb270
KR
4016 * te-sun3.h: add LOCAL_LABELS_DOLLAR.
4017
0cca30f3
KR
4018Sat Mar 7 00:06:25 1992 K. Richard Pixley (rich@rtl.cygnus.com)
4019
4020 * doc/Makefile.in: commented out line for building as-all.texinfo.
4021 This is temporary.
4022
4023 * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
4024
8c1b25e4
RP
4025Fri Mar 6 21:57:18 1992 K. Richard Pixley (rich@cygnus.com)
4026
4027 * Makefile.in: added check target.
4028
4029Tue Mar 3 15:45:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
4030
4031 * Makefile.in: added tooldir and program_prefix.
4032
4033Sun Mar 1 04:43:19 1992 Michael Tiemann (tiemann@cygnus.com)
4034
4035 * write.{c,h} (fix_new): Make these declarations consistent.
4036
1651b22d
MT
4037Sat Feb 29 13:59:10 1992 Michael Tiemann (tiemann@cygnus.com)
4038
4039 * Makefile.in (strerror.o): Add rule so that broken Sun make can
4040 work in subdirs.
4041
5373c439
SC
4042Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com)
4043
4044 * read.c, obj-coffbfd.c : fix h8300 specific bit rot
4045
4046 * expr.c (operand): if can't work out what sort of operand it is,
4047 then look through FLT_CHARS for a hint.
4048
8c1b25e4
RP
4049Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
4050
4051 * Makefile.in, configure.in: removed traces of namesubdir,
4052 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
4053 copyrights to '92, changed some from Cygnus to FSF.
4054
0cca30f3
KR
4055 * doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
4056 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
4057 copyrights to '92, changed some from Cygnus to FSF.
4058
f24f7577
SC
4059Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
4060
14d3e47b
SC
4061 * expr.c: If an expression is single comma, then return with
4062 SEG_ABSENT rather than an error - since the sparc front end does
132239bf 4063 really strange things with things like fbge,a
14d3e47b 4064
f24f7577
SC
4065 * as.h: include bfd.h if using many sections
4066 * expr.c: LOCAL_LABELS_FB had been changed to lower case - so
4067 local labels didn't work.
4068 * listing.c (list_symbol_table): don't core dump when there's no
4069 symbol there.
4070 * write.c, write.h: call fix_new with the right number of args on
4071 the H8.
4072 * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
4073 errors nices
4074
c593cf41
SC
4075Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com)
4076
4077 * app.c: MRI compatibility - allow single quote to start a string.
4078 * as.c: fix typo recently introduced.
4079 * as.h : Don't include aout/reloc.h - it's not right for COFF!
4080 * expr.c: Much rewriting, to accomodate MRI syntax for
4081 expressions. Also easier to read now.
4082 * listing.c: Put back defuns
4083 * read.c: modified to accept MRI syntax, put back listing pseudo
4084 ops so that an assembler built with NO_LISTING ignores list ops
4085 rather than pukes.
4086 * write.c, write.h: fixs - only keep a reloc type in a fix if the target
4087 machine is a SPARC or a 29K.
4088 * config/obj-aout.c: added s_sect pseudo op
4089 * config/obj-coffbfd.c: lints, set the filehdr flags right and
4090 fill in the timestamp.
4091 * config/obj-coffbfd.h: Since we don't include aout/reloc.h
4092 anymore, define all the relocs which the tc-<x> bit will use so we
4093 can translate from them to the coff types.
4094 * config/tc-a29k.c: reloc_type isn't ane enum any more
4095 * config/tc-m68k.c: Added NO_RELOC definition.
4096
2d97273c
RP
4097Fri Feb 21 06:21:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
4098
c593cf41
SC
4099 * Makefile.in: put header files before C source for TAGS; remove
4100 references to non-existent syscalls.h.
4101
2d97273c
RP
4102 * read.c, write.c subsegs.c: back out the .bss changes.
4103
7f2cb270
KR
4104 * obj-aout.c: do not include stab.gnu.h if NO_LISTING.
4105
4106 * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
4107
4108 * a.out.h: removed.
4109
6d5460ab
RP
4110Fri Feb 21 01:08:48 1992 Minh Tran-Le (TRANLE@INTELLICORP.COM)
4111
4112 * symbols.c (local_label_name): symbols now start with ^A.
4113
4114 * read.c, subsegs.c, write.c obj-coff.c: added handling of
4115 `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
4116 generate these sections. .align: will use NOP_OPCODE or 0
4117 for padding. This is just for being nice to the
4118 disassembler.
4119
4120 * expr.c (operand): changed to generate local label "\001L0"
4121 starting with a ^A so that it is recognized as a local label.
4122
4123 * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
4124
7f2cb270
KR
4125 * tc-i386.c: tc-i386.c: added handling of the following opcodes:
4126 i/o opcodes - inb, inw, outb and outw. string manipulation with
4127 att syntax - scmp, slod, smov, ssca, ssto.
4128
4129 * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
4130 to just after .file .
4131
4132 In obj_crawl_symbol_chain() where it tries to put the external
4133 symbols apart, with the condition:
4134 (!S_IS_DEFINED(symbolP) &&
4135 !S_IS_DEBUG(symbolP) &&
4136 !SF_GET_STATICS(symbolP))
4137 it was moving too many symbols out. So I switch it back to the
4138 condition:
4139 (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
4140
4141 In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
4142 so that we don't use the F_RELFLG which make the linker complain
4143 that somebody has stripped the relocation info.
4144
4145 Also, the AIX ld program require that the relocation table
4146 is sorted by r_vaddr like the standard ATT assembler does.
4147
4148 [he also changed the sizeof(struct ...)'s into the coff
4149 style FOOSZ macros. I'm not sure this is right, but I can't
4150 remember why. xoxorich.]
4151
d6e344db
RP
4152Fri Feb 21 01:08:48 1992 K. Richard Pixley (rich@cygnus.com)
4153
4154 * Makefile.in, configure.in, doc: use the doc. Build it, install
4155 it, clean it, etc.
4156
eb9eacd3
RP
4157Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com)
4158
aa3782d2
RP
4159 * read.c: white space and comments only.
4160
f816adbc
RP
4161 * configure.in: use the new atof-ns32.c for ns32k.
4162
eb9eacd3
RP
4163 * write.c: comment change only.
4164
7f2cb270
KR
4165 * tc-m88k.[hc]: pulled in from hack's unfinished work. These
4166 aren't yet integrated.
4167
4168 * tc-i860.[hc]: blew off the dust. Something must still be done
4169 about conflicting relocation types.
4170
4171 * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
4172 real thing.
4173
4174 * tc-i960.c, tc-sparc.c: white space and comments only.
4175
4176 * tc-a29k.h: delete duplicate macro definition.
4177
4178 * new file atof-ns32k.c copied from hack's last unreleased gas.
4179
542e1629 4180Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com)
b3ca913f 4181
eb9eacd3
RP
4182 * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
4183 rather than abort.
132239bf 4184
542e1629
RP
4185 * nearly everything. flush ChangeLog, package as gas-1.92.1.
4186 ChangeLog's prior to this are sketchy at best. I have logs.
4187 They just aren't ChangeLogs.
This page took 0.343189 seconds and 4 git commands to generate.