* config/tc-sparc.c (tc_gen_reloc): For non-a.out relocations, if pc-relative,
[deliverable/binutils-gdb.git] / gas / ChangeLog
CommitLineData
15dc8a20
KR
1Tue Oct 11 16:48:11 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2
3 * config/tc-sparc.c (tc_gen_reloc): For non-a.out relocations, if
4 pc-relative, use fx_offset only, ignore address of relocation.
5
c8caa6c5
ILT
6Tue Oct 11 15:24:00 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
7
8 * config/tc-mips.c (mips_ip): Don't use S_IS_LOCAL when checking
9 for an embedded PIC switch expression, since the definition of
10 S_IS_LOCAL was changed.
11
6d60424f
KR
12Tue Oct 11 15:05:11 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
13
14 * Makefile.in (comparison): When comparing as.new or gasp.new, try
15 running the binary through sed to avoid differences due to
16 "stage1" or "stage2" having been written into the binary.
17
15a90f75
KR
18Sat Oct 8 01:48:04 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
19
20 ELF symbol size handling, based on code from Eric Youngdale:
21 * config/obj-elf.h (OBJ_SYMFIELD_TYPE): New macro. Adds an
22 expression pointer to the symbol structure, used for `size'
23 expressions that couldn't be reduced to constants when initially
24 processed.
25 (elf_frob_symbol): Declare.
26 (obj_frob_symbol): Call elf_frob_symbol always, rather than
27 ecoff_frob_symbol only if ECOFF_DEBUGGING defined.
28 * config/obj-elf.c (obj_symbol_new_hook): Deleted unused code.
29 Clear sy_obj field.
30 (obj_elf_size): Deleted unused code. If size is non-reducible
31 expression, allocate some storage for the sy_obj field and copy
32 the expression.
33 (elf_frob_symbol): New function. Computes sizes, calls
34 ecoff_frob_symbol if appropriate.
35
36 * write.c (fixup_segment): For i386 elf and coff (for now), don't
37 add in value of symbol from another defined section of the file.
38
ecee4027
KR
39Fri Oct 7 17:54:02 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
40
41 * config/tc-m88k.h (TC_KEEP_FX_OFFSET): Define.
42 * config/obj-coff.c (do_relocs_for): Test only TC_KEEP_FX_OFFSET,
43 rather than both it and TC_M88K.
44 (coff_adjust_section_syms): New function.
45 (coff_frob_section): For non-empty sections, create aux entry for
46 the section symbol, indicating the size.
47 (n_line_nos): New variable.
48 (add_lineno): Increment it.
49 (coff_add_linesym): Increment n_line_nos, don't call add_lineno.
50 (coff_frob_file): New function; map coff_adjust_section_syms over
51 sections.
52 (obj_coff_line): Only reset line_base for .bf symbols.
53 * config/obj-coff.h (coff_adjust_section_syms, coff_frob_file):
54 Declare.
55 (obj_frob_file): New macro.
56
57 * config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Renamed from
58 obj_frob_forward_symbol, and rewritten for new parameter list.
59
60 Mon Oct 3 21:02:38 1994 Pat Rankin (rankin@eql.caltech.edu)
61
62 * config/obj-vms.h (S_IS_LOCAL): fix obsolete flagseen[] reference.
63
64Wed Oct 5 11:49:26 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
65
66 * config/obj-ecoff.c (obj_pseudo_table): Accept .esize and .etype
67 as synonyms for .size and .type.
68
b2d7b325
ILT
69Wed Oct 5 00:08:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
70
71 * config/obj-coff.c (coff_frob_section): Remove assert about
72 section alignment.
73 * config/tc-sparc.c (md_section_align): Use section alignment, not
74 xvec align_power_min field.
75
dc87e0ce
KR
76Fri Sep 30 19:05:20 1994 Pat Rankin (rankin@eql.caltech.edu)
77
78 * vmsconf.sh (make-gas.com): handle DCL verification to enable
79 sensible feedback to the user while gas is being built.
80
76a390e2
KR
81Fri Sep 30 16:23:31 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
82
13a336c4
KR
83 * Makefile.in (DISTSTUFF): New variable, listing only make-gas.com
84 for now.
85 (diststuff): New target; builds DISTSTUFF.
86 (realclean): Separate target, depend on clean and distclean, then
87 delete DISTSTUFF.
dc87e0ce
KR
88 * make-gas.com: Deleted.
89
76a390e2
KR
90 * config/tc-i386.c (i386_validate_fix) [BFD_ASSEMBLER]: New
91 function. Converts reloc for "foo-GOT" to BFD_RELOC_386_GOTOFF
92 reloc for "foo".
93 (i386_operand): Don't look up section symbol for
94 undefined_section.
95 (reloc): Always permit return of 8- and 16-bit relocation types.
96 Add a space after "pc-relative" in the error message.
97 (tc_i386_fix_adjustable) [BFD_ASSEMBLER]: Reject
98 BFD_RELOC_386_GOTOFF relocs.
99 (i386_operand): For any GOTOFF reloc, convert it to a BFD_RELOC_32
100 with a "foo-GOT" value.
101 * config/tc-i386.h (i386_validate_fix): Declare it.
102 (TC_VALIDATE_FIX): New macro -- call it.
103 (NOP_OPCODE): Cast to `char' to avoid compiler warnings.
104
105 * as.h: If __STDC__ is not defined and varargs.h is available, use
106 it rather than stdarg.h.
107
108 * write.h (struct fix): Added new bitfield fx_plt, for fixups
109 referring to PLT entries.
110 * write.c (fix_new_internal): Initialize fx_plt to zero.
111 (adjust_reloc_syms): Re-fetch `sym' after top of reduction loop.
112 Don't adjust fx_offset by frag address, since S_GET_VALUE now
113 includes the frag address.
114 (fixup_segment): Changed local var PCREL to type int, added PLT.
115 If PC-relative fixup refers to a PLT entry for a symbol in the
116 current section, don't reduce it.
117
118 * write.c (adjust_reloc_syms): Exit loop through a label. If
119 DEBUG5 is defined, print out each fixup before and after
120 processing.
121 (fixup_segment): If DEBUG5 is defined, print out each fixup before
122 and after processing.
123 (print_fixup): Added prototype. Show address on first line. Show
124 fx_offset and fx_subsy. [!BFD_ASSEMBLER]: Only show fx_r_type if
125 NEED_FX_R_TYPE is defined.
126
127 * symbols.c (print_symbol_value_1): Check S_IS_LOCAL, S_IS_EXTERN,
128 S_IS_DEBUG, S_IS_DEFINED also.
129
9dc6c00f
KR
130Thu Sep 29 18:57:06 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
131
10ff87e9
KR
132 * Makefile.in (all): Depend on .gdbinit.
133 (.gdbinit): Rebuild from gdbinit.in by running config.status.
134
135 * gdbinit.in: Define new function "pf". Fix doc on "pe" and "ps".
136
9dc6c00f
KR
137 * write.c (print_fixup): Print source location on first line.
138 Show fx_r_type and fx_addsy fields.
139
648acaa0
KR
140Wed Sep 28 14:56:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
141
b8480abc
KR
142 * configure.in: Set bfd_gas for all sparc targets in one place,
143 instead of separately for each. Correctly handle user-supplied
144 "--enable-bfd-gas" option.
145
146 * gdbinit.in: Move "break abort" to end, in case gdb complains.
147
148 * as.h (PRINTF_WHERE_LIKE, PRINT_LIKE) [USE_STDARG, !__GNUC__]:
149 Use PARAMS macro.
150
151 * symbols.c (resolve_symbol_value, case O_symbol): Don't do any
152 processing if add_symbol is undefined or in expr_section.
153 (resolve_symbol_value, case O_add): For symbol plus
154 constant-valued symbol, convert to O_symbol and re-reduce.
155 (S_GET_VALUE): If symbol needs resolving, resolve it.
156 (indent_level): No longer static.
157 (print_symbol_value_1): Don't print frag address if it matches
158 zero_address_frag. Don't print "resolving" if already resolved.
159 Print segment name. Don't call print_expr_1 on an undefined
160 symbol.
161 (print_expr_1): Fix whitespace before printing X_add_number.
162
648acaa0
KR
163 * expr.c (make_expr_symbol): No longer static. Use symbol_create,
164 not symbol_new, for symbols holding expression values.
165 * expr.h (make_expr_symbol): Move declaration here.
9ff0f5ef
KR
166 * write.c (fix_new_exp): Handle O_add by creating an
167 expression-valued symbol, and calling fix_new_exp recursively.
168 (adjust_reloc_syms): If a fixup's symbol value is a sum of an
169 undefined symbol and a constant, fold the constant into the fixup,
170 and refer to the undefined symbol directly. Then process the
171 fixup again from scratch.
172 (write_object_file): Before calling adjust_reloc_syms, make a pass
173 through the symbol list trying to resolve values.
174
175 * write.c (print_fixup): New routine, for debugging.
176 (write_relocs): Call bfd_install_relocation. Deleted various
177 hacks for working around problems with bfd_perform_relocation.
178
179 * Makefile.in (VERSION): Update to 2.4.90.
648acaa0 180
7b777690
ILT
181Wed Sep 28 11:50:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
182
620a590e
ILT
183 * Makefile.in (gasp.o): Depends upon config.h.
184
3f42c69e
ILT
185 * config/tc-mips.c: Include subsegs.h.
186 (md_apply_fix): If an unconditional b or bal overflows, and we are
187 not assembling PIC code, replace it with a j or jal.
188
7b777690
ILT
189 * config/tc-mips.c (md_apply_fix): Correct branch overflow test.
190 Use as_bad_where and as_warn_where rather than as_bad and as_warn.
191
192Mon Sep 26 17:15:59 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
193
194 * write.c (write_relocs): Add file name and line number to
195 as_fatal calls. Handle bfd_reloc_overflow case specifically when
196 RELOC_EXPANSION_POSSIBLE.
197
198Fri Sep 23 16:11:28 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
199
200 * as.h (USE_STDARG, USE_VARARGS): Define one or neither of these
201 here. Use them for deciding which PRINTF*LIKE macro definitions
202 to use.
203 * messages.c: Use them, instead of NO_STDARG, NO_VARARGS.
204 [!USE_STDARG && !USE_VARARGS] (va_alist, va_dcl, ...): Provide
205 default definitions matching what we were doing before.
206 (as_tsktsk): Remove the non-stdarg, non-varargs version, and
207 always use the varargs form if not using stdarg. It's safe to
208 always use vfprintf, because libiberty will provide it if the
209 native system doesn't. Also, always make format be const.
210 (as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto.
211
144659ab
ILT
212Fri Sep 23 14:42:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
213
214 * config/tc-mips.c (load_register): Always use addiu when adding a
215 constant to $zero--no need to use daddiu.
216 (macro): Hack the -mips3 overflow tests to not fail when offsetT
217 is only 32 bits.
218
219 * symbols.h (copy_symbol_attributes): Declare.
220
221Thu Sep 22 21:58:24 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
222
223 * listing.c: Bugfixes based in part on patches from Paul
224 Kranenburg.
225 (listing_newline): Check filename as well as line number when
226 deciding whether to record it.
227 (list_symbol_table) [S_IS_REGISTER]: Check that S_IS_REGISTER is
228 false (if defined) as well as checking for reg_section.
229 (listing_listing): Iterate fetching lines while line number is too
230 low, and we haven't run off the end of the input file.
231
232 * config/vms-conf.h: Changed HAVE_DELETE to HAVE_REMOVE.
233
bdaa198a
KH
234Thu Sep 22 13:39:10 1994 Kung Hsu (kung@x1.cygnus.com)
235
236 * ecoff.c (ecoff_generate_asm_lineno): check if
237 current_stabs_filename is NULL before strcmp.
cacd15c4 238 * read.c (read_a_source_file): fix a bug in generate_asm_lineno
bdaa198a
KH
239 checking.
240
8068b96a
KR
241Wed Sep 21 18:17:35 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
242
243 * config/ho-*.h: Now-unused files deleted.
244
245 * symbols.c (copy_symbol_attributes): New function. Copies BFD
246 symbol flags and calls OBJ_COPY_SYMBOL_ATTRIBUTES.
247 (resolve_symbol_value, case O_symbol): Call it, if X_add_number is
248 zero. Don't call obj_frob_forward_symbol.
249 * read.c (pseudo_set): Call copy_symbol_attributes, but only if
250 X_add_number is zero.
251 * config/obj-elf.h (obj_frob_forward_symbol): Deleted.
252
144659ab
ILT
253 * config/tc-i960.c: Lots of whitespace, comment reformatting,
254 using GNU indent.
255 (strchr): Don't declare.
256 [BFD_ASSEMBLER]: Don't compile md_convert_frag,
257 md_estimate_size_before_relax, md_ri_to_chars,
258 md_create_short_jump, md_create_long_jump.
259 (brtab_emit): Use data_section, not SEG_DATA.
260
cacd15c4 261 Mon Sep 19 17:14:44 1994 Pat Rankin (rankin@eql.caltech.edu)
8068b96a
KR
262
263 * config/vms-conf.h: new file, manually derived from conf.in.
264 * config-gas.com: use it, and eliminate obsolete "host.h".
265
3af9783a
ILT
266Wed Sep 21 11:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
267
87bbf920
ILT
268 * config/tc-ppc.c (ppc_current_block): New static variable.
269 (ppc_stabx): Set sy_tc.within of a C_STSYM symbol to
270 ppc_current_block. Don't move around any stab symbol, just those
271 for common symbols.
272 (ppc_bs): Set ppc_current_block.
273 (ppc_es): Clear ppc_current_block.
274 (ppc_frob_symbol): Set the value of a C_STSYM symbol to the offset
275 from the csect of the enclosing block.
276
3af9783a
ILT
277 * config/tc-mips.c (insns_since_cache_access): Remove.
278 (append_insn): Remove setting of insns_since_cache_access, and
279 special 4600 handling; it turns out not to be required.
280
e8d4d475
ILT
281Tue Sep 20 16:13:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
282
283 * config/tc-mips.c (md_shortopts): Remove E.
284 (md_longopts): Add EB and EL.
285 (md_parse_option): Handle -EB and -EL as separate options, rather
286 than as a single -E option with an argument.
287
8268e3ec
JL
288Mon Sep 19 12:42:05 1994 Jeff Law (law@snake.cs.utah.edu)
289
290 * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions
291 involving global symbols too.
292
eb3028aa
KR
293Mon Sep 19 12:12:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
294
295 * as.h: Test NEED_DECLARATION_*, not NEED_*_DECLARATION.
296
297 * configure.in: Test for remove, not delete. Fix cross-assembler
298 test.
299 * as.h: Test HAVE_REMOVE, not HAVE_DELETE; define unlink to
300 remove, not delete.
301
35e70f58
KR
302 * read.c (pseudo_set, case O_symbol): If
303 OBJ_COPY_SYMBOL_ATTRIBUTES is defined, invoke it.
304 [BFD_ASSEMBLER]: Copy BSF_FUNCTION setting too.
305 * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define.
306
307 Wed Aug 10 19:15:30 1994 Pat Rankin (rankin@eql.caltech.edu)
308
309 * config/obj-vms.h (DSG_S_C_UBITU, DST_K_VFLAGS_DSC, DST_K_TS_ATOM,
310 many others): new macros; values obtained from "DSTRECRDS.SDL".
311 * config/obj-vms.h (various): use them.
312 (USE_BITSTRING_DESCRIPTOR): new macro, for selecting bitfield
313 representation (only enum bitfields can avoid being bitstrings).
314 (bitfield_suffix, setup_basic_type): new routines.
315 (VMS_typedef_parse): use them. Now recognize bitfields of all
316 integral types, not just type `int'. Caveat: the representation
317 used for bitfields still does not work for objects placed in
318 registers, and gcc's optimizer sometimes puts small structs there.
319
320 Tue Jun 14 17:31:44 1994 Pat Rankin (rankin@eql.caltech.edu)
321
322 * read.c (s_text) [#if OBJ_VMS]: clear the IN_DEFAULT_SECTION
323 bit from const_flag.
324 * config/obj-vms.h (IN_DEFAULT_SECTION): define this macro.
325 (tc_frob_label): define this to call vms_check_for_special_label,
326 and declare the latter.
327 * config/obj-vms.c (vax_g_doubles): declare this file-scope
328 variable.
329 (const_flag): initialize to IN_DEFAULT_SECTION instead of 0.
330 (vms_check_for_special_label): new routine (tc_frob_label).
331 (VMS_TBT_Routine_End): don't bother checking for `gcc_compiled.'
332 and `gcc2_compiled.' labels; they won't reach here any more.
333 (VMS_typedef_parse) [case 'r']: for types `double' and `complex
334 double', use `vax_g_doubles' flag to select type of double.
335 (VMS_write_object_file) [traceback setup]: don't pass symbols
336 with the IN_DEFAULT_SECTION attribute to the TBT_Routine_Begin
337 and TBT_Routine_End functions.
338
339 Mon Jun 6 20:52:20 1994 Pat Rankin (rankin@eql.caltech.edu)
340
341 * config/obj-vms.c (VMS_TBT_Routine_End): cache the result of
342 S_GET_VALUE() to avoid many repeated function calls.
343 (VMS_Check_For_Main) [#if HACK_DEC_C_STARTUP]: capitalize
344 _C$MAIN_ARGS in advance, in case -h3 (leave symbol name as-is)
345 gets requested. [All the HACK_DEC_C_STARTUP code appears to
346 be obsolete; gcc does it automatically for vms target. It's
347 also misnamed, because it is for the "VAX C" run-time library,
348 not the newer "DEC C" one which has much different startup code.]
349 {various}: use `S_SET_xxx(symbol,new_value)' rather than
350 `S_GET_xxx(symbol) = new_value'.
351
d1578de3
ILT
352Mon Sep 19 12:05:03 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
353
354 * config/obj-coff.c (c_dot_file_symbol): Use bfd_abs_section_ptr,
355 not &bfd_abs_section.
356
e3683042
ILT
357Thu Sep 15 18:36:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
358
359 * expr.c (clean_up_expression): Use addressT, not bfd_vma.
360
75c28b49
JL
361Tue Sep 13 20:05:47 1994 Jeff Law (law@snake.cs.utah.edu)
362
fcacfef6
JL
363 * expr.c (expr): Don't reduce the difference of two symbols in the
364 same frag if the symbols are not in normal sections.
365
75c28b49
JL
366 * config/obj-som.h (S_SET_OTHER, S_SET_TYPE): Delete a.out crud.
367 (S_SET_DESC, S_GET_OTHER, S_GET_TYPE, S_GET_DESC): Likewise.
368 (obj_attach_unwind_info): Do not define. Not needed anymore.
369 * config/tc-hppa.c: Delete whitespace at EOL.
370 (struct hppa_fix_struct): Delete fx_unwind field and all references.
371 (fix_new_hppa): Last arg is now a pointer to an int. Do not
372 call obj_attach_unwind_info anymore. For SOM R_ENTRY and R_EXIT
373 fixups, store 32bits of unwind information in the fx_addnumber
374 field of the fixup.
375 (md_assemble, pa_entry, process_exit, pa_procend): For SOM R_ENTRY
376 and R_EXIT fixups, pass a NULL pointer to fix_new_hppa, and a
377 pointer to 32 bits of unwind info.
378 (tc_gen_reloc): For SOM R_ENTRY and R_EXIT fixups, set the symbol
379 pointer to the dummy symbol; set the addend field to fx_addnumber.
380 (pa_comm, pa_equ, pa_type_args, pa_import): Use bfd_XXX_section_ptr
381 rather than &bfd_XXX_section.
382
26f4447a
KR
383Tue Sep 13 21:15:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
384
d7152d07
KR
385 * config/tc-i386.c (md_apply_fix_1): For GOTPC relocs, decrement
386 value by one; discard adjustments previously being made. From
387 Eric Youngdale.
388
26f4447a
KR
389 VMS- and Vax-related changes from Pat Rankin:
390 * Makefile.in (VMS_OTHER_OBJS): add concat, getopt, and getopt1.
391 * vmsconf.sh: no longer have make-gas.com echo text about needing
392 to modify the gcc-vms driver when intending to use with gcc 1.x.
393 * as.c (parse_options): suppress 'v' from std_short_options and
394 eliminate VMS-specific conditional initialization;
395 [default case]: check for '-v' if md_parse_options doesn't recognize
396 an option;
397 [default case, #if VMS]: check for filename argument when '-v' seen;
398 [case 'v']: delete.
399 * config/tc-vax.c (md_assemble): don't rely on `this_add_number'
400 for O_big literal operands (double floats and long long ints);
401 [VMS, md_shortopts]: add second colon after 'v';
402 (md_parse_options) [VMS, case 'v']: check for argument, so
403 caller can handle `-v' w/o arg.
404
a9898563
SC
405Tue Sep 13 16:45:08 1994 Steve Chamberlain (sac@jonny.cygnus.com)
406
407 * config/obj-coff.c (do_relocs_for): If TC_KEEP_FX_OFFSET
408 is defined, put the tx_offset into the r_offset.
409 * config/tc-sh.c (line_comment_chars): Add #
410 (tc_reloc_mangle): Deleted.
411 * config/tc-sh.h (TC_KEEP_FX_OFFSET): Define.
412 (TC_RELOC_MANGLE): Delete.
413
28d3e4a3
KR
414Tue Sep 13 16:20:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
415
b9419dd2
KR
416 * flonum-konst.c: Change preprocessor tests of HO_VMS to just VMS.
417 * hex-value.c: Ditto.
418 * config/obj-vms.c: Ditto.
419
460531da
KR
420 * config/tc-sparc.c (sparc_ip): Replace as_bad/exit sequence with
421 a call to as_fatal.
422 * config/tc-i860.c (i860_ip): Ditto.
423 * config/tc-hppa.c (pa_ip): Ditto.
424 * config/tc-alpha.c (alpha_ip): Ditto.
425 * as.c (parse_args): Ditto.
426
427 * config/tc-mips.c (mips_ip): Replace as_warn/exit sequence with a
428 call to as_fatal.
429
430 * write.c (write_contents): Use EXIT_FAILURE.
431 * output-file.c (output_file_create, output_file_close,
432 output_file_create, output_file_close): Ditto.
433 * messages.c (as_fatal): Ditto.
434 * config/obj-som.c (obj_som_version, obj_som_copyright): Ditto.
435 * config/obj-ieee.c (write_object_file): Ditto.
436 * config/obj-coff.c (write_object_file): Ditto.
437 * config/tc-vax.c (main): Use EXIT_SUCCESS.
438 * config/tc-m68k.c (main): Ditto.
439
440 * hash.c (main): Pass a value to exit().
441
442 * as.h (EXIT_SUCCESS, EXIT_FAILURE): Moved here.
443 * as.c: ...from here.
444 (parse_args): Use them always.
445 (main): Use exit rather than return.
446
28d3e4a3
KR
447 * Makefile.in (*_FOR_TARGET, INSTALL_XFORM, install, uninstall):
448 Rewrite handling of program_transform_name.
449
b9419dd2
KR
450 * configure.in: Test for functions unlink and delete.
451 * as.h: If unlink isn't available but delete is, define unlink to
452 be delete.
28d3e4a3
KR
453
454 Update for autoconf 1.118:
455 * gdbinit.in: New file, created from old .gdbinit.
456 * .gdbinit: Deleted.
457 * aclocal.m4 (GAS_GDBINIT): Deleted.
458 * configure.in: Don't use it. Instead, generate .gdbinit from
459 gdbinit.in. Don't substitute cpu_type, obj_format, emulation,
460 atof. Switched order of AC_LINK_FILES arguments. Use AC_PREREQ
461 to ensure that older versions of autoconf aren't used.
462 * Makefile.in: Added @configure_input@ line.
463 (configure): Deleted rule.
464
430a3997
ILT
465Tue Sep 13 12:08:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
466
467 * config/obj-coff.c (fixup_segment): After handling the difference
468 of two symbols from the same segment, set fx_subsy to NULL, to
469 satisfy existing TC_COUNT_RELOC macros.
470
e23b25ec
KR
471Tue Sep 13 01:47:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
472
473 * aclocal.m4 (GAS_GDBINIT): New macro.
474 * configure.in: Use it.
475 * configure: Regenerated.
476
c570d361
KR
477Mon Sep 12 20:56:38 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
478
479 * .gdbinit (pe, ps): Define new commands.
480 * symbols.c (indent_level): New static variable.
481 (indent, print_expr_1, print_symbol_value_1, print_symbol_value,
482 print_expr): New functions.
483
484 * Makefile.in (config-stamp): Add a "this file generated by make"
485 message to config.h.
486
487 PIC implementation for i386-linux, based on code from Eric
488 Youngdale and Paul Kranenburg, with some work of my own:
489
490 * write.c (fixup_segment): Test TC_RELOC_RTSYM_LOC_FIXUP on fixup
491 before processing same-section pcrel relocations.
492 (TC_RELOC_RTSYM_LOC_FIXUP): Default to 1.
493
494 * expr.c (make_expr_symbol): If operator is O_symbol and
495 X_add_number is zero, just return the symbol. If operator is
496 O_constant, resolve the symbol's value before returning.
497 (operand): Permit use of "[]" for grouping.
498 (clean_up_expression): For difference of two symbols in the same
499 frag, add the difference of their offsets into X_add_number.
500 (expr): Reduce difference of two symbols in same frag to their
501 difference.
502
503 * config/tc-i386.c (TC_RELOC): New macro.
504 (struct _i386_insn): New field disp_reloc.
505 (GOT_symbol): New variable.
506 (operand_special_chars): Added square-brackets and at-sign.
507 (reloc) [BFD_ASSEMBLER]: Added new argument OTHER; if it is not
508 NO_RELOC, just return it.
509 (reloc) [! BFD_ASSEMBLER]: Add third argument to dummy macro.
510 (BFD_RELOC_386_PLT32, _GOT32, _GOTOFF) [! BFD_ASSEMBLER]: More
511 dummy macros.
512 (tc_i386_fix_adjustable): New function. Returns zero if symbol in
513 fixup is not local, to prevent relocations against externals from
514 being dropped.
515 (md_assemble): Initialize disp_reloc field to NO_RELOC. Pass
516 disp_reloc field to reloc() function, and use TC_RELOC to generate
517 value to pass to fix_new_exp.
518 (md_assemble): Change 32-bit reloc against GOT_symbol into a GOTPC
519 reloc.
520 (i386_operand): Initialize disp_reloc field to NO_RELOC. Handle
521 @GOTOFF, @PLT, @GOT operands. For GOTOFF relocations with local
522 symbols, force generation of the section symbol.
523 (md_estimate_size_before_relax): If GOT_symbol exists, decide
524 we're generating PIC code, and convert relocations against
525 undefined symbols from PCREL to PLT32.
526 (md_apply_fix_1) [OBJ_ELF]: Fix up values for dynamic-linking
527 relocs.
528 (md_undefined_symbol): Notice GLOBAL_OFFSET_TABLE_NAME and set
529 and return GOT_symbol if it matches.
530 (F, MAP): Move macro definitions outside function.
531 (tc_gen_reloc): Only switch on size and pcrel if code wasn't
532 already supplied as PLT32. GOT32, GOTOFF, or GOTPC. Convert
533 BFD_RELOC_32 using GOT_symbol into GOTPC.
534 * config/tc-i386.h (TC_RELOC, tc_fix_adjustable,
535 TC_RELOC_GLOBAL_OFFSET_TABLE, TC_RELOC_RTSYM_LOC_FIXUP): New
536 macros.
537 (NEED_FX_R_TYPE): Define.
538 (LOCAL_LABEL): Accept ".X" prefix too.
539 (GLOBAL_OFFSET_TABLE_NAME): Default to "_GLOBAL_OFFSET_TABLE_".
540
1b434ced
ILT
541Mon Sep 12 17:51:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
542
1779d515
ILT
543 * config/obj-elf.c (obj_elf_type): Rewrite to accept syntax
544 reportedly to be used on Irix 6.
545
c1444ec4
ILT
546 * config/tc-mips.c (md_pseudo_table): Handle .globl and .global.
547 (s_mips_globl): New static function; needed for Irix 5 support.
548 * ecoff.c (ecoff_build_symbols): If BSF_FUNCTION is set for an
549 external symbol with no type, set the type to st_Proc rather than
550 st_Global. Don't set the index of an external st_Proc or
551 st_StaticProc symbol unless it is also a local symbol.
552
1b434ced
ILT
553 * read.c (read_a_source_file): The second argument to as_where is
554 unsigned int *, not int *.
555
326d16ca
KH
556Thu Sep 8 17:18:24 1994 Kung Hsu (kung@mexican.cygnus.com)
557
558 * config/obj-ecoff.h : Change names to OBJ_GENERATE_ASM_LINENO,
559 and generate_asm_lineno.
560 * config/obj-elf.h : ditto.
561 * read.h : ditto.
562 * read.c (read_a_source_file): if no file when inst is read, set
563 generate_asm_lineno to true.
564 * ecoff.h : change name to generate_asm_lineno and add function
565 ecoff_no_current_file.
566 * ecoff.c : change name to generate_asm_lineno.
567 * ecoff.c (ecoff_generate_asm_lineno) : new function, to generate
568 ecoff style line for asm file.
569
eb4fd16f
ILT
570Thu Sep 8 19:43:49 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
571
572 * config/obj-coff.c (size_section): Do an fprintf to stderr rather
573 than a printf.
574 (fixup_segment): Use as_bad_where rather than as_bad.
575
20c9d49a
SC
576Wed Sep 7 17:21:12 1994 Steve Chamberlain (sac@jonny.cygnus.com)
577
eb4fd16f
ILT
578 * config/tc-{h8300,sh}.[ch] (tc_coff_symbol_emit): Function doing
579 nothing becomes macro doing nothing.
20c9d49a 580
bf111c9f
KR
581Wed Sep 7 19:10:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
582
353acf31
KR
583 * Makefile.in (Makefile): Depend on config.status.
584 (config.status): Run config.status from . instead of srcdir.
585
72373532
KR
586 * config/tc-i386.c (tc_gen_reloc): Use bfd_get_reloc_code_name to
587 display the name of the relocation type that couldn't be handled.
588 * config/tc-sparc.c (tc_gen_reloc): Likewise.
589 * config/tc-alpha.c (tc_gen_reloc): Likewise. Deleted abort call
590 after call to as_fatal.
591
592 * configure.in (i386-*-linux*): Don't set bfd_gas.
593
594 * Makefile.in (CC_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET,
595 install, uninstall): Don't use "brokensed" hack any more, the new
596 autoconf code should never let program_transform_name be empty.
597
bf111c9f
KR
598 Update for autoconf beta 1.112:
599 * aclocal.m4 (GAS_CHECK_DECL_NEEDED, GAS_WORKING_ASSERT): New
600 macros.
601 * configure.in: Use them. Use AC_ARG_PROGRAM (now provided by
602 autoconf) instead of my hacked-up AC_PROGRAM_TRANSFORM_NAME. Move
603 test for CROSS_COMPILE just before AC_FUNC_ALLOCA, and emit a
604 message to try to ease confusion about autoconf's
605 "cross-compiling" message.
606 * acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_FREE,
607 NEED_DECLARATION_ERRNO): Renamed from NEED_*_DECLARATION.
608 * configure, conf.in: Regenerated.
609
c8570de8
ILT
610Wed Sep 7 12:49:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
611
612 * configure.in: Check ${host} and ${target} rather than
613 ${host_canon} and ${target_canon}.
614 * configure: Likewise.
615
8c63448a
ILT
616Tue Sep 6 11:42:38 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
617
618 * config/tc-mips.c (mips_cpu): New static variable.
619 (insns_since_cache_access): New static variable.
620 (md_begin): Set mips_cpu as well as mips_isa.
621 (append_insn): If mips_cpu is 4600, require four nop instructions
622 between an instruction which accesses the cache and certain CACHE
623 instructions. Keep track of the number of instructions seen since
624 an instruction which accesses the cache.
625 (md_parse_option): Set mips_cpu as well as mips_isa.
626
a5a2f156
KR
627Mon Sep 5 07:09:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
628
629 * doc/Makefile.in (VPATH): Define using @srcdir@.
630 (prefix, program_transform_name, exec_prefix): Use autoconf style
631 @-substitutions.
632
8c63448a 633Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
318b02b6
KR
634
635 * config/ho-riscix.h, config/tc-arm.c, config/tc-arm.h: New files
636 * configure.in: Recognize the arm.
637
3ffbc907
ILT
638Fri Sep 2 16:05:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
639
640 * ecoff.c (add_file): Don't try to generate line numbers if the
641 symbol table has been frozen.
642
643Thu Sep 1 19:48:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
644
645 * aclocal.m4 (AC_PROG_CC): Use AC_DEFUN, and omit AC_PROVIDE.
646
647 * configure.in: Handle user-specified bfd-assembler option with
648 separate variable from preferred configuration, until the two are
649 resolved. Indicate bfd_gas=preferred for linux a.out. Use
650 AC_PROGRAM_TRANSFORM_NAME, for which a patch has been sent to djm.
651 * Makefile.in (target_alias, program_transform_name): Define,
652 using autoconf @-substitutions.
653
fb589130
KR
654Wed Aug 31 17:43:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
655
7f64fd4e
KR
656 * atof-generic.c: Deleted alloca handling here.
657
fb589130
KR
658 * Makefile.in (prefix, exec_prefix): Use @-subtitutions.
659
660 * aclocal.m4 (AC_OUTPUT_LINKS): Deleted redefinition, since
661 autoconf 1.109 has this fixed.
662 * configure.in: Don't change quote characters around AC_MSG_ERROR
663 invocation. Don't use AC_HEADER_STDC, since it requires running a
664 program. Cache NEED_*_DECLARATION values.
665 * configure, conf.in: Regenerated with a modified autoconf 1.109.
666
c7072f56
KR
667 * as.h (volatile): Don't test or define here; not needed.
668 (alloca): Replace alloca-conf.h inclusion with code recommended in
669 autoconf documentation. Include config.h first.
670
bdee23af
ILT
671Wed Aug 31 11:20:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
672
673 * config/obj-coff.h (S_IS_DEFINED): Absolute symbols are defined
674 also.
675
676 * configure.in, configure: Initialize bfd_gas to no.
677
a48f997a
KR
678Tue Aug 30 19:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
679
680 * as.h: Include alloca-conf.h from "libiberty", not
681 "../libiberty".
682
0c49642d
ILT
683Mon Aug 29 16:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
684
685 * config/tc-ppc.c (md_apply_fix): Don't generate a reloc when a
686 symbol is used as an offset into a CSECT that is not a TOC. These
687 types of loads are generated by gcc -mminimal-toc.
688
65ad84c1
KR
689Sun Aug 28 13:22:52 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
690
e9296bdb
KR
691 * as.h (flag_*): Added comments describing meanings of some of
692 these variables.
693 (struct frag): Add some comments about the ns32k-specific fields
694 and why they're here.
695 (SIZEOF_STRUCT_FRAG): Cast addresses to char*, not int.
696 (flag_print_statistics): Declare.
697
698 * as.c (parse_args): Set flag_print_statistics instead of
699 statistics_flag. Options array is now const. Added new option
700 "dump-config"; if specified, print TARGET_ALIAS, TARGET_CANONICAL,
701 TARGET_CPU, TARGET_OBJ_FORMAT, and TARGET_FORMAT, if defined.
702 (main): Change test to check flag_print_statistics.
703 (statistics_flag): Deleted.
704
c72aa0e2
KR
705 * frags.c (frag_variant): Removed PCREL_ADJUST and BSR arguments.
706 Always initialize them to zero.
707 * frags.h (frag_variant): Fixed prototype.
708 * config/tc-i960.c (get_cdisp): Don't pass the extra zero args.
709 * config/tc-ns32k.c (convert_iif): Don't pass the arguments; cache
710 the value of frag_now and fill in the fields later.
711
65ad84c1
KR
712 * Makefile.in (distclean, realclean): Remove new
713 configure-generated files.
714
aaeee550
KR
715Sat Aug 27 20:26:12 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
716
b11fb939
KR
717 Conversion to autoconf:
718 * acconfig.h, aclocal.m4: New files.
719 * configure.in: Rewritten (except for some target-specific code)
720 for autoconf.
721 * conf.in, configure: New files, generated from the above.
722 * Makefile.in: Changed magic sequence indicating insertion of
723 makefile fragments.
724 (VPATH, srcdir, CC, LIBS, OBJS dependencies): Use @-substitutions
725 from configure.
726 (LINKED_HEADERS): Deleted a.out.gnu.h, a.out.h, and host.h.
727 (config.status, configure): Rewrite rules.
728 (config-stamp): Depend on conf. Skip variables that configure is
729 now substituting itself.
730 (*.o dependencies): Deleted host.h.
731 (distclean, realclean): Don't delete host.h.
732 * as.c: Don't include stdio.h, string.h, sys/types.h. Include
733 signal.h after as.h.
734 * as.h: Include alloca-conf.h first. Include ctype.h, string.h,
735 strings.h, stdlib.h, unistd.h, sys/types.h, fopen-bin.h,
736 fopen-same.h, as suggested by autoconf test results.
737 [BROKEN_ASSERT]: Don't include assert.h.
738 (strdup): Declare.
739 (volatile, const): Define if not __STDC__ and not already defined.
740 (malloc, realloc) [NEED_MALLOC_DECLARATION]: Declare.
741 (free) [NEED_FREE_DECLARATION]: Declare.
742 * gasp.c: Include config.h, stdlib.h (if HAVE_STDLIB_H). Don't
743 include host.h.
744 (malloc) [NEED_MALLOC_DECLARATION]: Declare.
745 * messages.c: Include as.h first. Include errno.h only if
746 HAVE_ERRNO_H. If HAVE_VARARGS_H and not __STDC__, undefine
747 HAVE_STDARG_H. Set NO_STDARG and NO_VARARGS as appropriate.
748 * doc/Makefile.in (srcdir, INSTALL, INSTALL_PROGRAM,
749 INSTALL_DATA): Use autoconf @-substitutions.
750
27bf48ec
KR
751 * input-file.c: Don't include assert.h here, 'cause as.h already
752 includes it.
753
aaeee550
KR
754 * config/tc-alpha.c: Added various prototypes for static
755 functions.
756 (in_range): New function, tests whether a value can fit in an
757 N-bit field.
758 (build_mem, build_operate_n): New functions for constructing
759 opcode values.
760 (emit_sll_n, emit_ldah_num, emit_addq_r, emit_lda_n): New
761 functions for emitting single instructions, no longer requiring a
762 recursive call to md_assemble.
763 (emit_add64): New function for expanding a REG:=REG+CONST
764 operation into one or more instructions, to handle wide constants.
765 (clear_insn): New variable.
766 (md_begin): Fill it in with zeros and BFD_RELOC_NONE values.
767 (alpha_ip): Use it to initialize local variable insns.
768 (alpha_ip, label "immediate" and cases 'P', 'G'): Use emit_add64
769 for calculations.
770
6668a062
KR
771Fri Aug 26 14:46:15 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
772
773 * subsegs.c (section_symbol): Reverse still-wrong test of
774 EMIT_SECTION_SYMBOLS.
775
8ef75e2c
KR
776 * write.c (BFD_FAST_SECTION_FILL): Always define.
777 (write_contents): If fill_size is 1, use memset instead of looping
778 calling memcpy.
779
904b6037
ILT
780Wed Aug 24 12:46:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
781
20ae2fb8
ILT
782 * config/tc-mips.h (LOCAL_LABEL): Define as 0, for compatibility
783 with native MIPS assembler.
784 * configure.in (mips-*-irix*): Don't set emulation.
785 * config/te-irix.h: Remove.
786
fd4f335c
ILT
787 * ecoff.c (ecoff_symbol_new_hook): Don't add a new file if we
788 haven't seen any input files yet.
789 * config/tc-alpha.c (md_begin): Just call symbol_create, rather
790 than calling symbol_new and then removing the symbol from the
791 list.
792
a2a1a548
ILT
793 * as.c (main): Move a inside the #if 0 block which uses it.
794 * ecoff.c (current_stabs_filename): Make const.
795 * frags.h (frag_align_pattern): Declare.
796 * gasp.c (new_file): Cast isp to long, and use %ld to print it.
797 * config/tc-alpha.h (md_operand): Add cast to void.
798 (alpha_do_align): Declare argument types.
799 (tc_get_register): Declare.
800 (alpha_frob_ecoff_data): Declare.
801 * config/tc-alpha.c: Include <ctype.h>.
802 (s_mask): Don't declare; does not exist.
803 (line_comment_chars): Remove /* from descriptive comment.
804 (tc_get_register): Remove unused local reg.
805 (tc_gen_reloc): Don't bother to compare unsigned to zero.
806 (s_base): Correct warning to actually print register number.
807 (md_begin): Remove unused locals retval, lose, and i.
808 (alpha_fix_adjustable): Move default case inside switch to avoid
809 warning.
810 (load_symbol_address): Remove unused locals reloc_addr, p, sym,
811 and addend.
812 (emit_byte_manip_r): Declare types for all arguments.
813 (emit_extract_r, emit_insert_r, emit_mask_r): Likewise.
814 (emit_sign_extend, emit_bis_r, s_proc): Likewise.
815 (alpha_ip): Use sprint_value to print offsetT value. Remove
816 unused local size. Remove unused label get_macro.
817 (alpha_do_align): Make fill const.
818 (md_apply_fix): Remove unused label check_zov.
819
904b6037
ILT
820 * configure.in: Recognize i586 as a synonym for i[34]86.
821
822Tue Aug 23 12:32:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
823
824 * config/obj-coff.c (c_line_new): Change line_number argument from
825 unsigned short to int so that the type in the prototype matches
826 the promoted type in the definition.
827 (stack_delete): Comment out; not used.
828 * config/obj-coff.h (tc_coff_symbol_emit_hook): Declare if not
829 BFD_ASSEMBLER, not if BFD_ASSEMBLER. Declare argument type.
830 * config/tc-m68k.h (tc_coff_sizemachdep): Declare.
831 * config/tc-m68k.c (tc_coff_symbol_emit_hook): Add ignored
832 argument.
833
2cffb4f4
JL
834Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu)
835
05d0c2cc
JL
836 * gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for
837 the common symbol to the zero address frag (the correct fix).
838
839Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu)
840
841 * gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for
842 the common symbol to the zero address frag (the correct fix).
843
844 * config/tc-hppa.c (pa_comm): Set sy_resolved for the common
845 symbol.
2cffb4f4 846
101fbf7e
ILT
847Fri Aug 12 17:51:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
848
849 * config/tc-mips.c (md_begin): Drop "el" from the end of
850 TARGET_CPU. Check for mips64orion.
851
a1dafd55
SG
852Tue Aug 9 19:43:45 1994 Stu Grossman (grossman@cygnus.com)
853
854 * configure.in: Recognize ppc-*-netware.
855 * config/te-ppcnw.h: New file to support Power-PC/Netware
856 configurations. Currently, it just enables the use of backslash
857 escapes in string directives.
858
55933a58
ILT
859Tue Aug 9 11:12:13 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
860
8e479636
ILT
861 * config/tc-ppc.c (ppc_stabx): Call expression directly, rather
862 than via pseudo_set. If expression is a symbol, move stab symbol
863 to just after symbol from expression.
864
c9a89891
ILT
865 * ecoff.c (ecoff_build_procs): Don't force adr of first fdr to be
866 zero. Undoes change of June 4, 1993.
867
55933a58
ILT
868 * config/tc-mips.c (md_parse_option): Accept -mcpu=4400, 4600, and
869 orion.
870
871Mon Aug 8 16:28:08 1994 Steve Chamberlain (sac@jonny.cygnus.com)
872
873 * as.h: Remove FOPEN_WB patch of Aug 6.
874 * configure.in: Configure for ho-go32 correctly.
875 * config/ho-go32.h: Fix copyright.
876
1503edcc
JL
877Mon Aug 8 11:59:51 1994 Jeff Law (law@snake.cs.utah.edu)
878
879 * gas/config/tc-hppa.c (md_pseudo_table): Delete redundant
880 upper-case versions of the pseudo-ops.
881
2cd14ddc
ILT
882Mon Aug 8 13:42:16 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
883
884 * config/tc-sparc.c (md_apply_fix): If we are going to generate a
885 non PC relative reloc, don't put the addend in the object file.
886
6670b7f3
SC
887Sat Aug 6 01:15:02 1994 Steve Chamberlain (sac@jonny.cygnus.com)
888
889 * as.h: If FOPEN_WB is not defined, do the right thing in a go32
890 environment.
891
892Mon Jul 11 11:34:52 1994 Steve Chamberlain (sac@jonny.cygnus.com)
893
894 * config/tc-h8300.c (pint): New function for handling varying
895 size of int pseudo op.
896 * doc/as.texinfo: Fix typo describing .h8300h pseduop.
897
363d6150
JL
898Mon Aug 1 02:40:43 1994 Jeff Law (law@snake.cs.utah.edu)
899
fbf71886
JL
900 * config/tc-hppa.c (create_new_space): Initialize sd_subspaces
901 field in the space chain.
902
363d6150
JL
903 * config/tc-hppa.c (tc_gen_reloc): Cast return value from
904 hppa_gen_reloc_type.
905
5e0a90a8
KR
906Thu Jul 28 15:45:37 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
907
908 * config/tc-sparc.c (sparc_ip): Check more carefully for
909 conflicting architectures.
910 (md_parse_option) [NO_V9]: Complain if v9 was selected.
911 (md_show_usage): Derive architecture list in usage message from
912 architecture_pname array.
913 (cypress): Macro deleted.
914 (op_hash): Don't initialize.
915 (s_common): Use bfd_und_section_ptr instead of bfd_und_section.
916
917 * config/tc-sparc.c (BSR): New function.
918 (sparc_ip): Use it for right-shift operations of 32 bits or more.
919
920 * config/tc-sparc.c (sparc_ip): Implement new operand type 'x'.
921
39792caf
KR
922Tue Jul 26 18:21:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
923
924 * config/obj-coff.h: Moved common includes and TARGET_FORMAT
925 definitions together.
926 (WORKING_DOT_WORD, WARN_SIGNED_OVERFLOW_WORD,
927 OBJ_COFF_OMIT_OPTIONAL_HEADER, BFD_HEADERS, BFD) [!BFD_ASSEMBLER]:
928 Moved these definitions to the start of the file, before the
929 includes.
930 (SYMBOLS_NEED_BACKPOINTERS, OBJ_COFF_MAX_AUXENTRIES): Always
931 define these.
932 (S_GET_ZEROES): Deleted.
933 (S_SET_ZEROES): Moved to obj-coff.c.
934
935 * config/obj-coff.c (obj_coff_* psuedo-op fns): Deleted
936 forward declarations.
937 (obj_pseudo_table): Moved to one version end of file,
938 conditionalized internally.
939 (stack typedef, stack_init, stack_delete, stack_push, stack_pop,
940 tag_hash, tag_init, tag_insert, tag_find, tag_find_or_make): Moved
941 to one combined version at top of file, unconditional. Deleted
942 forward declarations.
943 (s_get_name): Moved one copy of declarations to start of file.
944 (def_symbol_in_progress): Ditto. Don't initialize.
945 (S_SET_ZEROES): Moved here from obj-coff.h.
946 (write_object_file): If TC_COFF_SET_MACHINE is defined, call it on
947 the file headers.
948
949 * config/obj-coff.c (seg_info_off_by_4): Now const and static.
950 (SEG_INFO_FROM_SEG_NUMBER): Unused macro deleted.
951 (previous_file_symbol, def_symbol_in_progress, symbol_externP,
952 symbol_extern_lastP, last_functionP) [!BFD_ASSEMBLER]: Don't
953 bother explicitly initializing to zero value.
954
955 * config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME
956 and SF_GET_CALLNAME instead of the TC_S_IS_ versions.
957
10db66ec
KR
958 * config/tc-i960.h (TC_COFF_SET_MACHINE): New macro. Calls
959 tc_headers_hook.
960
961 * config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX
962 was used previously.
963 (tc_headers_hook): If I_CX2 is found, set flags to F_I960CA.
964
965 * config/tc-i960.c (po_hash): Declaration deleted.
966 (next_object_file_charP): Ditto.
967 (regnames, aregs, coj): Now const.
968 (parse_memop): Static array def_scale now const.
969 (md_begin): Cast away const when passing hash routines addresses
970 of values in regnames or aregs.
971 (md_longopts): Added "link-relax" and "no-relax" hyphenated forms.
972 Continue to accept one-word forms.
973 (struct tabentry, arch_tab): Moved to top level from inside
974 md_parse_option. Now const.
975 (md_show_usage): Use arch_tab to generate usage message. Print
976 hyphenated forms of relax options.
977
978 * config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC,
979 TC_S_FORCE_TO_*): Moved from here...
980 * config/tc-i960.c: ... to here. Changed DEFINE_I960_AOUT stuff
981 to test OBJ_AOUT and OBJ_BOUT directly.
982
983 * config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ,
984 M1-M3, REG_OPC, R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F,
985 {R,F}{,L}{2,4}, M, SFR_OK, LIT_OK, FP_OK, REG_ALIGN, MEMOP, I_*):
986 Macros deleted.
987
988 start-sanitize-i960xl
989 * config/tc-i960.c (ARCH_XL): Define.
990 (arch_tab): Include XL.
991 (targ_has_sfr, targ_has_iclass): Handle XL.
992 (tc_headers_hook): Set flags to F_I960XL for i960XL.
993 end-sanitize-i960xl
994
39792caf
KR
995Fri Jul 15 15:36:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
996
997 * subsegs.c (section_symbol): Had last change backwards.
998
3b6d6f71
KR
999Thu Jul 14 13:21:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1000
462ab71d
KR
1001 * config/atof-ns32k.c: Deleted.
1002
3b6d6f71
KR
1003 * config/obj-aout.c (obj_aout_frob_symbol): Use
1004 bfd_ind_section_ptr and bfd_und_section_ptr.
1005
1006 * subsegs.c (subseg_set_rest): Compare segT values directly,
1007 without casting to int first.
1008
259e35d4
KR
1009 * config/tc-ns32k.c (md_begin): Return value from hash_insert
1010 should be pointer to const. Don't call exit explicitly after
1011 calling as_fatal; it won't return.
1012 (convert_iif): Make local variable j be pointer to bit_fixS, since
1013 that's how it's used.
1014 (encode_operand, case 'b'): Ignore sprintf return value. Don't try
1015 converting freeptr to int and back.
1016
1017 Merged in NS32K support update from Ian Dall (dall@hfrd.dsto.gov.au):
1018
1019 * config/te-pc532mach.h: New file. pc532-mach target emulation.
1020
1021 * config/te-netbsd532.h: New file. Netbsd532 target emulation.
1022
1023 * config/tc-ns32k.h: Add definition of NOP_OPCODE.
1024
1025 * config/tc-ns32k.h: Add prototype for fix_new_ns32k_exp.
1026
1027 * config/tc-ns32k.h: Add BFD_ASSEMBLER support.
1028
1029 * config/tc-ns32k.c (tc_gen_reloc): New function for BFD_ASSEMBLER.
1030
1031 * config/tc-ns32k.c (fix_new_ns32k_exp): Get reloc type
1032 differently for BFD_ASSEMBLER.
1033
1034 * config/tc-ns32k.c (md_estimate_size_before_relax): Get reloc
1035 type differently for BFD_ASSEMBLER.
1036
1037 * config/tc-ns32k.c (md_create_long_jump): Size of opcode is one
1038 not 2.
1039
1040 * config/tc-ns32k.c (md_convert_frag): Code for the BFD_ASSEMBLER
1041 case. Also use smart md_pcrel_adjust function.
1042
1043 * config/tc-ns32k.c (md_apply_fix): Code for the BFD_ASSEMBLER
1044 case. Also use smart md_fix_pcrel_adjust function.
1045
1046 * config/tc-ns32k.c (md_fix_pcrel_adjust): New function which can
1047 find offset from opcode to operand even if in another frag
1048 and in the presence of relaxing.
1049
1050 * config/tc-ns32k.c (md_pcrel_adjust): New function which can
1051 find offset from opcode to operand even if in another frag
1052 and in the presence of relaxing.
1053
1054 * config/tc-ns32k.c (md_number_to_disp): Check ranges properly.
1055
1056 * config/tc-ns32k.c (md_atof): use atof_ieee instead of special
1057 atof_ns32k.
1058
1059 * config/tc-ns32k.c (reloc): New (static) function for
1060 BFD_ASSEMBLER.
1061
1062 * config/tc-ns32k.c (convert_iif): More correct pc relative code.
1063 md_relax must be able to find opcode address even if in another frag.
1064
1065 * config/tc-ns32k.c: More extensive comments.
1066
1067 * config/tc-ns32k.c (encode_operand): Support new operand classes I
1068 and Z. Drop Q.
1069
1070 * config/tc-ns32k.c (fix_new_ns32k_exp): new function and
1071 corresponding prototype.
1072
1073 * config/tc-ns32k.c: make 32532 default machine instead of 32032.
1074
1075 * config/tc-ns32k.c: include opcode/ns32k.h after as.h
1076
1077 * aout_gnu.h: r_disp needs to be 2 bits for TC_NS32K
1078
1079 * write.h: fx_im_disp needs to be 2 bits big for TC_NS32K
1080
1081 * write.c (relax_segment): Use TC_PCREL_ADJUST macro (if defined)
1082 instead of adding pcrel_adjust.
1083
1084 * write.c (write_object_file): Adjust to_addr for the
1085 BROKEN_DOT_WORD feature for the BFD_ASSEMBLER case.
1086
1087 * write.c (write_object_file): Use TC_CONS_FIX_NEW if it is defined.
1088
1089 * write.c (write_contents): Add code (currently if
1090 BFD_FAST_SECTION_FILL is defined) to make large fills a lot faster.
1091
1092 * configure.in: Remove ns32k from special FP list. All the ns32k
1093 series use ieee float.
1094
1095 * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd targets
1096
1097 * as.h: include expr.h before targ-env.h. Some target dependent file
1098 want to use expr structures.
1099
4ac7a9e4
ILT
1100Wed Jul 13 14:49:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1101
1102 * config/tc-m68k.c (m68k_ip): Change rp to be a const pointer.
1103 (md_parse_option): Clear cpu field of current_architecture before
1104 setting a new cpu type. Clear no_68881 for m68881 or m68882.
1105 Clear no_68851 for m68851.
1106
6b510a40
KR
1107Tue Jul 12 21:27:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1108
1109 * config/ho-sysv.h (realloc): Declare.
1110
3c498933
KR
1111 * symbols.c (symbol_create): New function, most of the guts of the
1112 old symbol_new function.
1113 (symbol_new): Now just checks symbol_table_frozen, calls
1114 symbol_create, and enters the symbol into the symbol table.
1115 * subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true,
1116 and the symbol table is frozen, call symbol_create instead of
1117 symbol_new.
1118 * symbols.h (symbol_create, symbol_table_frozen): Declare.
1119
1120 * symbols.c (symbol_clear_list_pointers): Always a function now.
1121 * struc-symbol.h (symbol_clear_list_pointers): Deleted macro
1122 version.
1123
1124 * symbols.c (debug_verify_symchain): New macro, defined to be
1125 verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
1126 (many functions): Invoke debug_verify_symchain unconditionally.
1127
a85cd289
KH
1128Tue Jul 12 12:06:42 1994 Kung Hsu (kung@x1.cygnus.com)
1129
1130 * config/obj-ecoff.h: change calling interface of
1131 OBJ_GENERATE_ASM_LINE_STAB.
1132 * config/obj-elf.h: ditto.
1133 * read.c (read_a_source_file): ditto.
1134 * ecoff.h: change calling interface of
1135 ecoff_generate_asm_line_stab.
1136 * ecoff.c (add_file): record of filename to handle case of include
1137 files, also change default built-in type from int to void for
1138 asm file.
1139 * ecoff.c (ecoff_generate_asm_line_stab): handle case of include
1140 files.
1141
51d8e5ae
ILT
1142Mon Jul 11 17:20:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1143
1144 * config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large
1145 constant, and case ldd_std, set mips_optimize to 2 temporarily to
1146 avoid inserting an unexpected nop instruction.
1147
64d527f7
ILT
1148Sat Jul 9 00:05:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1149
1150 * ecoff.c (ecoff_build_lineno): Handle count correctly for last
1151 line number.
1152
6f15d409
SC
1153Fri Jul 8 15:22:07 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1154
6670b7f3 1155 * gasp.c (process_pseudo_op): Pass right args to do do_aif.
6f15d409
SC
1156 (get_any_string): New arg 'pretend_quote'.
1157 (get_and_process, do_formals, macro_expand, do_sdata,
1158 process_pseudo_op): Use new arg.
1159
daad3bbf
KH
1160Fri Jul 8 12:23:44 1994 Kung Hsu (kung@mexican.cygnus.com)
1161
1162 * config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB.
1163 * config/obj-elf.h: ditto.
1164 * read.c (read_a_source_file): generate line stabs for asm file.
1165 * read.h: add extern generate_asm_line_stab.
1166 * ecoff.h : add prototype for ecoff_generate_asm_line_stab().
1167 * ecoff.c (add_file): if there's no filename provided, set switch
1168 to generate line stabs for .s file.
1169 * ecoff.c (add_procedure): add stabs symbol for .ent directive.
1170 * ecoff.c (generate_ecoff_stab): creates an artificial stabs.
1171 * ecoff.c (generate_asm_line_stab): generate a artifitial label
1172 for each line and generate a stabn for the line.
1173
13d9fd33
SC
1174Thu Jul 7 17:04:03 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1175
1176 * gasp.c (get_any_string): Cope with getting a string with an
1177 alternate base specifier.
1178 (do_aif, do_aelse): Only enable output if expression is true and previous
1179 level was on.
1180 (chartype_init): Add BASEBIT chartype.
1181 (process_pseudo_op): Notice nesteed AIFs.
1182
1183Thu Jul 7 12:30:22 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1184
1185 * h8300.c (do_a_fix_imm): Code for 2 bit reloc type using in trapa
1186 insn. (fix pr 5165, 5174)
1187
8fd04cba
JL
1188Thu Jul 7 11:31:32 1994 Jeff Law (law@snake.cs.utah.edu)
1189
13d9fd33
SC
1190 * config/tc-hppa.c (R_DLT_REL): If it isn't defined, then define
1191 to an appropriate value to avoid losing on old hpux systems.
1192
8fd04cba
JL
1193 * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for
1194 symbols in DLT relative relocs.
1195 (tc_gen_reloc): Zero out the addend field for DLT relative relocs.
1196
8882a587
ILT
1197Wed Jul 6 01:07:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1198
1199 * config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to
1200 align to a four byte boundary.
1201
4174e052
KR
1202Tue Jul 5 15:42:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1203
1204 * config/tc-alpha.c (load_expression): Handle 32-bit addends.
1205 (gpdisp_hi16_howto): Now points to const.
1206 (load_insn_table, alpha_ip): Fix uses of const.
1207
10f67315
KR
1208 * doc/internals.texi: Updates to COFF description. Added "@end
1209 defmac" as needed, and some extra heading and "@bye" so it'll
1210 format as a separate document.
1211
bcb62abf
ILT
1212Tue Jul 5 13:54:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1213
1214 * config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define.
1215 * config/obj-elf.c (obj_elf_common): Set alignment of common
1216 symbol.
1217 * config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of
1218 common symbol.
1219
655f3ef4
JL
1220Mon Jul 4 18:29:43 1994 Jeff Law (law@snake.cs.utah.edu)
1221
1222 * config/tc-hppa.c (is_complex): New macro.
1223 (cons_fix_new_hppa): "Handle" complex expressions.
1224
1225Fri Jul 1 00:48:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1226
1227 * config/obj-coff.c (write_object_file): Set s_align field from
1228 section_alignment array.
1229
04f0c2e3
KR
1230Thu Jun 30 15:05:28 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1231
1232 * write.c (write_object_file): Use bfd_com_section_ptr.
1233 * as.h (absolute_section, undefined_section): Use new BFD macros
1234 bfd_abs_section_ptr and bfd_und_section_ptr.
1235
f2554579
ILT
1236Thu Jun 30 14:36:37 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1237
1238 * config/tc-mips.c (macro): For M_LI_SS, decide how to handle it
1239 based on contents of imm_expr and offset_expr, rather than
1240 mips_pic. For M_LI_DD, decide how to handle it based on segment
1241 name of offset_expr, rather than mips_pic.
1242 (mips_ip): If g_switch_value < 4, use immediate values for 'l'.
1243 If g_switch_value < 8, use .rdata rather than .lit for 'L'.
1244
6f0b87c3
SS
1245Wed Jun 29 17:30:46 1994 Stan Shebs (shebs@andros.cygnus.com)
1246
1247 * as.c (show_usage): Break long string into shorter ones.
1248 (parse_args): Add -v, prints version id and continues.
1249 * config/tc-mips.c (md_show_usage): Break long string.
1250
1251Mon Jun 27 09:47:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
1252
1253 * config/tc-i386.c (md_parse_option): Handle "-V" and "-Q" if
1254 OBJ_ELF is defined.
1255
f488a4d6
SS
1256Sun Jun 26 16:30:48 1994 Stan Shebs (shebs@andros.cygnus.com)
1257
1258 * as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific
1259 initialization.
1260
1f12ae43
JL
1261Wed Jun 22 00:24:55 1994 Jeff Law (law@snake.cs.utah.edu)
1262
1263 * config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF.
1264 More gas/bfd lossage exposed by the new linker code.
1265
dff770c8
ILT
1266Tue Jun 21 11:32:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1267
1f12ae43
JL
1268 * subsegs.c (subseg_change): Clear seginfo after allocating it.
1269 (subseg_get): Pass actual size of seginfo to memset.
1270
dff770c8
ILT
1271 * subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER.
1272 (subseg_change): Store seg_info for bfd_abs_section_ptr in
1273 abs_seg_info, and store seg_info for bfd_und_section_ptr in
1274 und_seg_info.
1275 (subseg_get): Likewise. Also, don't set output_section if it is
1276 already set.
1277 (seg_info): Define as function.
1278 * subsegs.h (seg_info): Declare as function rather than defining
1279 as macro.
1280 * write.c (relax_and_size_seg): Call seg_info rather than
1281 bfd_get_section_userdata.
1282
e0b36f18
KR
1283Mon Jun 20 16:30:54 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1284
639c820d
KR
1285 * configure.in (ppc-*-elf*): New target, like -sysv4*.
1286
e0b36f18
KR
1287 * expr.c (operand): If "0f" is followed by '\0', don't do eol
1288 checks.
1289
256816ca
ILT
1290Mon Jun 20 15:17:43 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1291
1292 * ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out
1293 via backend pointer, not directly.
1294
de442a3c
ILT
1295Fri Jun 17 18:05:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1296
1297 * Makefile.in (config-stamp): Make sure there is at least one
1298 element in the for loop.
1299
0e68b3bc
JL
1300Fri Jun 17 11:01:04 1994 Jeff Law (law@snake.cs.utah.edu)
1301
239f16dd
JL
1302 * config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy.
1303
0e68b3bc
JL
1304 * config/tc-hppa.h (elf_hppa_final_processing): Declare.
1305
5ee93e0a
KR
1306Wed Jun 15 20:44:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1307
286272fb
KR
1308 * as.c (parse_args): Cast xmalloc return value.
1309
5ee93e0a
KR
1310 * Makefile.in (config-stamp): If $(defs) contains multiple words,
1311 emit a #define line for each.
1312 * configure.in: For sparc64 target, use sparc cpu files and add
1313 sparcv9 to extra_defs. No longer treat sparc64-*-aout* specially.
1314
1315 * config/tc-sparc.c (membar_masks): Now static and const.
1316 (md_show_usage) [!NO_V9]: Add -Av9 to usage message.
1317 (current_architecture) [sparcv9]: Initialize to v9.
1318 (md_begin) [sparcv9]: Don't bother changing it unconditionally
1319 here.
1320 (s_reserve): Don't pass unexpected argument to as_bad with
1321 bad-segment message.
1322
1323 * as.h (bfd_alloc_by_size_t) [BFD_ASSEMBLER]: Declare.
1324
1325 * config/atof-ieee.c (int_to_gen): Commented out unused routine.
1326
1327 * config/tc-vax.c (md_assemble): Removed check of operand section.
1328
1329 Fri Jun 3 17:25:08 1994 Pat Rankin (rankin@eql.caltech.edu)
1330
1331 * config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define
1332 these new VMS symbol-type macros for `complex float' and
1333 `complex double' support. Their values come from the existing
1334 DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in <descrip.h>.
1335 (DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of
1336 REAL8 and COMPLX8; not used yet, because gcc outputs the same
1337 .stabs for `double' regardless of whether `-mg' is used.
4174e052 1338 * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
5ee93e0a
KR
1339 for gcc2's predefined types "complex float", "complex double",
1340 and "complex long double" (identical to complex double).
1341
36a87ad7
ILT
1342Wed Jun 15 12:32:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1343
0e35ba9b
ILT
1344 * config/obj-coff.c (coff_frob_symbol): Use C_STAT for the .text
1345 section symbol, not C_LABEL.
1346
adf05987
ILT
1347 * config/tc-mips.c (mips_ip): Permit a modifier in 'o' case, and
1348 permit non constant expressions in 'u' case. Lets ``lui
1349 $8,%hi(foo); lw $8,%lo(foo)($8)'' work correctly.
36a87ad7 1350
a5183648
ILT
1351Mon Jun 13 12:08:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1352
1353 * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
1354 to put a common symbol in a set.
1355
02d4e923
ILT
1356Sat Jun 11 16:41:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1357
1358 Add weak symbols as an extension to a.out.
1359 * read.c (pseudo_set): Only preserve external bit for OBJ_AOUT and
1360 OBJ_BOUT if not BFD_ASSEMBLER.
1361 * config/aout_gnu.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB):
1362 Define as in ../include/aout/aout64.h.
1363 * config/obj-aout.h (OBJ_SYMFIELD_TYPE): If not BFD_ASSEMBLER,
1364 define as char.
1365 (S_GET_WEAK, S_SET_WEAK): Define if not BFD_ASSEMBLER.
1366 * config/obj-aout.c (obj_pseudo_table): Add "weak".
1367 (obj_emit_symbols): Adjust type of weak symbols.
1368 (obj_aout_weak): New static function.
1369
726672c5
ILT
1370Fri Jun 10 13:48:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1371
7b1e07b4
ILT
1372 * config/obj-elf.c (obj_elf_section): Don't set any flags based on
1373 the type of a special section.
1374
726672c5
ILT
1375 * config/ho-sunos.h: Include <stdlib.h>. Don't declare malloc,
1376 realloc, free, or atol.
1377
0b3d0999
BC
1378Wed Jun 8 06:28:37 1994 Bill Cox (bill@cygnus.com)
1379
1380 * Makefile.in (check): Delete as.new dependency, so that
1381 regression test doesn't trigger an assembler build.
1382
daa7e184
ILT
1383Tue Jun 7 13:33:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1384
1385 * Makefile.in (mostlyclean, realclean): New targets.
1386 * doc/Makefile.in, testsuite/Makefile.in: Likewise.
1387
d2c71068
ILT
1388Mon Jun 6 13:10:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1389
1390 * config/tc-mips.c (RDATA_SECTION_NAME): Define.
1391 (macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case. After M_LI_D
1392 or M_L_DOB or label dob, force a new frag to avoid getting
1393 confused in tc_gen_reloc.
1394 (mips_ip): Use RDATA_SECTION_NAME, not .rdata.
1395 (s_change_sec): Likewise.
1396
1fbfe108
ILT
1397Fri Jun 3 23:35:36 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1398
1399 * read.c (emit_expr): Use memset to zero out memory, rather than
1400 going through md_number_to_chars. This permits handling symbolic
1401 arguments when the size is larger than sizeof (valueT), if
1402 TC_CONS_FIX_NEW is prepared to handle the case (as it is on MIPS).
1403
f3d817d8
DM
1404Fri Jun 3 12:50:13 1994 David J. MacKenzie (djm@rtl.cygnus.com)
1405
baed44cd
DM
1406 * as.c (show_usage), config/tc-alpha.c (md_show_usage),
1407 config/tc-mips.c (md_show_usage): Fix up messages.
1408
def66e24
DM
1409 * as.h: Replace flagseen with separate variables.
1410 * as.c (parse_args): Set them. Don't accept -1 option, or -v
1411 explicitly (it's a synonym for --version).
1412 * as.c, input-scrub.c, messages.c, read.c, symbols.c, write.c,
1413 config/obj-aout.c, config/obj-aout.h, config/obj-bout.c,
1414 config/obj-bout.h, config/obj-coff.c, config/obj-coff.h,
1415 config/obj-vms.c, config/tc-hppa.c, config/tc-i386.c,
1416 config/tc-i960.c, config/tc-m68k.c, config/tc-mips.c,
1417 config/tc-vax.c: Use the new flag variables instead of flagseen.
1418 * config/tc-vax.c [OBJ_VMS]: Recognize -+, -1, -v, and document in
1419 usage.
1420
f3d817d8
DM
1421 * as.c (show_usage): Remove target specific messages;
1422 instead, call md_show_usage.
1423 (parse_args): Use getopt_long_only. Take pointers to argc and
1424 argv.
1425 (main): Pass parse_args pointers.
1426 * as.h: Remove 3 variables that are redundant with flagseen.
1427 * as.c, messages.c: Change their users to use flagseen.
1428 Define getopt stuff.
1429 * tc.h: Update md_parse_option decl. Add md_show_usage decl.
1430 * config/tc-*.c: Add md_shortopts, md_longopts,
1431 md_longopts_size, md_show_usage. Change calling convention for
1432 md_parse_option. Remove md_parse_long_option.
1433 * config/tc-ns32k.c: Rename `struct option' to `struct ns32k_option'.
1434 * config/tc-i386.h: Don't define md_parse_option.
1435
ebd6f117
DM
1436Thu Jun 2 13:54:46 1994 David J. Mackenzie (djm@rtl.cygnus.com)
1437
1438 * as.c (show_usage): New function.
1439 (parse_args): Code moved from main.
1440 Recognize --help and --version.
1441 * config/tc-ns32k.h: Define TC_NS32K.
1442 * doc/as.texinfo: Document all of the target-independent command
1443 line options.
1444
314628f6
KR
1445Thu Jun 2 12:07:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1446
1447 * gasp.c (hash_new_table): Clear newly allocated table.
1448
1449 * config/tc-m68k.c (enum _register): Add 68060 control registers
1450 BUSCR and PCR.
1451 (last_movec_reg): New macro.
1452 (m68000_control_regs, m68010_control_regs, m68020_control_regs,
1453 m68040_control_regs, m68060_control_regs): New arrays.
1454 (control_regs): New pointer.
1455 (m68k_ip): Use control_regs instead of testing CPU every time.
1456 Use last_movec_reg too. In error messages, handle 68060, and
1457 print 68060 for mfloat, too.
1458 (m68k_init_after_args): Handle "68060". Use m68040up for making
1459 m68851 choice. Set control_regs.
1460 (md_parse_option): Handle "68060".
1461 * configure.in: Setting cpu_type, recognize m68060 too.
1462
1463 * config/obj-coff.c (fixup_segment) [!BFD_ASSEMBLER]
1464 [DIFF_EXPR_OK]: Do conversion to pc-relative for difference, even
1465 if pcrel is already set.
1466
1467 * read.c (potable): Add this_gcc_requires_the_gnu_assembler in all
1468 lower-case, in case we're ignoring case of opcodes in the input
1469 file.
1470
1471 * doc/as.texinfo (.section): Document as unavailable for a.out
1472 type formats.
1473
1474 * config/tc-alpha.c (machine): New variable.
1475 (load_insn): New macro.
1476 (load_insn_table): New function.
1477 (md_begin): Call load_insn_table, once for basic instructions and
1478 once for appropriate PAL instruction table.
1479 (md_parse_option): Set `machine' based on -m##### arguments.
1480 * config/alpha-opcode.h (alpha_pal21064_opcodes): Split out from
1481 alpha_opcodes.
1482 (alpha_pal21164_opcodes): New table.
1483 (NUM21064OPCODES, NUM21164OPCODES): New macros.
1484
1485 * configure.in (target i386-*-netbsd0.8): Use 386bsd emulation.
1486
1487 * doc/Makefile.in (install-info-gasp): Use $$dir when installing
1488 file.
1489
0221ddf7
ILT
1490Wed Jun 1 10:48:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1491
1492 * config/tc-mips.c (mips_ip): Force floating point values to be
1493 aligned correctly.
1494
488442d4 1495Fri May 27 10:05:53 1994 Ken Raeburn (raeburn@cygnus.com)
c06e55d9
KR
1496
1497 Merged in changes from gas-2.3 net release:
1498
1499 * Makefile.in (VERSION): Updated to cygnus-2.3.1.
1500
1501 * config/obj-vms.c: Replaced unchecked uses of malloc with
1502 xmalloc.
1503
1504 * listing.c (list_symbol_table): Only test BFD64, not
1505 BFD_ASSEMBLER too.
1506
314628f6
KR
1507 * config/obj-coff.c (fixup_segment) [BFD_ASSEMBLER]
1508 [DIFF_EXPR_OK]: Don't check pcrel, just convert it.
c06e55d9
KR
1509
1510 * config/obj-vms.c: Removed lots of extra semicolons after
1511 compound statements.
1512 (strchr): Don't declare here.
1513
1514 * config/ho-vax.h (realloc): Declare.
1515
1516 * config/ho-vms.h (strchr, strdup): Declare.
1517
1518 * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Accept and ignore
1519 option `-q'.
1520
1521 Wed May 18 20:50:35 1994 Pat Rankin (rankin@eql.caltech.edu)
1522
1523 * config/obj-vms.h (DBG_S_C_SQUAD, DBG_S_C_UQUAD): define these
1524 new VMS symbol-type macros; signed and unsigned quadword integers,
1525 for `long long' support. Their values come from the existing
1526 DSC$K_DTYPE_QU and DSC$K_DTYPE_Q macros in <descrip.h>. The
1527 VMS debugger now recognizes `long long' variables correctly.
4174e052 1528 * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
c06e55d9
KR
1529 for gcc2's predefined types "long double" (same as double, as
1530 per gcc's current state), "long long int", "long long unsigned
1531 int", and final `otherwise' case (to avoid uninitialized type
1532 and size fields). [caveat: predefined types "complex int",
1533 "complex float", "complex double", and "complex long double" are
1534 still missing.]
1535
1536 * config/ho-vms.h (EXIT_FAILURE): define as 0x10000002 instead
1537 of 0, because the latter indicates success rather than failure
1538 when passed to `exit' or return from `main' compiled by gcc2.
1539
1540 * config/obj-vms.c (array_suffix, generate_suffix): replace two
1541 hardcoded `0xa3's with macro DBG_S_C_ADVANCED_TYPE from obj-vms.h.
1542 (VMS_typedef_parse): eliminate redundant if-then-else when
1543 allocating new symbol entry and linking it to VMS_Symbol_type_list.
1544
1545 Tue May 17 20:47:31 1994 Pat Rankin (rankin@eql.caltech.edu)
1546
1547 * config/obj-vms.c (Write_VMS_MHD_Records): don't try to interpret
1548 the contents of the GAS_VERSION string when falling back to it for
1549 language processor identification.
1550
1551 * make-gas.com, vmsconf.sh (ENVIRON): fix misspelling of
1552 `psect_attr' in linker options.
1553
1554 Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
1555
1556 * configure.bat: update to latest makefile.in
1557 * config/te-go32.h: [new] go32's environment
1558
a193acc0
ILT
1559Fri May 20 17:59:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1560
1561 * as.h: Don't declare parameters for strstr.
1562
f9c57637
ILT
1563Thu May 19 15:40:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1564
1565 * config/tc-sparc.c (md_section_align): Don't change the size if
1566 OBJ_ELF.
1567
ac7f7dfe
ILT
1568Wed May 18 13:08:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1569
1570 * Makefile.in (install): Redirect ln output to /dev/null. If ln
1571 fails on gasp, install gasp.new, not gasp.
1572
44e8d616
JL
1573Wed May 18 09:16:36 1994 Jeff Law (law@snake.cs.utah.edu)
1574
1575 * config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for
1576 absolute calls.
1577
ee8b8346
JL
1578Tue May 17 12:50:46 1994 Jeff Law (law@snake.cs.utah.edu)
1579
1580 * config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error
1581 on a partial completer match.
1582
3315c7c7
JL
1583Mon May 16 12:03:49 1994 Jeff Law (law@snake.cs.utah.edu)
1584
1585 * config/tc-hppa.c: Change .hppa_unwind to .PARISC.unwind
1586 throughout code.
1587 (is_complex): Delete definition and support for complex relocation
1588 types.
1589 (tc_gen_reloc): Delete special unwind crud for ELF. Simplify and
1590 rewrite ELF code based on 94-02-02 PA ELF draft spec.
1591 (pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for
1592 the unwind descriptors.
1593
c794f0aa
SC
1594Fri May 6 14:13:15 1994 Steve Chamberlain (sac@cygnus.com)
1595
1596 * config/go32.mh: New makefile fragment for go32 crossing.
1597 * configure.in (host==go32): Use new fragment.
1598
2db90a63
ILT
1599Fri May 6 14:35:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1600
1601 * gasp.c: Include libiberty.h.
1602 (main): Remove unused variable i.
1603
1604 * config/tc-ppc.c (md_begin): When using -many, permit comparison
1605 instructions to appear multiple times in the opcode table.
1606
59232011
KR
1607Thu May 5 19:14:43 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1608
2db90a63
ILT
1609 * Makefile.in (VERSION): Update to 2.2.90.
1610
fbefddfb
KR
1611 * symbols.c (symbol_new) [BFD_ASSEMBLER]: Don't permit additions
1612 to the symbol table if it's already been set in the output bfd.
1613 (symbol_begin) [! EMIT_SECTION_SYMBOLS] [RELOC_REQUIRES_SYMBOL]:
1614 Don't use bfd_abs_section.symbol for gas absolute symbol.
1615
59232011
KR
1616 * doc/Makefile.in (distclean, clean-dvi, clean-info): Delete gasp
1617 files too.
1618
6d41de19
ILT
1619Thu May 5 18:12:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1620
1621 * config/tc-mips.c (mips_emit_delays): Make call to
1622 mips_no_prev_insn unconditional.
1623
a139d99b
KR
1624Thu May 5 17:25:38 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1625
1626 * config/obj-coff*.*: Merged coffbfd versions into coff versions,
1627 with a single "#ifdef BFD_ASSEMBLER" controlling most of it for
1628 now. Deleted obj-coffbfd.* files.
1629 * configure.in: Always use obj-coff.* for COFF targets.
1630
9267b020
KR
1631Wed May 4 13:34:11 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1632
a139d99b
KR
1633 * config/te-dpx2.h (TARGET_FORMAT, REGISTER_PREFIX_OPTIONAL):
1634 Define.
1635 * configure.in (m68k-bull-sysv3*): Enable.
1636
9267b020
KR
1637 * config/coff_gnu.h: Deleted.
1638
9fc63ce0
ILT
1639Wed May 4 11:29:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1640
2237e240
ILT
1641 * config/tc-m68k.h (TARGET_FORMAT): If not TE_SUN3, define as
1642 "a.out-zero.big".
1643
9fc63ce0
ILT
1644 * config/obj-coffbfd.c (fixup_segment): Make common symbol and PC
1645 relative adjustments when TE_LYNX is defined as well as when
1646 TC_I386 is defined.
1647
a3547e53
KR
1648Wed May 4 02:29:21 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1649
3f048548
KR
1650 * as.h (strstr): Restore declaration.
1651 (subseg_get) [BFD_ASSEMBLER]: Declare.
1652
1653 * write.c (write_object_file): If obj_adjust_symtab is defined,
1654 invoke it. Then call set_symtab, and finally invoke *_frob_file
1655 hooks.
1656 * config/obj-coff.c (coff_adjust_symtab): Renamed from
1657 coff_frob_file.
1658 * config/obj-coff.h (coff_adjust_symtab): Changed declaration
1659 accordingly.
1660 (obj_adjust_symtab): Macro also changed.
1661
a3547e53
KR
1662 * configure.in (i386-*-gnu*): New target, handled like i386-mach.
1663
1664Tue May 3 21:04:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1665
1666 * config/obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little
1667 endian version.
1668
1669 * config/obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto.
1670
1671 * config/obj-coff.c (coff_frob_section): Round up the size of
1672 every section to a multiple of the alignment, so that BFD doesn't
1673 surprise us.
1674
1675 Eliminate many simple differences between the two COFF back ends:
1676
1677 * config/obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID.
1678 Made minor stylistic changes, deleted some register declarations.
1679 (stack_top): Deleted.
1680 (symbol_to_chars): Use absolute_section and reg_section instead of
1681 the corresponding SEG_* symbols.
1682 (obj_coff_endef, tag_find_or_make, fixup_segment): Likewise.
1683 (stack typedef, stack_init, stack_delete, stack_push, stack_pop):
1684 Moved to just after pseudo-op table. All functions now static.
1685 (stack_delete): Removed declaration.
1686 (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
1687 after stack functions.
1688 * config/obj-coffbfd.h: Reordered some declarations and macros.
1689 (stack_init, stack_delete, stack_push, stack_pop): Don't declare.
1690 (stack typedef): Deleted.
1691 (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
1692 (SYM_AUXENT): New macro.
1693 (SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible.
1694 (SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible.
1695 (SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX,
1696 SA_SET_SYM_ENDNDX, object_headers typedef, data_section_header,
1697 text_section_header): Delete non-BFD_HEADERS versions, since we
1698 always define that symbol now.
1699
1700 * config/obj-coff.c (stack_top): Deleted.
1701 (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
1702 obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Change
1703 argument name from "ignored" to "ignore".
1704 (obj_coff_val): Use frag_now_fix.
1705 (obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't
1706 get used.
1707 (stack typedef, stack_init, stack_delete, stack_push, stack_pop):
1708 Moved to just after pseudo-op table. All functions now static.
1709 (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
1710 after stack functions.
1711 * config/obj-coff.h: Reordered some declarations and macros.
1712 Protected against multiple inclusions.
1713 (stack_init, stack_delete, stack_push, stack_pop): Don't declare.
1714 (stack typedef): Deleted.
1715 (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
1716 (stdoutput): Deleted declaration.
1717 (TARGET_FORMAT) [TC_I386]: Don't define if already defined.
1718
1b96bdce
ILT
1719Mon May 2 17:09:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1720
1721 * subsegs.h (segment_info_type): Use fix_tail field even if
1722 BFD_ASSEMBLER.
1723 * subsegs.c (subseg_change): Initialize fix_tail field.
1724 (subseg_get): Likewise.
1725 * write.c (frags_chained): New static variable.
1726 (fix_new_internal): If frags_chained is set, use fix_root and
1727 fix_tail from seg_info (now_seg), rather than frchain_now.
1728 (chain_frchains_together_1): Set fix_tail field.
1729 (chain_frchains_together): Set frags_chained.
1730
17f0b355
KR
1731Thu Apr 28 01:39:15 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1732
1733 * config/tc-mips.c (s_option): Only refer to g_switch_* variables
1734 if GPOPT is defined.
1735 (s_abicalls): Ditto.
1736 (md_apply_fix): Cast char* to unsigned char* to avoid pointer
1737 mismatch.
1738
fa1a86f3
SC
1739Wed Apr 27 11:06:32 1994 Steve Chamberlain (sac@cygnus.com)
1740
1741 * configure.in (i386-*-go32): Uses coff now.
1742 * gasp.c (main): Now takes -D on command line.
1743 (show_usage): Describe new options.
1744
b46f83f2
KR
1745Tue Apr 26 17:10:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1746
1747 * listing.c (list_symbol_table): Print "NO DEFINED SYMBOLS" and
1748 "NO UNDEFINED SYMBOLS" if there aren't any, instead of displaying
1749 the header with an empty list.
1750
fb51366f
KR
1751 * config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM
1752 also before setting STYP_NOLOAD for .bss section.
1753
926ffe94
KR
1754 * config/tc-m68k.c (flag_reg_prefix_optional): New variable.
1755 Initialized to value of REGISTER_PREFIX_OPTIONAL, if defined, or
1756 zero.
1757 (m68k_reg_parse): If flag_reg_prefix_optional is set, permit
1758 register prefix to be absent.
1759 (m68k_ip_op): Accept `&' also for immediate constants.
1760 (insert_reg): Don't bother with (two!?) sanity checks of the
1761 symbol table when inserting each register.
1762 (m68k_parse_long_option): New function. Set
1763 flag_reg_prefix_optional if "register-prefix-optional" is passed.
1764 * config/tc-m68k.h (REGISTER_PREFIX): Always define if not already
1765 defined.
1766 (OPTIONAL_REGISTER_PREFIX): Don't define.
1767 (REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero
1768 or one depending on M68KCOFF.
1769
1770 Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
1771 * config/tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC):
1772 Define as macros instead of enumerators, since the Apollo compiler
1773 can't handle "enumVal1, enumVal2 = enumVal1" when defining an enum
1774 type.
1775 (make_pcrel_absolute) [NO_PCREL_RELOCS]: New function.
1776 (tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE,
1777 R_DIR16, and R_DIR32 relocs.
1778 * config/tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC):
1779 Use Apollo versions.
1780 [TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine. That is,
1781 do include the optional header for Apollo target.
1782 (COFF_MAGIC): Don't define as MC68MAGIC if it's already defined.
1783
1784 * config/tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%'
1785 can be used within a label name.
1786
1787 * config/tc-m68k.h (m68k_init_after_args): Declare.
1788 (tc_init_after_args): Define as m68k_init_after_args.
1789 * config/tc-m68k.c (m68k_init_after_args): New function,
1790 containing one-shot code from md_assemble. Added warning for
1791 combination of 68040 and 68851.
1792 (md_assemble): Startup-time code deleted.
1793
497c179a
ILT
1794Mon Apr 25 16:19:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1795
1796 * doc/Makefile.in (clean, distclean): Remove asconfig.texi.
1797
f38cd6ec
JL
1798Sun Apr 24 00:13:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1799
1800 * config/tc-hppa.c (pa_ip): 13 bit immediate constant (for break
1801 instruction) is unsigned.
1802
92867d8e
ILT
1803Fri Apr 22 17:58:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1804
1805 * config/obj-ecoff.c (ecoff_frob_file): Use bfd_ecoff_set_gp_value
1806 and bfd_ecoff_set_regmasks to set the GP value and the register
1807 masks, rather than using the now obsolete fake .reginfo section.
1808
e860dfd0
KR
1809Fri Apr 22 15:17:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1810
1811 * listing.c (list_symbol_table): Don't print register symbols as
1812 undefined.
1813
988238d3
KR
1814 * config/obj-coff.c (obj_symbol_new_hook): Don't need to strip
1815 underscores, since symbol_new will already have done it.
1816 * config/obj-coffbfd.c (obj_symbol_new_hook): Ditto.
1817
a926dd6a
KR
1818 * as.c (main): If tc_init_after_args is defined, invoke it after
1819 all arguments have been processed.
1820
1821 Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
1822 * as.c (perform_an_assembly_pass) [TE_APOLLO]: Create .wtext
1823 section instead of .text. Call create_target_segments.
1824 * read.c (demand_copy_string): No longer static.
1825
6fdc26e6
ILT
1826Thu Apr 21 15:50:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1827
1828 * config/tc-mips.c (append_insn): Permit branches to be switched
1829 with the preceding instruction even if .set nobopt has been seen.
1830 .set nobopt actually controls whether to bring up an instruction
1831 from the branch target, which gas does not currently support.
1832
a6652b1c
KR
1833Wed Apr 20 18:46:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1834
71b4de6f
KR
1835 * config/obj-coff.h, config/obj-coff.c: Deleted all code used only
1836 when BFD_ASSEMBLER is not defined, and all conditionals relating
1837 to such code. No such targets remain.
1838
1839 Fixes for stabs-in-coff:
1840 * config/obj-coff.c: Include subsegs.h.
1841 (coff_frob_section): New function.
1842 (obj_coff_init_stab_section): New function.
1843 * config/obj-coff.h (obj_coff_init_stab_section,
1844 coff_frob_section): Declare.
1845 (obj_frob_section): New macro; uses coff_frob_section.
1846 (INIT_STAB_SECTION): New macro; uses obj_coff_init_stab_section.
1847
a6652b1c
KR
1848 * config/tc-sparc.c (md_section_align): Always round up to
1849 multiple of alignment power specified in bfd target vector.
d924d209
KR
1850
1851 * gasp.c: Include ctype.h.
1852
19990560
KR
1853Mon Apr 18 21:08:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1854
1855 * doc/Makefile.in, doc/as.texinfo: Renamed asdoc-config.texi to
1856 asconfig.texi.
1857
1858 * doc/Makefile.in (install-info-as, install-info-gasp): Get file
1859 names from source directory without pathname.
1860
1861 * config/obj-vms.c (VMS_write_object_file): While looking for
1862 register mask, skip empty fill frags caused by enabling listing
1863 output.
1864
1865 * config/ho-sysv.h: Include string.h.
1866
1867 * doc/internals.texi: New (well, recently added) file. Just added
1868 info on as_warn and friends.
1869
9de7c1fc
JL
1870Mon Apr 18 14:28:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1871
1872 * config/tc-hppa.c (pa_parse_space_stmt): Use the built-in
1873 defaults for defined, private, and spnum fields for the
1874 $TEXT$ and $PRIVATE$ spaces. Do not clobber spnum. Do
1875 not reset the segment if just updating a space.
1876 (pa_spaces_begin): Set BFD section flags for all built-in
1877 subspaces.
1878
e904716c
ILT
1879Fri Apr 15 10:51:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1880
37032d95
ILT
1881 * ecoff.c (first_proc_ptr): New static variable.
1882 (add_procedure): Set first_proc_ptr if it hasn't been set.
1883 (ecoff_build_lineno): If the first procedure does not start at
1884 address zero, insert a dummy line to compensate.
1885
e904716c
ILT
1886 * Makefile.in (bootstrap, bootstrap2, bootstrap3): Make gasp.new
1887 as well as as.new.
1888
d6f98c55
KR
1889Thu Apr 14 15:12:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1890
1891 * expr.c (operand): Try to parse "0f" and "0b" sequences as
1892 floating point and binary numbers respectively; if it doesn't
1893 work, treat them as local labels.
1894
c92d9ee9
KR
1895 * Makefile.in: Make $(OBJS) depend on $(ALL_OBJ_DEPS).
1896 * configure.in: Set ALL_OBJ_DEPS in output Makefile.
1897
1898 Based on suggestions from <BAILEY@hmivax.humgen.upenn.edu>
1899 (Charles Bailey):
1900 * vmsconf.sh: In generated file, get ".obj" suffix right, build
1901 source files from other directories into objects in the current
1902 directory, and specify PSECT attributes explicitly to linker.
1903 Also added missing label.
1904 * Makefile.in (stamp-mk.com): Reference new variable
1905 VMS_OTHER_OBJS for list of non-local object files, instead of
1906 listing them here.
1907 (VMS_OTHER_OBJS): New variable, added more libiberty files.
1908 * make-gas.com: Regenerated.
1909
1910 * config/ho-vms.h (unlink): Define as delete.
1911
1912 * config-gas.com: Fix quoting on TARGET_CANONICAL definition.
1913 Delete files before creating them.
1914
1a69212c
ILT
1915Thu Apr 14 13:34:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1916
b3cd8555
ILT
1917 * Makefile.in (de-stage1, de-stage2, de-stage3): Use rm -f.
1918
1a69212c
ILT
1919 * config/tc-mips.h (DIFF_EXPR_OK): Define.
1920 * config/tc-mips.c (macro_build): Permit BFD_RELOC_PCREL_LO16 for
1921 certain cases of 'i', 'j' and 'o'. Change 'u' to take an
1922 argument, the reloc type.
1923 (load_register): Pass reloc type to macro_build for 'u'.
1924 (macro): Likewise. For M_LA_AB permit a difference expression
1925 when generating embedded PIC code between an arbitrary symbol and
1926 a symbol in the .text section.
1927 (mips_force_relocation): Force BFD_RELOC_PCREL_HI16_S and
1928 BFD_RELOC_PCREL_LO16 to be emitted.
1929 (md_apply_fix): Check that most relocs are not PC relative.
1930 Handle BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
1931 (tc_gen_reloc): Change #error to as_fatal. Handle
1932 BFD_RELOC_PCREL_LO16 and BFD_RELOC_PCREL_HI16_S.
1933
cc886e3d
SS
1934Tue Apr 12 18:25:13 1994 Stan Shebs (shebs@andros.cygnus.com)
1935
1936 * subsegs.c (subsegs_begin): Call memset with args in the correct
1937 order.
1938 (subseg_get): Clear newly allocated seginfo, set its pointer slots
1939 to NULL instead of 0.
1940
05210990
JL
1941Mon Apr 11 09:00:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1942
caed9e82
JL
1943 * config/tc-hppa.c (pa_procend): Handle case where label was
1944 defined after the .proc directive.
1945
05210990
JL
1946 * config/tc-hppa.c (pa_procend): Give an error if we encounter a
1947 procend for a procedure without a name.
1948
1c803e52
ILT
1949Thu Apr 7 14:28:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1950
1951 * config/tc-mips.c (macro): Pass NULL for expression argument to
1952 macro_build for nori case.
1953 (SWITCH_TABLE): Define.
1954 (mips_force_relocation): Force a relocation for a switch table
1955 entry.
1956 (md_apply_fix): Write switch table entry value into file.
1957 (tc_gen_reloc): Use BFD_RELOC_GPREL32 for a switch table entry,
1958 and set the addend to the difference between the reloc address and
1959 the subtrahend.
1960
0b503989
JL
1961Thu Apr 7 10:38:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1962
1963 * config/tc-hppa.h (elf_tc_symbol): Delete. No longer used.
1964 (elf_tc_make_sections): Likewise.
1965 (hppa_tc_make_sections, hppa_tc_symbol): Delete extern decls.
1966
1967 * config/tc-hppa.c (hppa_tc_make_sections): Delete function.
1968 (hppa_tc_symbol): Likewise.
1969
1970 * config/obj-elf.c (elf_frob_file): Delete elf_tc_symbol and
1971 elf_tc_make_sections stuff. It was there to support PA braindamage
1972 which has been fixed, and in the case of elf_tc_make_sections is
1973 redundant with elf_tc_final_processing.
1974
f39a73b1
JL
1975Wed Apr 6 20:48:30 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1976
1977 * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
1978 manufacturer.
1979
f3645945
ILT
1980Tue Apr 5 15:48:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1981
1982 * config/tc-mips.c (mips_ip): For case 'o', when generating
1983 embedded PIC code, accept the difference between two local symbols
1984 as being constant.
1985 (mips_force_relocation): Only force a reloc to be generated for a
1986 PC relative fixup.
1987 (md_apply_fix): For BFD_RELOC_32 and BFD_RELOC_LO16, put the fixup
1988 value into the file if the fixup will not generate a reloc.
1989
03fcf1f8
KR
1990Tue Apr 5 11:14:14 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
1991
1992 * config/tc-sparc.c (s_reserve): If section passed isn't bss,
1993 don't spew remainder of input file in error message.
1994 (tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error
1995 message with reloc type and try to process remainder of file.
1996
1997 * doc/Makefile.in (install-info-as, install-info-gasp): New
1998 targets, now explicitly checking $(srcdir) for info files.
1999 (install-info): Depend on both of them; do nothing more.
2000
79381848
JL
2001Mon Apr 4 17:06:04 1994 Jeffrey A. Law (law@cygnus.com)
2002
2003 * config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version.
2004
1e147242
ILT
2005Mon Apr 4 12:39:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2006
1937a665
ILT
2007 * config/tc-ppc.c (ppc_insert_operand): Check PPC_OPERAND_SIGNED
2008 flag rather than signedp field. Only permit extended range if
2009 PPC_OPERAND_SIGNOPT flag is set and assembling in 32 bit mode.
2010 Based on patch from David Edelsohn (edelsohn@npac.syr.edu).
2011
1e147242
ILT
2012 * config/tc-ppc.c (ppc_size): New static variable.
2013 (ppc_arch): Check for PPC_OPCODE_PPC before PPC_OPCODE_POWER.
2014 (md_begin): If an instruction has a size specific flag set, only
2015 add it if we are assembling that size.
2016
7ab2e983
ILT
2017Thu Mar 31 16:51:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2018
2019 * config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get
2020 cross section PC relative relocs right for COFF and ELF.
2021
75d20ac8
KR
2022Mon Mar 28 14:38:23 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2023
2024 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Always define.
2025 (OBJ_PROCESS_STAB): Don't define.
2026
57afabd0
ILT
2027Mon Mar 28 12:40:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2028
2029 * config/obj-aout.c (obj_aout_frob_symbols): Don't let BFD clobber
2030 the type of symbol set symbols which happen to be in the absolute
2031 or undefined section.
2032
882bdc69
ILT
2033Mon Mar 28 12:35:00 1994 David Edelsohn (edelsohn@npac.syr.edu)
2034
2035 * config/tc-ppc.c (md_parse_option): Add -mpwrx (POWER/2 aka
2036 RIOS2), -mpwr (POWER aka RIOS1), -mppc (PowerPC aka MPC603/604),
2037 and -many (all architectures).
2038
de3ffc7a
JL
2039Sun Mar 27 14:04:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2040
2041 * config/tc-hppa.c (tc_gen_reloc): Set addend for relocation
2042 involving a function symbol which is not a plabel to zero.
2043 (md_apply_fix): Never pass a function symbol to field_adjust.
2044
5b63f465
ILT
2045Fri Mar 25 17:35:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2046
645f842c
ILT
2047 * config/obj-aout.c (obj_aout_frob_symbol): If N_EXT is set for an
2048 N_INDR symbol, set BSF_EXPORT and clear BSF_LOCAL.
2049
5b63f465
ILT
2050 * config/tc-mips.c (append_insn): If EMBEDDED_PIC, don't swap a
2051 branch with an instruction that uses $at, in case the branch is
2052 later expanded.
2053 (macro): If EMBEDDED_PIC, case M_JAL_A may use $at.
2054 (md_pcrel_from): If not OBJ_AOUT, return 4 for an undefined symbol
2055 to make it pcrel_offset.
2056 (tc_gen_reloc): If not OBJ_AOUT, set the reloc addend to
2057 reloc->address; another gruesome hack to get gas reloc handling to
2058 do the right thing.
2059
11d7c064
KR
2060Thu Mar 24 21:29:29 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2061
2062 * config/tc-alpha.c (alpha_ip): Only set GP prolog size if using
2063 PV register.
2064 (T12): New macro.
2065 (emit_insn): New function.
2066 (md_assemble): Call it.
2067 (alpha_force_relocation): Handle BFD_RELOC_26, for call_pal
2068 instructions.
2069 (lituse_pending): New variable. Set by anything that generates a
2070 LITERAL reloc, cleared by anything that generates a LITUSE reloc,
2071 tested by code that might want to emit a LITUSE reloc.
2072 (emit_unaligned_io): New function. Currently calls md_assemble,
2073 but it should eventually be converted to generate the insn itself
2074 and call emit_insn directly.
2075 (emit_load_unal, emit_store_unal, emit_byte_manip_r,
2076 emit_extract_r, emit_insert_r, emit_mask_r, emit_sign_extend,
2077 emit_bis_r): Likewise.
2078 (alpha_ip, case 'I'): Handle with BFD_RELOC_23.
2079 (alpha_ip, label get_macro): Don't emit the final instruction if
2080 the opcode is zero.
2081 (alpha_ip, case 'B', subcase 'd'): New case, for subword and
2082 unaligned memory access macros.
2083 (md_apply_fix): Handle BFD_RELOC_26. Generate an error message if
2084 the value can't be resolved.
2085
2086Wed Mar 23 16:06:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2087
2088 * config/tc-mips.c (md_parse_option): For -membedded-pic, force
2089 the -G value to 0x7fffffff. For SVR4 PIC options, don't call
2090 bfd_set_gp_size here, it's done in md_begin. Don't permit -G with
2091 -membedded-pic.
2092 (mips_force_relocation): New function.
2093 (md_apply_fix): Set fixP->fx_done appropriately.
2094 (s_change_sec): For EMBEDDED_PIC, change .data and .rdata to
2095 .sdata.
2096 * config/tc-mips.h (TC_FORCE_RELOCATION): Define.
2097 (mips_force_relocation): Declare.
2098 (TC_HANDLE_FX_DONE): Define.
2099
e1b5066f
ILT
2100Tue Mar 22 13:58:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2101
d9aba805
ILT
2102 * config/tc-mips.c (enum mips_pic_level): New enum.
2103 (mips_pic): Change from int to enum mips_pic_level. Change all
2104 uses (0 becomes NO_PIC, 2 becomes SVR4_PIC).
2105 (load_address): Handle EMBEDDED_PIC.
2106 (macro): Handle EMBEDDED_PIC in all PIC cases.
2107 (md_parse_option): Accept -membedded-pic to use EMBEDDED_PIC. If
2108 OBJ_ELF, accept -KPIC and -call_shared to use SVR4_PIC and accept
2109 -non_shared to use NO_PIC (this is how the Irix 5 assembler
2110 works). Do not permit -G with SVR4_PIC.
2111 (s_abicalls): Warn if -G was used, and force -G 0.
2112 (tc_gen_reloc): Set reloc->addend to 0 for a PC relative reloc for
2113 anything but a.out, not just for ELF. For ECOFF, don't generate a
2114 BFD_RELOC_16_PCREL_S2 reloc unless using EMBEDDED_PIC.
2115
e1b5066f
ILT
2116 * config/obj-ecoff.h (obj_sec_sym_ok_for_reloc): Define to be 1.
2117
2118Sun Mar 20 16:31:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2119
2120 * config/tc-hppa.c (create_new_space): Use ints, not chars as
2121 parameters to avoid losing when compiling with HP CC.
2122 (create_new_subspace, update_subspace, fix_new_hppa): Likewise.
2123
1871f91a
KR
2124Sun Mar 20 14:43:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2125
c37f6138
KR
2126 * Makefile.in (config-stamp): If `defs' is defined, emit a
2127 preprocessor directive to create a macro named by this value into
2128 config.new; don't explicitly go for BFD_ASSEMBLER.
2129 * configure.in: Define `defs', not `BFDDEF'. Set it to
2130 MANY_SEGMENTS for any obj-coffbfd target.
2131 * config/obj-coffbfd.h (BFD_HEADERS, BFD): Define.
2132 * config/i386coff.mt (TDEFINES): Don't define BFD, MANY_SEGMENTS,
2133 or BFD_HEADERS.
2134 (LOCAL_LOADLIBES): Deleted.
2135 * config/m68kcoff.mt (TDEFINES): Don't define those macros.
2136 * config/m88kcoff.mt (TDEFINES): Ditto.
2137 * config/ebmon29k.mt: Deleted.
2138 * config/h8300hds.mt: Deleted.
2139 * config/ic960coff.mt: Deleted.
2140 * config/sparc.mt: Deleted.
2141 * config/h8300.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
2142 * config/h8500.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
2143 * config/sh.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
2144 * config/z8k.mt (LOCAL_LOADLIBES): Deleted.
2145 (TDEFINES): Don't define the coffbfd macros.
2146
2147 * Makefile.in: Insert makefile fragments before OBJS definition.
2148 (OBJS): Add $(TE_OBJS).
2149
3680de74
KR
2150 * config/obj-coff.c (obj_pseudo_table): Supply "section"
2151 unconditionally.
2152
1871f91a
KR
2153 * write.c (set_symtab): Define only if BFD_ASSEMBLER.
2154
c20c7506
JL
2155Sun Mar 20 12:06:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2156
2157 * Makefile.in (STAGESTUFF): Add gasp.new.
2158
634233a3
KR
2159Fri Mar 18 20:09:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2160
1cf7548e
KR
2161 * write.c (symbol_table_frozen): New variable, to be set after
2162 bfd_set_symtab is called.
2163 (dump_section_relocs): Note whether a symbol is a section symbol
2164 or not.
2165 (adjust_reloc_syms): For now, always supply an absolute symbol for
2166 fixups without symbols but not yet `done'. Use section_symbol to
2167 get the symbol, instead of going directly for abs_symbol.
2168 (write_relocs) [DEBUG4]: Abort if any symbol referred to by a
2169 reloc is not a section symbol and is not in the symbol table.
2170 (set_symtab): New function, broken out from write_object_file.
2171 Counts symbol table instead of relying on an earlier count.
2172 (write_object_file): Call set_symtab, but do it after potentially
2173 invoking the *_frob_file macros. Don't bother counting symbols.
2174 Call symbol_remove, instead of expanding it in place. Moved the
2175 conditionalized `object_file_size' declaration down to
2176 conditionalized block where it's used. When using the absolute
2177 symbol for a fixup without a symbol, set sy_used_in_reloc.
2178 (write_object_file) [BFD_ASSEMBLER]: Call section_symbol to get
2179 the correct symbol for the absolute section.
2180
ec3c65e1
KR
2181 * subsegs.c (section_symbol): Use symbol_new instead of
2182 symbol_make, since we may want it to go into the symbol table.
2183 Make the new symbol have internal linkage. If
2184 obj_sec_sym_ok_for_reloc says it's okay, use the BFD section
2185 symbol with the newly created GAS symbol.
2186 (obj_sec_sym_ok_for_reloc): Default to always returning 0.
2187 * config/obj-aout.h (obj_sec_sym_ok_for_reloc) [BFD_ASSEMBLER]:
2188 New macro.
2189 * config/obj-elf.h (obj_sec_sym_ok_for_reloc): New macro.
2190
2191 * config/tc-sparc.c: Include subsegs.h.
2192 (in_signed_range): New function.
2193 (sparc_ip): Use it.
2194 (sparc_ip, case 'i'): Use BFD_RELOC_SPARC13, not _BASE13.
2195 (sparc_ip, label "immediate"): Reject constants for pcrel
2196 instructions only if the relocation type indicates a "call"
2197 instruction and the offset is within range of a "jmpl %g0". If
2198 it's not in range, use the absolute section symbol plus an offset.
2199 (md_apply_fix): Use in_signed_range. Combined _SPARC13 and
2200 _BASE13 cases.
2201 (tc_gen_reloc): Permit BFD_RELOC_SPARC13.
2202
1be3cf74
KR
2203 * config/ic960coff.mt (TDEFINES): Fixed typo (MANY_SECTIONS, not
2204 MANY_SEGMENTS).
2205
634233a3
KR
2206 * configure.in: Eliminated all targets using obj-coff but not
2207 defining BFD_ASSEMBLER; I think all such targets that are
2208 supported will be matched by real CPU-OS combinations earlier in
2209 the case statement.
2210 (targets *-*-coff*, *-sysv*, *-*-sco*, *-*-sysv32): Deleted. Made
2211 some comments about the dpx2 configuration, but left it disabled,
2212 since it couldn't be reached before.
2213 (target a29k-amd-ebmonold): Deleted.
2214
49ccc555
JL
2215Thu Mar 17 13:36:09 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2216
2217 * config/tc-hppa.c (pa_import): Correctly handle importing of an
2218 already defined symbol.
2219
23dc1ae3
ILT
2220Wed Mar 16 17:11:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2221
614a3211
ILT
2222 * config/tc-mips.c (mips_ip): Only accept overly large values for
2223 the 'j' operand if there are no further alternatives for this
2224 instruction.
2225
d6e6bc1c
ILT
2226 * config/obj-coffbfd.c (adjust_stab_section): Initialize
2227 stabstrseg to SEG_UNKNOWN, not -1. After loop, check whether it
2228 is not SEG_UNKNOWN rather than checking whether it is >= 0.
2229
23dc1ae3
ILT
2230 * config/tc-mips.c (mips_align): Take new argument, label, and use
2231 it instead of global insn_label.
2232 (s_align, s_cons, s_float_cons, s_gpword): Save insn_label before
2233 call to mips_emit_delay and pass it to mips_align.
2234
2235Wed Mar 16 11:54:12 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2236
c38c91da
JL
2237 * config/tc-hppa.c (pa_equ): Handle both .reg and .equ correctly.
2238
f2ada910
JL
2239 * config/tc-hppa.c (pa_callinfo): Accept "millicode" as an
2240 argument to a .callinfo directive. Don't loop forever on errors.
2241
c38c91da 2242 * config/tc-hppa.c (pa_equ): Use pa_parse_number so that we can
23dc1ae3
ILT
2243 use pre-defined registers as arguments.
2244
954979ca
KR
2245Mon Mar 14 14:29:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2246
dbc529c4
KR
2247 * write.c (write_object_file): Check both S_IS_LOCAL and
2248 S_IS_EXTERNAL when deciding whether to discard a symbol.
2249
2250 * config-gas.com: Scan Makefile.in, not version.c, for current
2251 version number. Delete all versions of temp files when finished
2252 with them. Create config.h.
2253
2254 * config/obj-vms.c (VMS_Initialized_Data_Size): Cache symbol
2255 values to reduce number of lookups with S_GET_VALUE. Skip debug
2256 symbols to avoid "a really nasty bug". (From Holger Teutsch,
2257 holger@botbso.rhein-main.de.)
2258 (VMS_write_object_file): For "__vt.*" symbols, set S_GET_OTHER
2259 field. (Also from Holger Teutsch.) Watch for a would-be register
2260 mask that spans frags.
2261
2262 * config/obj-coffbfd.c (obj_coff_line): Set symbol lnno field with
2263 this_base, not line_base. (Patch from Andreas Arens,
2264 ari@obelix.av.rwth-aachen.de.)
2265
2266 * config/obj-aout.c (obj_crawl_symbol_chain): Retain symbols that
2267 look local if they're exported or undefined. Used to be done for
2268 i960 only.
2269
2270 * read.c (s_lcomm, s_comm): Print symbol name being redefined.
2271 Get it from the looked-up symbol, instead of using the string from
2272 the input stream, which is no longer null-terminated.
2273 (LEX_PCT): New macro, defaults to 0.
2274 (lex_type): Use it for `%'.
2275
2276 * config/tc-vax.c (md_parse_option): Handle `-h#' option for VMS.
2277 (vip_op): Now static, and returns void. Callers changed. Added
2278 forward decl.
2279 (vip): Ditto. Call as_fatal directly if a program bug is
2280 detected.
2281 (op_hash): Let default initialization suffice.
2282
954979ca
KR
2283 * Makefile.in (literal.o): Provide dependencies.
2284
2285 * configure.in: Set new makefile variable OPCODES_LIB.
2286 * Makefile.in (LIBS): Use it.
2287
2288 * Makefile.in (make-gas.com, stamp-mk.com): New targets.
2289 * vmsconf.sh: New file.
2290 * make-gas.com: Regenerated from new script.
2291
2292 * configure.in (sparc*-*-lynxos*): Handle any version number
2293 suffix after "lynxos". Set emulation to lynx.
2294
2295Mon Mar 14 11:30:49 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2296
2297 * config/obj-coff.c (obj_coff_section): Delete declaration.
2298
62ea7974
ILT
2299Fri Mar 11 22:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2300
2301 * config/tc-ppc.c (md_pcrel_from): Return 0 for undefined ELF
2302 symbols.
2303 (ppc_is_toc_sym): Change .toc to .got.
2304 (md_apply_fix): Change handling of ELF relocs.
2305 (tc_gen_reloc): Likewise.
2306
63ca2e81
KR
2307Fri Mar 11 17:42:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2308
2309 * config/obj-vms.c (Close_VMS_Object_File): Add comment pointing
2310 out some code that doesn't belong in this file.
2311
2312 * config/obj-vms.h: Include aout/stab_gnu.h.
2313 (N_GSYM, ..., N_LENG): Deleted.
2314 (NO_RELOC): Undefine before defining as part of enum reloc_type.
2315
2316 * config/tc-alpha.c: Add comment questioning need for all the
2317 characters in FLT_CHARS.
2318
2319 * as.c (main) [OBJ_VMS]: Don't call output_file_close.
2320
2321 * config/obj-ecoff.c (ecoff_frob_file): Set strict order for
2322 sections with recognized names, before computing VMA values.
2323
be22008b
ILT
2324Fri Mar 11 17:56:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2325
2326 * config/tc-mips.c (mips_ip): Accept numbers between 0x8000 and
2327 0xffff for 'j' to be compatible with MIPS assembler. These
2328 numbers are actually treated as negative.
2329
2c6db5a1
DE
2330Thu Mar 10 13:36:29 1994 Doug Evans (dje@canuck.cygnus.com)
2331
2332 * config/tc-sparc.h (LOCAL_LABEL): Local labels are .Lfoo.
2333
9e12fbbc
KR
2334Tue Mar 8 21:17:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2335
2336 * config/obj-coff.c: Minor formatting/stylistic changes, plus:
2337 (obj_coff_section): Declare.
2338 (obj_pseudo_table): Make it available only if MANY_SECTIONS.
2339 (obj_symbol_to_chars) [CROSS_COMPILE]: Some attemps to make this
2340 work. It still doesn't. It now fails to compile, instead of
2341 silently compiling to do nothing.
2342 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define only if
2343 MANY_SECTIONS.
2344 (OBJ_PROCESS_STAB) [! MANY_SECTIONS]: New macro, just emits
2345 warning.
2346
2347 Handle Alpha load-immediate-FP pseudo-instructions:
2348 * config/alpha-opcode.h (ldif, ldig, ldis, ldit): New patterns.
2349 * config/tc-alpha.c (lit8_sec, lit4_sec, lit8_sym, lit4_sym): New
2350 variables.
2351 (create_literal_section): New function.
2352 (create_lita_section): Now a macro.
2353 (get_lit8_offset, get_lit4_offset): New functions.
2354 (maybe_set_gp): New function.
2355 (select_gp_value): Call it.
2356 (load_expression): Preserve addend if symbol is a section symbol.
2357 (alpha_ip): Handle new operand type `F' for floating-point
2358 constants; store them in .lit{4,8} sections.
2359 (alpha_ip, case 'G'): Emit LITUSE relocations for symbol exprs.
2360
2361 * config/tc-i386.c (smallest_imm_type): Never return Imm1.
2362
2bac8c54
SC
2363Tue Mar 8 14:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com)
2364
2365 * config/obj-coffbfd.c (w_strings): Only copy strings out if
2366 their symbols are going to be written.
2367
d16938f5
ILT
2368Tue Mar 8 11:49:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2369
2370 * messages.c (as_perror): Declare arguments const.
2371 * as.h (as_perror): Change declaration.
2372
8ea7f4e8
ILT
2373Mon Mar 7 16:08:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2374
2375 * config/tc-mips.c (load_address): When calling frag_grow, allow
2376 for the (up to) two nops which may be inserted by append_insn if
2377 mips_optimize is 0.
2378 (macro): Likewise.
2379
fa47b47e
DE
2380Thu Mar 3 11:37:55 1994 Doug Evans (dje@canuck.cygnus.com)
2381
2382 * config/atof-ieee.c (make_invalid_floating_point_number):
2383 Add cast to avoid warning from gcc.
2384
34b16850
JL
2385Wed Mar 2 10:31:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2386
fb338f1d
JL
2387 * config/tc-hppa.c: Add a few casts to make HP C compiler happy.
2388
2389 * config/obj-som.c (obj_som_version, obj_som_copyright): Be
2390 prepared
2391 to handle an error from bfd_som_attach_aux_hdr.
2392
34b16850
JL
2393 * config/tc-hppa.h: Wrap ELF specific decls inside an ifdef.
2394
994fde6d
KR
2395Mon Feb 28 15:03:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2396
2397 * config/tc-alpha.c (md_atof): Omit warning about FP values.
2398 (line_comment_chars): Add ! to list.
2399 (md_apply_fix): Do process 32- and 64-bit relocations.
2400
2401 * config/obj-coffbfd.c (obj_coff_lcomm): Put "#if 0" around the
2402 unused parts (most of the function).
2403 (obj_coff_init_stab_section): Cast alloca result.
2404
2405 * configure.in (i960-*-coff, i960-*-vxworks5.*): Use coffbfd, and
2406 gas_target ic960coff.
2407 * config/ic960coff.mt: New file.
2408 * config/obj-coffbfd.h [TC_I960]: Include coff/i960.h.
2409 (TARGET_FORMAT) [TC_I960]: Use coff-Intel-little.
2410 * config/te-ic960.h (CROSS_COMPILE): Don't undef this. We'll
2411 always build little-endian object files.
2412 * config/tc-i960.c (md_reloc_size): Don't define at all if BFD or
2413 BFD_ASSEMBLER is defined.
2414 (mem_fmt): Since COFF doesn't handle callx relocations yet, treat
2415 them like normal 32-bit relocations.
2416 (md_apply_fix): For callx relocations, store zero.
2417 (tc_bout_fix_to_chars): Store symbol index for all callx
2418 relocations, regardless of link-relax setting.
2419 (tc_coff_fix2rtype, tc_coff_sizemachdep): New functions.
2420 (i960_handle_align) [! OBJ_BOUT]: If link-relax option is
2421 selected, print an error message and clear it.
2422 * config/tc-i960.h (BFD_ARCH, COFF_FLAGS, COFF_MAGIC,
2423 TC_COUNT_RELOC, TC_COFF_FIX2RTYPE, TC_COFF_SIZEMACHDEP,
2424 tc_fix_adjustable): New macros.
2425 (tc_coff_fix2rtype, tc_coff_sizemachdep): Declare.
2426
e03095c9
JL
2427Fri Feb 25 20:56:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2428
2429 * config/tc-hppa.c (hppa_tc_symbol): Call PA ELF BFD version.
2430 (hppa_tc_make_sections): Likewise.
2431 (pa_build_symextn_section): Delete unused function.
2432 (hppa_tc_make_symextn_section): Likewise.
2433 (pa_export): Delete call to pa_build_symextn_section.
2434
2435 * config/tc-hppa.h (hppa_tc_symbol): Add extern decl.
2436 (elf_hppa_final_processing): Delete extern decl.
2437 (hppa_tc_symbol): Delete extern decl.
2438
3919ffeb
ILT
2439Fri Feb 25 13:15:31 1994 Ian Lance Taylor (ian@cygnus.com)
2440
2441 * config/obj-coffbfd.c (fill_section): Correct test for whether to
2442 fill a section (from Minh Tran-Le <TRANLE@intellicorp.com>).
2443
f95de5d9
KR
2444Thu Feb 24 11:30:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2445
3919ffeb
ILT
2446 * configure.in: Don't require version number for i386-*-mach.
2447
f95de5d9
KR
2448 * read.c (potable): Added ".this_GCC_requires_the_GNU_assembler",
2449 which is ignored by gas, but will cause other assemblers to choke.
2450 Intended for use by gcc ports that require gas instead of native
2451 assemblers.
2452
cb6af928
JL
2453Thu Feb 24 07:10:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2454
2455 * config/ho-hppaosf.h: Fix braino in test for ANSI-C.
2456
08c5812c
JL
2457Wed Feb 23 16:51:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2458
2459 * write.c (write_contents): Give the user a reasonable error
2460 message rather than "assertion failed" if bfd_set_section_contents
2461 fails.
2462
c9c45af1
KR
2463Tue Feb 22 10:07:32 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
2464
2465 * config/ho-mach3.h: New file.
2466
9eb5f4b8
ILT
2467Mon Feb 21 11:41:18 1994 Ian Lance Taylor (ian@cygnus.com)
2468
2e5fdb1d
ILT
2469 * ecoff.c (ecoff_build_debug): Don't set hdr->magic here. It is
2470 now set in bfd/ecofflink.c:ecoff_write_symhdr.
2471
9d90491e
ILT
2472 * config/obj-coffbfd.c (write_object_file): use bfd_get_error (),
2473 not bfd_error.
2474 * config/obj-elf.c (elf_frob_file): Likewise.
2475
2476 * read.c (s_lcomm): Use an alignment power of 3 for 8 byte .lcomm
2477 variables.
2478
c8d02404
ILT
2479 * config/ho-hpux.h (BROKEN_ASSERT): Define if not __GNUC__.
2480
9eb5f4b8
ILT
2481 * read.c (read_a_source_file): Use correct arguments to memcpy
2482 (broken 19 Jul 1993). From kjd@pescadero.stanford.edu (Kenneth
2483 Duda).
2484
4d88d6dc
ILT
2485Sun Feb 20 18:01:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
2486
2487 * config/obj-coff.h (obj_coff_section): Declare.
2488 * config/obj-coff.c (obj_pseudo_table): For "section", use
2489 obj_coff_section.
2490 (obj_coff_section): Rewrite.
2491
741f4d66
KR
2492Fri Feb 18 14:16:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2493
9e0cbfbb
KR
2494 * configure.in (i386-*-mach3*): New target; uses BFD.
2495 * config/te-mach.h: New file.
2496 * config/obj-aout.c (obj_aout_frob_file): New function.
2497 * config/obj-aout.h (obj_aout_frob_file): Declare it.
2498 (frob_file): New macro.
2499 * config/tc-i386.c (md_apply_fix_1) [TE_Mach]: Don't adjust
2500 pcrel32 relocations.
2501 * config/tc-i386.h (TARGET_FORMAT) [TE_Mach]: Use a.out-mach3.
2502
741f4d66
KR
2503 * write.c (write_object_file): Removed register declarations.
2504
5e65fbc8
ILT
2505Thu Feb 17 16:25:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2506
254f8450 2507 Some support for PowerPC ELF.
5e65fbc8
ILT
2508 * configure.in: If cpu is powerpc*, use ppc.
2509 (ppc-*-sysv4*): Use object format elf.
2510 * config/tc-ppc.h: Only declare a number of things if OBJ_COFF is
2511 defined.
2512 (TARGET_ARCH): Make it call ppc_arch.
2513 (ppc_arch): Declare.
2514 (TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF.
2515 (NO_STRING_ESCAPES): Define.
2516 (LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF.
2517 * config/tc-ppc.c: Only define a number of functions of OBJ_COFF
2518 is defined.
2519 (md_pseudo_table): Most pseudo-ops are OBJ_COFF specific. Added
2520 OBJ_COFF specific "bi" and "ei".
2521 (md_parse_option): Fix handling of -u. Make -m601 set
2522 PPC_OPCODE_601. If OBJ_ELF, accept -V and -Q.
2523 (ppc_set_cpu): New function.
2524 (ppc_arch): New function.
2525 (md_begin): Call ppc_set_cpu.
2526 (ppc_insert_operand): For a signed operand accept an unsigned
2527 value, for IBM compatibility.
2528 (ppc_byte): Don't call stringer for strings; instead, treat two
2529 double quotes as a single double quote.
2530 (ppc_comm): Set sy_tc.output for a .lcomm symbol.
2531 (ppc_biei): New function.
2532 (ppc_tc): If not OBJ_COFF, ignore first argument.
2533 (ppc_fix_adjustable): Call as_bad_where, not as_bad.
2534 (ppc_is_toc_sym): New function.
2535 (md_apply_fix): Use ppc_is_toc_sym. Handle BFD_RELOC_16 and
2536 BFD_RELOC_8.
2537
f61b81b7
DM
2538Thu Feb 17 09:29:37 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2539
2540 * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_get_error and
2541 bfd_set_error and new error names.
2542
c25be7f4
KR
2543Tue Feb 15 20:23:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2544
2545 * configure.in: Support i960-vxworks versions > 5.0 as coff.
2546 Default is still bout if no version is specified.
2547
04bde70d
KR
2548 * atof-generic.c (atof_generic): Use switch and strcasecmp instead
2549 of large number of compares when looking for inf/nan values.
2550
b1237b9d
ILT
2551Fri Feb 11 13:13:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2552
2553 * config/tc-mips.c (macro): Do unaligned loads and stores
2554 correctly when big endian, and give errors on overflow rather than
2555 generating incorrect code.
2556
605e1d90
ILT
2557Thu Feb 10 11:24:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2558
2559 * as.c: Include libiberty.h.
2560
2561 * read.c (do_align): Don't define label just_record_alignment
2562 unless it might be used.
2563
2564 * as.c (main): If md_parse_long_option is defined, call it with a
2565 long option.
2566 * config/tc-mips.h (md_parse_long_option): Define.
2567 * config/tc-mips.c (mips_trap): New static variable.
2568 (md_begin): Report an error if mips_trap is set at ISA level 1.
2569 (macro): If mips_trap, use trap instructions instead of break
2570 instructions for overflow and divide by zero detection.
2571 (mips_parse_long_option): New function. Support --trap,
2572 --no-break, --break and --no-trap.
2573 * doc/as.texinfo: Document new options.
2574
2575 * read.c (potable): Add "zero".
2576 * config/tc-i386.c (md_pseudo_table): Remove "zero".
2577 * config/tc-m88k.c (md_pseudo_table): Likewise.
2578
6440d65c
KR
2579Thu Feb 10 01:24:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2580
2581 * config/tc-sparc.c (sparc_ip): Reject integer values for
2582 pc-relative operand fields. This forces "call 0" to become "jmpl
2583 %g0,%o7" with no relocations needed.
2584
ddb393cf
ILT
2585Wed Feb 9 13:08:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2586
d87c080e
ILT
2587 * as.h (xmalloc, xrealloc): Declare using PTR rather than char *.
2588 * xmalloc.c (xmalloc, xrealloc): Use PTR rather than char *.
2589
ddb393cf
ILT
2590 * app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined,
2591 don't treat backslash specially inside strings.
2592 * read.c (next_char_of_string): Likewise.
2593
66c774bb
SS
2594Wed Feb 9 09:42:45 1994 Stan Shebs (shebs@andros.cygnus.com)
2595
2596 * config/obj-coffbfd.c (obj_coff_init_stab_section): Use memset
2597 instead of memcpy to zero the initial stab symbol, duh.
2598 * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
2599 * config/obj-som.c (obj_som_init_stab_section): Ditto.
2600
356315fe
ILT
2601Tue Feb 8 17:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2602
2603 * write.c (fixup_segment): Use as_bad_where, not as_bad.
2604
2605 * subsegs.c (subseg_set_rest): Call memset with the arguments in
2606 the right order. Explicitly clear fix_root and fix_tail fields.
2607
df44a852
KR
2608Tue Feb 8 16:00:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2609
cfaf70e3
KR
2610 * config/obj-coff.c (coff_frob_symbol): For abs_symbol, set *punt
2611 and do nothing else.
2612
2613 * symbols.c (symbol_begin): Initialize value of abs_symbol
2614 properly.
2615
2616 * write.c (adjust_reloc_syms): Use abs_symbol instead of calling
2617 section_symbol.
2618
cafb569b
KR
2619 * ecoff.c (ecoff_build_debug): Fix "/*" in comment to silence
2620 complaint from "gcc -Wall".
2621
7496639a
KR
2622 * configure.in (alpha-*-netware*): New target, like alpha-*-osf*.
2623
8a74b870
KR
2624 * config/tc-alpha.c (GP_ADJUSTMENT): Move definition to start of
2625 file.
2626 (tc_gen_reloc): Remove uninitialized variable `code', and code
2627 that tried to use it (incorrectly). For LITERAL reloc, set addend
2628 to negative of GP value.
2629 (load_symbol_address): Don't adjust return value by GP_ADJUSTMENT.
2630
df44a852
KR
2631 * write.c (write_relocs): Print some sensible error message if
2632 bfd_perform_relocation returns bfd_reloc_overflow.
2633
2634Mon Feb 7 15:49:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2635
2636 * configure.in (hppa*-*elf*): New configuration for PA ELF.
2637 (hppa*-*-osf*): Default object format is SOM.
2638
c3591adb
KR
2639Mon Feb 7 16:07:35 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2640
2d33b3aa
KR
2641 * config/tc-alpha.c (md_atof): Warn that floating-point values
2642 might not assemble properly.
2643
c3591adb
KR
2644 * configure.in (target alpha-*-osf*): Don't set "dev=yes" any
2645 more.
2646
2647 * config/tc-alpha.c (load_expression): Parenthesize operations in
2648 range checking, to avoid precedence questions.
fc6b54fd 2649
c3591adb
KR
2650 * config/tc-alpha.c (addr32): New static variable.
2651 (md_parse_option): Set it for "-32addr".
2652 (load_symbol_address): If addr32 is set, use ldl instead of ldq.
2653
2654 * atof-generic.c (atof_generic): Calculate maximum_useful_digits
2655 and more_than_enough_bits_for_digits in integer arithmetic, to
2656 eliminate the only sources of dependence on floating point
2657 support, which doesn't work yet on the Alpha.
2658
2659Mon Feb 7 03:56:05 1994 Ken Raeburn (raeburn@cambridge.cygnus.com)
fc6b54fd
KR
2660
2661 * ecoff.c (ecoff_build_debug) [TC_ALPHA]: Specify version stamp as
2662 0x30b for Alpha for now, until ".verstamp" is handled.
2663
2664 * literal.c (add_to_literal_pool): Use seginfo->frchainP, which
2665 actually refers to the literal pool section, rather than
2666 frchain_now, which refers to whatever section the assembler was
2667 in.
2668
2669 * write.c (fixup_segment): Only do range checking if size of fixup
2670 is smaller than word size. Otherwise, we always wind up with
2671 zeros.
2672
5facbfd4
KR
2673 * config/tc-alpha.c (md_section_align): Change second argument and
2674 return type to valueT, to agree with tc.h.
2675 (alpha_do_align): Local static array nop_pattern is now unsigned
2676 char, to avoid overflow warnings.
2677 * config/tc-alpha.h (md_section_align): Delete declaration.
2678
2679 * config/obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for
2680 output bfd is non-null before indirecting through it.
2681
2682 * config/tc-alpha.c (alpha_frob_ecoff_data): Renamed from
2683 alpha_frob_file.
2684 * config/tc-alpha.h (tc_frob_file): Macro deleted.
2685 * config/obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call
2686 alpha_frob_ecoff_data, then fill in optional-header info with gp
2687 value and register masks.
2688
dc536cc0
JL
2689Sun Feb 6 16:13:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2690
f8693e71
JL
2691 * configure.in (hiux): Fixes from m-kasahr@sramhc.sra.co.JP.
2692
dc536cc0
JL
2693 * config/obj-som.c (obj_som_init_stab_section): Same change
2694 as coffbfd and elf below. Zero the initial stab symbol after
2695 allocating it.
2696
41b5ef0f
SS
2697Sat Feb 5 12:30:32 1994 Stan Shebs (shebs@andros.cygnus.com)
2698
2699 * config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the
2700 initial stab symbol after allocating it.
2701 * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
2702
fa4beb7e
JL
2703Sat Feb 5 11:53:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2704
2705 * config/tc-hppa.c (pa_ip): addb[tf] should only accept
2706 non-negated condition completers. Add support for addb pseudo-op
2707 which accepts both negated and non-negated completers.
2708
1c11ab0e
ILT
2709Sat Feb 5 00:15:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2710
2711 * configure.in (rs6000*): Use cpu_type ppc.
2712 (ppc-*-aix*): New target; use coff and force bfd_gas.
2713 * config/tc-ppc.h, config/tc-ppc.c: New files for PowerPC/POWER
2714 (RS/6000) support. At the moment, only XCOFF is supported.
2715
2716 * config/obj-coff.c (SA_SET_SYM_ENDNDX): Made non-static.
2717 (S_SET_DATA_TYPE): Likewise.
2718 (coff_last_function): Renamed from local static last_functionP in
2719 coff_frob_symbol and made externally visible.
2720 (coff_frob_symbol): New local static set_end; use it to try to
2721 avoid calling SA_SET_SYM_ENDNDX on a symbol that will be punted.
2722 * config/obj-coff.h (S_SET_DATA_TYPE): Declare.
2723 (SA_SET_SYM_ENDNDX): Declare.
2724 (coff_last_function): Declare.
2725
2726 * expr.c (operand): If DOLLAR_DOT is defined, accept `$' as
2727 equivalent to `.' to mean the current location.
2728
2729 * read.c (LEX_BR): If not defined, define as 0.
2730 (lex_type): Use LEX_BR as the type of `{',`}',`[',`]'.
2731
2732 * symbols.c (symbol_new): If tc_canonicalize_symbol_name is
2733 defined, call it with preserved_copy_of_name. If
2734 tc_symbol_new_hook is defined, call it on the new symbol.
2735 (symbol_find_base): If tc_canonicalize_symbol_name is defined,
2736 call it on a copy of the name argument.
2737
2738 * write.c (write_object_file): Simplified usage of obj_frob_symbol
2739 and tc_frob_symbol. Always call both if the symbol is going to be
2740 output.
2741
2742 * write.c (relax_segment): Use %ld rather than %d when printing
2743 fragP->fr_var, and cast it to long.
2744
2745 Changed relocs to be based on subsegments (when BFD_ASSEMBLER).
2746 * subsegs.h (struct frchain): If BFD_ASSEMBLER, added new fields
2747 fix_root and fix_tail.
2748 (segment_info_type): If BFD_ASSEMBLER, don't define fix_tail
2749 field.
2750 * write.c (fix_new_internal): If BFD_ASSEMBLER, set fix_rootP and
2751 fix_tailP based on frchain_now, not seg_info (now_seg).
2752 (chain_frchains_together_1): Chain the subsegment relocs together.
2753 * subsegs.c (subseg_change): Don't clear fix_tail field.
2754 (subseg_get): Likewise.
2755 * literal.c (add_to_literal_pool): Look through the relocs via
2756 frchain_now, not seginfo.
2757
f85ad9d5
ILT
2758Thu Feb 3 23:07:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2759
2760 * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Changed
2761 ecoff_undefined to ecoff_extern_size.
2762 * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Likewise.
2763 * config/tc-mips.c (s_extern): Set ecoff_extern_size to the
2764 external symbol size, rathern than setting the symbol value.
2765 (md_estimate_size_before_relax): Check both ecoff_extern_size and
2766 symbol value to see if GP referencing can be used.
2767 * ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not
2768 ecoff_undefined.
2769 (ecoff_frob_symbol): Don't check ecoff_undefined.
2770 (ecoff_build_symbols): Get size of an undefined symbol from
2771 sym->ecoff_extern_size, not S_GET_VALUE (sym).
2772
b4bd2c92
JL
2773Wed Feb 2 13:55:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2774
2775 * Makefile.in: Avoid bug in losing hpux sed.
2776
1051c97f
ILT
2777Wed Feb 2 11:40:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2778
2779 * config/tc-mips.c (file_mips_isa): New static variable.
2780 (md_begin): Set it.
2781 (s_mipsset): Add support for .set mipN to set the ISA level.
2782
2783 * gasp.c (kinfo): Fully bracket initializer.
2784
f2cdeec4
KR
2785Tue Feb 1 19:28:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2786
2787 * gasp.c (malloc): Don't declare, since host.h or system header
2788 files may declare it differently.
2789
2790 * config/atof-ieee.c (int_to_gen): Now static.
2791
2792 * config/ho-i386aix.h: Include sys/types.h and stdlib.h, not
2793 ho-sysv.h. Based loosely on a patch from Minh Tran-Le.
2794
e2847e64
SC
2795Tue Feb 1 10:50:17 1994 Steve Chamberlain (sac@jonny.cygnus.com)
2796
2797 * gasp.c: Include host.h.
2798
9cbf9e57
ILT
2799Tue Feb 1 12:13:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2800
8bbad6fd
ILT
2801 * config/tc-mips.c (mips_ip): Make an unsupported instruction a
2802 warning, not an error.
2803
9cbf9e57
ILT
2804 * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
2805 dot_bss_symbol): Don't define if BFD_ASSEMBLER.
2806 (obj_symbol_to_chars): bfd_coff_swap_aux_out now takes more
2807 arguments.
2808 (coff_line_base): Renamed from line_base. Changed all uses.
2809 (coff_add_linesym): Renamed from add_line_sym. Made non-static.
2810 Changed all uses.
2811 * config/obj-coff.h: If TC_PPC, include coff/rs6000.h.
2812 (S_SET_STORAGE_CLASS, S_GET_STORAGE_CLASS): Declare if
2813 BFD_ASSEMBLER.
2814 (coff_line_base): Declare.
2815 (coff_add_linesym): Declare if BFD_ASSEMBLER.
2816 * config/obj-coffbfd.c (symbol_to_chars): bfd_coff_swap_aux_out
2817 now takes more arguments.
2818
2abb453d
SS
2819Mon Jan 31 17:55:14 1994 Stan Shebs (shebs@andros.cygnus.com)
2820
2821 * as.c (statistics_flag): Renamed from quiet_flag.
2822 (main): Get statistics with --statistics instead of -noquiet.
2823
a5a4b5ac
SC
2824Mon Jan 31 07:19:30 1994 Steve Chamberlain (sac@jonny.cygnus.com)
2825
2826 * Makefile.in: Support for Gnu ASsembler Preprocessor.
2827 * gasp.c: New file.
2828 * read.c (s_lcomm): Align lcomm data.
2829 * config/tc-z8k.c (tc_reloc_mangle): Don't allow subtraction
2830 from different sections.
2831
7909261f
KR
2832Sun Jan 30 14:58:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2833
2834 * write.c (write_object_file): If tc_frob_file is defined, call it
2835 just before calling obj_frob_file.
2836 * config/tc-alpha.c (alpha_gp_value): Renamed from gp_value
2837 (references changed), and made non-static.
2838 (getExpression): Return void.
2839 (select_gp_value): Abort if gp_value is non-zero. Delete call to
2840 non-existent bfd_set_gp_value.
2841 (alpha_validate_fix): Function deleted.
2842 (alpha_frob_symbol): Function deleted.
2843 (alpha_local_label): Function deleted.
2844 (alpha_frob_file): Renamed from alpha_end.
2845 * config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix,
2846 alpha_local_label, alpha_end): Declarations deleted.
2847 (alpha_gp_value, alpha_frob_file): Declare.
2848 (tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted.
2849 (LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label.
2850 (md_convert_frag): Simplified slightly.
2851 (tc_frob_file): New macro.
2852
2853 * read.c (do_align): New function, most of guts of s_align_*
2854 functions. Look for md_do_align macro, give it a chance to bypass
2855 all but recording of section alignment.
2856 (s_align_bytes, s_align_ptwo): Call do_align.
2857 (s_lcomm) [TC_ALPHA]: Align object to largest power of two that
2858 divides object size.
2859
2860 * frags.c (frag_align_pattern): New function.
2861 (frag_align): Rewrite for clarity.
2862
2863 * config/tc-vax.c (md_assemble): Handle O_constant expression.
2864 (vip_begin): Returns pointer to const char. Cast hash_insert arg
2865 to PTR to avoid compiler complaints about const.
2866 (md_begin): Local variable errtxt must point to const.
2867
2868 * configure.in: Handle host vax-*-ultrix* like vax-*-bsd*. Don't
2869 bother with *-*-ultrix or *-*-sysv*, except *-*-sysv, since only
2870 the last has an existing host support file. Do handle vax-bsd and
2871 vax-ultrix targets.
2872
1f029792
ILT
2873Fri Jan 28 11:26:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2874
2875 * config/obj-coff.c (obj_coff_section_header_append): Do not
2876 declare if BFD_ASSEMBLER.
2877 (stack_pop): Correct test for stack underflow.
2878 (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
2879 obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Declare
2880 type of ignored argument to avoid gcc warning.
2881 (align): Removed unused function.
2882
6221fe20
KR
2883Thu Jan 27 18:14:19 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2884
81f6013a
KR
2885 * config/tc-alpha.c, config/tc-alpha.h, config/alpha-opcode.h: New
2886 files, based on port of gas-1.38 contributed by CMU, using a.out
2887 variant. Updated for gas-2.x and ECOFF. Floating-point constants
2888 are still broken, bootstrap testing incomplete.
2889
2890 * literal.c: Comment changes.
2891
2892 * listing.c (listing_source_file): Check for null listing_tail
2893 before indirecting through it.
2894
2895 * expr.h (struct expressionS): Added struct tag.
2896
2897 * as.h: If __GNUC__ and inline are both undefined, define inline
2898 away.
2899
2900 * write.c (cvt_frag_to_fill): Don't assume that fr_var for
2901 rs_align or rs_org frags will be 1.
2902 (relax_segment): For rs_align, if fr_var is not 1, complain if
2903 required padding is not a multiple of the size of the pad pattern.
2904 (fixup_segment): Leave gp-relative relocations alone. For pcrel
2905 relocations referring to the same segment, clear fx_pcrel when
2906 clearing fx_addsy.
2907 * as.h: Adjust comments on rs_align.
2908
6221fe20
KR
2909 * atof-generic.c: Some reformatting.
2910 (atof_generic): Be careful when mixing signed/unsigned values of
2911 different sizes.
2912
81f6013a
KR
2913 * write.c, config/obj-{aout,bout,coff*}.c, config/tc-sparc.c:
2914 Query the fx_done field instead of fx_addsy to see if the fixup
2915 still needs to be applied. Set fx_done and clear fx_addsy both,
2916 for now. If TC_HANDLES_FX_DONE isn't defined, assume md_apply_fix
2917 will only clear fx_addsy, and set fx_done accordingly after
2918 returning.
2919 * config/tc-sparc.h (TC_HANDLES_FX_DONE): Define.
2920 * config/tc-sparc.c (md_apply_fix): Set fx_done for non-pcrel fix
2921 with no fx_addsy.
2922
2923 * symbols.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
2924 Deleted.
2925 (symbol_begin): Moved to end of file, so function inlining can
2926 work better.
2927 (fb_label_count, fb_label_max): Default C static initializers are
2928 sufficient.
2929 * symbols.h (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
2930 Declarations deleted.
2931 * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
2932 dot_bss_symbol): Defined here, static.
2933
2934 * config/obj-aout.c [BFD_ASSEMBLER]: Undef NO_RELOC before
2935 including aout/aout64.h.
2936
2937 * write.c (write_object_file): If EMIT_SECTION_SYMBOLS is false,
2938 don't write out a section symbol even if it's used in a
2939 relocation; assume relocations will handle section numbers
2940 somehow. Rename "punt_it" label to "punt_it_if_unused" to reflect
2941 it's true use.
2942 (EMIT_SECTION_SYMBOLS): Default to 1.
2943 (adjust_reloc_syms): Don't create a new symbol for an absolute
2944 reference; just use the absolute section symbol.
2945 (write_relocs): Make printout of reloc values dependent on flag
2946 DEBUG3, not DEBUG2.
2947 * config/obj-aout.h (EMIT_SECTION_SYMBOLS): Define as 0.
2948 * config/obj-ecoff.h (EMIT_SECTION_SYMBOLS): Ditto.
2949
a57180ad
ILT
2950Thu Jan 27 16:43:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2951
ec7a69ea
ILT
2952 * read.c (lex_type): No longer make '{' a valid character for
2953 symbol names.
2954
fe920573
ILT
2955 * as.c (main): Print long values using %ld.
2956
a57180ad
ILT
2957 * messages.c (as_warn_internal): New static function.
2958 (as_warn, 3 versions): Use as_warn_internal.
2959 (as_warn_where, 3 versions): New function.
2960 * as.h (as_warn_where): Declare.
2961
ca7bd557
SS
2962Tue Jan 25 18:30:34 1994 Stan Shebs (shebs@andros.cygnus.com)
2963
2964 * as.c (quiet_flag): New flag.
2965 (main): If -noquiet given, display execution time and memory used.
2966
9dcf8057
JL
2967Tue Jan 25 15:53:11 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2968
2969 * doc/{all.texi,as.texinfo}: Add documentation for HPPA port.
2970
f71babce
ILT
2971Mon Jan 24 19:18:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2972
2973 * ecoff.c (ecoff_frob_symbol): New function. Put undefined
2974 symbols of known size in the undefined section. Put small common
2975 symbols in a .scommon section.
2976 * ecoff.h (ecoff_frob_symbol): Declare.
2977 * config/obj-ecoff.h (obj_frob_symbol): Define.
2978 * config/obj-elf.c (obj_elf_write_symbol_p, obj_elf_write_symbol,
2979 obj_elf_frob_symbol): Removed unused functions.
2980 * config/obj-elf.h (obj_frob_symbol, obj_write_symbol): Removed
2981 unused macros.
2982 (obj_elf_frob_symbol, obj_elf_write_symbol): Removed declarations
2983 of unused functions.
2984 (obj_frob_symbol): Define if ECOFF_DEBUGGING.
2985
2986 * tc-mips.c (g_switch_seen): New static variable.
2987 (md_parse_option): Set g_switch_seen for -G option.
2988 (s_option): If creating PIC code, force the GP size to be 0. Warn
2989 if -G switch used with a non-zero value.
2990
2991 * symbols.c (S_IS_COMMON): Use bfd_is_com_section rather than
2992 comparing against bfd_com_section.
2993
2ef7731d
KR
2994Mon Jan 24 14:12:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2995
2996 * read.c (s_lcomm): Treat Alpha like MIPS in handling of .sbss
2997 section.
2998
7691379e
KR
2999Thu Jan 20 13:17:58 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3000
3001 * expr.c (operand): For floating point operand with unusual fp
3002 char from FLT_CHARS, preserve the character. Patch from Lisa
3003 Repka.
3004
eb8fd0e9
ILT
3005Wed Jan 19 23:15:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3006
3007 * config/tc-mips.c (md_pseudo_table): Add all data allocation
3008 pseudo-ops: .hword, .int, .long, .octa, .quad, .short, .single.
3009
d9420fc1
SC
3010Tue Jan 18 15:51:59 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3011
3012 * config/obj-coffbfd.c (obj_coff_endef): For C_EFCN, C_BLOCK and
3013 C_FCN assume .val has been set to .
3014
2f156c92
JL
3015Tue Jan 18 16:19:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3016
3017 * config/tc-hppa.c: Disable multiple $CODE$ subspace code. It
3018 confuses GDB for some unknown reason.
3019 * cofnig/obj-som.c: Likewise.
3020
19302e44
KR
3021Tue Jan 18 19:05:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3022
3023 * literal.c (add_to_literal_pool): Handle duplicates of values
3024 already written to literal pool.
3025
4bda835f
ILT
3026Tue Jan 18 17:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3027
3028 * config/obj-aout.c (obj_aout_frob_symbol): Try to get symbols
3029 with explicitly marked stabs through BFD: if a symbol marked
3030 N_UNDF | N_EXT is in the absolute section, move it to the
3031 undefined section; move a symbol marked N_INDR into
13655af6
ILT
3032 bfd_ind_section and set the BSF_INDIRECT flag; set the
3033 BSF_WARNING flag for a symbol makred N_WARNING.
4bda835f 3034
17ed84ed
ILT
3035Mon Jan 17 15:40:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3036
3037 * ecoff.h (ecoff_set_gp_prolog_size): Declare.
3038 * ecoff.c (ecoff_set_gp_prolog_size): Return type is void.
3039
d0286a21
JL
3040Mon Jan 17 00:18:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3041
51517966
JL
3042 * config/tc-hppa.c (pa_ip): Explicitly check for comma before 'u'
3043 and 'f' template operand.
3044
d0286a21
JL
3045 * config/tc-hppa.c (pa_ip): Handle 'N', 'O', 'o', '0', '1', 'u',
3046 and '2' in copr and sfu instruction templates.
3047
e7501ac7
JL
3048Sun Jan 16 16:44:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3049
3050 * as.h (subseg_force_new): Add prototype.
3051
d2550c72
DE
3052Sat Jan 15 09:20:55 1994 Doug Evans (dje@canuck.cygnus.com)
3053
d307fed1
DE
3054 * app.c (do_scrub_next_char): Allow lines like " foolab :".
3055
d2550c72
DE
3056 * read.c (emit_expr): Fix computation of mask.
3057 * config/obj-elf.c (obj_elf_section): Fix loop termination test.
3058
d211303d
KR
3059Thu Jan 13 16:15:15 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3060
64270963
KR
3061 * ecoff.c (ecoff_set_gp_prolog_size): New function.
3062 (current_file_idx): New static variable.
3063 (add_file): Use and increment current_file_idx instead of indx
3064 parameter.
3065
ff4325cb
KR
3066 * struc-symbol.h (struct symbol): Make all bitfields unsigned.
3067
d211303d
KR
3068 * config/tc-i960.c (i960_validate_fix): Added argument
3069 add_symbolPP. Indirect through it to get "add_symbolP".
3070 * config/tc-i960.h (i960_validate_fix): Supply prototype.
3071 (TC_VALIDATE_FIX): Pass address of add_symbolP.
3072
3073 * configure.in (i386-*-netbsd*): New target, using te-netbsd.h.
3074 (i386-*-netbsd0.8): New target, like 386bsd.
3075
3076 * configure.in: Set BFDDEF in Makefile to "define" or "undef".
3077 * Makefile.in (config.h): Protect against multiple inclusions.
3078 Define or undef BFD_ASSEMBLER as specified by $(BFDDEF).
3079 (ALL_CFLAGS): Omit $(BFDDEF).
3080 * as.h: Include config.h.
3081 (struct symbol): Added forward declaration.
3082 (add_to_literal_pool): Fix declaration.
64270963 3083 * as.c: Don't include config.h.
d211303d
KR
3084
3085 * literal.c (add_to_literal_pool): Take symbol and addend as
3086 arguments, instead of expression, for now. Fix calculation of
3087 offset to return.
3088
3089 * subsegs.h (segment_info_type) [NEED_LITERAL_POOL]: Add field
3090 literal_pool_size.
3091
500828a0
JL
3092Thu Jan 13 12:14:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu
3093
3094 * subsegs.c (subseg_get): Accept new argument "force_new". If
3095 set then a new segment is always created. All callers changed.
3096 (subseg_force_new): New function. Similar to subseg_new, but
3097 always force a new segment to be created.
3098
3099 * config/obj-som.c (som_frob_file): Call adjust_code_sections
3100 for each section.
3101 (adjust_code_sections): New function. Adjusts the VMA for all the
3102 $CODE$ subspaces.
3103
3104 * config/tc-hppa.c (md_assemble): Also handle creating a fixup
3105 for the unwind descriptors if a function's label follows the
3106 .PROC and .ENTRY directives.
3107 (pa_entry): Don't set BSF_FUNCTION for the label symbol here; it
3108 is done elsewhere. Don't create a fixup for the unwind
3109 descriptors if the function's label has not been defined yet.
3110 (pa_proc): For SOM, place each procedure within a new $CODE$
3111 subspace. Adjust the segment and frag for the associated
3112 function label if it exists.
3113
3114Wed Jan 12 22:05:33 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3115
3116 * config/tc-hppa.c (hppa_fix_struct): Add new "segment" field.
3117 (hppa_fix_new): Initialize segment field.
3118 (md_apply_fix): Do nothing for pc-relative fixup which involves
3119 crossing a segment boundary.
3120 (pa_procend): Undefine the current label after handling .PROC
3121 and .PROCEND directives.
3122 (dummy_symbol): Make type "symbolS *". Change references as
3123 appropriate.
3124
bbf7e43d
ILT
3125Wed Jan 12 13:29:31 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3126
3127 * read.c (read_a_source_file): Cast array argument to unsigned
3128 char.
3129 * write.c (adjust_reloc_syms): Remove unused variable symseginfo.
3130 (write_object_file): Don't define punt_it if it won't be used.
3131 (fixup_segment): Don't define skip if it won't be used.
3132
3133 * config/tc-mips.h (TARGET_FORMAT): Define as mips_target_format.
3134 (mips_target_format): Declare.
3135 * config/tc-mips.c (mips_target_format): Define with appropriate
3136 default definition.
3137 (md_parse_option): If -EL or -EB is used, change byte_order and
3138 mips_target_format as appropriate.
3139
a1c91916
JL
3140Tue Jan 11 21:52:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3141
3142 * app.c (do_scrub_next_char): Another attempt to fix bugs
3143 dealing with labels without colons (for HPPA and MRI).
3144
44ce2f32
DE
3145Tue Jan 11 17:01:06 1994 Doug Evans (dje@canuck.cygnus.com)
3146
fd4b7c25
KR
3147 * config/tc-sparc.c (sparc_ip): Truncate args to %hi/%lo to 32 bits.
3148
44ce2f32
DE
3149 * expr.c (integer_constant): Fix computation of too_many_digits.
3150 Variable digit_2 renamed to start. Fix check for whether number
3151 will fit in 32 bits.
3152 * read.c (emit_expr): Use valueT instead of long.
3153
af255ca0
ILT
3154Tue Jan 11 13:01:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3155
f34e27a1
ILT
3156 * config/obj-elf.c: If TC_MIPS, include elf/mips.h.
3157 (special_sections): Define.
3158 (obj_elf_special_section): Get default types and attributes from
3159 list of special sections.
3160 * config/tc-mips.c (ELF_TC_SPECIAL_SECTIONS): Define.
3161
4e76ae53
ILT
3162 * config/obj-ecoff.c (ecoff_frob_file): Force .sdata and .sbss
3163 sections to be close together.
3164
8197b589
ILT
3165 * config/tc-mips.c (macro): Corrected $at warnings in a couple of
3166 spots.
3167
af255ca0
ILT
3168 * listing.c (listing_prev_line): New function.
3169 * listing.c: Include subsegs.h.
3170 (listing_prev_line): New function.
3171 (calc_hex): Reset byte_in_frag to zero for each new frag.
3172 * config/tc-mips.c (append_insn): Call listing_prev_line after
3173 emitting nop instructions.
3174 * Makefile.in (listing.o): Depends upon subsegs.h.
3175
4047ff1d
JL
3176Mon Jan 10 09:52:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3177
3178 * config/tc-hppa.c (pa_ip): Put check for missing label on .PROC
3179 here. Handle case where label may be defined after the .PROC.
3180 (pa_proc): It is not an error if the procedure's label isn't
3181 defined before the .PROC directive.
3182
6f1c6a67
KR
3183Sun Jan 9 04:43:30 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
3184
3185 * config/te-netbsd.h: New file.
3186 * config/tc-i386.h (TARGET_FORMAT) [TE_NetBSD]: Use bfd target
3187 a.out-netbsd-386 for this configuration.
3188
fe4e3290
ILT
3189Fri Jan 7 17:38:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3190
3191 * ecoff.c (ecoff_stab): Don't clobber the ECOFF symbol information
af255ca0 3192 with the associated stabs information.
fe4e3290
ILT
3193 (ecoff_build_symbols): Never set the type of stabs symbols to
3194 st_Global. Don't update the symbol index or ifd if the gas symbol
3195 is not the same as the ECOFF symbol (which is now the case for
3196 stabs symbols).
3197
917fae09
SS
3198Fri Jan 7 11:14:07 1994 Stan Shebs (shebs@andros.cygnus.com)
3199
3200 * config/tc-mips.c (macro): Add a LOSING_COMPILER ifdef that
3201 splits the function.
3202 (macro2): New function, if LOSING_COMPILER defined.
3203
03a372ed
SC
3204Fri Jan 7 09:38:25 1994 Steve Chamberlain (sac@cygnus.com)
3205
3206 * config/obj-coffbfd.c (fill_section): Don't ever fill past the
3207 end of a section. (write_object_file): Temporary fix - setup
3208 stdoutput.
3209
fd0e2cf2
KR
3210Thu Jan 6 18:05:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3211
3212 * config/tc-sparc.c (tc_gen_reloc): Fix handling of addends in
3213 non-pcrel_offset relocations.
3214
13fe1379
ILT
3215Thu Jan 6 01:06:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3216
3217 * config/tc-mips.c (mips_ip): Warn about using $1 as well as $at
3218 without .set noat.
3219
311ff8d6
KR
3220Wed Jan 5 14:22:22 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3221
2d29d89d 3222 * literal.c: New file.
d4aad2b4
KR
3223 * Makefile.in (REAL_SOURCES, OBJS): List it.
3224
3225 * as.h (DEBUG): Don't define.
3226 (struct expressionS, struct fix): Declare in case they're used in
3227 prototypes.
3228 (add_to_literal_pool) [BFD_ASSEMBLER]: Declare.
2d29d89d 3229
311ff8d6
KR
3230 * config/tc-mips.h (TARGET_FORMAT) [OBJ_AOUT]: Fix for new names
3231 in bfd.
3232
3233 * subsegs.c (subseg_get): New function. Creates segment if
3234 needed, returns pointer, but doesn't change current segment.
3235 (subseg_new): Use it.
3236
5a051773
SS
3237Tue Jan 4 15:12:43 1994 Stan Shebs (shebs@andros.cygnus.com)
3238
3239 * Makefile.in (INCLUDES): Add $(srcdir)/.. to places to search.
3240 * config/obj-ecoff.c: Include files as "bfd/" instead of "../bfd/".
3241 * app.c, flonum.h, hex-value.c (const): Change #if to be more
3242 portable.
3243
fce98d63
RS
3244Tue Jan 4 22:11:34 1994 Rob Savoye (rob@darkstar.cygnus.com)
3245
3246 * config/ho-vsta.h, configure.in, .Sanitize: Add support for VSTa
3247 micro-kernel.
3248
5a051773
SS
3249Thu Dec 30 15:27:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3250
3251 * write.c (write_relocs): bfd_perform_relocation now takes an
3252 additional argument, to return an error string (which we ignore).
3253
9314b3a1
KR
3254Wed Dec 29 14:37:26 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
3255
3256 * write.h (struct fix): Field tc_fix_data should be type PTR, not
3257 void*, for compatibility with non-ANSI compilers. Added
3258 single-bit field "fx_done".
3259
45db9caf
TG
3260Sun Dec 26 14:31:47 1993 Torbjorn Granlund (tege@adder.cygnus.com)
3261
3262 * tc-hppa.c (pre_defined_registers): Convert to lower case.
3263 Delete spurious register names "%r4L", etc.
3264 (selector_table): Sort and convert to lower case.
3265 (cons_fix_new_hppa): `reloc_type' => `rel_type'.
3266 (pa_ip): Always use strcmp for non-text and strcasecmp for text.
3267 (reg_name_search): Rewrite to call strcasecmp only once per
3268 iteration.
3269 (pa_chk_field_selector): Rewrite to use binary search.
3270 (pa_parse_neg_add_cmpltr): Use strcasecmp for completer comparisons.
3271 (pa_parse_space_stmt): $TEXT$ and $PRIVATE$ are symbols; use case
3272 sensitive comparisons.
3273 (pa_parse_space_stmt): Canonicalize strncasecmp arg to lower case.
3274 (pa_space): "$text$" => "$TEXT$"; "$private$" => "$PRIVATE$". Use
3275 case sensitive comparison for all symbolic names.
3276 (pa_subspace): Canonicalize strncasecmp arg to lower case.
3277 (pa_subspace_start): Use case sensitive comparison for symbolic names.
3278
8b13fa4e
KR
3279Mon Dec 20 10:37:48 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
3280
0a75cb6c
KR
3281 * write.c (adjust_reloc_syms) [RELOC_REQUIRES_SYMBOL]: If no
3282 symbol is present (i.e., relocation against absolute), create a
3283 phony local symbol, and use it in the reloc.
3284 (fixup_segment): When adjusting a reloc with an absolute symbol,
3285 have TC_FORCE_RELOCATION control clearing add_symbolP too.
3286 * config/tc-sparc.h (RELOC_REQUIRES_SYMBOL): Define, for OBJ_COFF.
3287
3288 * symbols.c (S_IS_EXTERNAL, S_IS_LOCAL): Don't use both BSF_EXPORT
3289 and BSF_GLOBAL, since they're the same.
3290
d3e3010b
KR
3291 * as.c (main): Only invoke md_end if it's defined as a macro.
3292 * tc.h (md_end): Don't declare it.
3293 * config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do
3294 anything.
3295 * config/tc-vax.c (vip_end): Deleted null function.
3296 * config/tc-mips.c (md_mips_end): Renamed from md_end.
3297 * config/tc-mips.h (md_mips_end): Declare.
3298 (md_end): New macro, calls md_mips_end.
3299
3300 * write.c (write_object_file): Don't close output file.
3301 * as.c (main): Close output file (if needed) after calling
3302 listing_print, which should be after calling write_object_file,
3303 which sets the frag addresses.
3304
3305 * config/obj-coff.c (obj_coff_dim, obj_coff_endef, obj_coff_line,
3306 obj_coff_scl, obj_coff_size, obj_coff_tag, obj_coff_type,
3307 obj_coff_val): Add unused int argument to satisfy prototypes; goes
3308 with Ian's 10 Sep changes.
3309 (S_GET_DATA_TYPE, S_SET_DATA_TYPE, S_GET_STORAGE_CLASS,
3310 S_SET_STORAGE_CLASS): Now function instead of macros.
3311 (obj_emit_lineno) [BFD_ASSEMBLER]: Deleted.
3312 (tag_insert): Local var ERROR_STRING is const. Use "const" not
3313 "CONST" for argument NAME. Fixed prototype.
3314 (coff_frob_symbol): Removed explicit "#if 1" directive. If
3315 S_IS_EXTERNAL, set storage class to C_EXT.
3316 (s_get_name): Use "const" not "CONST".
3317 * config/obj-coff.h (S_GET_DATA_TYPE, S_SET_DATA_TYPE,
3318 S_GET_STORAGE_CLASS, S_SET_STORAGE_CLASS): Deleted.
3319 (obj_emit_lineno): Declare only for non-BFD_ASSEMBLER. For
3320 BFD_ASSEMBLER, define as macro that aborts.
3321 (obj_extra_stuff, tc_headers_hook): Declare only for
3322 non-BFD_ASSEMBLER.
3323 (coff_frob_symbol): Fix prototype.
8b13fa4e
KR
3324
3325Sun Dec 19 00:37:20 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3326
3327 * config/tc-sparc.c (tc_gen_reloc): Test of pcrel_offset had sense
3328 reversed.
3329
5ea18b5d
JL
3330Thu Dec 16 21:13:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3331
3332 * config/tc-hppa.c (md_begin): Initialize "dummy_label".
3333 (tc_gen_reloc, SOM version): For relocations which have no symbol,
3334 set sym_ptr_ptr to dummy_label. Avoids lossage in generic BFD code.
3335
a8a72d74
KR
3336Thu Dec 16 16:07:56 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
3337
3338 * read.c (lex_type): No longer make '[' a valid character for
3339 symbol names.
3340
50f75add
KR
3341 * config/tc-vax.c (tc_aout_fix_to_chars): Local variable
3342 NBYTES_R_LENGTH now const.
3343
3344 * config/obj-*.c, config/tc-*.c: Omit superfluous "return"
3345 statements at ends of functions. Don't check for null return from
3346 hash_new, since it won't return at all if there's no memory
3347 available. Also, check for null return from hash_insert, rather
3348 than zero-length string, as success indicator.
3349
3350 * subsegs.c (section_symbol): New function.
3351 * subsegs.h (section_symbol): Declare.
3352 * write.c (adjust_reloc_syms): Use it.
3353
cf4aca57
KR
3354Wed Dec 15 15:39:53 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
3355
7387c355
KR
3356 * Makefile.in (RUNTEST): New variable.
3357 (CHECKFLAGS): Pass it down.
3358
cf4aca57
KR
3359 * ecoff.c (ecoff_directive_frame): Permit extra trailing operands;
3360 unused for now, but supplied by Alpha OSF1 compiler.
3361
3362 * as.h: Protect against multiple inclusions.
3363 (int_to_gen): Don't declare.
3364
3365 * config/atof-vax.c (atof_vax): NULL is not a valid character
3366 constant.
3367
551d2fd4
JL
3368Tue Dec 14 21:38:25 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3369
26da0351
JL
3370 * configure.in (hppa*-*-osf*): Do not consider this a developmental
3371 configuration.
3372
551d2fd4
JL
3373 * config/tc-hppa.c (md_apply_fix): Handle cases where no
3374 relocation will be emitted for 32bit formats.
3375
9d5a9b20
JL
3376Mon Dec 13 23:33:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3377
3378 * config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust
3379 for any of the 'T' field selectors.
3380
2b5936ff
SC
3381Sat Dec 11 11:23:12 1993 Steve Chamberlain (sac@thepub.cygnus.com)
3382
3383 * config/tc-h8500.c (build_bytes): Get reloc type right for a
3384 %page operation. (md_assemble): Don't modify input_line_pointer.
3385 (mdcoff_sizemachdep): New function.
3386 * config/tc-h8500.h (TC_COFF_SIZEMACHDEP): New macro.
3387 * config/tc-z8k.c (get_operand): Delete bogus check.
3388
a1328e79
KR
3389Wed Dec 8 16:31:51 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
3390
3391 * write.c (number_to_chars_*): Delete bogus range check.
3392
3393 * output-file.c (TARGET_ARCH): No default.
3394
ef7ce769
SC
3395Tue Dec 7 16:02:53 1993 Steve Chamberlain (sac@jonny.cygnus.com)
3396
3397 * config/tc-sh.c (md_convert_frag): Truncate disps before calling
3398 md_number_to_chars. (md_assemble): Don't modify
3399 input_line_pointer.
3400
67707031
DE
3401Mon Dec 6 11:49:03 1993 Doug Evans (dje@canuck.cygnus.com)
3402
3403 * config/tc-h8300.c (md_assemble): Don't update input_line_pointer.
3404
dd2f509f
JL
3405Mon Dec 6 11:20:02 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3406
3407 * config/obj-som.[ch] (obj_read_begin_hook): Remove last change.
3408 Breaks with the HP compilers.
3409
3410 * config/tc-hppa.c (struct call_info): Remove fields which were
3411 set but never used. Remove all code which sets those fields.
3412 (struct subspace_dictionary_chain): Likewise.
3413 (struct space_dictionary_chain): Likewise.
3414 (pa_desc): Delete useless function. Delete all references.
3415 (hppa_tc_make_sections): No need to count the number of symbols for
3416 the symbol extension section.
3417
7b624bf2
JL
3418Sun Dec 5 17:05:29 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3419
eb91665b
JL
3420 * config/obj-som.c (obj_som_version): Pass version string to
3421 SOM BFD backend.
3422 (obj_som_copyright): New function. Much like obj_som_version.
3423
3424 * config/tc-hppa.c (obj_copyright): Define as appropriate for
3425 SOM and ELF.
3426 (pa_copyright): Just a stub now.
3427
42ecb409
JL
3428 * config/obj-som.c (obj_read_begin_hook): Delete unused function.
3429 * config/obj-som.h (obj_read_begin_hook): Provide dummy definition.
3430 (TARGET_SYMBOL_FIELDS): Delete. SOM isn't making use of them.
3431
4165dcc2
JL
3432 * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation
3433 expansion due to rounding mode selectors. Handle R_[RDSN]_MODE
3434 relocations for selecting the current rounding mode.
3435
7b624bf2
JL
3436 * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
3437 e_rlsel field selectors.
3438
3439Fri Dec 3 18:33:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3440
3441 * config/obj-elf.h: If ECOFF_DEBUGGING, undef
3442 SEPARATE_STAB_SECTIONS and INIT_STAB_SECTION, and define
3443 OBJ_PROCESS_STAB to call ecoff_stab.
3444 * config/obj-elf.c: Don't compile obj_elf_init_stab_section if
3445 INIT_STAB_SECTION is not defined.
3446
753dcbbd
JL
3447Fri Dec 3 10:56:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3448
3449 * config/tc-hppa.c (md_apply_fix): Delete old wrapper function.
3450 (md_apply_fix_1): Rename to md_apply_fix. Fix argument decls.
3451 Fix comments in various places. Always return a value.
3452 Avoid dereferencing a NULL fx_addsy.
3453 (hppa_force_relocation): Avoid dereferencing a NULL fx_addsy.
3454
585635c7
JL
3455 Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
3456
3457 * tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should
3458 be either 0 or 2 (no static link or static link required). Always
3459 assume no static link.
3460
bfbfba45
KR
3461Thu Dec 2 11:52:21 1993 Ken Raeburn (raeburn@cygnus.com)
3462
3463 * config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be
3464 dependent on howto fields, not on format flavour.
3465
3466 * struc-symbol.h (struct symbol): New fields sy_obj and sy_tc,
3467 defined as types OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those
3468 macros are defined.
3469 * config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define.
3470 (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define.
3471 (sy_tc, sy_obj): Define so that the fields look like they used to,
3472 until all references get changed.
3473
3474 * write.c (fixup_segment): Lots of variables no longer register.
3475 Reordered some code for easier reading.
3476 * config/obj-coff.c (obj_coff_dim): dim_index no longer register.
3477 Deleted superfluous return statement.
3478 (obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type,
3479 obj_coff_val, tag_init, tag_insert): Deleted superfluous return
3480 statement.
3481 (align, obj_coff_section): Deleted debugging printfs.
3482 * config/tc-i386.c (md_assemble): Discard some register decls.
3483 Use assignment rather than memcpy to copy template.
3484 (op_hash, reg_hash, prefix_hash): Default C initialization of
3485 statics is sufficient.
3486 * config/tc-sparc.c (print_insn): Array Reloc is now const, and
3487 points to const.
3488
3489 * config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if
3490 TE_LYNX; use coff-sparc otherwise.
3491 [USE_NATIVE_HEADERS]: Delete this code; it isn't used.
3492
3493 * write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined,
3494 before processing a fixup. Call TC_ADJUST_RELOC_COUNT just before
3495 returning. Remove some i960-coff-specific code.
3496 (TC_ADJUST_RELOC_COUNT): Default to doing nothing.
3497 * config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define.
3498 (i960_validate_fix): Declare.
3499 (TC_VALIDATE_FIX): Define.
3500 * config/tc-i960.c (i960_validate_fix): New function.
3501
3502 * write.c (number_to_chars_littleendian): New function. Write out
3503 bytes in little endian order, doing size and range checking.
3504 (number_to_chars_bigendian): New function, similar.
3505 * write.h: Declare them.
3506 * config/tc-*.c (md_number_to_chars): Use them.
3507 * config/tc-vax.c (md_apply_fix): Ditto.
3508 * config/tc-i386.c (md_apply_fix): Ditto.
3509
3510 * config/obj-coff.c: Rearranged code for handling line number
3511 data.
3512 (line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case,
3513 since the usage is different from non-BFD_ASSEMBLER case.
3514 (in_function, clear_function, set_function): New macros, to
3515 combine some of the functionality implemented in differnet ways in
3516 BFD_ASSEMBLER and non-... code. Used in other functions that used
3517 to check function_lineoff &c.
3518 (obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER,
3519 one for not. Non-BFD_ASSEMBLER version now has temporary variable
3520 to contain char* pointer pointed to by char** argument. Always
3521 follow CROSS_COMPILE code; easier to read that way.
3522 (obj_coff_ln): Don't call add_lineno or c_line_new if appline is
3523 set.
3524 (obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for
3525 ".bf", it's been done elsewhere.
3526 (coff_frob_symbol): If ilne number data is pending, call
3527 add_linesym to flush it.
3528 (coff_frob_file): Don't do that here.
3529 * config/obj-coff.h (coff_frob_file): Declare.
3530 (obj_frob_file): Define, to call it.
3531
3532 * config/tc-sparc.h (md_create_short_jump, md_create_long_jump,
3533 md_estimate_size_before_relax: Define them as macros calling
3534 as_fatal.
3535 * config/tc-sparc.c: Don't define them as functions.
3536
3537 * configure.in: Handle target alpha-*-osf*. (No cpu files yet.)
3538
0a8ae18f
JL
3539Wed Dec 1 23:37:14 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3540
3541 * Makefile (clean): Depend on clean-here.
3542
9a048e48
KR
3543Wed Dec 1 11:35:21 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
3544
3545 * config/ho-go32.h: Include fopen-bin.h.
3546 * as.h: If FOPEN_WB isn't defined, include fopen-same.h.
3547 * output-file.c (output_file_create): Use FOPEN_WB instead of "w".
3548 * input-file.c (input_file_open): Use FOPEN_RT instead of "r".
3549 * listing.c (file_info): Use FOPEN_RB instead of "rb".
3550 * read.c (s_include): Use FOPEN_RT instead of "r".
3551
3552 * stabs.c: Include obstack.h.
3553
3554 * tc.h (md_create_long_jump): Don't declare if it's already
3555 defined as a macro.
3556 (md_create_short_jump, md_estimate_size_before_relax): Ditto.
3557
3558 * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_errmsg instead
3559 of strerror. Clear bfd_error.
3560
3561 * config/te-lynx.h (LOCAL_LABELS_FB): Define, if not already
3562 defined.
3563
44c0de53
JL
3564Wed Dec 1 10:41:56 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3565
3566 * config/tc-hppa.c (hppa_elf_mark_end_of_function): New function.
3567 (pa_process_exit, pa_procend): Call it for ELF objects.
3568
777ad64d
ILT
3569Wed Dec 1 12:10:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3570
3571 * config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d
4032d3f0
ILT
3572 case. See comment. From wilson@cygnus.com: for M_L_DAB, set
3573 coproc before doing goto ld.
777ad64d 3574
335d35c8
JL
3575Tue Nov 30 13:40:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3576
3577 * write.c (TC_FORCE_RELOCATION): Provide a default definition.
3578 (fixup_segment): Allow the target machine to specify that a
3579 relocation must be generated for a particular fixup. Remove
3580 #ifndef TC_HPPA hack.
3581
3582 * config/tc-hppa.h (TC_FORCE_RELOCATION): Define.
3583
3584 * config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to
3585 be NULL. Only fixup_segment is supposed to do that.
3586 (hppa_force_relocation): New function.
3587
018f2bba
ILT
3588Tue Nov 30 11:21:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3589
c751ad19
ILT
3590 * Makefile.in (stabs.o): Added dependencies.
3591
018f2bba
ILT
3592 * config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab.
3593
81413fa2
JL
3594Sun Nov 28 12:11:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3595
278cd007
JL
3596 * app.c (do_scrub_next_char): Output a TAB before any
3597 .app* directive.
3598
81413fa2
JL
3599 * config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol
3600 exists before trying to peek at its name.
3601 (pa_space): Do not call pa_align_subseg. See hppa/unsorted/align3.s
3602 for testcase.
3603 (pa_align_subseg): Delete unused/unwanted function.
3604
385ce433
JL
3605Sat Nov 27 22:49:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3606
3607 * read.c (read_a_source_file): Fix test for when to stick a colon
3608 on the end of a label. Make code conditional on either MRI or
3609 LABELS_WITHOUT_COLONS.
3610
3611 * app.c (do_scrub_next_char): If a line begins with whitespace, leave
3612 the single whitespace character alone. Eat all others.
3613
3614 * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define.
3615
31a385d1
JL
3616Wed Nov 24 01:22:54 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3617
3618 * config/tc-hppa.c (pa_procend): Do not call process_exit.
3619 (exit_processing_complete): Delete unwanted variable and all
3620 references.
3621
c5953036
ILT
3622Wed Nov 24 02:31:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3623
3624 * ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext.
3625 Changed to not actually build the external symbol information, as
3626 that is now done by the ECOFF back end.
3627 (ecoff_build_debug): Changed accordingly.
3628 * ecoff.h (obj_ecoff_set_ext): Declare. obj-format.c function
3629 called by ecoff_setup_ext.
3630 * config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0,
3631 set corresponding pointer to NULL. Don't set raw_size and
3632 raw_syments.
3633 (obj_ecoff_set_sym_index): Removed.
3634 (obj_ecoff_set_ext): New function.
3635 * config/obj-ecoff.h (obj_set_sym_index): Don't define.
3636 (obj_ecoff_set_sym_index): Don't declare.
3637 * config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr,
3638 elf_set_index): New functions used for ECOFF_DEBUGGING.
3639 (elf_frob_file): Reworked ECOFF debug generation to use
3640 new functions in bfd/ecofflink.c.
3641
3642Sun Nov 21 23:54:52 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3643
3644 * config/tc-hppa.c (pa_def_subspaces): Only create the unwind
3645 subspace for ELF. In the SOM world, the linker is responsible
3646 for creating the unwind subspaces.
3647
e0209756
ILT
3648Fri Nov 19 16:25:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3649
3650 * config/obj-coffbfd.c: Use PARAMS rather than EXFUN.
3651 (yank_symbols): Don't call S_SET_EXTERNAL if the storage class is
3652 already set. Fixes .def var; .val external_var; .scl 3; .endef.
3653 (adjust_stab_section): Make static. Declare return type. Remove
3654 unused variables.
3655
3656 * config/tc-i386.h: Declare tc_coff_fix2rtype and
3657 tc_coff_sizemachdep.
3658
0669e047
KR
3659Fri Nov 19 04:33:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3660
3661 * write.c (write_object_file): Disable obj_check_file_symbols
3662 hook; only back end using it wasn't using it correctly.
3663 (write_object_file): Always call obj_frob_symbol and
3664 tc_frob_symbol; always retain symbol if it's used by a relocation,
3665 regardless of what these routines indicate.
3666 * config/obj-coff.c (coff_frob_symbol): Renamed from
3667 coff_check_file_symbols.
3668 * config/obj-coff.h (obj_check_file_symbols): Deleted.
3669 (coff_frob_symbol): Declare.
3670 (obj_frob_symbol): Call it.
3671
3672 * config/obj-coff.c (obj_crawl_symbol_chain, obj_emit_strings,
3673 obj_pre_write_hook): Don't define for BFD_ASSEMBLER.
3674 (c_section_header): Ditto. Delete superfluous return at end of
3675 function.
3676
3677 * config/obj-coff.h [TC_SPARC]: Include coff/sparc.h, and specify
3678 coff-sparc-lynx.
3679 (SA_GET_SYM_TAGNDX): Use BFD_HEADERS version for BFD_ASSEMBLER
3680 too.
3681 (c_section_header): Rewrite prototype so that it contains no
3682 preprocessing directives. Don't declare it at all if
3683 BFD_ASSEMBLER.
3684
3685 * configure.in (sparc*-*-lynxos): New target, using coff and
3686 BFD_ASSEMBLER.
3687
3688 * stabs.c: New file.
3689 * Makefile.in (REAL_SOURCES, OBJS): List it.
3690 * read.c (STAB_SECTION_NAME, STAB_STRING_SECTION_NAME,
3691 get_stab_string_offset, s_stab_generic, s_stab, s_xstab, s_desc):
3692 Moved to new file.
3693
3694 * config/tc-sparc.c (tc_gen_reloc): Handle coff files like elf
3695 files.
3696
29cc5816
ILT
3697Wed Nov 17 17:23:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3698
3699 * configure.in (mips-*-irix5*): New target. Use elf and mips-big.
3700 * config/obj-elf.c: If ECOFF_DEBUGGING, include ecoff.h.
3701 (obj_pseudo_table): If ECOFF_DEBUGGING, define ECOFF
3702 pseudo-ops.
3703 (obj_read_begin_hook): If ECOFF_DEBUGGING, call
3704 ecoff_read_begin_hook.
3705 (obj_symbol_new_hook): If ECOFF_DEBUGGING, call
3706 ecoff_symbol_new_hook.
3707 (obj_elf_init_stab_section): Cast alloca result.
3708 (elf_frob_file): If ECOFF_DEBUGGING, finish up ECOFF debugging
3709 information and write it out into .mdebug section.
3710 * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): New macro.
3711 (TARGET_SYMBOL_FIELDS): Use ELF_TARGET_SYMBOL_FIELDS.
3712 (ECOFF_DEBUGGING): Define if TC_MIPS.
3713 (TARGET_SYMBOL_FIELDS): If ECOFF_DEBUGGING, override to add
3714 fields required by ECOFF.
3715 * config/tc-mips.c: Check ECOFF_DEBUGGING rather than
3716 OBJ_ECOFF in many cases.
3717 (mips_any_noreorder): New variable.
3718 (mips_cprestore_offset): Initialize to -1.
3719 (mips_frame_reg): New variable.
3720 (RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1,
3721 RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros.
3722 (md_pseudo_table): Handle "gpword" and "cpadd".
3723 (md_begin): Initialize ok to false. If OBJ_ELF, set alignment
3724 of text, data and bss sections to 4. Set alignment of
3725 .reginfo section to 2. If ECOFF_DEBUGGING, create .mdebug
3726 section.
3727 (ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment
3728 check.
3729 (append_insn, macro_build, macro_build_lui): Take place
3730 argument. Changed all callers.
3731 (append_insn): If appending a nop, don't emit one.
3732 (macro_build): Changed assertion for 'i', 'j', 'o' case.
3733 (gp_reference): Removed.
3734 (load_address): New function.
3735 (macro): If mips_noreorder is used, set mips_any_noreorder.
3736 Extensive changes to handle GP and PIC symbols differently.
3737 Build both possible code choices using a variant frag, and
3738 make a final decision at the end of assembly when all
3739 information is known. Added PIC support for all symbol
3740 references.
3741 (mips_ip): Don't permit anything but a number after $ for a
3742 coprocessor register. Don't use .lit4 or .lit8 sections when
3743 generating PIC code. If OBJ_ELF, set alignment of .lit4 or
3744 .lit8 section to 4.
3745 (md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs.
3746 (s_change_sec): Set alignment of ELF .rodata or .sdata section
3747 to 4.
3748 (s_mipsset): If .set noreorder, set mips_any_noreorder.
3749 (s_cpload): Ignore .cpload if not generating PIC code. Warn
3750 if .cpload is not in noreorder section.
3751 (s_cprestore): Ignore .cprestore if not generating PIC code.
3752 (s_gpword, s_cpadd): New functions.
3753 (tc_get_register): Added frame argument; if true, set
3754 mips_frame_reg to return value. Changed all callers.
3755 (md_estimate_size_before_relax): Don't error out, but instead
3756 determine how much a frag should grow.
3757 (tc_gen_reloc): Return multiple relocs if appropriate, as
3758 determined by md_estimate_size_before_relax.
3759 (md_convert_frag): New function.
3760 (mips_elf_final_processing): Set ELF header flags based on
3761 mips_any_noreorder and mips_pic.
3762 * config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define.
3763 (MAX_RELOC_EXPANSION): Define to be 3.
3764 (md_relax_frag): Define to be 0.
3765 (md_convert_frag): Don't define.
3766 (tc_get_register): Changed declaration.
3767
3768 * ecoff.h, ecoff.c: New files pulled out of config/obj-ecoff.c to
3769 support generating ECOFF debugging information for MIPS ELF
3770 targets. Compiled only if ECOFF_DEBUGGING is defined. Changed
3771 handling of external symbols: it now always generates exactly
3772 those external symbols that are defined in the global symbol list.
3773 * Makefile.in (REAL_SOURCES): Added ecoff.c.
3774 (REAL_HEADERS): Added ecoff.h.
3775 (OBJS): Added ecoff.o.
3776 (ecoff.o): New target.
3777 * config/obj-ecoff.c: Almost entirely moved into ecoff.c.
3778 Remaining code mostly just calls ecoff.c code.
3779 * config/obj-ecoff.h: Define ECOFF_DEBUGGING.
3780 (TARGET_SYMBOL_FIELDS): Make ecoff_symbol a pointer to a
3781 struct localsym.
3782 (obj_read_begin_hook, obj_symbol_new_hook): Define to call
3783 functions in ecoff.c.
3784 (ecoff_stab): Don't declare (now declared in ecoff.h).
3785 (obj_set_sym_index): Define.
3786 (obj_ecoff_set_sym_index): Declare.
3787
3788 * frags.h (frag_grow): Declare.
3789 * frags.c (frag_grow): Made non-static.
3790
3791 * write.c (is_dnrange): Do not define if md_relax_frag is defined.
3792 (relax_segment): If md_relax_frag is defined, use it to handle a
3793 frag of type rs_machine_dependent rather than looking through
3794 md_relax_table.
3795
3796 * read.c (read_a_source_file): If we find a bad pseudo-op,
3797 do a continue to go on to the next line rather than a break.
3798 Removed duplicate bad pseudo-op code which was never executed.
3799
3800 * read.c (s_lcomm): Do not require a comma after the name.
3801
3802 * subsegs.h (segment_info_type): Changed hadone field to bitfield.
3803 Added bss bitfield.
3804 * as.c (perform_an_assembly_pass): Set bss flag for bss_section.
3805 * read.c (s_lcomm): Set bss flag for .sbss section if used.
3806 * write.c (relax_and_size_seg): Don't set SEC_HAS_CONTENTS for a
3807 bss section. Set SEC_RELOC if there are any relocations, even for
3808 a zero size section.
3809
3810 * write.c (write_relocs): In RELOC_EXPANSION_POSSIBLE case, base
3811 data offset on reloc[0]->address rather than reloc[j]->address, so
3812 that multiple relocs can affect different memory locations.
3813
3814 * write.c (chain_frchains_together, relax_and_size_seg,
3815 adjust_reloc_syms, write_relocs): Make third argument PTR, not
3816 char *, to match definition of bfd_map_over_sections.
3817
3818 * app.c (do_scrub_next_char): Don't interpret a comment character
3819 as starting a CPP line directive unless it is a '#' and is the
3820 very first characters on the line (i.e., do not permit leading
3821 whitespace).
3822
3823 * messages.c (identify): Make file argument non-const, to match
3824 callers.
3825
c5e9ccd0
JL
3826Tue Nov 16 20:38:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3827
3828 * config/tc-hppa.c (pa_ip): Fix thinko in 21bit range check.
3829
3830Sat Nov 13 18:22:48 1993 Steve Chamberlain (sac@jonny.cygnus.com)
3831
3832 * config/tc-sh.c (md_apply_fix): Cope with IMM16 type too.
3833 * config/tc-z8k.c (build_bytes, md_apply_fix): Understand nDISP7
3834 relocs.
3835
4a1b59ef
JL
3836Fri Nov 12 16:51:47 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3837
3e330968 3838 * config/tc-hppa.[ch]: Fix assorted trivial indention problems.
4a1b59ef
JL
3839 * config/obj-som.c (obj_som_version): Add missing ';'.
3840 (som_frob_file): Delete whitespace at EOL.
3841
f3b6e1f2
KR
3842Fri Nov 12 15:26:21 1993 Ken Raeburn (raeburn@cygnus.com)
3843
3844 * Makefile.in (VERSION): Updated following 2.2 release.
3845
c5e9ccd0 3846Fri Nov 12 14:52:17 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
f2eed884
JL
3847
3848 * config/tc-hppa.c (hppa_fix_struct): Use a real type for the
3849 field selector, rather than an int. All uses of field selectors
3850 fixed.
3851 (tc_gen_reloc): For SOM PLABELs, always set addend to zero for now.
3852 (md_apply_fix_1): Do not call hppa_field_adjust for any PLABEL
3853 field.
3854
3855 Thu Nov 11 15:49:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
a721c80b
JL
3856
3857 * config/tc-hppa.c (pa_type_args): For .import statements,
3858 silently ignore attempt to change the symbol type for a function
f2eed884 3859 from ST_ENTRY to ST_CODE on .import.
a721c80b 3860
ca16b5e5
ILT
3861Wed Nov 10 16:19:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3862
3863 * write.h (fixS): Rename fx_callj field to fx_tcbit.
3864 * write.c, config/obj-coff.c, config/obj-coffbfd.c,
3865 config/tc-i960.c: Corresponding changes.
3866
48153d49
JL
3867Tue Nov 9 00:49:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3868
7420b02b
JL
3869 * Makefile.in (distclean): Delete config-stamp and config.h
3870
f41f3d72
JL
3871 * config/tc-hppa.c (evaluate_absolute): Avoid relying on
3872 ANSI-C features.
3873
48153d49
JL
3874 * config/tc-hppa.c (pa_type_args): Renamed from pa_export_args.
3875 Accept new argument "is_export". All callers changed. When
3876 processing a .export directive for a function, do not allow
3877 the user to set the type to "CODE", instead warn and set the
3878 type to "ENTRY".
3879
9226253a
ILT
3880Mon Nov 8 12:05:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3881
3882 * config/tc-mips.c (mips_ip, printInsn): Handle 'k' (from Ted
3883 Lemon <mellon@pepper.ncd.com>).
3884 (mips_ip): Permit odd numbered floating point registers if -mips3.
48153d49 3885 (macro): Use BFD_RELOC_MIPS_LITERAL relocation for M_LI_SS.
9226253a 3886
53087850
DE
3887Mon Nov 8 07:45:01 1993 Doug Evans (dje@canuck.cygnus.com)
3888
3889 * configure.in: Remove h8300h, we have multilib now.
3890
5f8a3788
DHW
3891Mon Nov 8 06:09:18 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
3892
3893 * configure.in: Support generic netware as being ELF format.
3894 Recognise unixware if the user supplies it.
3895
163aac84
JL
3896Sun Nov 7 01:02:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3897
513f0471
JL
3898 * First cut at cleaning up PA instruction parsing.
3899 * config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to
3900 insn structure as an argument, and a pointer to a string. All
3901 callers changed. Always read any field selector here. Call
3902 evaluate absolute to get a return value.
3903 (evaluate_absolute): Addept pointer to insn structure as its
3904 argument. All callers changed.
3905 (INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield
3906 into an instruction and continuing the main pa_ip loop.
3907 (CHECK_FIELD): New macro for simple range checking of fields.
3908 (pa_ip): Delete unused variables. Use INSERT_FIELD_AND_CONTINUE
3909 and CHECK_FIELD. All immediate fields now pass through
3910 pa_get_absolute_expression which will also handle field selectors.
3911 Delete dead code. Simplify.
3912 (md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are
3913 applied are in range. Use bfd_put_32 rather than inserting each
3914 byte of the fixed instrution into the buffer ourselves.
3915
3e411021
JL
3916 * write.c (fixup_segment): Delete {SEG,GLOBAL}_DIFF_ALLOWED code,
3917 it was PA specific and is no longer needed (it's now handled
3918 within the PA backend).
3919 * config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition.
3920 * config/tc-hppa.c (fix_new_hppa): If the subtract symbol for
3921 a fixup is $global$ change it to NULL as $global$ is really only
3922 needed long enough to determine the base type of relocation to use.
3923
240cbc57
JL
3924 * config/tc-hppa.c (create_new_subspace): Initialize subspace_defined.
3925
163aac84
JL
3926 * config/tc-hppa.c (pa-ip, case 'z'): Make field selectors work
3927 for 'z' operands (target of ble branch).
3928
1cc248d2
JL
3929Sat Nov 6 22:41:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3930
18c4f112
JL
3931 * config/tc-hppa.c: (update_subspace): Fix type and name of last
3932 parameter. All callers fixed.
3933 (md_begin, pa_chk_field_selector, pa_entry): Lint.
3934
1cc248d2
JL
3935 * config/tc-hppa.c (cons_fix_new_hppa): Reset field selector
3936 to default state after it's been used.
3937
88eb7ea6
JL
3938Fri Nov 5 12:08:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3939
3940 * config/obj-som.c (obj_som_init_stab_section): Change
3941 space/subspace sort keys for the stab sections so as to avoid
3942 bugs in the hp linker and pxdb.
3943
0f894895
JL
3944Thu Nov 4 17:00:05 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3945
3946 * write.c (chain_frchains_together): Update pointer to last
3947 frag for a segment in the seginfo structure.
3948
de074576
JW
3949Thu Nov 04 09:09:35 1993 Jeffrey Wheat (cassidy@cygnus.com)
3950
3951 * Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS
3952
3953Wed Nov 3 12:16:27 1993 Ken Raeburn (raeburn@rover.cygnus.com)
3954
3955 * write.c (fixup_segment): Handle conversion of subtraction to
3956 pc-relative addressing even if pc-relative flag is already set.
3957
3958 * config/tc-m68k.c (m68k_ip_op): Use strchr, not index. Don't
3959 declare either.
3960
3961 * doc/Makefile.in (distclean): Delete intermediate files from dvi
3962 build, but not the dvi or info files.
3963 * Makefile.in (clean-here): New target; cleans up current
3964 directory only.
3965 (distclean): Use it instead of clean.
3966
3967 * read.c (s_xstab): Don't use alloca.
3968
3969 * messages.c (identify): New routine; print message identifying
3970 following messages as coming from assembler.
3971 (as_show_where, as_bad_internal, as_bad_where): Call it.
3972 (as_fatal): Don't need to identify program any more.
3973
efe8ef02
ILT
3974Tue Nov 2 18:04:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3975
fd4b7c25
KR
3976 * config/tc-sparc.c (sparc_ip): Add default case to reloc switch.
3977
efe8ef02
ILT
3978 * read.c (s_lcomm): Put small objects in .sbss for MIPS ELF as
3979 well as MIPS ECOFF.
3980 (get_stab_string_offset): Remove unused variable aligned.
3981
aa14e863
JL
3982Tue Nov 2 15:07:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3983
d6e524f3
JL
3984 * tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the
3985 predefined register table.
3986 (pa_parse_number): Handle %rp in common register shortcut code.
3987 Consistently set return value to -1 for an error. Clean up error
3988 messages and only print them when "print_errors" is true. Handle
3989 empty string case like the HP assembler -- assume a value of
3990 zero.
3991
20cee6d8
JL
3992 * config/ho-hpux.h: Do not include ho-sysv.h. Instead include
3993 standard hpux include files to pick up various function decls.
3994
aa14e863
JL
3995 * config/ho-hppaosf.h: Delete _IO* macros. They are defined in
3996 stdio.h. Delete bogus declaration of free. Get path to
3997 alloca-conf.h right.
3998
25270a1c
KR
3999Tue Nov 2 13:57:30 1993 Ken Raeburn (raeburn@rover.cygnus.com)
4000
4001 * expr.c (operand): Fix checks for characters following "0b" or
4002 "0f".
4003
f197d7eb
JL
4004Mon Nov 1 21:37:04 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4005
ff852e11
JL
4006 * config/obj-som.h (obj_attach_unwind_info): Define as a hook
4007 so GAS can attach unwind descriptor information to a BFD symbol.
4008 * config/tc-hppa.c (fix_new_hppa): If necessary attach unwind
4009 descriptor information to the BFD symbol.
4010 (md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied",
4011 they are simply markers. Make R_HPPA_UNWIND_* handling OBJ_ELF
4012 dependent.
4013 (pa_build_unwind_subspace): Whole function is OBJ_ELF dependent.
4014 (pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM.
4015 (pa_exit): Likewise, but built a R_HPPA_EXIT relocation. Do not
4016 build "end-of-function" symbols for SOM, they are not needed.
4017
a50e9b55
JL
4018 * config/tc-hppa.c (process_exit): Create temporary symbols with
4019 correct prefixes so they can be eliminated later.
4020
49fc68a1
JL
4021 * config/tc-hppa.c (call_info struct): Delete unused "frame" field.
4022 (pa_callinfo): Insert framesize into the unwind information as
4023 soon as it's available.
4024 (pa_build_unwind_subspace): Do not insert framesize into the unwind
4025 information here.
4026
c43d56f7
JL
4027 * Add support for marker type relocations. These mark areas
4028 of interest to the linker. ENTRY/EXIT relocations for SOM are
4029 an example of marker relocations.
4030 * write.c (write_relocs): Instead of assuming size of a relocation
4031 is 4 bytes, pick up the size from relocation itself.
4032 (fixup_segment): Do not complain that a value is too small for
4033 marker relocations.
4034
009dc5e1
JL
4035 * struc-symbol.h: Add new "sy_used" field to the symbol structure.
4036 * expr.c (operand): Set sy_used for any symbol used as an operand.
4037 (expr): Likewise for any symbol used in an expression.
4038 * config/tc-hppa.h (tc_frob_symbol): Define. Punt imported
4039 symbols which are never used and absolute symbols which local scope.
4040
f197d7eb
JL
4041 * config/obj-som.h (obj_frob_file): Define.
4042 * config/obj-som.c (obj_som_init_stab_section): Set alignment
4043 of stab sections. Make space for the special stab entry.
4044 (adjust_stab_sections): Adjust the special entry in the
4045 stabs section.
4046 (som_frob_file): New function. Simply calls adjust_stab_sections
4047 for each section.
4048
bca9cf0b
ILT
4049Mon Nov 1 17:54:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4050
4051 * config/tc-mips.c (PIC_CALL_REG, SP, FP): Define.
4052 (mips_pic, mips_cprestore_offset): New static variables.
4053 (md_pseudo_table): Handle .abicalls, .cpload, and .cprestore.
4054 Ignore .bgnb and .endb.
4055 (gp_reference): _gp_disp is never addressed off GP.
4056 (macro_build): Ignore macros while searching for insn. For cases
4057 i, j, and o, accept the reloc type as an argument rather than
4058 assuming BFD_RELOC_LO16. Don't try to convert BFD_RELOC_LO16 to
4059 BFD_RELOC_MIPS_GPREL. Added new case a.
4060 (set_at, load_register, macro): Changed calls to macro_build to
4061 pass new argument for i, j and o cases.
4062 (macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A. These require
4063 special handling when generating SVR4 PIC code.
4064 (mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT
4065 rather than hard coded constants.
4066 (md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and
4067 BFD_RELOC_MIPS_CALL16.
4068 (s_option): Set mips_pic based on .option picN.
4069 (s_abicalls): New function; set mips_pic to 2.
4070 (s_cpload): New function; handle .cpload.
4071 (s_cprestore): New function; handle .cprestore.
4072
4073 * config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb,
4074 .endb and .verstamp, setting them to s_ignore.
4075
d191a03c
JL
4076Sun Oct 31 00:36:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4077
47f45d66
JL
4078 * config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined
4079 field. Define SUBSPACE_DEFINED accessor macro.
4080 (pa_subspace): Allow user to override subspace attributes for
4081 built-in subspaces. Set ssd_defined at the end of fcn -- that
4082 way the attributes can only be changed once. Pass newly allocated
4083 name to is_defined_subspace, not a pointer to the input line.
4084 Fix typo in space/subspace rework.
4085 (is_defined_subspace): Delete unused 2nd arg. All callers changed.
4086
4087 * config/tc-hppa.c (pa_import): If currently in the text segment
4088 and a symbol is imported without type information, set BSF_FUNCTION
4089 for the symbol.
20b39b6f
JL
4090 * write.c (relax_and_size_seg): Correct test to determine if
4091 the section's size was rounded up.
4092
e75acd68
JL
4093 * config/obj-som.h (obj_set_symbol_type): Define a hook so GAS
4094 can properly set all the SOM symbol types.
4095 * config/tc-hppa.c (pa_symbol_type): New enum to represent the
4096 symbol types which can be set from an IMPORT/EXPORT statement.
4097 (pa_export_args): Set the pa_symbol_type type based on arguments.
4098 If defined, call obj_set_symbol_type to pass this information on
4099 to the BFD backend.
4100
d191a03c
JL
4101 * read.c (get_stab_string_offset): Set SEC_DEBUGGING for any
4102 stab section we make.
4103 (s_stab_generic): Likewise.
4104
12696e9c
JL
4105Sat Oct 30 14:26:20 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4106
65a7f8a6
JL
4107 * Allow backends to override the value of the fake label.
4108 * write.h (LOCAL_LABEL): Delete DOT_LABEL_PREFIX code. Instead
4109 assume backends will define LOCAL_LABEL if anything other than
4110 'L' is used to denote a local label.
4111 (FAKE_LABEL_NAME): New macro. Defines the default name used for
4112 the "fake" label.
4113 * expr.c (make_expr_symbol): Delete DOT_LABEL_PREFIX code
4114 and instead simply use the string defined by FAKE_LABEL_NAME.
4115 (operand): Likewise.
4116 * read.c (s_stab_generic): Likewise.
4117 * config/tc-hppa.h (FAKE_LABEL_NAME): Define as L$0\001 so it's
4118 known to be a local label.
4119 * config/tc-i386.h (DOT_LABEL_PREFIX): Delete.
4120 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
4121 * config/tc-m68k.h (DOT_LABEL_PREFIX): Delete.
4122 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
4123 * config/te-sco386.h (DOT_LABEL_PREFIX): Delete.
4124 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
4125
6bc14195
JL
4126 Rework space/subspace handling in PA code to fully support
4127 SOM spaces/subspaces.
4128 * config/tc-hppa.c (USE_ALIASES): New object-format dependent define
4129 to control the use of space/subspace name aliases.
4130 (update_subspace): Accept space chain entry for containing space
4131 as a new parameter. All callers changed.
4132 (pa_get_label): Use current_space rather than pa_segment_to_space.
4133 (pa_define_label): Likewise.
4134 (pa_undefine_label): Likewise.
4135 (md_begin): Change into the (possibly modified) text_section.
4136 (pa_parse_space_stmt): Create a new segment/space if create_flag
4137 is true, and the space name is not one of the two predefined spaces.
4138 (pa_subspace): Use current_space rather than a lookup via
4139 pa_segment_to_space. Reset BFD section flags as required by
4140 the .subspace directive. Likewise for the section alignment.
4141 Pass the current space to update_subspace and create_new_subspace.
4142 (pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES
4143 is true. When not using aliases, create a BFD section for each
4144 subspace encountered. When not using aliases replace the default
4145 text, data, and bss segments with new ones.
4146 (create_new_subspace): When not using aliases each subspace has a
4147 section/segment and subsegments are not needed, so set the subsegment
4148 to zero.
4149
548ea75b
JL
4150 * config/tc-hppa.c (pa_parse_space_stmt): If needed, call
4151 obj_set_section_attributes to pass space attributes to the
4152 BFD backend.
4153 (create_new_space): Likewise.
4154 (create_new_subspace): Likewise for subspace attributes using
4155 obj_set_subsection_attributes.
4156 (update_subspace): Likewise for subspace attributes using
4157 obj_set_subsection_attributes.
4158
0f3b419c
JL
4159 * config/tc-hppa.c (pa_parse_space_stmt): Get segment and sort key
4160 for $TEXT$ and $PRIVATE$ from the default space structure.
4161
9a182533
JL
4162 * config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION
4163 as appropriate for the given type.
4164
62f0841b
JL
4165 * config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling
4166 SOM relocations.
4167
d56f45f5
JL
4168 * config/tc-hppa.c (pa_comm): Delete incorrect check for symbol
4169 redefinition.
4170
3c87583d
JL
4171 * config/obj-som.[ch]: New files for SOM support. Note SOM
4172 support is not yet complete in GAS or BFD.
4173
12696e9c
JL
4174 * config/ho-hppabsd.h: Delete IO* macros, they are defined in
4175 stdio.h. Delete declaration of free. Include stdlib.h, unistd.h,
4176 and string.h.
4177
37ed805e
JL
4178Fri Oct 29 13:26:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4179
12696e9c
JL
4180 * Allow backends to override the section names used for embedded
4181 stabs support. Needed for SOM.
4182 * read.c (STAB_SECTION_NAME): Default the name of the stab section
4183 to ".stab".
4184 (STAB_STRING_SECTION_NAME): Likewise for the stab strings section.
4185 (get_stab_string_offset): Is now passed the full name for the
4186 stab string section rather than a name prefix. All references
4187 changed.
4188 (s_stab_generic): New argument for the stab string section name.
4189 all references changed.
4190 (s_xstab): Append "str" to the stab section name to get the
4191 stab string section name.
4192 * config/obj-coffbfd.c (obj_coff_init_stab_section): Append "str"
4193 to stab section name to get the stab string section name. Pass
4194 the full name of the stab string section to get_stab_string_offset.
4195 * config/obj-elf.c (obj_elf_init_stab_section): Likewise.
4196
53c0b9e7
JL
4197 * config/tc-hppa.c (md_begin): Disable "-R" option to fold
4198 textand data segments. Warn user "-R" is unsupported on the
4199 PA.
37ed805e 4200
48ac0c90
JL
4201Thu Oct 28 12:36:13 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4202
d33ace2e
JL
4203 * config/tc-hppa.c (md_pseudo_table): Default alignment is 8 for
4204 .align and .ALIGN directives.
4205
48ac0c90
JL
4206 * config/tc-hppa.c (pa_space): Do not report an error for a .space
4207 directive which does not define a "well-known" space and does
4208 not include a space number as an argument.
4209
4210 * config/tc-hppa.c (pa_def_subspaces): Correct initialization of the
4211 "defined", "loadable", "code_only" and "space_index" fields.
4212 (pa_def_spaces): Correct initialization of the "spnum", "defined",
4213 and "private" fields.
4214
4215 * write.h (struct fix): Add new tc_fix_data field for the various
4216 backends to attach machine dependent fixup information to.
4217 * write.c (fix_new_internal): Initialize new tc_fix_data field.
4218 * config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and
4219 fx_next fields.
4220 (hppa_find_hppa_fix): Delete unnecessary function. Fix all
4221 callers to get HPPA fixup information from the tc_fix_data field
4222 in the GAS fixup.
4223 (hppa_fix_root): Delete unnecessary variable.
4224 (fix_new_hppa): Attach HPPA fixup data to the GAS fixup.
4225
4226 * config/tc-hppa.c (pa_set_start_symbol); Delete unwanted
4227 function. Fix all callers.
4228 (subspace_dictionary_chain): Delete unused ssd_start_sym field.
4229
4230 * config/tc-hppa.c (hppa_fix_adjustable): New function to determine
4231 if a particular fixup is adjustable.
4232 * config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to
4233 perform the real work.
4234
4235 * config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out
4236 of OBJ_XXX conditionals.
4237 (MAX_RELOC_EXPANSION): Likewise.
4238
4239 * config/tc-hppa.c (log2): Renamed from is_power_of_2. Fix all
4240 callers. Now returns log2 (N) for positive N which are an exact
4241 power of two or -1 for an error.
4242
4243 * config/tc-hppa.c (pa_callinfo): Range check values provided for
4244 ENTRY_GR, ENTRY_FR and ENTRY_SR. Properly adjust vaues before
4245 inserting them into the unwind table.
4246
4247 * config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references.
4248 (hppa_gen_reloc_type): New object format dependent macro.
4249 (pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF
4250 conditional. The code can (and will) be shared between SOM & ELF
4251 formats in the near future.
4252 (cons_fix_new_hppa, md_apply_fix_1): Likewise.
4253 (pa_build_unwind_subspace, process_exit, pa_exit): Likewise.
4254 (tc_gen_reloc): Use hppa_gen_reloc rather than an object format
4255 specific call.
4256
4257 * config/tc-hppa.c (pa_comm): Set the segment for a common symbol
4258 to bfd_und_section.
4259
4260 * config/obj-elf.h (obj_elf_version): Add extern prototype.
4261
4262 * configure.in (hppa-*-bsd*): New configuration.
4263 BFD is always used for GAS generating SOM objects.
4264
4265 * write.c (adjust_reloc_syms): Set sy_used_in_reloc if an
4266 adjustment is rejected by the target machine.
4267
4268 * config/tc-hppa.c (pa_big_cons): Delete function and its
4269 declaration. All callers changed to use pa_cons.
4270
4271 * write.c (fixup_segment): Fix indention and open/close brace
4272 problem.
4273
4274 From Pete Hoogenboom:
4275 * config/tc-hppa.c (md_atof): Return a NULL on success rather than
4276 an empty string.
4277
3515a504
JL
4278 * config/tc-hppa.c (pa_parse_space_stmt): Advance
4279 input_line_poitner when an invalid argument is encountered.
4280
6121fb06
ILT
4281Thu Oct 28 13:09:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4282
4283 * config/tc-a29k.c (md_begin): When opcodes are mashed together in
4284 the table, require that the one without bit 0x1000000 set come
4285 first. Require further that it be case 'b' or 'P'. The a29k
4286 opcode table already meets these constraints.
4287 (machine_ip): When handling case 'i' or 'A', make sure that the
4288 appropriate opcode really exists by looking at the next entry in
4289 the opcode table.
4290
56c96faa
ILT
4291Wed Oct 27 11:48:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4292
729f4bba
ILT
4293 * config/tc-m68k.c (m68k_ip): Adjust offsets for PC relative
4294 fixups. Add 6 for long 7.3 case, 2 for short 7.2 case.
4295
007ff46b
ILT
4296 * config/obj-ecoff.c (obj_ecoff_ent): Ignore an optional number
4297 after a .ent directive.
4298
d1ee509b
ILT
4299 * config/tc-mips.c (mips_ip): Handle '>' case (shift amount
4300 between 32 and 63 for double shift instruction). Do & 0x1f rather
4301 than % 32.
4302 (printInsn): Handle '>'.
56c96faa 4303
fa20b8bf
ILT
4304Tue Oct 26 16:58:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4305
5694ad93
ILT
4306 * config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol
4307 number in the right place. Untested. Probably does not work for
4308 cross assembly. From cagney@cs.adelaide.edu.au (Andrew Cagney).
4309
f3751617
ILT
4310 * config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses
4311 an illegal offset of 0 or -1.
4312
fa20b8bf
ILT
4313 * config/obj-elf.c (obj_elf_init_stab_section): Align .stab
4314 section to a longword boundary.
4315
4da7942d
KR
4316Tue Oct 26 10:24:31 1993 Ken Raeburn (raeburn@cygnus.com)
4317
4318 * Makefile.in (CHECKFLAGS): Pass down RUNTESTFLAGS.
4319
4320 From Jeff Law:
4321 * config/tc-hppa.c (tc_gen_reloc): ELF32_HPPA_R_ADDEND ->
4322 HPPA_R_ADDEND.
4323
fd4b7c25
KR
4324Mon Oct 25 14:06:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4325
4326 * config/tc-sparc.c (sparc_ip): Fix up membar argument handling.
4327
24934035
SC
4328Mon Oct 25 11:17:58 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
4329
8e5afd4f
SC
4330 * config/tc-sh.c (build_Mbytes): Write the relocs to the correct
4331 address. (md_assemble): Make error handling a bit more graceful.
4332 (md_apply_fix): Don't warn on non aligned displacement.
fd4b7c25 4333
24934035
SC
4334 * config/tc-z8k.c (get_specific, built_bytes): Understand all the
4335 aspects of lda.
4336
84678d16
KR
4337Mon Oct 25 10:20:31 1993 Ken Raeburn (raeburn@rover.cygnus.com)
4338
4339 * doc/Makefile.in (install-info): Use "$<*" so VPATH will find
4340 as.info* even if they're in $(srcdir) (e.g., for FSF
4341 distributions).
4342
4343 * write.c (write_relocs): For relocs that are pc_relative and
4344 pcrel_offset and not partial_inplace, adjust reloc->addend to
4345 compensate for a bfd_perform_relocation bug.
4346
4347 * config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code.
4348 * config/tc-sparc.c: Ditto.
4349 (tc_gen_reloc): Include fx_offset for pcrel fixups.
4350
52aa70b5
JW
4351Sun Oct 24 16:49:00 1993 Jim Wilson (wilson@x1.cygnus.com)
4352
4353 * tc-mips.c (md_pseudo_table): Add dword pseudo op.
4354
ab0751c8
DZ
4355Fri Oct 22 20:40:56 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
4356
4357 * messages.c: replaced all variables called Format with 'format',
4358 for consistency throughout
4359
4360 * configure.in: handle mips*- instead of mips, mips*el for little
4361 endian configurations
4362
8efed14f
ILT
4363Fri Oct 22 14:45:49 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4364
4365 * input-scrub.c (physical_input_file, logical_input_file,
4366 physical_input_line, logical_input_line): Made static.
4367 (as_where): Return current file name and line number, don't print
4368 them out.
4369 * messages.c (as_show_where): New static function. Other
4370 functions use it instead of as_where.
4371 (as_bad_internal): New static function.
4372 (as_bad): Use as_bad_internal.
4373 (as_bad_where): New function, like as_bad but taking a file name
4374 and line number.
4375 * as.h (as_bad_where): Declare.
4376 (as_where): Change prototype for new arguments.
4377 * write.h (fixS): Added fields fx_file and fx_line.
4378 * write.c (fix_new_internal): Save file and line number in fix.
4379 (fixup_segment): Use as_bad_where, not as_bad.
4380 * input-file.c (f_in, file_name): Made static.
4381 * cond.c (struct file_line): Just use file and line fields.
4382 (s_else): Use as_where and as_bad_where, not get_file_line and
4383 set_file_line.
4384 (get_file_line, set_file_line): Removed.
4385 * listing.c (listing_newline): Use as_where.
4386 * config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where.
4387 * config/obj-ecoff.c (add_file): Use as_where.
4388 * config/obj-elf.c (obj_elf_init_stab_section): Use as_where.
4389 * config/tc-m68k.c (md_apply_fix_2): Use as_bad_where.
4390 * config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert.
4391
efa0c22e
KR
4392Thu Oct 21 12:52:01 1993 Ken Raeburn (raeburn@cygnus.com)
4393
4394 * config/tc-m68k.h: Don't define REGISTER_PREFIX or
4395 OPTIONAL_REGISTER_PREFIX if either is already defined.
4396
4397 * config/tc-m68k.c (m68k_ip): Delete some code in "#if 0".
4398
4399 * configure.in: Set bfd_gas for all sparc targets. Added facility
4400 for keeping or rejecting configurations still under development;
4401 default is to assume production environment, and reject configs
4402 still being worked on. Mark Elf configurations (except sparc and
4403 i386) as developmental. Deleted cases matching some generic names
4404 in favor of more specific names. (E.g., when we get Alpha
4405 support, we'll still only support VMS for Vax.)
4406
4407 * config/tc-sparc.h (md_end): New macro.
4408 * config/tc-sparc.c (md_end): Function deleted.
4409 (BFD_RELOC_*): Delete macros that used to help keep the non-bfd
4410 version compiling. All sparc targets will use bfd now.
4411 * tc.h (md_end): Don't declare if it's defined as a macro.
4412
4413 Changes from Jeff Law and Peter Hoogenboom:
4414
4415 * read.c (next_char_of_string): Limit octal character constants to
4416 three digits.
4417
4418 * config/tc-hppa.h: Major cleanup. Use GNU-style comments. Warn
4419 against placing additional object-file dependent code here. Warn
4420 against contaminating all of GAS with the internals of tc-hppa.c
4421 through inclusion of tc-hppa.h. Delete all forward declarations
4422 for functions only used within tc-hppa.c, likewise for structures,
4423 variables, and #defines. Try to group OBJ_ELF and OBJ_SOM
4424 conditional code in a few small places.
4425
4426 * config/tc-hppa.c: Major cleanup. Use GNU-style comments. Group
4427 structures, global variables, forward declarations together.
4428 Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM
4429 conditional code -- try to group conditional code together
4430 into a few places. Make all functions and variables which
4431 are only used within tc-hppa.c static. PARAMize all functions.
4432 Add comments to functions. Delete unused functions, variables,
4433 #defines, etc. Delete unused members within structures. Delete
4434 ldil;ble hacks -- it is believed they were installed to work
4435 around old gas bugs. Avoid using mixed case for local
4436 functions, variables, and structures. Fix formatting problems
4437 not found by GNU-indent. Add FIXME notices for things which
4438 should be worked on the near future. Delete lots of old
4439 useless (1.36 PA-SOM) code.
4440
4441 * config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type
4442 field of the fixS structure. Needed to build unwind
4443 descriptors correctly.
4444
4445 * write.c: (fixup_segment): Allow expressions such as
4446 sym1-sym2+const as long as sym2 is $global$.
4447
4448 * write.c (adjust_reloc_syms): Provide a hook so that a target
4449 cpu configuration can reject certain relocation reductions.
4450 * tc-hppa.h (tc_fix_adjustable): New macro. Only accept relocations
4451 which do not involve function symbols.
4452
4453 * config/tc-hppa.h: Reindent with GNU-indent. Delete references
4454 to OBJ_OSFROSE. Fix typos (OBJ_SOME -> OBJ_SOM). Delete unused
4455 STAB_FIXUP macro.
4456 * config/tc-hppa.c: Likewise.
4457
4458 * config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead
4459 of elf32_symbol_type.
4460 (pa_export_args): Likewise.
4461 (elf_hppa_final_processing): Likewise.
4462 (pa_desc): Do not call obj_elf_desc. (Is pa_desc even needed
4463 anymore?)
4464 (hppa_tc_make_sections): Do not declare elf_get_symtab_map any
4465 ore.
4466
4467 * config/tc-hppa.c: (md_section_align): Align all sections to
4468 a multiple of the section alignment rather than always a
4469 multiple of 8.
4470
4471 * config/tc-hppa.c (hppa_tc_symbol): If the argument relocation
4472 bits are zero (eg they specify no relocations), then do not even
4473 bother adding their entries to thesymextn section.
4474
7766838e
ILT
4475Thu Oct 21 15:44:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4476
4477 * config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
4478 option, which is used by the SunOS make default .s.o rule.
4479
fd4b7c25
KR
4480Wed Oct 20 12:26:33 1993 Ken Raeburn (raeburn@rover.cygnus.com)
4481
4482 * config/tc-sparc.c (sparc_ip, label "immediate"): Convert relocs
4483 operating on upper 32 bits of immediate constants to lower-half
4484 relocs with adjusted constants.
4485
dff60b7d
ILT
4486Tue Oct 19 18:13:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4487
4488 * config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable
4489 m68k_aout_machtype.
4490 * config/tc-m68k.c (omagic): Remove obsolete and unused variable.
4491 (m68k_aout_machtype): New variable, if OBJ_AOUT.
4492 (md_assemble): Initialize m68k_aout_machtype based on
4493 current_architecture, if OBJ_AOUT.
4494 (md_parse_option): Remove obsolete reference to omagic.
4495
c17cd709
ILT
4496Thu Oct 14 16:51:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4497
dd3f1f76
ILT
4498 * config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op.
4499 (s_option): Ignore .option O* and .option pic*.
4500 (s_ent): Skip whitespace between symbol and optional digit.
dff60b7d 4501 (my_getSmallExpression): Handle ($xx) correctly: assume 0($xx).
dd3f1f76 4502
54508138
ILT
4503 * app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape
4504 characters in state 6.
4505 * read.c (next_char_of_string): Accept \Xh* and \xh* where h* are
4506 hexidecimal digits.
4507
c17cd709
ILT
4508 * config/tc-i386.c (md_apply_fix_1): Make cross segment calls work
4509 for ELF by hacking around bizarre bfd_perform_relocation behaviour
4510 that I don't dare change.
4511
ad660eb1
ILT
4512Thu Oct 14 11:33:25 1993 Michael Meissner (meissner@osf.org)
4513
4514 * config/tc-i386.c: (md_begin): Do not zero static arrays. Don't
4515 call strchr for each character to see if it is a special char,
4516 instead add a second loop over special_chars. Set alignment
4517 of text, data and bss sections to 4.
4518 (pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be
4519 used again.
4520 (reloc): Don't return 8 and 16 bit non-PC relative relocations on
4521 ELF, since the ELF object format does not have these type of
4522 relocations. Change the abort into as as_bad and return
4523 BFD_RELOC_NONE to silence compiler warnings.
4524 (md_assemble): Keep track of the instruction size. Allow white
4525 space between the $ and the constant for compatibility with older
4526 gases and other assemblers.
4527 (i386_operand): Skip spaces between $ and expression.
4528 (tc_gen_reloc): Don't allow anything but 32 bit relocations on
4529 ELF. Convert abort into an as_bad and assert into as_fatal.
4530
132239bf
KR
4531Wed Oct 13 16:50:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4532
4533 * config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If
4534 sub_symbolP is in the current segment, convert to a PC-relative
4535 fixup and discard the symbol.
4536
b7cbb59f
ILT
4537Wed Oct 13 14:00:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4538
463b1851
ILT
4539 * config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol
4540 for st_StaticProc just like st_Proc.
4541
b7cbb59f
ILT
4542 * write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT
4543 so that OBJ_BOUT doesn't forget to adjust all the fragments in the
4544 .bss section.
4545
f2a663d3
ILT
4546Tue Oct 12 17:26:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4547
4548 * config/tc-mips.c: If OBJ_ELF, include elf/mips.h.
4549 (mips_regmask_frag): New static variable, if OBJ_ELF.
4550 (md_begin): If OBJ_ELF, create .reginfo section and set
4551 mips_regmask_frag to a frag.
4552 (mips_elf_final_processing): New function, if OBJ_ELF. Set
4553 mips_regmask_frag to register mask information.
4554 * config/tc-mips.h (elf_tc_final_processing): New macro, defined
4555 if OBJ_ELF.
4556
99024047
KR
4557Tue Oct 12 03:33:26 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4558
2145a183
KR
4559 * messages.c (as_fatal): Use myname when printing messages.
4560
99024047
KR
4561 * config/tc-i960.c (md_begin): Use null pointer, not empty string,
4562 as initial "return" value in case hashing isn't needed.
4563
4564 * config/tc-a29k.c (md_atof): Return null, not empty string, on
4565 success.
4566 * config/tc-h8300.c (md_atof), config/tc-h8500.c (md_atof),
4567 config/tc-hppa.c (md_atof), config/tc-i860.c (md_atof),
4568 config/tc-i960.c (md_atof), config/tc-m88k.c (md_atof),
4569 config/tc-ns32k.c (md_atof), config/tc-sh.c (md_atof): Ditto.
4570
4571Mon Oct 11 16:46:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
2dd45209
SC
4572
4573 fix for pr 3571
4574 * config/tc-h8300.c (get_specific): Special action if 8 bit
4575 address seen. (check_operand): Don't complain if truncating top
4576 bits of an 8 bit address. (build_bytes): Allow an immediate and
4577 an absolute in the same insn.
4578
f37449aa
ILT
4579Mon Oct 11 17:18:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4580
4581 * write.c (write_contents): Don't crash if seginfo is NULL.
4582
4583 * config/obj-ecoff.c (ecoff_frob_file): Write out register masks
4584 by modifying .reginfo section, not by directly modifying BFD
4585 backend data.
4586
fec552ce
DZ
4587Mon Oct 11 14:11:32 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
4588
4589 * config/ho-sunos.h: remove extern time declaration
4590
8d3be803
KR
4591Mon Oct 11 16:14:43 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4592
4593 * messages.c (as_fatal): Do mention that it's the assembler that
4594 got the fatal error.
4595
88225433
ILT
4596Fri Oct 8 14:09:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4597
1aa6938e
ILT
4598 * config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
4599 hold register masks.
4600 (md_begin): Initialize them to zero.
4601 (append_insn): Update mips_gprmask and mips_cprmask. Also add
4602 register variables pinfo and prev_pinfo.
4603 * config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
4604 * config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
4605 and cprmask from mips_gprmask and mips_cprmask.
4606
88225433
ILT
4607 * config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
4608 * config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
4609 (various): Change all references to GP references to apply if
4610 GPOPT, not if OBJ_ECOFF.
4611 (s_change_sec): Rearrange somewhat. If OBJ_ELF, use .rodata
4612 instead of .rdata. If OBJ_ELF, set section flags for .rodata and
4613 .sdata sections.
4614 (s_frame, s_loc, s_mask): Comment out entire functions, rather
4615 than just body. They're not used anyhow.
4616 * configure.in: Set cpu_type to mips for mips*. Accept
4617 mips-*-elfl* and mips-*-elf*.
4618
17a0da33
ILT
4619Thu Oct 7 18:36:29 1993 Michael Meissner (meissner@osf.org)
4620
4621 * config/obj-elf.c (obj_elf_common): Allow the alignment field to
4622 not be specified.
4623
80aab579
ILT
4624Wed Oct 6 13:01:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4625
abdad6bc
ILT
4626 * config/tc-mips.c (cons_fix_new_mips): New function. Turn
4627 BFD_RELOC_64 into BFD_RELOC_32.
4628 * config/tc-mips.h (TC_CONS_FIX_NEW): Define.
4629 (cons_fix_new_mips): Declare.
4630
80aab579
ILT
4631 Changes to let cons handle bignums like general expressions.
4632 * expr.h (expressionS): New field X_unsigned.
4633 * expr.c (operand): Initialize X_unsigned to 1. Set it to 0 for
4634 unary minus case.
4635 (expr) Fix typo resultP to right if missing operand. Set
4636 X_unsigned to 1 when building new expression.
4637 * read.c (potable): Make "octa" and "quad" call cons, not
4638 big_cons.
4639 (cons): Handle bignums. If given an O_constant (small integer) to
4640 fill a big space, turn it into a bignum.
4641 (parse_bitfield_cons): Set X_unsigned field.
4642 (bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
4643 Removed.
4644 * read.h (big_cons): Remove prototype.
4645 * symbols.c (resolve_symbol_value): Don't give a warning if a
4646 symbol in expr_section can not be resolved.
4647 (S_SET_VALUE): Clear X_unsigned.
4648 * write.c (write_object_file): If resolve_symbol_value failed on a
4649 symbol we are writing out, give a warning.
4650 * config/tc-h8500.c (parse_reglist): Set X_unsigned.
4651 * config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
4652 call pa_cons, not pa_big_cons.
4653 (pa_big_cons): Remove.
4654 * config/tc-hppa.h (pa_big_cons): Remove declaration.
4655 * config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
4656 not big_cons.
4657
4658Tue Oct 5 10:53:36 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
4659
4660 * doc/as.texinfo (Copying): new node, to handle the recent changes
4661 in the texinfo/gpl.texinfo file
4662
4f5666c5
ILT
4663Mon Oct 4 17:10:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4664
4665 * read.c (big_cons): Handle "0" correctly.
4666
4667 * config/tc-mips.c (md_begin): Set target_big_endian correctly.
4668
8208ab5a
KR
4669Mon Oct 4 15:37:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4670
4671 * config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should
4672 have pc-relative fixup.
4673 (md_parse_option): Move "-k" case down near "-pic" case.
4674
31909d40
KR
4675 * configure.in: Alphabetize list of cpu type alternatives. Enable
4676 OS values of "linux*elf*" and "linux*coff*" to select those
4677 formats, with linux emulation. Don't bother checking for upper-
4678 or mixed-case versions of "ose".
4679
8208ab5a
KR
4680Thu Sep 30 11:05:35 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
4681
4682 * config/z8k.c (md_pseudo_table): add "unseg".
4683
6cc87fbb
RP
4684Wed Sep 29 16:15:11 1993 K. Richard Pixley (rich@sendai.cygnus.com)
4685
4686 * config/m88k-opcode.h (m88k_opcodes): correct a few mistakes
4687 found while extending the dissassembler.
4688
8f3956b3
SS
4689Tue Sep 28 12:02:04 1993 Stan Shebs (shebs@rtl.cygnus.com)
4690
4691 * configure.in: Split i386 LynxOS out from other coff targets,
4692 add a specific Lynx emulation.
4693 Add m68k LynxOS target.
4694 * config/tc-i386.c: Define specific Lynx target format.
4695 * config/tc-m68k.c: Define specific Lynx target format.
4696 * config/te-lynx.h: New file.
4697
4698 * config/obj-coffbfd.h: Don't set TARGET_FORMAT to be
4699 "coff-{i386,m68k}" if TARGET_FORMAT already defined.
4700 (INIT_STAB_SECTION): Define.
4701 * config/obj-coffbfd.c: Include <time.h>.
4702 (write_object_file): Look for .stab sections and call
4703 adjust_stab_section.
4704 (adjust_stab_section): New function, fills in the first symbol
4705 of a stab section with number of symbols and string table size.
4706 (obj_coff_init_stab_section): New function, creates the initial
4707 symbol for a stab section.
4708
43029a8f
KR
4709Mon Sep 27 15:21:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4710
4711 * config/atof-vax.c (md_atof): Return null on success instead of
4712 empty string.
4713 * config/atof-tahoe.c (md_atof): Ditto.
4714 * read.c (float_cons): Expect a null pointer for success, not an
4715 empty string.
4716
4717 * hash.c (hash_insert, hash_jam, hash_grow): Return null pointer
4718 on success, instead of empty string. All callers changed.
4719
4720 * config/tc-vax.c: Use PARAMS in declarations.
4721 (vip_op): Use NULL instead of empty string for success in error
4722 and warning fields.
4723
b7318ac4
KR
4724Sun Sep 26 23:45:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4725
b9790da8
KR
4726 * expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols
4727 in different defined segments.
4728
b7318ac4 4729 * write.c (relax_segment): Localize "aim" variable. If
132239bf 4730 DIFF_EXPR_OK, don't impose checks on symbol segment types.
b7318ac4
KR
4731 (fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current
4732 segment, convert to a PC-relative fixup and discard the symbol.
4733
4734 * config/tc-m68k.c (flag_want_pic): New variable, mostly ignored.
4735 (md_parse_option) [TE_SUN3]: Set it for "-k".
4736 (m68k_ip): Generate proper fixup for mode 7.3.
4737 * config/tc-m68k.h (DIFF_EXPR_OK): Define.
4738
c996b199
KR
4739Sat Sep 25 05:08:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4740
4741 * config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved
4742 earlier in the file.
4743 (insop, add_exp): Now defined as functions, for readability.
4744 (insop): Now takes two arguments; callers changed.
4745
6d6b97b7
RP
4746Fri Sep 24 12:37:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
4747
58f3e8a9
RP
4748 * config/tc-m88k.c (get_o6): new function.
4749 (get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
4750 get_vec9, getval, get_pcr, calcop, match_name): make static and
4751 prototype.
4752 (s_file): remove extraneous forward decl.
4753 (md_begin): add const to retval decl.
4754 (calcop): cope with instructions without arguments. Handle 'o'
4755 type argument, the o6 field of the prot insn.
4756 (md_estimate_size_before_relax): return a dummy value.
4757
6d6b97b7
RP
4758 * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
4759 in bits 10 through 7. flt.[dxs]s requires an r register in the
4760 second argument. New instruction lda.x. New instruction muls
4761 (alias for mul).
4762
4763Fri Sep 24 13:43:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4764
4765 * Makefile.in (distclean): Recurse like clean.
4766 * doc/Makefile.in (distclean): New target.
4767
4768 * config/tc-mips.c (md_begin): Set BFD architecture and machine
4769 based on MIPS ISA level.
4770
4771Thu Sep 23 17:58:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4772
4773 * as.c (main): "exhausted", not "exhuasted".
4774
4775 * struc-symbol.h (struct symbol): Add sy_used_in_reloc field.
4776 * write.c (adjust_reloc_syms): Set sy_used_in_reloc.
4777 (write_object_file): Never strip symbols with sy_used_in_reloc
4778 set.
4779
4780 * config/obj-elf.c (obj_elf_section): Rewrote to handle both
4781 Solaris and SVR4 style .section pseudo-ops.
4782 (obj_elf_ident): Set SEC_READONLY for .comment section.
4783 * config/tc-sparc.c (md_apply_fix): If this is ELF, and we're
4784 generating a reloc, don't apply a fix.
4785
6110df28
KR
4786Thu Sep 23 13:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4787
4788 * config/obj-coffbfd.c (relax_align): Now static.
4789
9bd0d649
ILT
4790Mon Sep 20 19:23:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4791
4792 * read.c (get_stab_string_offset): Make non-static. Make
4793 arguments const. Don't align strings to 4 byte boundaries.
4794 * read.h: Declare get_stab_string_offset.
4795 * config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
4796 SEC_LOAD for progbits section.
4797 (obj_elf_init_stab_section): New function.
4798 (adjust_stab_sections): Add casts to avoid warnings.
4799 * config/obj-elf.h (INIT_STAB_SECTION): Call
4800 obj_elf_init_stab_section.
4801 (OBJ_PROCESS_STAB): Removed definition.
4802
80903ca6
ILT
4803Fri Sep 17 18:12:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4804
4805 * config/obj-elf.h (S_GET_SIZE): Define.
4806 (obj_frob_forward_symbol): Define.
4807 * config/tc-i386.c (line_comment_chars): Initialize in all cases.
4808
13998021
ILT
4809Thu Sep 16 14:23:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4810
9bd0d649 4811 * tc.h: Declare tc_gen_reloc differently depending upon
13998021
ILT
4812 RELOC_EXPANSION_POSSIBLE.
4813 * config/obj-elf.c (obj_elf_section): Only set flags when first
4814 creating the section.
4815
4816Wed Sep 15 12:15:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4817
4818 * config/tc-mips.c (append_insn): Don't swap a trap instruction
4819 with a branch.
4820
4f0bccc7
ILT
4821Tue Sep 14 13:31:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4822
90397ff8
ILT
4823 * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
4824 set previous_section and previous_subsection and then call s_data
4825 and s_text, respectively.
4826 (obj_pseudo_table): Add data and text.
4827 (obj_elf_section): Add SEC_LOAD to default initialization of
4828 flags. Treat .rodata1 like .rodata. Set SEC_LOAD as well as
4829 SEC_ALLOC for "alloc" string. Don't bother trying to find the
4830 section; just use subseg_new.
4831
4f0bccc7
ILT
4832 * read.c (change_to_section): Removed. This is now done by
4833 subseg_new.
4834 (get_stab_string_offset): Rearranged somewhat. Create the section
4835 using subseg_new. Store the string index in seg_info, rather than
4836 in a static variable. Force the first string to be empty. Use
4837 frag_more rather than FRAG_APPEND_1_CHAR.
4838 (s_stab_generic): Rewrote.
4839 * subsegs.h (segment_info_type): Added stabu union.
4840 * subsegs.c (subseg_new): Initialize stab_string_size to 0.
4841 * config/obj-aout.c: Don't include aout/stab_gnu.h.
4842 (obj_aout_stab, obj_aout_desc): Removed.
4843 (obj_pseudo_table): Removed desc and stabX entries.
4844 * config/obj-bout.c: Same changes as config/obj-aout.c.
4845 * config/obj-bout.h (S_SET_TYPE): Define.
4846 (tc_bout_fix_to_chars): Declare.
4847 * config/obj-coff.c (obj_coff_stab): Removed.
4848 (obj_pseudo_table): Removed desc and stabX entries.
4849 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
4850 * config/obj-coffbfd.c (current_stab_symbol): Removed.
4851 * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
4852 n_other, n_desc and n_value fields.
4853 (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
4854 (MAKE_STAB_SYMBOL): Removed.
4855 * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
4856 Changed arguments and removed parsing code.
4857 (obj_pseudo_table): Removed stabX entries.
4858 * config/obj-ecoff.h (ecoff_stab): Declare.
4859 (OBJ_PROCESS_STAB): Define.
4860 * config/obj-elf.c: Don't include aout/stab_gnu.h.
4861 (obj_elf_stab, obj_elf_xstab, obj_elf_desc,
4862 elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
4863 Removed.
4864 (obj_pseudo_table): Removed desc, stabX and xstabs entries.
4865 (obj_elf_version): Use subseg_new, not bfd_make_section. Don't
4866 set SEC_LOAD for .note section.
4867 (adjust_stab_sections): Get frag pointer from seg_info, rather
4868 than looking through frags.
4869 * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
4870 (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
4871 Define.
4872 * config/obj-vms.c (obj_aout_stab): Removed.
4873 (obj_pseudo_table): Removed stabX entries.
4874 * config/obj-vms.h (S_SET_TYPE): Define.
4875
4876 * as.h: Declare listing.
4877 * read.c: Don't declare listing.
4878 (emit_expr): Cast fix_new_exp argument.
4879 (parse_bitfield_cons): Correct printf format.
4880 * symbols.c (symbol_new): Add cast to avoid warning.
4881 * write.h: Declare text_last_frag and data_last_frag.
4882 * config/obj-bout.c (obj_bout_line): Added dummy argument.
4883 * config/obj-coffbfd.c: Add some casts to avoid warnings.
4884 * config/tc-a29k.c: Likewise.
4885 * config/tc-i960.c: Likewise. Also fully bracket structure
4886 initializations, fix printf formats, and remove unused variables.
4887
604633ae
ILT
4888Mon Sep 13 16:48:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4889
4890 * read.c (s_desc): Only compile and use if S_SET_DESC is defined.
4891 * struc-symbol.h: Declare verify_symbol_chain and
4892 verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS.
4893 * symbols.c (verify_symbol_chain): Removed useless expression.
4894 * write.c (headers, the_object_file): Only use if not
4895 BFD_ASSEMBLER and not BFD.
4896 (fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or
4897 not BFD.
4898 (merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and
4899 not OBJ_AOUT).
4900 * write.h: Declare relax_segment.
4901 * config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made
4902 static.
4903 (stack_top): Commented out, since it's not used.
4904 Fixed up pseudo-op functions to take an ignored int argument.
4905 (size_section): Added default BAD_CASE to switch.
4906 Changed bzero calls to memset.
4907 * config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME
4908 (s), not on s itself.
4909 * config/tc-a29k.c (s_use): Take ignored int argument. Only
4910 define if OBJ_COFF is not defined.
4911 * config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make
4912 argument signed again.
4913 * config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int
4914 argument.
4915 (m68k_ip): Fully bracket initialization of archs.
4916 Correct several formats for __LINE__ to be %d rather than %s.
4917 (init_table): Fully bracket initialization.
4918 Cast values larger than 0x7f assigned to fr_opcode to char.
4919
4920 * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
4921 Wrote non-BFD_ASSEMBLER subseg_new. Now subseg_new always takes a
4922 section name, and subseg_set always takes a segT. Changed all
4923 callers as appropriate.
4924 * config/obj-coffbfd.c (change_to_section): Renamed to
4925 obj_coff_add_segment. Corrected. Made callers use subseg_new.
4926 * config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
4927 Define.
4928
54e3e909
DE
4929Mon Sep 13 13:15:03 1993 Doug Evans (dje@canuck.cygnus.com)
4930
4931 * config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'.
4932
58d4951d
ILT
4933Fri Sep 10 11:22:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4934
4935 * config/obj-elf.h (S_SET_SIZE): Actually set the size.
4936
4937 Gcc lint.
54e3e909 4938 * Added a number of casts to function calls.
58d4951d
ILT
4939 * app.c (do_scrub_begin), as.c (main), expr.c (integer_constant,
4940 operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY,
4941 read_a_source_file, s_align_bytes, demand_empty_rest_of_line,
4942 ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore),
4943 read.h (is_name_beginner, is_part_of_name), config/obj-elf.c
4944 (obj_elf_section), config/tc-i386.c (parse_register),
4945 config/tc-sparc.c (isoctal, s_proc): Cast char
4946 array indices to unsigned char.
54e3e909
DE
4947 * app.c (process_escape): Make static. Add prototype. Change
4948 argument from char to int.
58d4951d
ILT
4949 * as.c: Include output-file.h for prototypes. Comment out unused
4950 function got_sig.
4951 * Makefile.in (as.o): Depend on output-file.h.
4952 * as.h (BAD_CASE): Cast val argument to long, and use %ld.
54e3e909
DE
4953 (pseudo_typeS): Add prototype to poc_handler field.
4954 (print_version_id): Add prototype.
4955 (xmalloc, xrealloc): Change size arguments to unsigned long.
4956 (do_scrub_next_char): Add prototypes for function arguments.
4957 (had_errors, had_warnings, scrub_from_file): Remove duplicate
4958 declarations.
4959 * atof-generic.c (atof_generic): Make size variables unsigned.
58d4951d 4960 * cond.c (ignore_input): Removed unused local variable ptr.
54e3e909
DE
4961 * expr.c (floating_constant, integer_constant): Make static. Add
4962 prototypes.
4963 * flonum-copy.c (flonum_copy): Make size variables unsigned.
58d4951d 4964 * frags.h: Add prototype for frag_init.
54e3e909
DE
4965 * hash.h, hash.c: Change hash values from char * to PTR, make hash
4966 strings const, make returned error strings const char *. Added
4967 prototypes for functions.
4968 * input-file.h, input-file.c (input_file_buffer_size): Return
4969 unsigned int.
4970 * input-scrub.c (buffer_length): Make unsigned.
4971 (input_scrub_push, input_scrub_pop): Make static.
58d4951d
ILT
4972 * listing.c (list_symbol_table): Cast sprintf argument to unsigned
4973 long and use %lx. Print name of segment rather than address of
4974 structure.
54e3e909
DE
4975 (listing_list, listing_title): Change argument to int.
4976 (listing_eject, listing_flags, listing_psize): Add int argument.
4977 * listing.h: Corresponding declaration changes.
4978 * obj.h (obj_emit_symbols): Rename prototype argument to avoid
4979 shadowing.
58d4951d 4980 * read.h: Change get_absolute_expression prototype to return
54e3e909
DE
4981 offsetT. Add prototype for next_char_of_string. Various
4982 prototype changes.
58d4951d 4983 * read.c: Remove prototype for next_char_of_string.
54e3e909
DE
4984 (pobegin): Make errtxt const. Make new_length, tmp_len and num
4985 unsigned.
4986 (s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill,
4987 s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument.
4988 Change all callers.
58d4951d
ILT
4989 (s_comm): Change temp from valueT to offsetT. Cast to long when
4990 printing and use %ld (only for error messages anyhow).
54e3e909
DE
4991 (s_long, s_int): Remove unused functions.
4992 (cons): Change argument to int.
58d4951d
ILT
4993 (emit_expr): Use %lx when printing longs.
4994 (get_absolute_expression): Return offsetT, not long.
4995 (get_stab_string_offset): Comment out unless
4996 SEPARATE_STAB_SECTIONS.
4997 (s_stab_generic): Remove unused offset. Define seg_is_new only
4998 if SEPARATE_STAB_SECTIONS. Use toP only in local block.
54e3e909 4999 * struc-symbol.h (verify_symbol_chain_2): Add prototype.
58d4951d 5000 * symbols.c: Remove nested comment.
54e3e909 5001 (symbol_new): Rename value to valu.
58d4951d 5002 (colon): Use %ld and cast to long in error message.
54e3e909
DE
5003 * symbols.h: Remove duplicate verify_symbol_chain declaration.
5004 * tc.h: Remove unused md_emit_relocations declaration.
5005 (tc_gen_reloc): Add declaration.
58d4951d
ILT
5006 * write.c (cvt_frag_to_fill): Change first argument name depending
5007 on BFD_ASSEMBLER.
54e3e909
DE
5008 (write_relocs): Remove unused offset, frags. Remove tc_gen_reloc
5009 declarations. Make n unsigned.
5010 (write_contents): Remove unused i, n, relocs, fixp. Rename frags
5011 to f to avoid shadowing.
58d4951d
ILT
5012 (write_object_file): Define fragP only if not BFD_ASSEMBLER or not
5013 WORKING_DOT_WORD. Remove unused keep. Only declare punt and
54e3e909 5014 punt_it if they will be used. Make i and n unsigned.
58d4951d 5015 (fixup_segment): Cast to long and use %ld in error message.
54e3e909 5016 * xmalloc.c (xmalloc, xrealloc): Make size argument unsigned.
58d4951d
ILT
5017 * config/obj-aout.h: Remove nested comment. Add prototype for
5018 obj_aout_frob_symbol.
54e3e909
DE
5019 (obj_aout_line, obj_aout_desc): Add int argument.
5020 * config/obj-ecoff.c: Changed build routines to use an unsigned
5021 offset.
5022 (add_string): Make len unsigned long.
58d4951d
ILT
5023 (obj_ecoff_stab): Use %lu in error message.
5024 * config/obj-elf.c (obj_elf_common): Comment out unused label
5025 allocate_bss.
5026 (obj_elf_frob_symbol): Return 0 (currently broken).
54e3e909
DE
5027 (obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type,
5028 obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common,
5029 obj_elf_line, obj_elf_previous): Add int argument.
5030 (obj_elf_write_symbol_p): Make static.
5031 * config/obj-elf.h (obj_elf_write_symbol): Add prototype.
58d4951d
ILT
5032 * config/tc-hppa.h: Remove declarations of functions declared in
5033 read.h.
54e3e909
DE
5034 * config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT.
5035 (s_bss): Add int argument.
5036 (fits_in_signed_byte, smallest_imm_type): Make argument unsigned.
5037 (dummy): Remove unused function.
5038 (md_assemble): Rename local o to op to avoid shadowing.
5039 (tc_gen_reloc): Rename local reloc to rel to avoid shadowing.
5040 * config/tc-m68k.c (s_data1, s_data2): Add int argument.
58d4951d
ILT
5041 * config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use
5042 %ld in error messages.
54e3e909
DE
5043 * config/tc-sparc.c: Remove duplicate declarations.
5044 (getExpression): Rewrite condition to avoid empty conditional
5045 body.
5046 (s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int
5047 argument.
58d4951d 5048
892a3ff1
KR
5049Thu Sep 9 17:10:00 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5050
5051 Changes from Jeff Law:
5052
5053 * config/tc-hppa.c (md_assemble): Fix typo.
132239bf 5054 (pa_ip): Delete unused variables and labels. Do not check for
892a3ff1
KR
5055 unsigned values being < 0, it can't happen.
5056 (is_same_frag): Return a value in recursive call case.
5057 (pa_callinfo): Delete unused variables and labels.
5058 (pa_comm): Likewise.
5059 (pa_copyright): Likewise.
5060 (pa_export): Likewise.
5061 (pa_import): Likewise.
5062 (pa_param): Likewise.
5063 (pa_space): Likewise.
5064 (pa_subspace): Likewise.
5065
abdd08c9
ILT
5066Thu Sep 9 15:05:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5067
5068 * read.c (get_stab_string_offset, s_stab_generic): If
5069 BFD_ASSEMBLER, call subseg_set rather than subseg_new.
5070
414b2c8f
ILT
5071Wed Sep 8 15:09:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5072
5073 * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
5074 default flag values.
5075
4064305e
SS
5076Tue Sep 7 10:22:52 1993 Stan Shebs (shebs@rtl.cygnus.com)
5077
1531386b
SS
5078 * read.c: (change_to_section): Don't include body if not MANY_SECTIONS.
5079
4064305e
SS
5080 * read.c: (s_stab, s_xstab, s_desc): New functions to parse
5081 various stab-related directives.
5082 * read.h: (s_stab, s_xstab, s_desc): New function prototypes.
5083 * write.c: (merge_data_into_text): Fix ifdef tangle.
5084 * config/obj-coffbfd.c (current_stab_symbol): Fake symbol
5085 for stab reader to use.
5086 * config/obj-coffbfdh.h (obj_symbol_type): Added fields for
132239bf 5087 stab reader, macros to access.
4064305e 5088
81b407c9
KR
5089Fri Sep 3 16:44:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5090
fd4b7c25
KR
5091 * config/obj-elf.h (elf_symbol): No longer special-cased on
5092 sparcv9, since elf_symbol_type is now independent of size.
5093
81b407c9
KR
5094 * config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type.
5095
5096 * config/tc-hppa.h (struct default_subspace_dict, struct
5097 default_space_dict): Field "sort" is now unsigned char.
5098
5099 * config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align
5100 columns for easier reading.
5101 (bcmp, index): Deleted USG-specific definitions. Should be dealt
5102 with in ho-*.h, or in libiberty. Changed mention of index to
5103 strchr.
5104 (label_symbolP, label_symbol_defined, callinfo_found,
5105 within_entry_exit, exit_processing_complete, within_procedure,
5106 pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc,
5107 label_symbols_rootP, pa_get_label, pa_label_is_defined,
5108 pa_undefine_label): Now static.
5109 (movers): Now const, in addition to pointing to const data.
5110 * config/tc-hppa.h (label_symbolS_rootP, pa_get_label,
5111 pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc):
5112 Delete declarations.
5113
5114 Merged more changes from Jeff Law and Pete Hoogenboom:
5115
5116 * config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove
5117 entries for .stab and .stabstr.
5118
5119 * config/obj-elf.c: (elf_stab_symbol_string): Set the
5120 SEC_LOAD attribute for the .stabstr section.
5121 (obj_elf_stab_generic): Set the SEC_LOAD attribute for the
5122 .stab section.
5123 (obj_elf_stab_generic): Change '#if 1' to '#if 0'.
5124 (obj_elf_stab_generic): Incorrect byte count on call to
5125 md_number_to_chars function.
5126
5127 * config/tc-hppa.c (hppa_tc_symbol): Static functions need
5128 argument relocation bits too.
5129
5130 * config/tc-hppa.c (pa_stringer): Correctly handle escaping
5131 characters which should appear unaltered in the output string (for
5132 example an escaped double-quote).
5133
5134 * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always
5135 initialize name.
5136 (pa_parse_neg_cmpsub_cmpltr): Likewise.
5137 (pa_parse_nonneg_add_cmpltr): Likewise.
5138 (pa_parse_neg_add_cmpltr): Likewise.
5139
5140 * config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype
5141 for now.
5142 (cons_fix_new_hppa): Likewise.
5143 * config/tc-hppa.c (md_apply_fix): Fix type of valp to match
5144 prototype.
5145
5146 * config/tc-hppa.c: Include libhppa.h.
5147
132239bf 5148 * config/tc-hppa.h: Delete extern declarations of functions
81b407c9
KR
5149 found in libhppa.h.
5150
5151 * config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef
5152 OBJ_ELF conditionals.
5153 * config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels
5154 on the PA.
5155
1849d646
ILT
5156Thu Sep 2 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5157
ff3a5c18
ILT
5158 * config/tc-mips.c (macro_build): Accept 'z', and ignore it.
5159 (macro): Use "z,s,t" for div instructions to match corresponding
5160 change in opcode table.
5161 (mips_ip): Added 'z'--must be zero register.
1849d646 5162
e96d50d0
KR
5163Wed Sep 1 15:56:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5164
5165 * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare
5166 tc_gen_reloc correctly.
5167
5168 * configure.in: Use "case" instead of "if" when possible. Rewrote
5169 Makefile editing to reduce work done. Treat "hppa*" as "hppa".
5170
56607c4e
RP
5171Wed Sep 1 12:19:07 1993 K. Richard Pixley (rich@sendai.cygnus.com)
5172
5173 * config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for
5174 section type of data. 'd' seems to be used for m88k.
5175
5176Wed Aug 25 22:33:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5177
5178 * config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons,
5179 s_mips_space): Set insn_label to NULL to avoid changing it at the
5180 next .align statement.
5181 (append_insn): Don't swap jal with instruction that sets the
5182 register that jal sets.
5183
37d719bb
RP
5184Wed Aug 25 16:15:57 1993 K. Richard Pixley (rich@sendai.cygnus.com)
5185
5186 * configure.in: recognize m88110.
5187
28344993
KR
5188Wed Aug 25 13:37:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5189
5190 Merged changes from Pete Hoogenboom and Jeff Law at Utah:
5191 * config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should
5192 not be on for .hppa_unwind.
5193 (md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS.
5194 (pa_param): New function to handle .PARAM directives.
5195 (pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr
5196 functions. Handle '|' for movb; allow movb,n.
5197 (pa_parse_nonneg_cmpsub_cmpltr): Delete old useless
5198 version. Handle cases where no completer exists for
5199 comb,n or addb,n.
132239bf 5200 (pa_parse_neg_cmpsub_cmpltr): Handle cases where no
28344993
KR
5201 completer exists for comb,n or addb,n. Make logic
5202 mirror that of pa_parse_nonneg_cmpsub_cmpltr.
5203 (pa_parse_nonneg_add_cmpltr): Likewise.
5204 (pa_parse_neg_add_cmpltr): Likewise.
5205 * tc-hppa.h (pa_param): Declare.
5206
5207Tue Aug 24 15:41:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5208
5209 * config/tc-hppa.c (hppa_tc_make_symextn_section): Now static.
5210 Added forward declaration.
5211
5212 Merged changes from Pete Hoogenboom and Jeff Law at Utah:
5213
5214 * config/obj-elf.c (elf_frob_file): Arguments were incorrect on
5215 call to elf_tc_make_sections.
5216 (obj_elf_version): A .note section shouldn't have the SEC_ALLOC
5217 attribute.
5218
5219 * config/tc-hppa.c (hppa_tc_make_sections): Add some processing to
5220 handle symbol extension sections.
5221
5222 * config/tc-hppa.c (pa_build_symextn_section): New function to
5223 create a symbol extension section.
5224 (pa_export_args): Make call to pa_build_symextn_section.
5225 (hppa_tc_symbol, hppa_tc_make_sections,
5226 hppa_tc_make_symextn_section): New functions.
5227 * config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections
5228 macros.
5229
5230 * read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the
5231 BFD_ASSEMBLER branch as well.
5232
5233 * config/tc-hppa.h: If ELF is the target object format, define
5234 some ELF- and hppa-specific types and constants.
5235
5236 * config/tc-hppa.c (getExpression): Fix a typo.
5237
5238 * read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine
5239 if a `=' is part of an instruction.
5240 (read_a_source_file): Handle case where end-of-line markers are
5241 also used within instructions.
5242 * config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define.
5243
5244 * config/tc-hppa.c (md_apply_fix_1): Keep relocations for
5245 out-of-range branches/'calls using "bl" or calls which may need
5246 argument relocation stubs. Do not need/keep relocations for
5247 conditional branches.
5248 (elf_hppa_final_processing): Fix calculation of function size.
5249
5250 * config/obj-elf.c (obj_elf_version): Mark .note section as
5251 READONLY.
5252
5253 * config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the
5254 address of exp, to expression.
5255 (pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on.
5256 (md_apply_fix_1): Delete unwanted comments.
5257 (process_exit): Symbols marking the end of a function are always
5258 BSF_LOCAL.
5259
5260 * config/tc-hppa.c: Include elf32-hppa.h from BFD tree.
5261 (pa_space): Declare and initialize gdb_section.
5262
5263 * config/obj-elf.c (elf_frob_file): Change
5264 elf_tc_final_processing_hook to elf_tc_final_processing.
5265
5266 * config/tc-hppa.c (fix_new_hppa): Fix argument list to match
5267 argument type declarations.
5268 (getExpression): Fix typo.
5269 (pa_export_args): Change elf_symbol_type to elf32_symbol_type.
5270 (elf_hppa_final_processing): Likewise. Name changed from
5271 elf_hppa_final_processing_hook.
5272 (start_symbol_root, start_symbol_last): Deleted.
5273
5274 * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo.
5275
5276 * config/tc-hppa.h: Replace "symbolS" with "struct symbol" to
5277 avoid changing include ordering.
5278
5279 * config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'.
5280
6e8dda9c
ILT
5281Mon Aug 23 12:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5282
5283 * config/tc-mips.c (set_at): Added unsignedp argument. Use
5284 load_register.
5285 (set_at_unsigned): Removed; changed callers to use set_at.
5286 (load_register): Removed unused ip argument. Changed callers.
5287 (append_insn): Don't swap branch and branch likely.
5288 (macro_build): Handle 'u'.
5289 (load_register): Handle 64 bit constants.
5290 (macro): Added M_DABS, removed M_ABSU. Numerous changes to
5291 support 64 bit constants.
5292 (mips_ip): Use hex constants in range checks for clarity.
5293 (md_number_to_chars): Support 8 byte values.
5294
1e35cd8f
RP
5295Fri Aug 20 16:50:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
5296
5297 * config/tc-m88k.h: updated copyrights.
5298 (TC_CONS_RELOC): declare to be RELOC_32.
5299
8358c818
ILT
5300Fri Aug 20 11:16:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5301
5302 * config/tc-mips.c (mips_isa): New static variable.
5303 (md_begin): Initialize mips_isa based on TARGET_CPU. Don't sanity
5304 check macros. Set text alignment and GP size here.
5305 (md_assemble): Don't set text alignment and GP size here.
5306 (append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
5307 Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S. Add
5308 a NOP after a branch likely.
5309 (mips_emit_delays): Don't insert NOPS for load delays if mips_isa
5310 >= 2.
5311 (macro): Support r6000 and r4000 macros.
5312 (mips_ip): Check insn ISA level against mips_isa before using it.
5313 Added 'x' case for ignored register.
5314 (md_parse_option): Handle -mipsN and -mcpu=XX.
5315
c8d4cda1
KR
5316Fri Aug 20 01:26:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5317
5318 * config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero".
5319
5320Thu Aug 19 12:15:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5321
5322 * config/tc-sparc.c (s_local): Function moved and renamed...
5323 * config/obj-elf.c (obj_elf_local): ...to here.
5324 * config/tc-sparc.c (md_pseudo_table), config/obj-elf.c
5325 (obj_pseudo_table): Move handling of ".local".
5326
5327 * tc.h (md_parse_option): Don't declare if defined as a macro.
5328
5329 * config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as
5330 BFD_RELOC_NONE.
5331 (md_parse_option): New macro, converted from function.
5332 * config/tc-i386.c (md_parse_option): Function deleted.
5333 (comment_chars) [OBJ_ELF]: Include "/".
5334 (line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
5335 (md_assemble): Cast 0xe9 to char explicitly, to avoid compiler
5336 warning.
5337 (md_assemble, md_estimate_size_before_relax, md_create_long_jump):
5338 Call reloc for fix_new type, or use correct enumerator, instead of
5339 always using NO_RELOC.
5340 (i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
5341 tests for valid section.
5342 (md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start
5343 address.
5344 (md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
5345 symbol, compensate for location of reloc.
5346 (reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define
5347 to return zero.
5348
4915cac0
KR
5349Wed Aug 18 16:51:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5350
5351 * config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h.
5352 (obj_elf_weak): New function.
5353 (obj_pseudo_table): Handle ".weak".
5354 (obj_elf_section): If section directive includes a string, ignore
5355 it for now. Accept "progbits" flag.
5356 (obj_elf_type): Accept `@' before flag name.
5357
5358 * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)'
5359 condition.
5360 (fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather
5361 than checking for bfd_com_section directly.
5362 (fixup_segment): Simplify range check.
5363 (fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition
5364 test.
5365
5366 * symbols.h (S_SET_WEAK): Declare.
5367 * symbols.c (S_SET_WEAK): New function.
5368 (S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT,
5369 it's not a separate flag any more. Clear BSF_WEAK.
5370
5371 * read.c (potable): Treat "string" like "asciz".
5372
19ed8960
ILT
5373Wed Aug 18 15:30:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5374
5375 * config/tc-mips.c (append_insn): Don't swap branch instructions
5376 if .set nobopt or .set volatile.
5377 (gp_reference): .lit8 and .lit4 are accessed via the GP register.
5378 (macro): Added cases M_LI_S, M_LI_SS. Fixed M_LI_D and M_LI_DD.
5379 (mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
5380 * config/obj-ecoff.c: Renamed some variables to avoid shadow
5381 warnings.
5382
ae8c28f8
DZ
5383Mon Aug 16 14:16:02 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
5384
19ed8960
ILT
5385 * config/obj-coff.h (S_IS_COMMON): add missing backslash
5386
ae8c28f8
DZ
5387 * configure.in (z8k-*-{coff,sim}): use coffbfd for this target
5388
0aa07269
ILT
5389Thu Aug 12 11:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5390
5391 * config/tc-mips.c (mips_ip): Suggested by
5392 davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
5393 names for 'E' and 'G' argument types (coprocessor registers) and
5394 don't warn if $1 is used on the coprocessor.
ae8c28f8 5395 (macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
0aa07269
ILT
5396
5397Mon Aug 9 12:09:14 1993 Doug Evans (dje@canuck.cygnus.com)
5398
5399 * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
5400 * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
5401 BFD_RELOC_16.
5402 * config/tc-sparc.h (WORKING_DOT_WORD): Define.
5403
6a9cf6fa
KR
5404Mon Aug 9 13:36:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5405
5406 * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
5407 defined or BFD is not.
5408 (relax_and_size_all_segments): Declare local variable fragP.
5409
b114e492
KR
5410Fri Aug 6 15:22:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5411
5412 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
5413 bytes with real values, not zeros.
5414
ac32a7e7
ILT
5415Fri Aug 6 10:57:59 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5416
3d2330f8
ILT
5417 * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
5418 targets, using ecoff and mips-big.
5419
ac32a7e7
ILT
5420 * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
5421 Johnson): Added case for 'C' for coprocessor instruction codes.
5422
273aa947
KR
5423Thu Aug 5 13:08:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5424
fd4b7c25
KR
5425 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): Fill in
5426 bytes with real values, not zeros.
5427 (md_pseudo_table): Call cons for .uaxword.
5428
b114e492
KR
5429 * config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
5430
273aa947
KR
5431 * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
5432
b114e492
KR
5433 * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
5434 for verifying symbol chain.
5435 (merge_data_into_text, relax_and_size_all_segments): New
5436 functions, split out from write_object_file.
5437
273aa947
KR
5438Tue Aug 3 15:43:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5439
5440 * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
5441 debug section is new, allocate an extra 12 bytes at its start. If
5442 ".stabs" type is N_SO, fill in filename symbol field of that first
5443 entry. Return early if "goof", to simplify later code slightly.
5444 (adjust_stab_sections): New function.
5445 (elf_frob_file): Apply adjust_stab_sections to each section.
5446
5447 * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
5448 static.
5449 * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
5450 * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
5451 and "popsection", and call cons for "uaword" and "uahalf".
5452
5453 * config/obj-elf.c (obj_elf_version): Use English in error
5454 messages.
5455
4573d186
ILT
5456Tue Aug 3 11:29:06 1993 Ian Lance Taylor (ian@cygnus.com)
5457
5458 * config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the
5459 swapping routines and external structure sizes via the
5460 ecoff_backend information. No longer includes coff/mips.h.
5461
b4703fa6
ILT
5462Mon Aug 2 17:35:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5463
4c7ff23d
ILT
5464 * config/obj-ecoff.c (get_tag): Save tag name in permanent memory
5465 and in hash_ptr->string.
5466
b4703fa6
ILT
5467 * app.c (do_scrub_next_char): Reset state to 0 after .appline if
5468 file name is not seen.
5469
fd4b7c25
KR
5470Mon Aug 2 11:51:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5471
5472 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): New case,
5473 parallel to BFD_RELOC_32.
5474 (tc_gen_reloc): Accept BFD_RELOC_64.
5475
ced16de6
ILT
5476Thu Jul 29 22:21:28 1993 Ian Lance Taylor (ian@cygnus.com)
5477
5478 * write.c: Don't use short int in a prototype.
ab4d34cd
ILT
5479
5480 * expr.c (operand): Make return value simply depend on contents of
5481 returned expression.
5482
b4703fa6
ILT
5483Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
5484
5485 * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
5486
0ccc65ec
DZ
5487Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
5488
5489 * config/ho-sunos.h: remove some old function decls that conflict
5490 w/ ANSI, and which weren't needed anyway
5491
5492Wed Jul 28 16:34:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5493
5494 * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
5495 and disabled since it breaks Ian's new symbol-value code.
5496
5497 * expr.c (integer_constant): Accept more digits if BFD64.
5498
7fe17970
ILT
5499Wed Jul 28 11:30:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5500
5501 * config/tc-m68k.c (m68k_ip): If we have a normal constant when we
5502 expect a bignum, turn it into a bignum. Output extra zeroes
5503 before a short bignum, rather than after.
5504
0c2734c3
KR
5505Tue Jul 27 15:54:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5506
5507 * symbols.c (symbol_new): Conditionalize verify_symbol_chain call
5508 on DEBUG_SYMS, not DEBUG.
5509 (symbol_remove): Likewise.
5510 (symbol_insert): Likewise.
5511
4fe45d22
ILT
5512Tue Jul 27 08:45:05 1993 Ian Lance Taylor (ian@cygnus.com)
5513
5514 * config/tc-mips.c (mips_optimize): New static variable.
e9f108bc
ILT
5515 (append_insn): If mips_optimize == 0, always insert NOP
5516 instructions. If mips_optimize < 2, don't swap branches.
5517 (md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
4fe45d22 5518
de9310b9
RP
5519Mon Jul 26 18:02:43 1993 K. Richard Pixley (rich@sendai.cygnus.com)
5520
5521 * Makefile.in (clean): if testsuite does not exist, then skip it.
5522
5523Fri Jul 23 14:13:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5524
5525 * config/tc-mips.c (prev_insn_unreordered,
5526 prev_prev_insn_unreordered): New static variables.
5527 (append_insn): Don't swap branch instruction if
5528 prev_prev_insn_unreordered (see comment).
5529 (mips_no_prev_insn): Clear the unreordered variables.
5530 (s_mipsset): When turning on reordering, set the unreordered
5531 variables.
5532
7767e7e9
KR
5533Fri Jul 23 13:09:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5534
5535 * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
5536 are also magic, and have special default flag settings.
5537 (obj_elf_frob_symbol): Since the return value from this function
5538 isn't used, don't bother calling obj_elf_write_symbol_p, since it
5539 doesn't accomplish anything else.
5540
5541 * config/tc-sparc.c (md_section_align): Round up section size only
5542 for a.out format.
5543
5544 * symbols.c: Don't define DEBUG by default.
5545
88b457e5
ILT
5546Thu Jul 22 12:09:41 1993 Ian Lance Taylor (ian@cygnus.com)
5547
2a2d3d08
ILT
5548 * write.c (fix_new_exp): Handle a O_uminus expression.
5549
e979ea04
ILT
5550 * expr.c (expr): Don't let absolute_section override
5551 undefined_section for the return value.
5552
cf897ce2
ILT
5553 * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
5554 pseudo-op with a poc_handler field of NULL, ignore it and treat it
5555 as an instruction instead.
5556 * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
5557 poc_handler field.
5558
88b457e5
ILT
5559 * config/tc-h8500.c (md_begin): Use a local variable when
5560 initializing md_relax_table to avoid warnings about modifying a
5561 supposedly const data structure.
5562
88e12460
BK
5563Thu Jul 22 10:58:51 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
5564
5565 * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
5566 is defined.
5567
86a6ada2
FF
5568Wed Jul 21 17:32:02 1993 Fred Fish (fnf@deneb.cygnus.com)
5569
5570 * configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv.
5571 * configure.in (case ${generic_target}): Add i[34]86-*-sysv4*
5572 case to set obj_format=elf. Must go before i386-*-sysv* case that
5573 sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and
5574 *-*-solaris case, and move to before *-sysv* case that wants to
5575 set obj_format to coff.
5576 * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
5577 'exp->X_op'.
5578 * config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for
5579 BFD_ASSEMBLER case.
5580
8ff6f40e
ILT
5581Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5582
2c5c299f
ILT
5583 * config/obj-aout.c: Include aout/aout64.h.
5584 (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
5585 symbol, so that BFD doesn't tamper with the type.
5586
8ff6f40e
ILT
5587 * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
5588 up opcodes as pseudo-ops even if they don't start with '.'.
5589 * config/tc-m88k.h (NO_PSEUDO_DOT): Define.
5590 * config/tc-m88k.c (md_assemble): Removed special pseudo-op
5591 handling.
5592 (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
5593 Output the low 16 bits for RELOC_HI16, not the high 16 bits.
5594 * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
5595 r_offset field of the reloc to the fixup offset.
5596 (fixup_segments): If TC_M88K, don't warn about fixup overflows.
5597 * doc/as.texinfo: Minor updates.
5598
5ac34ac3
ILT
5599Tue Jul 20 19:28:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5600
5601 * Extensive changes to permit symbols to contain any expression
5602 type and to delay the computation of the expression until the
5603 value is actually needed. This permits setting symbols to values
5604 calculated based on object code size. Expressions were changed to
5605 no longer be in a section, to stop the overloading of segment and
5606 expression type that previously occurred.
5607
5608 * as.c (big_section, pass1_section, diff_section, absent_section):
5609 Removed.
5610 (expr_section): Added (used for dummy symbols which hold
5611 intermediate expression values).
5612 (perform_an_assembly_pass): Create expr_section, do not create the
5613 sections now removed.
5614 * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
5615 SEG_DIFFERENCE. Added SEG_EXPR.
5616 (SEG_NORMAL): Corresponding changes.
5617 * subsegs.c (seg_name, subsegs_begin): Changed accordingly.
5618 * write.c (write_object_file): Ditto.
5619 * config/obj-aout.c (seg_N_TYPE): Ditto.
5620 * config/obj-bout.c (seg_N_TYPE): Ditto.
5621 * config/obj-coff.c (seg_N_TYPE): Ditto.
5622 * config/obj-coffbfd.c (seg_N_TYPE): Ditto.
5623 * config/obj-vms.c (seg_N_TYPE): Ditto.
5624
5625 * expr.h (operatorT): Moved in from expr.c, added some values.
5626 (expressionS): Added X_op field, removed X_seg field; renamed
5627 X_subtract_symbol to X_op_symbol.
5628 * expr.c: Extensive changes to assign expression types rather than
5629 sections and to simplify the parsing.
5630 * write.c (fix_new_internal): New static function.
5631 (fix_new): Removed sub_symbol argument.
5632 (fix_new_exp): New function, takes expression argument.
5633 * write.h: Prototype changes for fix_new and fix_new_exp.
5634 * cond.c (s_if): Changed accordingly.
5635 * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
5636 parse_repeat_cons, get_segmented_expression,
5637 get_known_segmented_expression, get_absolute_expression): Ditto.
5638 * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
5639 Ditto.
5640 * write.c (write_object_file): Ditto.
5641 * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
5642 * config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
5643 obj_coff_endef, yank_symbols): Ditto.
5644 * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
5645 * config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
5646 print_insn, md_operand): Ditto.
5647 * config/tc-h8300.c (parse_exp, colonmod24, check_operand,
5648 do_a_fix_imm, build_bytes): Ditto.
5649 * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
5650 get_specific, check, insert, md_convert_frag): Ditto.
5651 * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
5652 md_assemble, pa_ip, getExpression, getAbsoluteExpression,
5653 evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
5654 process_exit): Ditto.
5655 * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
5656 is_complex): Ditto.
5657 * config/tc-i386.c (pe, md_assemble, i386_operand,
5658 md_estimate_size_before_relax, md_create_long_jump): Ditto.
5659 * config/tc-i860.c (md_assemble, getExpression, print_insn):
5660 Ditto.
5661 * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
5662 get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
5663 i960_handle_align): Ditto.
5664 * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
5665 subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
5666 md_estimate_size_before_relax, md_create_long_jump, get_num):
5667 Ditto.
5668 * config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
5669 md_create_short_jump, md_create_long_jump): Ditto.
5670 * config/tc-mips.c (md_assemble, append_insn, gp_reference,
5671 macro_build, macro, my_getExpression): Ditto. Also removed
5672 get_optional_absolute_expression; just use get_absolute_expression
5673 instead.
5674 * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
5675 fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
5676 * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
5677 * config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
5678 Ditto.
5679 * config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
5680 print_insn): Ditto.
5681 * config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
5682 tip_op, md_assemble): Ditto.
5683 * config/tc-vax.c (seg_of_operand, md_assemble,
5684 md_estimate_size_before_relax, md_create_long_jump): Ditto.
5685 * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
5686
84873870
DZ
5687Tue Jul 20 12:17:16 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
5688
5689 * configure.in: i386-lynx is the same as i386-coff
5690
623d6e9a
KR
5691Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
5692
5693 * config/obj-elf.c (obj_elf_previous): New function.
5694 (previous_section, previous_subsection): New vars.
5695 (obj_elf_section): Save current place in case DWARF code wants us
5696 to pop back to it. Handle unquoted section name as well as quoted
5697 section name. Don't crash on invalid strings.
5698 (obj_pseudo_table): Handle new pseudos "previous", "2byte", and
5699 "4byte".
5700
5701 * config/obj-elf.h: Don't include struc-symbol.h.
5702 (obj_elf_frob_symbol): Declare arg as struct symbol *.
5703
5704 * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
5705 "L" or "_.L_".
5706
5707 * write.c (write_relocs): New function, split off from
5708 write_contents. Use memset instead of bzero.
5709 (write_object_file): Apply write_relocs to each section before
5710 applying write_contents.
5711
5712 * read.c (read_begin): Call obstack_begin with values closer to 1K
5713 multiples.
5714 (read_a_source_file, big_cons, float_cons): Use memcpy instead of
5715 bcopy.
5716
ffffc8fb
ILT
5717Mon Jul 19 14:30:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5718
ce2ad89a
ILT
5719 * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
5720 calculating opP->isiz; this permits the expression size to be
5721 determined as well, later on.
5722
ffffc8fb
ILT
5723 * expr.c (clean_up_expression): Don't cancel the subtraction of
5724 undefined symbols.
5725
5726 * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
5727 switch to text section rather than data section.
5728
9d4dfbf3
KR
5729Mon Jul 19 12:35:39 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5730
5731 * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
5732 expression (to take the pc-rel instruction itself into account)
5733 before using the expression, instead of after.
5734
04acd059
ILT
5735Fri Jul 16 08:56:04 1993 Ian Lance Taylor (ian@cygnus.com)
5736
1e9cf565
ILT
5737 * read.c (float_cons): Simplified parsing logic. If
5738 REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
5739
5740 * symbols.c (colon): Rather than a special case for TC_HPPA,
5741 use new macro tc_frob_label.
5742 * config/tc-hppa.h (tc_frob_label): Define.
5743
5744 * config/tc-mips.c: Many changes to support simple assembler
5745 optimization.
5746 (insn_label, prev_insn, prev_prev_insn, dummy_opcode,
5747 prev_insn_valid, prev_insn_frag, prev_insn_where,
5748 prev_insn_fixp, prev_insn_is_delay_slot): New static
5749 variables.
5750 (insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
5751 mips_align, s_stringer, s_mips_space): New static functions.
5752 (mips_define_label): New global function.
5753 (md_pseudo_table): For "ascii", "asciz", "asciiz", call
5754 s_stringer. Changed argument to float_cons from 0 or 1 to 'f'
5755 or 'd'. For "space" call s_mips_space.
5756 (md_begin): Call mips_no_prev_insn.
5757 (append_insn): Only insert necessary NOP instructions.
5758 (macro): Call mips_emit_delays before setting mips_noreorder.
5759 Increment and decrement mips_noreorder rather than using
5760 save_reorder_condition. Don't bother to use noreorder in
5761 M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
5762 (md_atof): Handle floating point numbers correctly for both
5763 big and little endian targets.
5764 (s_align, s_cons): Call mips_align rather than frag_align.
5765 (s_change_seg, s_cons): Call mips_emit_delays.
5766 (s_float_cons): Let float_cons do the work.
5767 (s_mipsset): Call mips_emit_delays when setting noreorder.
5768 * config/tc-mips.h (tc_frob_label): Define to be
5769 mips_define_label.
5770
04acd059
ILT
5771 * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
5772 ecoff_frob_files): Consistently use S_GET_VALUE rather than
5773 bfd_asymbol_value. Warn if taking difference of symbols in
5774 different segments.
5775
c978e704
ILT
5776Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5777
5276e361
ILT
5778 * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
5779 with a warning.
5780
2368ec63
ILT
5781 * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
5782 by md_pcrel_from if we are relocating against a symbol (we still
5783 need md_pcrel_from for a PC relative relocation within the same
5784 file).
5785 * config/tc-m88k.c (md_pcrel_from): Corrected return value.
cb441b38 5786 (omagic): Removed unused variable.
2368ec63 5787
c978e704
ILT
5788 * Preliminary support for m88k-coff.
5789 * configure.in (m88k-*-coff*): New target. Use coffbfd and
5790 m88kcoff.
5791 * config/m88kcoff.mt: New file.
5792 * read.c (lex_type): New macro LEX_AT to set lex type of '@'.
5793 (pseudo_set): Handle difference of symbols in different fragments
5794 by saving the entire expression as the value of the symbol.
5795 * symbols.c (resolve_symbol_value): Resolve difference
5796 expressions.
5797 * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
5798 "sdef" as a synonym for "def".
5799 * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
5800 TARGET_FORMAT.
5801 (S_IS_LOCAL): Any symbol which includes \001 in the name is local.
5802 * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
5803 m88k port up to date, and to add COFF support.
5804
85051959
ILT
5805Wed Jul 14 15:09:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5806
5868b1fe
ILT
5807 * Removed sy_forward and replaced it with an undefined expression
5808 as the value of a symbol.
5809 * struc-symbol.h (struct symbol): Removed sy_forward field. Added
5810 sy_resolved and sy_resolving single bit fields.
5811 * symbols.c (symbol_new): Don't initialize sy_forward field.
5812 (resolve_symbol_value): New function to adjust symbol value by
5813 fragment address, using recursion to resolve forward symbols.
5814 * symbols.h: Added prototype for new function.
5815 * read.c (pseudo_set): Set symbolP->sy_value to an undefined
5816 expression rather than setting symbolP->sy_forward.
5817 * write.c (write_object_file): Use resolve_symbol_value on
5818 symbols, keeping the common case (the old behaviour) inline.
5819 * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
5820 handling (subsumed by write.c change).
5821 * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
5822 sy_value rather than sy_forward.
5823 * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
5824 expression segment rather than sy_forward.
5825 (yank_symbols): Use resolve_symbol_value.
5826 (crawl_symbols): Removed extra pass over symbols.
5827 * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
5828 config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
5829 symbols which handled sy_forward; use resolve_symbol_value
5830 instead.
5831 * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
5832 Define.
5833 * config/obj-elf.c (obj_elf_stab_generic): Check expression
5834 segment rather than sy_forward.
5835 * config/obj-vms.c (VMS_Check_For_Main): Don't initialize
5836 sy_forward; do initialize sy_resolved and sy_resolving.
5837 * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
5838
85051959
ILT
5839 * Changes to keep a full expression as the value of a symbol, not
5840 just a longword:
5841 * struc-symbol.h: New field sy_value.
5842 * as.h: Include expr.h before struc-symbol.h.
5843 * expr.h: Use struct symbol rather than symbolS.
5844 * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
5845 of sy_value field; compile unconditionally, not just if
5846 BFD_ASSEMBLER.
5847 * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
5848 * write.c (write_object_file): Set BFD symbol value to gas symbol
5849 value.
5850 * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
5851 config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
5852 (S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
5853 * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
5854 * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
5855 S_GET_VALUE rather than ost_entry.n_value.
5856 * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
5857 (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
5858 config/obj-coffbfd.c (symbol_to_chars): Get value to write out
5859 using S_GET_VALUE--don't assume it is already set.
5860 * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
5861 symbol value.
5862 * config/obj-vms.c (various): Don't assign directly to
5863 S_GET_VALUE; use S_SET_VALUE instead.
5864
b50401c9
DE
5865Wed Jul 14 09:35:23 1993 Doug Evans (dje@canuck.cygnus.com)
5866
fd4b7c25
KR
5867 * configure.in: Make sparc64-*-aout* use bfd gas.
5868
b50401c9
DE
5869 * configure.in: Recognize h8300h.
5870
489a93f3
SC
5871Tue Jul 13 12:09:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
5872
5873 * config/tc-h8500.c (line_comment_chars): Add hash.
5874 (parse_exp, skip_colonthing, build_bytes): Add support for
5875 R_H8500_HIGH16 relocation type.
5876
5d4ef296
KR
5877Mon Jul 12 11:15:34 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
5878
5879 * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
5880 attribute name. Handle `execinstr' attribute.
5881
99c24539
ILT
5882Mon Jul 12 07:22:28 1993 Ian Lance Taylor (ian@cygnus.com)
5883
5884 * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
5885 there is another alternative for the instruction.
5886
ec1c752b
RP
5887Fri Jul 9 17:31:34 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
5888
5889 * doc/as.texinfo: updates for H8/300H
5890
d358969d
ME
5891Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com)
5892
5893 * config/tc-i960.c (md_create_short_jump, md_create_long_jump,
5894 md_number_to_chars, md_section_align): Adjusted to use valueT,
5895 addressT, to match tc.h.
5896
ff4cac38
KR
5897Thu Jul 8 14:15:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5898
5899 * config/tc-sparc.c (s_common): Revamp to handle both syntaxes,
b2565433 5900 independent of format.
ff4cac38 5901
42206996
DE
5902Thu Jul 8 07:25:25 1993 Doug Evans (dje@canuck.cygnus.com)
5903
5904 * config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h.
5905
e9baeb46
DZ
5906Wed Jul 7 18:11:07 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
5907
5908 * configure.in: define CROSS=-DCROSS_COMPILE if it is a cross
5909 build; also recognize h8300-*-coff
5910
76c64db0
ILT
5911Wed Jul 7 10:21:24 1993 Ian Lance Taylor (ian@cygnus.com)
5912
e154ecf4
ILT
5913 * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
5914 core just because somebody uses a label before it is defined.
5915
76c64db0
ILT
5916 * config/mips-opcode.h: Moved to opcode/mips.h.
5917 * config/tc-mips.c: Include opcode/mips.h rather than
5918 mips-opcode.h.
5919 (append_insn): An extra NOP is only needed after instructions
5920 which set HI or LO, not after instructions which read it.
5921 (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
5922 (macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
5923 * config/tc-mips.h (struct mips_opcode): Don't define.
5924 * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
5925 Set to $(srcdir)/../include/opcode/mips.h.
5926
5927 Get the MIPS assembler up to speed with other gas changes:
5928
5929 * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
5930 Removed; don't change the symbol value.
5931 (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
5932 bfd_asymbol_value rather than S_GET_VALUE to include section
5933 vma in symbol value.
5934 (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
5935 doesn't output them. Set the vma of sections.
5936 * config/obj-ecoff.h: Don't define obj_frob_symbol.
5937 * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
5938 longer necessary.
5939 (various): use valueT rather than long.
5940
e28e0b95
KR
5941Wed Jul 7 08:33:30 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
5942
fd4b7c25
KR
5943 * config/tc-sparc.h (ENV64): Define for v9.
5944
5945 * config/tc-sparc.c (s_xword): For numbers, call big_cons.
5946 (sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64
5947 relocation types.
5948 (md_number_to_chars): Handle 8-byte value.
5949
5950 * config/obj-elf.h (elf_symbol): For v9, use 64-bit symbol type.
5951
e28e0b95
KR
5952 * as.h (valueT): Typedef moved here.
5953 * struc-symbol.h (valueT): ...from here.
5954 * write.c (write_object_file): Locals from_addr, to_addr,
5955 table_addr are now addressT. Supply prototype for bfd_alloc for
5956 now.
5957 (fixup_segment): Local add_number is now valueT. Correct some
5958 range-checking bugs.
5959 (relax_align): Type `int' should be sufficient for the exponent.
5960 (fix_new): Argument offset is type offsetT. Locals size and
5961 newsize are type valueT.
5962 * write.h (struct fix): Fields fx_offset and fx_addnumber are now
5963 type valueT.
5964 (fix_new): Fix prototype.
5965 * symbols.c (symbol_new): Symbol value is type valueT.
5966 (S_SET_VALUE, S_GET_VALUE): Likewise.
5967 (S_IS_*): Specify int return type explicitly.
5968 * symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed
5969 prototypes.
5970 * read.c (s_comm): Values read are type valueT.
5971 * expr.h (expressionS): Field X_add_number is an offsetT.
5972 * tc.h (md_create_long_jump, md_create_short_jump,
5973 md_section_align): Addresses are now type addressT.
5974 (md_number_to_chars, md_apply_fix): Pass value as valueT.
5975 * config/tc-i386.c (md_create_short_jump, md_create_long_jump,
5976 md_number_to_chars, md_section_align): Adjusted.
5977 * config/tc-sparc.c (sparc_ip): Initialize `len' variable to make
5978 gcc shut up.
5979 (md_create_short_jump, md_create_long_jump, md_number_to_chars,
5980 md_section_align): Adjusted.
5981
5982 * config/tc-sparc.c (s_reserve): Permit use for other than a.out
5983 format.
5984 (s_common): Handle Solaris-2 version.
5985
5986 * config/ho-generic.h (free): Returns void if __STDC__.
5987
5988 * config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file,
5989 elf_file_symbol): Declare.
5990
5991 * expr.c (floating_constant, integer_constant): Now return void.
5992
5993Thu Jul 1 12:13:43 1993 Ian Lance Taylor (ian@cygnus.com)
5994
5995 * configure.in: Match on sparc*-fujitsu-none rather than
5996 sparclite*-fujitsu-none.
5997
267389df
ILT
5998Wed Jun 30 11:12:02 1993 Ian Lance Taylor (ian@cygnus.com)
5999
6000 * read.c (cons): Conditionalize parsing of expression. Move
6001 putting value into object file into separate function. Separate
6002 out MRI and WANT_BITFIELDS cases into separate functions.
6003 (emit_expr): New function to write data into object file.
6004 Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
6005 processor types.
6006 (parse_bitfield_cons): New function to parse bitfield expressions
6007 as used by i960 assemblers. Only compiled if
6008 BITFIELD_CONS_EXPRESSIONS is defined.
6009 (parse_mri_cons): New function to parse MRI style strings. Only
6010 compiled if MRI is defined.
6011 (parse_repeat_cons): New function to parse repeat counts. Only
6012 compiled if REPEAT_CONS_EXPRESSIONS is defined.
6013 * read.h (emit_expr): Added declaration of new function.
6014 * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
6015 * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
6016 * config/tc-hppa.c (parse_cons_expression_hppa): New function to
6017 parse a HPPA expression, rather than special case in cons
6018 function.
6019 (cons_fix_new_hppa): New function to emit an HPPA fixup, rather
6020 than special case in emit_expr function.
6021 * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
6022 Define to use new functions from tc-hppa.c.
6023 * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
6024 (WANT_BITFIELDS): Removed; now obsolete.
6025 * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
6026 * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
6027 NS32K fixup, rather than special case in emit_expr function.
6028 * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
6029 cons_fix_new_ns32k. Also use PARAMS rather than checking
6030 __STDC__.
6031 * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.
6032
6033 * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
6034 Don't core dump if gas has no information about a section.
6035
6036Wed Jun 30 06:21:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6037
fd4b7c25
KR
6038 * config/tc-sparc.c (md_begin): If sparcv9 is defined, reset
6039 current_architecture to v9 automatically.
6040
6041 * config/tc-sparc.h (TARGET_FORMAT): Use elf64-sparc for v9.
6042
6043 * config/tc-sparc64.h, config/tc-sparc64.c: New files.
6044 * configure.in: Use sparc64 cpu files for v9, and default to elf
6045 format.
6046
267389df
ILT
6047 * write.c (relax_and_size_seg): Always fully process a section.
6048 Section size is last frag's (vm)address plus its size. If no
6049 relocations are present, force SEC_RELOC flag clear.
6050 (dump_section_relocs): New debugging routine.
6051 (adjust_reloc_syms): New routine, broken out from write_contents.
6052 Don't adjust relocs that are already relative to section symbol.
6053 Look for obj_fix_adjustable macro to know what else to skip,
6054 instead of obj_write_symbol. Look for section symbol stored in
6055 section information.
6056 (write_object_file): Map adjust_reloc_syms over all sections.
6057 (write_contents): Clear SEC_RELOC flag if no relocations are
6058 found.
6059
6060 * as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to
6061 keep it quiet.
6062
6063 * write.c (remove_subsegs): Don't define for BFD_ASSEMBLER.
6064
e28e0b95
KR
6065Fri Jun 25 14:42:53 1993 K. Richard Pixley (rich@sendai.cygnus.com)
6066
6067 * Makefile.in (all, dvi, info, install-info, clean-info): do not
6068 echo recursion lines.
6069 (install-info, clean-info): collapse into the dvi and info rule.
6070
fd4b7c25
KR
6071Fri Jun 25 10:47:24 1993 Doug Evans (dje@canuck.cygnus.com)
6072
6073 * config/tc-sparc.c (sparc_ip): Remove support for %d/%q fp regs.
6074 All fp regs are now specified as %f.
6075 (priv_reg_table): fpq -> fq.
6076
267389df
ILT
6077Fri Jun 25 03:43:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
6078
6079 * as.h (strstr): Disable declaration for now.
6080 (fprint_value, sprint_value): Declare.
6081
6082 * subsegs.c (subseg_new_rest): Use memset to clear new frag.
6083 (subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields.
6084
6085 * expr.c (expr_part): Made sanity checks a.out-specific.
6086 (expr): Disabled sanity checks.
6087
6088 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for
6089 section symbol.
6090 * subsegs.c (subseg_change): Initialize section symbol pointer
6091 when setting up a new section.
6092
6093 * symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata
6094 field back at gas symbol structure.
6095
6096 * symbols.c (colon): Cast obstack_next_free value to char* before
6097 doing arithmetic on it.
6098 * subsegs.c (subseg_new_rest): Likewise.
6099 * as.h (frag_now_fix): Likewise.
6100
6101 * config/obj-elf.c (elf_file_symbol): Use subseg_new instead of
6102 calling bfd_make_section_old_way directly, and call subseg_set
6103 instead of subseg_change. Now returns void.
6104 (obj_elf_write_symbol): Only check local symbols for now.
6105 (elf_stab_symbol): Now static and void, and disabled until it
6106 works completely.
6107 (obj_elf_size): For expression values, fail silently for now.
6108 (obj_symbol_new_hook): Do nothing.
6109
6110 * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22
6111 relocation.
6112 (s_local) [OBJ_ELF]: New function.
6113 (md_pseudo_table) [OBJ_ELF]: Call it for "local".
6114 (s_common): Rearrange to handle Solaris .common pseudo, which may
6115 sometimes use bss space instead of common.
6116 * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field.
6117
a8285504
DZ
6118Thu Jun 24 16:33:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
6119
6120 * configure.in: set host config to hpux for hppa*-hp-hpux
6121
267389df
ILT
6122Thu Jun 24 13:35:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
6123
6124 * app.c (app_pop, app_push): Fix bug reported by Chris Arthur.
6125
6126Tue Jun 22 01:04:23 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
6127
6128 * subsegs.c (subseg_new): Don't special-case a.out -R flag here.
6129 * config/obj-aout.c (s_sect): Do it here.
6130
6131 * as.h (BAD_CASE): Don't make some lame compilers think we want
6132 substitution inside strings.
6133
6134 * as.c (print_version_id): New function, split off from main.
6135 (main): Call it.
6136 * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id
6137 for -V. Ignore -Q and -s options for now.
6138
a8285504
DZ
6139Mon Jun 21 17:37:59 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
6140
6141 * Makefile.in: make installation & builds work again for crosses
6142
267389df
ILT
6143Sun Jun 20 18:18:26 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
6144
6145 * listing.c (list_symbol_table): Rewrite to print wide (>32 bits)
6146 symbol values correctly.
6147
6148 * write.c (write_object_file): Deleted unused variables.
6149 (fixup_segment): Use sprint_value.
6150
6151 * messages.c (sprint_value, fprint_value): New routines.
6152
6153 * config/obj-elf.c (elf_stab_symbol): Now returns void.
6154 (obj_elf_stab_generic): Fix typo in logic.
6155
6156 * Makefile.in (INCLUDES): Look in ../bfd for bfd.h.
6157
6158 * as.h (addressT, offsetT): New types, using BFD types if
6159 available.
6160 (relax_addressT, struct frag): Use them.
6161 * struc-symbol.h (valueT, struct broken_word): Likewise.
6162
6163 * as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
6164 * subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
6165
9126738c 6166Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
132239bf 6167
9126738c
DZ
6168 * Makefile.in: canonicalize install.sh; for use within
6169 this directory (and subdirs)
6170
267389df
ILT
6171Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se)
6172
6173 * m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
6174 specified, should have both S1 and S2 fields identical
6175 If only finding the problem was as fast as fixing the bug !!!!
6176
6177Tue Jun 15 16:01:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6178
6179 * write.c (write_contents): Do write out non-loadable sections.
6180 Debug sections can fall in this category.
115147fb 6181
267389df
ILT
6182 * read.c (s_app_file): Call elf_file_symbol for ELF files.
6183 * config/obj-elf.c (elf_file_symbol): New function.
6184
6185 * config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_...,
6186 added argument to specify section base name.
6187 (obj_elf_stab_generic): Renamed from ..._stab. New argument
6188 specifies section base name.
6189 (obj_elf_stab): New function, calls obj_elf_stab_generic with
6190 ".stab" as section base name.
6191 (obj_elf_xstab): New function, calls obj_elf_stab_generic.
6192 (obj_elf_type): Handle "object". Use bitwise-or to merge in
6193 symbol flags rather than simply replacing, so global/local flags
6194 are preserved.
6195 (obj_elf_ident): Rewrite.
115147fb 6196
a00ee522
DZ
6197Tue Jun 15 17:03:25 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
6198
6199 * Makefile.in: remove parentdir support; use INSTALL_XFORM
6200
6201Wed Jun 9 11:26:07 1993 Ian Lance Taylor (ian@cygnus.com)
6202
6203 * config/tc-i386.c (md_pseudo_table): .align uses a power of two
6204 for any a.out target, not just Linux and 386BSD.
6205 * config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out
6206 target.
6207
267389df
ILT
6208Mon Jun 7 13:33:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6209
6210 * config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h. They
6211 don't exist or duplicate other inclusions.
6212
6213 * config/tc-vax.h (NO_RELOC): Define.
6214
fd4b7c25
KR
6215Mon Jun 7 09:55:03 1993 Doug Evans (dje@canuck.cygnus.com)
6216
6217 * config/tc-sparc.c (sparc_ip): Fix parsing of asi number.
6218 Fix error message.
6219
267389df
ILT
6220Sat Jun 5 19:32:52 1993 Torbjorn Granlund (tege@nada.kth.se)
6221
6222 * gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions.
6223 * gas/config/tc-m88k.c (get_reg): New arg reg_prefix. Compare first
6224 char to reg_prefix instead of to 'r'.
6225 (calcop): Change calls to get_reg.
6226 (calcop): Handle new case 'x' to set reg_prefix.
6227 (calcop): Set reg_prefix to 'r' after each call to get_reg.
6228 (cmpslot): Add 88110 conditions.
6229
6230 * gas/config/m88k-opcode.h: Swap cases for "rot" for consistency.
6231
6232 * gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer
6233 before returning.
6234
6235 * gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics
6236 adjacent; mov.s and mov.d swapped.
6237 (m88k_opcodes): Fix typo `r2' -> `2'.
6238
a00ee522
DZ
6239Fri Jun 4 15:59:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
6240
6241 * config/h8300.c: Support for H8/300-H opcodes.
6242
6243 * config/obj-coffbfd.c (w_strings): String table length is 4
6244 bytes, no matter what the host int size is.
6245
6246 * configure.in (alpha-*-osf*): New.
6247
68ad4c92
ILT
6248Fri Jun 4 07:51:18 1993 Ian Lance Taylor (ian@cygnus.com)
6249
47fcc4f5
ILT
6250 * configure.in (mips-*-ecoffl*): New target; use ecoff and
6251 mips-lit.
6252 (mips-*-ecoff*): Added trailing '*'.
6253
68ad4c92
ILT
6254 * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
6255 first FDR in a file to be zero.
6256
75776695
KR
6257Thu Jun 3 14:09:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6258
b7067d7f
KR
6259 * Makefile.in (VERSION): Jump to 2.1.4.
6260
75776695
KR
6261 * config/ho-hppabsd.h: New file, from Peter Hoogenboom.
6262
6263 * config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for
6264 ECOFF format.
6265
6266Tue Jun 1 15:21:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6267
6268 * config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a
6269 separate '851 mmu.
6270
6271 * config/obj-elf.c, config/obj-elf.h: Update for new type, macro,
6272 and routine names. Assuming 32 bits for now.
6273
6274 * config/obj-elf.c (elf_frob_file): Look for macro
6275 elf_tc_final_processing_hook, instead of assuming a function
6276 always exists.
6277 * config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from
6278 tc_final_processing_hook.
6279 * config/tc-hppa.h (elf_tc_final_processing_hook): Use it.
6280
6281 * config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros
6282 moved here from obj-elf.h.
6283 * config/obj-elf.h: Don't include CPU-specific header files.
6284
6285Sun May 30 16:49:37 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu)
6286
6287 * configure.in: configurations should match on 'hppa*' not 'hppa'.
6288
6289 * read.c: Add support for HPPA assembly language syntax (denoted
6290 with '#ifdef TC_HPPA').
6291
6292 * symbols.c: Add support for HPPA assembly language syntax (denoted
6293 with '#ifdef TC_HPPA').
6294
6295 * write.c (write_contents): Add support for HPPA-style
6296 relocations.
6297
6298 * config/obj-elf.c: Stab symbols weren't written properly.
6299 (obj_elf_version):
6300 (obj_elf_desc):
6301 (obj_elf_write_symbol):
6302 (obj_elf_write_symbol_p):
6303 (obj_elf_frob_symbol):
6304 (elf_stab_symbol):
6305 (elf_frob_file):
6306
6307 * config/tc-hppa.c: Support for HPPA symbol extension sections.
6308 Remove some unused code. Support for HPPA assembly language
6309 syntax.
6310
6311 * app.c:
6312
6313 * symbols.c:
6314
6315 * config/obj-elf.h:
6316 (obj_write_symbol):
6317 (obj_frob_file):
6318 (elf_tc_symbol):
6319 (elf_tc_make_sections):
6320
6321 * config/tc-hppa.h:
6322
6323Sun May 30 21:44:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
6324
6325 * config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume
6326 hash_new will have succeeded if it returns.
6327 * config/tc-a29k.c (md_begin): Likewise.
6328
6329 * config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is
6330 const.
6331 (mode_from_disp_size, opcode_suffic_to_type): Now inline under
6332 gcc.
6333 (fits_in_{signed,unsigned}_{byte,word}): Likewise.
6334
6335 * expr.c: Delete register declarations; gcc ignores them anyways.
6336
6337Fri May 28 19:03:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6338
6339 * hash.c (hash_new): Use xmalloc, since many callers don't check
6340 for failure.
6341
49864cfa
KR
6342Thu May 27 13:02:15 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6343
6344 * frags.c (zero_address_frag, bss_address_frag): These are
6345 external.
6346
6347 * tc.h (md_reloc_size): This is const.
6348 * config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c
6349 (md_reloc_size): Now const.
6350
6351 * config/aout_gnu.h (enum machine_type, enum reloc_type): Delete
6352 trailing commas.
6353 * as.h (enum _segT): Ditto.
6354
6355 * struc-symbol.h (N_TYPE_seg): This should be const.
6356
6357Thu May 27 11:43:59 1993 Michael Meissner (meissner@osf.org)
6358
6359 * config/obj-ecoff.c (add_file): Cast file_name to char * in
6360 listing_source_file call.
6361
6362 * config/obj-elf.c (elf_stab_symbol_string): Cast first argument
6363 of subseg_new call to eliminate const attribute.
6364 (obj_elf_stab): Ditto.
6365 (obj_symbol_new_hook): Cast first argument of bzero call to char *.
6366
6367 * read.c (s_align_bytes): Properly record alignment.
6368
6369 * expr.c (__): Undefine __ macro before use, since OSF/1 uses it
6370 for the prototype/no prototype macro.
6371
6372 * as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be
6373 void.
6374
6375 * as.h (relax_stateT enum): Delete trailing comma.
6376
9a7d824a
ILT
6377Thu May 27 11:07:50 1993 Ian Lance Taylor (ian@cygnus.com)
6378
6379 * app.c (do_scrub_begin): Let line_comment_chars override
6380 comment_chars.
6381 (do_scrub_next_char): If a line comment character is not at the
6382 start of a line, treat it as a comment character if it is one.
6383 For a CPP line comment use pseudo-op .appline rather than .line.
6384 * input-scrub.c (logical_input_line): Make int rather than
6385 unsigned.
6386 (input_scrub_push, input_scrub_begin): Initialize
6387 logical_input_line to -1 rather than 0.
6388 (bump_line_counters): Increment logical_input_line.
6389 (new_logical_line): If line_number is -2, decrement
6390 logical_input_line.
6391 (as_where): Use logical_input_line even if it is 0.
6392 * read.h (s_app_file prototype): Now takes an int argument.
6393 * read.c (potable): Make .appfile call s_app_file with 1. New
6394 .appline pseudo-op calls s_app_line.
6395 (s_app_file): If .appfile, call new_logical_line with -2 to
6396 account for newline inserted by do_scrub_next_char. If listing,
6397 call listing_source_file.
6398 (s_app_line): New function to handle fake pseudo-op .appline.
6399 * config/obj-coff.c (obj_pseudo_table): Make .appline call
6400 obj_coff_ln.
6401 (obj_coff_ln): Added argument to indicate whether .appline.
6402 * config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
6403 obj_coff_ln.
6404 (obj_coff_ln): Added argument to indicate whether .appline.
6405 * config/tc-mips.c (s_file): Pass argument to s_app_file.
6406
61f14fb0
ILT
6407Tue May 25 11:59:07 1993 Ian Lance Taylor (ian@cygnus.com)
6408
6409 * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast.
6410
6411Thu May 20 19:14:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6412
6413 * config/tc-m68k.c (md_apply_fix_2): Straighten out check for
6414 invalid values.
6415
6eef4543
SC
6416Wed May 19 07:33:17 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
6417
6418 * config/tc-h5000.c (build_bytes): Understand @rd mode and build
6419 relocations correctly.
6420
f8f61478
KR
6421Mon May 17 15:06:26 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
6422
6eef4543
SC
6423 * Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because
6424 it's wrong.
6425
f8f61478
KR
6426 * config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn
6427 if value is out of range.
6428
6429 Patch from Minh Tran-Le:
6430 * config/tc-i386.c (i386_operand): For in/out port register used
6431 as base reg, include InOutPortReg in operand type.
6432 (MATCH): Accept overlap value of InOutPortReg.
6433
6434Mon May 17 09:29:34 1993 Ian Lance Taylor (ian@cygnus.com)
6435
6436 * config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab):
6437 Add calls to listing routines to produce combined source/assembler
6438 listings.
6439 (obj_ecoff_stab): Create a file pointer if none used yet.
6440 (ecoff_frob_file): Set symcount to correct value.
6441
6442Fri May 14 06:53:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
6443
6444 * Makefile.in (VERSION): Bump to version 2.1, in preparation for
6445 release.
6446
6447 * config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE):
6448 Define in terms of constants, not C structure sizes.
6449
6450 * config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files.
6451
6452Thu May 13 17:01:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6453
6454 * config/obj-aout.c (obj_header_append): Don't define if it's
6455 defined as a macro.
6456 * config/obj-hp300.h (obj_header_append): Define it as a macro.
6457 * config/obj-hp300.c (hp300_header_append): New function.
6458
6459 * Makefile.in (distclean): Don't bother cleaning up doc files;
6460 they aren't going to be in this directory.
6461
204ff785
ILT
6462Thu May 13 07:51:35 1993 Ian Lance Taylor (ian@cygnus.com)
6463
f8f61478
KR
6464 * config/obj-ecoff.c (ecoff_build_symbols): Handle absolute
6465 symbols.
6466
204ff785
ILT
6467 * tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
6468 * config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
6469
65824763
KR
6470Mon May 10 06:01:12 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
6471
204ff785
ILT
6472 * config/obj-vms.c (VMS_Symbol_type_list): Don't bother with
6473 initialization.
6474
65824763
KR
6475 * configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff.
6476
21bb48b9
ILT
6477Wed May 5 14:00:49 1993 Ian Lance Taylor (ian@cygnus.com)
6478
6479 * config/tc-mips.c (macro): Correct floating point double word
6480 loads and stores for big endian target.
6481
e7c2f943
KR
6482Wed May 5 08:39:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
6483
6484 * config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_*
6485 calls. Deleted some unused code.
6486 * config/obj-coff.c: Likewise.
6487
6488 ELF support, mostly contributed by Utah:
6489 * config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line,
6490 obj_elf_type): Rewrite.
6491 (obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol,
6492 obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size):
6493 New functions.
6494 (obj_elf_ident): Dummy.
6495 * config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol,
6496 TARGET_SYMBOL_FIELDS): New macros.
6497 (gdb_section): New variable decl.
6498
6499 * config/tc-i386.c (md_atof): Return zero, not empty string, on
6500 success.
6501
6502 BFD_ASSEMBLER conditional changes:
6503 * config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header):
6504 Don't define these.
6505 (SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions.
6506 (fetch_coff_debug_section): Ditto.
6507 (obj_coff_endef): Call fetch_coff_debug_section.
6508 (struct line_no): New type.
6509 (c_symbol_merge): New way for copying aux fields.
6510 (c_dot_file_symbol): Put symbol in absolute section, and set flag
6511 BSF_DEBUGGING.
6512 (function_lineoff): New symbol.
6513 (function_lineoff, text_lineno_number, our_lineno_number,
6514 lineno_lastP): Don't define.
6515 (c_line_new): Don't define.
6516 (obj_emit_lineno, obj_coff_endef): Use abort calls as, uh,
6517 placeholders, until
6518 line-number recording gets implemented.
6519 (obj_new_symbol_hook): New code for handling aux fields.
6520 (add_lineno, add_linesym): New functions.
6521 (obj_coff_ln): Call add_lineno, not c_line_new.
6522 (obj_coff_endef): New code for handling symbol names. New lineno
6523 code. Look for section name "*DEBUG*" for debugging section.
6524 (align, coff_check_file_symbols, obj_coff_section,
6525 coff_frob_file): New functions.
6526 * config/obj-coff.h: Reordered some includes.
6527 (BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg,
6528 DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't
6529 define these.
6530 (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros.
6531 (SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing
6532 aux entries. Most SA_* macros now use it unconditionally.
6533 (S_*): Use `bsym' field, and access BFD private data.
6534 (SF_*): Use `sy_flags' symbol field for most of these.
6535 (H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't
6536 define.
6537 (*_section_header): Don't define.
6538 * config/tc-i386.c (md_convert_frag, md_apply_fix): Changed
6539 interface.
6540 (tc_gen_reloc) [I386COFF]: New function.
6541 (tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define.
6542 * config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New
6543 macros.
6544
6545 * config/obj-coff.c (stack_init): Don't do assignments inside
6546 conditions.
6547 (obj_coff_def): Simplified handling of symbol name a bit.
6548 (tag_insert): Name argument is now pointer to CONST.
6549 (obj_crawl_symbol_chain): Commented out.
6550
6551 * config/obj-coff.h: Use PARAMS macro in prototypes.
6552
6553 * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect
6554 through frchainP pointer if it is null.
6555
6556 * configure.in: Warn if BFD mode is explicitly turned off but is
6557 required by specified target.
6558 (mips ecoff targets): Don't need to set bfd_gas here; it gets
6559 taken care of later.
6560
6561 * config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward
6562 field.
6563 (yank_symbols): Merge symbols only if sy_forward is null.
6564
6565 * config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already
6566 defined.
6567
6568 * tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not
6569 pointer.
6570 * config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto.
6571
6572 * config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting
6573 with "." is a local label.
6574
6575 * config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config
6576 files.
6577
6578 * config/te-linux.h, config/te-386bsd.h: New config files.
6579 * configure.in (i386-*-linux, i386-*-bsd): Use them.
6580 * config/tc-i386.h (TARGET_FORMAT): Select format based on target
6581 environment.
6582 (DOT_LABEL_PREFIX): Don't define for 386bsd or Linux.
6583
5d6cfa60
ILT
6584Wed May 5 13:14:01 1993 Ian Lance Taylor (ian@cygnus.com)
6585
6586 * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
6587 to want it that way.
6588 (ecoff_build_symbols): Turn local st_Proc symbols into
6589 st_StaticProc symbols. Set index field of external st_Proc and
6590 st_staticProc symbols correctly.
6591 * config/tc-mips.h (NO_LISTING): Don't define. People might want
6592 listings.
6593
e7c2f943
KR
6594Tue May 4 21:22:54 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6595
6596 * config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New
6597 files.
6598 * configure.in (m68k-*-hpux): Use them.
6599
6600 * config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if
6601 defined, otherwise zero.
6602
6603 * config/aout_gnu.h (OMAGIC): Don't define if already defined.
6604
5d6cfa60
ILT
6605Mon May 3 15:59:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
6606
6607 * config/tc-sparc.c (sparc_ip): Allow any abs expression as an
6608 address space number.
6609
6610Wed Apr 28 19:11:22 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
6611
6612 * config/obj-aout.h (TARGET_DEFAULT): Don't default this at all.
6613
6614 * config/tc-a29k.c: Include ctype.h.
6615 (define_some_regs): Added special-purpose registers for 29050.
6616
e7c2f943
KR
6617 * config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/".
6618
6619 * config/obj-coffbfd.c (fill_section): Don't set STYP_REG here.
6620 (change_to_section): Set it here instead.
6621
a1387260
ILT
6622Wed Apr 28 13:40:29 1993 Ian Lance Taylor (ian@rtl.cygnus.com)
6623
6624 * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
6625 hasn't been seen yet.
6626 (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
6627
4a1bbbe7
SC
6628Mon Apr 26 18:29:05 1993 Steve Chamberlain (sac@thepub.cygnus.com)
6629
6630 * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi
6631 SH.
6632
be2f6bd6
ILT
6633Mon Apr 26 12:28:27 1993 Ian Lance Taylor (ian@cygnus.com)
6634
6635 * expr.c (operand): Fix unary plus operator (previously was the
6636 same as '~' operator!).
6637
6638Wed Apr 21 00:20:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6639
6640 * write.c (cvt_frag_to_fill): Define even if BFD is defined.
6641 (write_object_file): Do define if BFD_ASSEMBLER. Invoke
6642 obj_check_file_symbols if defined. Call verify_symbol_chain_2
6643 instead of open-coding it. Fix some bugs in patching up symbol
6644 chain.
6645 (relax_segment): Make some code we "ought to be able to" use for
6646 all targets no longer conditionalized on ns32k target; instead, do
6647 it always, and if the appropriate conditions fail, abort.
6648
6649 * symbols.c (DEBUG): Enabled.
6650 (symbol_new): Make sure bfd_make_empty_symbol works.
6651 (verify_symbol_chain_2): New funcion; takes one symbol as
6652 argument, anywhere in the chain.
6653 (dollar_label*): Use default initializers.
6654
6655 * as.c (perform_an_assembly_pass): Call md_begin here...
6656 (main): ...and not here.
6657
6658 * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
6659 (tc_frob_symbol): New macro: Get rid of symbols in reg_section.
6660
6661 * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
6662 (add_fix, add_frag): Now functions instead of macros.
6663 (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
6664 s_data1, s_data2, s_bss): Use new *_section names, for
6665 compatibility with BFD_ASSEMBLER mode; rewrite switch statements
6666 to handle non-integral segT.
6667 (tc_coff_fix2rtype, tc_aout_fix_to_chars,
6668 tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
6669 (tc_gen_reloc): New routine for BFD_ASSEMBLER.
6670 (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
6671 md_apply_fix_2; new md_apply_fix definition varies interface
6672 depending on BFD_ASSEMBLER.
6673 (md_convert_frag, md_convert_frag_1): Likewise. Use new *_section
6674 names.
6675
6676 * config/obj-vms.c: Include config.h.
6677 (version_string): Delete declaration.
6678 (Write_VMS_MHD_Records): Use GAS_VERSION instead.
6679 (vms_resolve_symbol_redef): New function, taken from VMS code in
6680 symbols.c.
6681 (_doprnt): Deleted.
6682 (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
6683 VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
6684 VMS_Psect_Spec): Fixed to compiler under traditional C.
6685 * config/obj-vms.h: Use PARAMS macro.
6686 (vms_resolve_symbol_redef): Declare.
6687 (RESOLVE_SYMBOL_REDEFINITION): New macro.
6688 * symbols.c (colon): Remove some VMS-specific code, look for
6689 RESOLVE_SYMBOL_REDEFINITION macro instead.
6690
6691 * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
6692 instructions.
6693
6694 * config/tc-i386.c: Reordered some functions so inlining might
6695 work. Use PARAMS in function declarations.
6696 (reloc): New routine.
6697 (md_assemble): Rearrange switch statements to work with
6698 non-integral segT.
6699
6700 * struc-symbol.h [BFD_ASSEMBLER]: Undefine
6701 SYMBOLS_NEED_BACKPOINTERS before defining it.
6702
6703 * subsegs.c (subseg_new_rest): Now static.
6704
6705 * read.c (pseudo_set): Better error message for difference of
6706 symbols in different frags.
6707
6708 * Makefile.in (check): Pass down some new variables, indicating
6709 pathname or program name for cc, nm, objdump.
6710
6711 * as.h (OUTPUT_FLAVOR): New macro.
6712 * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
6713
6714 * configure.in: Initialize bfd_gas properly. Warn that ELF
6715 support is incomplete.
6716
6717Thu Apr 15 22:39:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6718
6719 * read.c (float_cons): Accept null pointer return from md_atof.
6720 * config/tc-m68k.c (md_atof): Return null for success.
6721 * config/tc-sparc.c (md_atof): Ditto.
6722
97a6070c
RP
6723Thu Apr 15 16:04:39 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
6724
6725 * doc/as.texinfo: formatting and comment cleanups; show SPARC
6726 alternative options in same style as other machines; simplify some
6727 conditional use; include GPL as separate file (from texinfo dir)
6728
6729 * doc/Makefile.in: (as.info) include directory containing GPL in
6730 makeinfo search path
6731
6732 * doc/h8.texi: new file; conditional settings for GAS manual
6733 on Hitachi chips
6734
6735Tue Apr 13 15:31:40 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
6736
6737 * doc/as.texinfo: mention SPARC architecture options.
6738
be2f6bd6
ILT
6739Fri Apr 9 17:43:11 1993 Ken Raeburn (raeburn@cygnus.com)
6740
6741 * configure.in: Rearranged whitespace in per-host/per-target
6742 sections. Added hooks for dropping in HPPA support (not included
6743 yet). Separate out overrides of variables based on target format
6744 and bfd-gas selection from actual target-specific commands. Add
6745 error message for recognized but unsupported format name.
6746
349f20de
ILT
6747Fri Apr 9 09:05:47 1993 Ian Lance Taylor (ian@cygnus.com)
6748
6749 * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
55ff56bd 6750 symbolic header match cline in FDR; the native linker seems to
349f20de
ILT
6751 want that.
6752
5316696f
DZ
6753Thu Apr 8 15:51:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
6754
6755 * doc/Makefile.in: as.texinfo is in $(srcdir). Use
6756 $(srcdir)/as.texinfo explicitly in several places
6757
8ac18b21
RP
6758Thu Apr 8 15:15:02 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
6759
132239bf 6760 * doc/Makefile.in: update dvi, clean targets for new source
8ac18b21
RP
6761 file structure
6762
d565311f
ILT
6763Thu Apr 8 12:52:46 1993 Ian Lance Taylor (ian@cygnus.com)
6764
6765 * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
6766 rather than undefining know.
8ac18b21 6767 * configure.in: Match ultrix*, not just ultrix.
d565311f 6768
0742a6fd
RP
6769Wed Apr 7 20:18:10 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
6770
6771 * doc/as.texinfo: converted conditional markup to use new
6772 Texinfo facilities, avoiding m4.
6773
6774 * doc/as-all.texinfo, all.m4, pretex.m4: deleted.
6775
6776 * doc/Makefile.in: recast doc configuration to use a link to an
6777 included texinfo file.
6778
6779 * doc/all.texi: settings for generic form of documentation.
6780
6781Tue Apr 6 11:56:21 1993 Ian Lance Taylor (ian@cygnus.com)
6782
6783 * read.c (cons): Zero out frag when creating reloc.
6784
367fc835
ILT
6785Mon Apr 5 09:41:58 1993 Ian Lance Taylor (ian@cygnus.com)
6786
84e4920f
ILT
6787 * config/tc-mips.c (gp_reference): Certain magic symbols can never
6788 be referenced off the GP register.
6789
367fc835
ILT
6790 * app.c (do_scrub_next_char): Handle states 9 and 10 correctly
6791 when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
6792 LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
6793
6794 * config/te-irix.h: New file; irix needs a different LOCAL_LABEL
6795 definition from other MIPS targets.
6796 * configure.in (mips-*-irix): Use emulation irix.
6797
dd4227d3
SC
6798Sun Apr 4 15:21:09 1993 Steve Chamberlain (sac@thepub.cygnus.com)
6799
6800 * config/tc-h8500.c: Get relax size of branch instructions right,
6801 (get_operand): Parse @sp+ correctly.
6802
be2f6bd6
ILT
6803Fri Apr 2 15:59:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6804
6805 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
6806 COFF section header field.
6807
6808 * configure.in: Print error message if host or target is not
6809 supported.
6810
6811 * configure.in: If with-bfd-assembler, use obj-coff instead of
6812 obj-coffbfd.
6813
6814 * config/ho-generic.h: Include string.h.
6815
ed364bb6
ILT
6816Fri Apr 2 08:54:57 1993 Ian Lance Taylor (ian@cygnus.com)
6817
0433135d
ILT
6818 * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
6819 '$' as local, for any object file format.
6820
477b4b04
ILT
6821 * config/tc-mips.c (macro): Optimizations to branching code and a
6822 couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph
6823 Campbell).
6824
ed364bb6
ILT
6825 * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
6826 * configure.in (mips-sgi-irix*): Set gas_host to irix.
6827
670a50eb
ILT
6828Wed Mar 31 17:53:54 1993 Ian Lance Taylor (ian@cygnus.com)
6829
6830 * subsegs.c (subseg_new): Set output_section of new section.
6831 * as.c (perform_an_assemly_pass): Don't set output_section here.
6832 * expr.c (expr_part, expr): Turn off section assertions for ECOFF,
6833 since it has additional sections.
6834 * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
6835 not bss_section.
6836 * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
6837 ecoff_undefined field.
6838 * config/obj-ecoff.c (obj_symbol_new_hook): Initialize
6839 ecoff_undefined field.
6840 (add_file): If using stabs, just output a stabs symbol rather than
6841 creating a new fdr.
6842 (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
6843 it with get_absolute_expression, rather than skipping it by hand.
6844 (obj_ecoff_loc): If using stabs, just output a stabs symbol rather
6845 than ECOFF line number information.
6846 (obj_ecoff_stab): Accept non-zero values for stabs line number.
6847 (ecoff_build_symbols): Set ifilesym correctly. Set storage class
6848 to small, undefined and/or readonly sections if appropriate.
6849 Don't output symbol names containing \001 characters.
6850 (ecoff_frob_file): Make sure at least one fdr is output.
6851 * config/tc-mips.h: Define TC_MIPS.
6852 * config/tc-mips.c (g_switch_value): New static variable.
6853 (md_assemble): Set gp size of output BFD.
6854 (gp_reference): New function; returns 1 if expression can be
6855 accesssed via gp. Always returns 0 if not using ECOFF.
6856 (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
6857 possible.
6858 (macro): Generate sequences using gp if possible.
6859 (md_parse_option): Ignore -EL and -EB. Parse -G.
6860 (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
6861 (s_change_sec): Handle .rdata and .sdata for ECOFF.
6862 (s_extern): Mark symbol as external. Set ecoff_undefined field.
6863
2b1b5697
KR
6864Tue Mar 30 10:11:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6865
670a50eb
ILT
6866 * output-file.c (output_file_create): Don't call as_perror for
6867 filename rejected by application.
6868
6869 * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
6870 the output file.
6871
4b061a2a
KR
6872 * doc/as.texinfo: Don't use @value in node names for the moment;
6873 references don't appear to work right.
6874
4478def8
KR
6875 * as.h (const, volatile): Put these definitions back, and use
6876 them.
6877
2b1b5697
KR
6878 * doc/as.texinfo: First pass at using new texinfo features --
6879 variables, conditional tests. Far from complete.
6880
6881Mon Mar 29 16:05:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6882
6883 * read.c: Temporary hack to handle some 64-bit constants. This
6884 should be redone later.
6885 (target_big_endian): Declare.
6886 (big_cons): If it's set, reverse order of bytes being copied.
6887 * config/tc-sparc.c (md_begin): Set target_big_endian.
6888
6889 * read.c (s_ignore): Delete declaration of is_end_of_line.
6890
6891 * config/obj-coffbfd.c (yank_symbols): Build list of file symbol
6892 forward pointers properly.
6893
e02eaa59
SC
6894Mon Mar 29 13:47:33 1993 Steve Chamberlain (sac@thepub.cygnus.com)
6895
6896 * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
6897 wasn't being stored into scnhdr.
6898 * config/obj-coffbfd.h: Add prototype of s_get_segment.
6899 * read.c (TC_START_LABEL): Default definition.
6900 (read_a_source_file): Use TC_START_LABEL macro to work out
6901 if a label has been seen.
6902
543d88e4
ILT
6903Mon Mar 29 12:56:56 1993 Ian Lance Taylor (ian@cygnus.com)
6904
c39b3eba
ILT
6905 * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
6906 the bottom (make expands variables in dependencies when the
6907 dependencies are read, not when they are used).
6908
543d88e4
ILT
6909 * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
6910 a29k .bss section; the mondfe program doesn't like it.
6911
2b1b5697
KR
6912Sun Mar 28 08:12:53 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
6913
6914 * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
6915 const.
6916 (current_architecture): Don't need initializer.
6917
6918Fri Mar 26 08:12:48 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6919
6920 * doc/none.m4: Define Z8000.
6921 * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir). Remove the
6922 texinfo file before recreating it.
6923 (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
6924 this directory.
6925 (srcdir): Delete second, bogus definition.
6926 (as.info): Look for as-*.texinfo in current directory rather than
6927 in $(srcdir).
6928 (as.dvi): Ditto.
6929 (dvi): New rule.
6930 * doc/configure.in: Create links to all as-*.texinfo files in the
6931 source directory, if that's not the current directory.
6932
6933 * configure.in (per-host): Accept MIPS host with BSD version
6934 number.
6935 (per-target): Classify i486 as i386. Use generic cpu_type instead
6936 of target_cpu in selecting format etc.
6937
6938 * app.c (do_scrub_next_char): Use .appfile, not .app-file.
6939 * read.c (potable): Change .app-file to .appfile.
6940
6941 * config/ho-decstatn.h: Renamed from ho-decstation.h.
6942 * configure.in: Adjusted.
6943
6944 * config/obj-bfd-sunos.*: Unused; deleted.
6945
6946 * Makefile.in (version.c, vers-stamp): Deleted.
6947 (config.h): Define GAS_VERSION.
6948 * as.c (version_string): Deleted declaration.
6949 (main): Look for GAS_VERSION instead.
6950
6951 * doc/as.texinfo: Updated description of -a* (listing) options,
6952 and describe how to pass them through from gcc.
6953
6954 * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
6955 process relocs if there aren't any relocs to process. Avoids
6956 malloc/free bug on SCO too.
6957
6958 * as.h: Move local include files below system include files, to
6959 avoid some redefinition complaints on some systems.
6960 (const, volatile): Don't need these conditionally defined if we
6961 use CONST and VOLATILE from ansidecl.h.
6962 (seg_name): Use CONST, not const.
6963
543d88e4
ILT
6964Fri Mar 26 10:22:04 1993 Ian Lance Taylor (ian@cygnus.com)
6965
6966 * config/tc-mips.c: Reindented to GNU standards.
6967
2c19a57c
ILT
6968Thu Mar 25 08:59:14 1993 Ian Lance Taylor (ian@cygnus.com)
6969
61001d96
ILT
6970 * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
6971 (fixup_segment): Add a29k special case; the linker is not prepared
6972 to see a segment offset here.
6973
2c19a57c
ILT
6974 * app.c (do_scrub_next_char): Added new state, 10, modifying state
6975 9 to only keep a space in between identifier characters.
6976
afcc637a
DZ
6977Wed Mar 24 02:16:22 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
6978
2d4bef5e
DZ
6979 * Makefile.in: add dvi target; as-$(config).texinfo might live in
6980 srcdir, might be in objdir.
afcc637a
DZ
6981
6982 * doc/Makefile.in: dvi depends on as.dvi
6983
80c8fd72
DZ
6984Mon Mar 22 23:59:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
6985
6986 * Makefile.in: add installcheck target
6987
fd4b7c25
KR
6988Mon Mar 22 16:25:57 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
6989
6990 * config/tc-sparc.c (sparc_ip): Add support for membar mask names.
6991 Add missing colons in prefetch error messages. Add support for
6992 ASI names.
6993
1369949e
ILT
6994Mon Mar 22 10:19:00 1993 Ian Lance Taylor (ian@cygnus.com)
6995
6996 * config/tc-mips.c (macro): Use $AT for any floating point load.
6997
63cdddad
KR
6998Sat Mar 20 12:50:51 1993 Ken Raeburn (raeburn@urth.cygnus.com)
6999
7000 * config/tc-m68k.c (m68k_ip): For operand type 'M', reject
7001 bignums, but don't emit error message.
7002
69498fa2
JW
7003Fri Mar 19 21:02:19 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
7004
7005 * Makefile.in (targ-cpu.o): Depend on config.h.
7006
f6a91cc0
ILT
7007Wed Mar 17 16:44:06 1993 Ian Lance Taylor (ian@cygnus.com)
7008
7009 * app.c (do_scrub_next_char): Added new state, 9, to avoid
7010 dropping a space immediately following an identifier.
7011 * expr.c, write.c: Rewrote assert expressions to not use multiple
7012 lines; I don't think that can be done portably.
7013 * config/tc-mips.c (macro): Use $AT if target register is zero in
7014 load instruction, which it can be for a floating point load.
7015
a36f6645
ILT
7016Mon Mar 15 12:17:28 1993 Ian Lance Taylor (ian@cygnus.com)
7017
3d3c5039
ILT
7018 * write.c (write_contents): Compute the relocs before writing out
7019 the section contents.
7020 * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
7021 symbol table and values right.
7022 * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
7023 with $L is local.
7024 * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
7025 by the section vma.
7026
7027 * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
7028 z8k-opc.h, not z8k.h.
7029
a36f6645
ILT
7030 * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
7031 symbol.
7032
2a697fa4
DZ
7033Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7034
7035 * configure.in: recognize sparc-sun-solaris2* instead of -solaris2
7036
f2f7d044
ILT
7037Fri Mar 12 12:00:07 1993 Ian Lance Taylor (ian@cygnus.com)
7038
7039 * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
7040 to be on a single line.
7041
ed099874
KR
7042Thu Mar 11 17:56:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7043
7044 * Makefile.in (config.h): Create file, writing out definitions of
7045 target cpu, alias, and canonical name.
7046 (ALL_CFLAGS): No longer define TARGET_CPU.
7047
7048 * Makefile.in (check): Print a message, instead of quitting
7049 silently.
7050
7051 * as.c (main): Don't catch any signals, for now.
7052
7053 * version.c: Deleted.
7054 * Makefile.in: Generate it, putting in only the version number
7055 itself.
7056 (VERSION): New variable.
7057 * as.c: Include config.h.
7058 (main): Reformatted version string. Include target alias. Don't
7059 print if not requested (i.e., unknown -v argument).
7060
7061 * as.c (stralloc): Deleted.
7062 (main): Call strdup instead.
7063
7064 * configure.in: Handle all 68300 series chips.
7065 * config/tc-m68k.c: Include config.h.
7066 (md_assemble): Assume TARGET_CPU is defined. Accept some 68300
7067 series cpus as defaults.
7068 (md_parse_option): Accept some m68300 series CPUs as defaults.
7069
7070Wed Mar 10 17:41:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7071
7072 * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
7073 not already defined.
7074 (main, got_sig): Use them.
7075 * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
7076 values.
7077
7078Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
7079
7080 * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
7081 support.
7082
7083 * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
7084 OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
7085 (struct loc, struct proc, struct file): Moved to tc-mips.c within
7086 #ifndef OBJ_ECOFF block, since ECOFF uses different versions.
7087 * config/tc-mips.c: Rearranged for ECOFF support. Added
7088 prototypes for all static functions. Moved existing minimal
7089 debugging format support info #ifndef OBJ_ECOFF blocks.
7090 (macro_build_lui): Eliminated sign_extend argument, because ECOFF
7091 does not support a non sign extended high 16 bits reloc. Adjusted
7092 all callers accordingly.
7093 (tc_get_register): Renamed from get_register, and made non-static.
7094
7095 * config/mips-big.mt, config/mips-lit.mt: New files. Define
7096 TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
7097 respectively.
7098 * configure.in (mips-*-bsd*): Use gas_target mips-lit.
7099 (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
7100 obj_format ecoff and gas_target mips-lit or mips-big.
7101
c5d4bc88
KR
7102Tue Mar 9 07:43:01 1993 Ken Raeburn (raeburn@cygnus.com)
7103
7104 * version.c: Bump to version 2.0.1.
7105
fefba3a5
ILT
7106Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
7107
7108 * write.c (chain_frchains_together): Check that seg_info (section)
7109 is not NULL.
7110 (write_object_file): Call obj_frob_file after setting the symbols,
7111 not before.
7112
2b1b5697
KR
7113Tue Mar 9 00:00:00 1993 Ken Raeburn (raeburn@cygnus.com)
7114
7115 * Version 2.0 released.
7116
fefba3a5
ILT
7117Mon Mar 8 14:57:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7118
7119 * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
7120
7121Fri Mar 5 09:05:55 1993 Ian Lance Taylor (ian@cygnus.com)
7122
7123 * read.h: Define stringer here.
7124 read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
7125 places.
7126
bf449293
SC
7127Thu Mar 4 11:52:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
7128
7129 * read.c (s_space): Multiply repeat count by mult, not fill.
7130
9471a360
KR
7131Thu Mar 4 05:20:42 1993 Ken Raeburn (raeburn@cygnus.com)
7132
7133 * read.c: Include ctype.h.
7134
1101551c
KR
7135Wed Mar 3 10:41:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7136
7137 Patches from Eric Youngdale:
7138 * make-gas.com: Find obstack.obj if it's not in the current
7139 directory.
7140 * read.c (s_ignore): Don't declare is_end_of_line. It's
7141 redundant, and triggers a VMS gcc compiler bug.
7142
7143 * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
7144 current segment as an argument. (Ignored in all cases but VMS.)
7145 All callers and definitions changed.
7146
5e4cddb7
ILT
7147Tue Mar 2 11:56:19 1993 Ian Lance Taylor (ian@cygnus.com)
7148
7149 * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
7150 case compile again.
7151
f3ca2a64
KR
7152Tue Mar 2 08:53:34 1993 Ken Raeburn (raeburn@cygnus.com)
7153
7154 * config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
7155 so "~0x80" won't be rejected.
7156
7157 * config/obj-elf.c: No longer include elf/reloc.h.
7158 (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
7159 (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
7160 routines.
7161 (obj_elf_xstab): New routine.
7162 (obj_elf_set_size): Call as_warn, not fprintf. Pass desired
7163 argument to s_ignore. Put "#if 0" around unused code.
7164 (obj_pseudo_table): Use s_ignore instead of do-nothing routines.
7165 Call elf_xstabs for .stabs and .xstabs operators.
7166
7167 * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
7168
7169 * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
7170 present.
7171
7172 * configure.in: mips-bsd configuration was missing format spec.
7173 Should use aout.
7174
7175 * Makefile.in (Makefile): Depends on configure.in.
7176
7177 * config/tc-mips.c (append_insn): Don't check for alignment of
7178 frag in memory; alignment of instructions in section is a separate
7179 matter.
7180
7181 * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
7182 C availability.
7183
7184 * listing.h: Always provide function declarations, not macros, so
7185 pcc won't lose.
7186
7687d89b
JG
7187Tue Mar 2 00:50:43 1993 John Gilmore (gnu@cygnus.com)
7188
7189 * CONTRIBUTORS: Update Gilmore entry.
7190
fd4b7c25
KR
7191Mon Mar 1 12:03:16 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
7192
7193 * config/tc-sparc.c (sparc_ip): Correctly assemble prefetch
7194 instructions. Accept integer prefetch function numbers.
7195
7687d89b
JG
7196Wed Feb 24 14:58:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7197
fd4b7c25
KR
7198 * config/tc-sparc.c (s_xword): Now call big_cons, so large
7199 constants are accepted, but symbolic values are not. GCC will not
7200 generate the latter currently.
7201
7687d89b
JG
7202 * frags.c (frag_init): New function.
7203 (zero_address_frag, bss_address_frag): Now initialized at run
7204 time.
7205 * as.c (main): Call frag_init.
7206
160b7f0f
ILT
7207Wed Feb 24 10:32:42 1993 Ian Lance Taylor (ian@cygnus.com)
7208
7209 * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
7210 Don't unget ch2 if we didn't get it.
7211
0cca30f3
KR
7212Wed Feb 24 04:14:07 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
7213
7214 * doc/Makefile.in (TEXIDIR): Updated for new layout.
7215
7216 * config/tc-sparc.c (s_common): Add support for ELF version.
7217 (tc_gen_reloc) [BFD_ASSEMBLER]: New function.
7218 * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
7219 New macros.
7220 (md_convert_frag): New macro.
7221
7222 * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
7223 symbol, fix the offset so "+2" isn't required.
7224
7225 * config/tc-i960.c (line_comment_chars, line_separator_chars):
7226 Define as common/bss.
7227 (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
7228 initializers are sufficient.
7229
7230 * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
7231 (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
7232 (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
7233 (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
7234 * config/obj-aout.c: Use PARAMS macro for declarations. Remove
7235 "IGNORE_DEBUG" conditional, since both branches are identical.
7236 Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
7237 referencing symbol structure members.
7238 (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
7239
7240 * as.h (struct frag): Reordered a couple of fields for better
7241 packing.
7242
7243 * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
7244 section info.
7245 (write_contents) [BFD_ASSEMBLER]: New function.
7246 (write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call
7247 fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call
7248 obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
7249 (fixup_segment): Make sure common-section symbols get treated the
7250 same as undefined symbols.
7251 (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
7252 bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from
7253 section info.
7254 * write.h (fix_new): Update prototype.
7255
7256 * tc.h (md_operand, md_convert_frag, tc_headers_hook,
7257 md_section_align, md_undefined_symbol): Don't provide prototypes
7258 if these are defined as macros.
7259 (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
7260 section passed.
7261
7262 * symbols.c (symbol_new): Argument NAME is now pointer to const.
7263 Simplified STRIP_UNDERSCORE code. Remove assumptions about null
7264 pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new
7265 BFD symbol.
7266 (colon): Display other/desc fields of redefined symbol only if
7267 S_GET_OTHER and S_GET_DESC are defined.
7268 (symbol_make): Argument NAME is now pointer to const.
7269 (symbol_find, symbol_find_base): Likewise.
7270 (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
7271 * symbols.h: Fix prototypes for new const arguments. Add
7272 prototypes for BFD_ASSEMBLER S_* functions.
7273
7274 * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
7275 for changing to an existing section.
7276 (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
7277 called by subseg_new and subseg_set.
7278 (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
7279 given section name and subseg number.
7280 (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
7281 new section/subsection.
7282
7283 * read.c: Don't include ctype.h.
7284 (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
7285 for now; should be machine-dependent.
7286
7287 * configure.in: Accept *-*-elf and *-*-solaris* as ELF format
7288 targets, forcing BFD use.
7289
7290Wed Feb 17 18:59:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7291
7292 * config/tc-sparc.c: Use PARAMS macro for static function
7293 declarations. Use BFD_RELOC_ macros everywhere, with
7294 compatibility macros declared for non-BFD mode.
7295 (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
7296 instead of enum reloc_type.
7297 (emit_sparc_reloc): Commented-out function deleted.
7298 (md_convert_frag): Deleted.
7299 (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
7300 (md_apply_fix): Changed calling sequence (conditionally) for BFD
7301 version.
7302 * config/tc-sparc.h (md_convert_frag): New macro.
7303
7304 * config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
7305 not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
7306 of referencing fields directly.
7307
7308 * write.c (cvt_frag_to_fill): New function; extracted from
7309 write_object_file.
7310 (write_object_file) [! BFD_ASSEMBLER]: Call it.
7311 (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
7312 and set its size and flags.
7313
7314 * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
7315 fields with BFD equivalents. Turn on back-pointers, and add
7316 target-specific fields at end.
7317
7318Thu Feb 11 09:20:37 1993 Ian Lance Taylor (ian@cygnus.com)
7319
7320 * config/obj-coffbfd.c (fill_section): Don't set vaddr here.
7321 (write_object_file): Set it here instead, so that fixup_segment
7322 can see the correct value.
7323
7324Mon Feb 8 13:56:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7325
7326 * write.c (write_object_file): Check for errors and warnings and
7327 bail out before processing contents.
7328 (chain_frchains_together_1): New function, does most of the work
7329 of remove_subsegs.
7330 (chain_frchains_together) [BFD_ASSEMBLER]: New function.
7331 (remove_subsegs) [! BFD]: Call it.
7332 (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
7333 structures and routines.
7334
7335 * config/obj-elf.*: New files.
7336
7337 * config/mips.mt, config/rs6000.mt: Deleted.
7338
7339 * config/h8300.mt: Don't specify compiler here.
7340
7687d89b 7341 * config/z8k.mt: The z8k code depends on the z8k opcode table,
0cca30f3
KR
7342 not the h8300 one.
7343 * config/tc-z8k.h: Comment fix.
7344
7345 * write.c: Reordered some functions for better inlining.
7346 (fixup_segment): Linkrelax code is no longer conditional on
7347 TC_I960.
7348
7349Thu Feb 4 12:45:16 1993 Steve Chamberlain (sac@thepub.cygnus.com)
7350
7351 * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
7352 obj-coffbfd.h}: support for the H8/500
7353
7354Wed Feb 3 19:28:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7355
7356 * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
7357 * write.c (write_object_file): Not here.
7358 (fix_new): Initialize fx_addnumber.
7359
7360 * listing.c: Don't include target-cpu.h explicitly, since as.h
7361 includes it.
7362
7363Thu Jan 28 00:35:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
7364
7365 * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
7366 *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
7367 (struct fix): Reordered fields for compactness and efficiency.
7368 Converted some logical fields to 1-bit fields.
7369
7370 * config/obj-aout.h: Use PARAMS.
7371 [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
7372 N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
7373
7374 * read.c: Don't include listing.h; as.h includes it. Removed
7375 DONTDEF code.
7376 [BFD_ASSEMBLER]: Include subsegs.h.
7377 (old_buffer, new_broken_words): Default initialization is
7378 sufficient.
7379
7380 * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
7381 to 0, define stdoutput.
7382 (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
7383 Call bfd_set_arch_mach.
7384 (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
7385 bfd_close_all_done. Call bfd_perror on failure.
7386 (output_file_append) [BFD_ASSEMBLER]: Don't define.
7387
7388 * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
7389
7390 * subsegs.h (segment_info_type): Always define. Omit field scnhdr
7391 if not MANY_SEGMENTS. Define new field bfd_section if
7392 BFD_ASSEMBLER.
7393 (seg_info): New macro.
7394
7395 * expr.c, input-scrub.c: Use PARAMS macro. Deleted unused
7396 variables, and some irrelevant comments.
7397
7398 * Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
7399 (LIBS): Include $(BFDLIB). Don't bother with $(CLIB).
7400 * configure.in: Permit --with-bfd-assembler now, with a warning.
7401 Variable need_bfd is now a boolean, as is new variable bfd_gas.
7402 Set BFDDEF and BFDLIB in Makefile when appropriate.
7403
7404 * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
7405 (main): Refer to flag_always_generate_output instead of
7406 flagseen['Z'].
7407
7408 * as.c (main) [BFD_ASSEMBLER]: Open output bfd.
7409 (*_section) [BFD_ASSEMBLER]: Define them.
7410 (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
7411 set section flags when appropriate.
7412 * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
7413 section is not absolute, undefined, or an assembler internal one.
7414 (absolute_section, undefined_section): Always define.
7415 * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
7416 switch statements into if-else trees.
7417 * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
7418 SEG_BSS and SEG_DATA.
7419
7420 * as.h (frag_now_fix): New macro.
7421 * symbols.c (colon): Use it.
7422
7423Wed Jan 27 21:43:53 PST 1993 Ralph Campbell (ralphc@pyramid.com)
7424
7425 * config/tc-mips.c: Added mips support for mips-dec-bsd.
7426 * config/tc-mips.h: Added mips support for mips-dec-bsd.
7427 * config/ho-mipsbsd.h: Added mips support for mips-dec-bsd.
7428 * config/mips-opcode.h: Added mips support for mips-dec-bsd.
7429 * configure.in: Added mips support for mips-dec-bsd.
7430 * atof-generic.c: Define TRUE and FALSE if not defined.
7431
7432Thu Jan 21 12:48:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7433
7434 * version.c: Bumped version number to 1.93.05.
7435
7436Wed Jan 20 17:11:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7437
7438 * config/obj-coff.c (obj_emit_relocations): Don't use #elif.
7439 (obj_emit_lineno): Don't need return at end of void function.
7440 (obj_symbol_new_hook): Ditto.
7441
7442 * config/tc-m68k.c: Removed some unused code.
7443 (tc_aout_fix_to_chars): Array nbytes_r_length is now const.
7444
7445 * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
7446 offset field is set.
7447
7448Fri Jan 8 05:44:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7449
fd4b7c25
KR
7450 * config/tc-sparc.c (sparc_ip): For %uhi and %ulo, if not
7451 ENV64, emit no reloc.
7452 (md_pseudo_table): For ".xword", call s_xword.
7453 (s_xword): New function.
7454
0cca30f3
KR
7455 * config/tc-sparc.c (architecture_requested, warn_on_bump,
7456 md_relax_table): Use default zero initialization.
7457 (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
7458 latter, instead of selecting with preprocessor conditionals.
7459
7460Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7461
7462 * configure.in: recognise all sparclite variants
7463
7464Thu Jan 7 05:25:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7465
7466 * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
7467 accidentally changed to use subseg_change where it should have
7468 been subseg_new.
7469
6c5f9998
KR
7470Tue Jan 5 08:42:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7471
0bd77bc4
KR
7472 * expr.c (operand): If character other than comma or newline is a
7473 logical end-of-line character, use the newline case.
0cca30f3
KR
7474 From Eric Youngdale:
7475 (operand): Set X_add_number field for floating-point numbers.
7476 (operand): Treat zero byte as end-of-operand.
0bd77bc4 7477
6c5f9998
KR
7478 * configure.in (per-target): Look for with_bfd_assembler option.
7479 For now, only accept "no", until the merge is done.
7480
0cca30f3
KR
7481 Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil):
7482 * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
7483 config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
7484 * read.c: Finish conversion to S_* macros in the VMS only
7485 parts of the program. Add "const" modifier to hex_value.
7486 * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
7487 "ifdef OBJ_VMS".
7488 * expr.c: Add "const" modifier to hex_value.
7489 * symbols.c: Finish conversion to S_* macros in the VMS only
7490 parts of the program. Add "const" modifier to
7491 md_[long,short]_jump_size. Remove declaration of const_flag
7492 (which will be declared in obj-vms.h).
7493 * write.c: Add "const" modifier to md_[long,short]_jump_size.
7494 Fix arguments to VMS_write_object_file.
7495 * config-gas.com: New file. Script for VMS systems to set up the
7496 configuration to build gas for VMS, and create config.status.
7497 * make-gas.com: Redone to work with new scheme.
7498 * obj-vms.c: Patch to fix bug where we were not correctly parsing the
7499 stabs directives.
7500 * obj-vms.c: Define macros COPY_LONG and COPY_SHORT which
7501 will swap bytes if needed on a big endian system. Use throughout
7502 as needed.
7503 * obj-vms.c (obj_aout_stab): Add code to generate listing file.
7504 * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
7505 types of malformed stabs. Change parsing algorithm so that we are
7506 more certain of having all of the information that we need on hand.
7507 * obj-vms.c (final_forward_reference): New function, used to help
7508 resolve the data types of as many struct elements as possible
7509 when some part of the struct is not fully defined by the compiler.
7510 * obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation
7511 stabs directives.
7512 * obj-vms.c (VMS_write_object_file): Define all vtable psects
7513 as symbols as well in the object file. Look for external functions
7514 that start with "__vt.", and turn them into variables, since the
7515 g++ compiler is incapable of doing this.
7516 * tc-vax.c: Add '1' option for backward compatibility with older GCC
7517 versions.
7518 * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
7519 * input-scrub.c (as_where): Fix bug where as would crash if we did not
7520 have the name of the source file yet.
7521 * config/ho-vms.h: define HO_VMS, not HO_VAX.
7522
9d76a195
KR
7523Mon Jan 4 05:17:26 1993 Ken Raeburn (raeburn@cygnus.com)
7524
7525 * read.c (s_data): Always use "data_section", since it'll map to
7526 SEG_DATA or SEG_E1 if needed.
7527 (s_lcomm): Likewise with bss_section.
7528 (s_fill): Use memset, not bzero.
7529
7530Thu Dec 31 04:29:27 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
7531
7532 * read.c: Deleted some code under "#ifdef DONTDEF" that was for
7533 handling GDB symbol table data.
7534
7535 * config/obj-aout.h (segment_name): Delete definition.
7536 (seg_name): Delete declaration.
7537 * config/obj-bout.h (segment_name, seg_name): Ditto.
7538 * config/obj-vms.h (segment_name, seg_name): Ditto.
7539 * config/obj-coff.h (segment_name): Ditto.
7540 * config/obj-coffbfd.h (segment_name): Ditto.
7541
7542 * Changes for BFD_ASSEMBLER:
7543 * obj.h (obj_crawl_symbol_chain): Declare only if not
7544 BFD_ASSEMBLER.
7545 (obj_header_append, obj_pre_write_hook): Ditto.
7546 * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
7547 (segT) [BFD_ASSEMBLER]: New typedef for "asection *".
7548 (segment_name) If BFD_ASSEMBLER, look up BFD section name;
7549 otherwise, use seg_name array.
7550 (seg_name): Declare only if not BFD_ASSEMBLER.
7551 (section_alignment): Declare only if not BFD_ASSEMBLER.
7552 (big_section, reg_section, pass1_section, diff_section,
7553 absent_section, text_section, data_section, bss_section): If
7554 BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
7555 mapping to segT enum values.
7556 (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
7557 if these are used or defined, if BFD_ASSEMBLER.
7558 (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
7559 subseg_new split into two functions.
7560 (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
7561
7562 * as.h (volatile): Don't define if already defined.
7563 (had_errors, had_warnings): Provide prototypes for ANSI C even if
7564 NO_STDARG.
7565 (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
7566 declare with format attribute for -Wformat checking.
7567
85825401
ILT
7568Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com)
7569
7570 * app.c, config/tc-*.c: Don't include read.h, since it is already
7571 included by as.h.
7572
7573 * These are based on patches from Minh Tran-le
7574 <mtranle@paris.intellicorp.com>.
7575 * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use
7576 obj_format coffbfd and gas_target i386coff for target.
7577 (i[34]86-*-isc*): New host (uses sysv).
7578 * config/i386aix.mt: Removed (no longer used).
7579 * config/mh-i386aix (RANLIB): Use true rather than /bin/true.
7580 (MINUS_G): Removed.
7581 (LDFLAGS): Added, defined as -shlib.
7582 * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
7583 * config/te-sco386.h (LOCAL_LABEL): Don't define.
7584 (DOT_LABEL_PREFIX): Define.
7585 * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
7586 name rather than L0\001.
7587 * read.c (s_lcomm): Make a frag in SEG_BSS rather than using
7588 local_bss_counter.
7589 * symbols.c, symbols.h (local_bss_counter): Removed.
7590 * write.c (write_object_file): bss no longer uses
7591 local_bss_counter. Pass correct data and bss size to
7592 VMS_write_object_file.
7593 * config/obj-vms.c (VMS_write_object_file): Accept bss size as
7594 argument, rather than using local_bss_counter.
7595 * config/tc-m88k.c (s_bss): Don't use local_bss_counter.
7596 * config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
7597 * config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
7598 (size_section): Restored sanity check.
7599 (do_relocs_for): Base section address on s_paddr rather than
7600 computing it. Adjust a29k R_IHIHALF special case to account for
7601 section paddr (used to require paddr to be zero). If there are no
7602 reclos, set s_relptr to 0. Set relocation size in object_headers.
7603 (fill_section): Always set s_vaddr here, removing
7604 ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set
7605 NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
7606 Set STYP_INFO for .comment.
7607 (coff_header_append): Use object headers and H_{SET,GET}_* macros.
7608 Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
7609 (crawl_symbols): Handle 8 character section name correctly. Use
7610 H_{SET,GET}_* macros.
7611 (do_linenos_for): Set lineno size in object_headers.
7612 (write_object_file): Use H_{SET,GET}_* macros. Don't bother to
7613 set s_vaddr here. If string_byte_count remains 4, set it back to
7614 0, and only write strings out if there are some. Call
7615 fill_section before do_relocs_for and do_linenos_for.
7616 (obj_coff_section): Handle optional quoted second argument giving
7617 section characteristics.
7618 (obj_coff_bss): Added to handle .bss.
7619 (obj_coff_ident): Added to handle .ident (puts string in .comment
7620 section).
7621 (obj_coff_lcomm): Put common symbols in .bss, not .data.
7622 (fixup_mdeps): Change to segment. Call frag_wane after
7623 md_convert_frag.
7624 (fixup_segment): Explicitly check S_IS_COMMON before making 386
7625 adjustment (already happened only for common symbols, but this is
7626 clearer).
7627 * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
7628 * config/tc-i386.c (s_bss): Don't use if I386COFF.
7629 (md_pseudo_table): Ignore .optim and .noopt.
7630 (tc_coff_sizemachdep): New function.
7631 * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
7632 compatibility.
7633 (LOCAL_LABEL): Removed definition.
7634 (DOT_LABEL_PREFIX): Defined.
7635
4539aa02
KR
7636Mon Dec 28 10:32:05 1992 Ken Raeburn (raeburn@cygnus.com)
7637
6d331d71
KR
7638 * app.c (app_push): Use memcpy, not bcopy.
7639 (do_scrub_next_char): For \", return " not '.
7640 (symbol_chars): Now const.
7641
4539aa02
KR
7642 * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
7643 and "0b". If LOCAL_LABELS_DOLLAR, check for "0$".
7644
7645 * config/obj-coff.h: Don't use #elif.
7646
7647 * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
7648 have it. (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.)
7649
3eb802b5
ILT
7650Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com)
7651
7652 * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
7653 already defined.
7654
be06bdcd
SC
7655Tue Dec 15 12:40:11 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7656
7657 * app.c (do_scrub_begin): allow single quote strings if so
7658 configured.
7659
7660 * config/*z8k*: checkpoint
7661
7662Sun Dec 13 00:04:38 1992 Ian Lance Taylor (ian@cygnus.com)
7663
7664 * read.c (read_a_source_file): avoid calling xmalloc (0).
7665
016e0d42
ILT
7666Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com)
7667
7668 * listing.c: Call xmalloc, not malloc; don't declare malloc.
7669
7670 * Changes to support SCO 3.2v4:
7671 * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
7672 SEG_BSS, fill with NOP_OPCODE.
7673 * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
7674 * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
7675 using ZERO_BASED_SEGMENTS.
7676 (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
7677 never set segment address for SEG_E2 (.bss) and don't write out
7678 SEG_E2 contents. Set .init and .fini sections to STYP_TEXT.
7679 (obj_coff_endef): Don't merge labels or symbols awaiting forward
7680 definitions, and don't merge tags with non-tags. Check for .bf
7681 rather than just checking whether the second character is b and
7682 the third character is f.
7683 (obj_coff_val): gcc can generate values which we don't handle
7684 correctly; discard information for now, since it only affects the
7685 debugging information.
7686 (tag_find_or_name): Don't insert tags in the symbol table.
7687 (yank_symbols): Don't merge labels.
7688 (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
7689 already defined. Fill subsegments with NOP_OPCODE, not 0. Don't
7690 set segment address if ZERO_BASED_SEGMENTS.
7691 (obj_coff_section): Accept and ignore a trailing quoted string, as
7692 used in AT&T i386 syntax.
7693 (fixup_segment): Take segment as argument. On the i386, adjust PC
7694 relative addends by the segment vaddr.
7695 * tc-i386.h: Define SUB_SEGMENT_ALIGN.
7696 * tc-a29k.h: Define ZERO_BASED_SEGMENTS.
7697 * tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
7698
db33220f
KR
7699Tue Dec 8 00:06:48 1992 Ken Raeburn (raeburn@rtl.cygnus.com)
7700
016e0d42
ILT
7701 * config/obj-coffbfd.c: Include libcoff.h.
7702
db33220f
KR
7703 * version.c: Now version 1.93.
7704
dde624ef
KR
7705Mon Dec 7 00:39:09 1992 Ken Raeburn (raeburn@cygnus.com)
7706
db33220f
KR
7707 * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
7708 power-of-two alignment for .align.
7709
dde624ef
KR
7710 * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
7711 and leave everything else alone.
7712
7713Fri Dec 4 16:58:42 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
7714
7715 * Makefile.in (as.new): Don't bother saving as.old.
7716
7717 * write.c: Conditionalize on OBJ_VMS, not VMS.
7718 (magic_number_for_object_file): Don't define if OBJ_VMS.
7719
7720 * config/obj-vms.c: Changes for traditional C.
7721
7f2cb270
KR
7722Thu Dec 3 01:24:07 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
7723
7724 * config/ho-generic.h (malloc, realloc): Declare.
7725
7726 * Lots of comment/whitespace changes.
7727
7728 * write.h (struct fix): Some fields reordered, narrowed.
7729
7730 * read.c (MASK_CHAR): Define using C types, not magic number.
7731
7732 * as.c, input-file.c: Deleted some unused code.
7733
7734 * app.c, as.h: Doc fix.
7735
7736 * flonum-konst.c, flonum-mult.c: Include ansidecl.h.
7737
7738 * as.h (xmalloc): Argument is long.
7739
7740 * xmalloc.c (error): Remove declaration; as.h takes care of it.
7741
0cca30f3
KR
7742 * doc/as.texinfo: Regrouped documentation of some command-line
7743 options. Updated options documentation for m68k. Some minor
7744 wording/punctuation changes.
7745
7f2cb270
KR
7746Mon Nov 30 11:42:11 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
7747
7748 * configure.in: Accept target OS "vms".
7749
7750 * symbols.c: Merged ANSI and non-ANSI function decls, using
7751 PARAMS macro.
7752
7753 * xmalloc.c: Just include as.h, don't bother trying to figure out
7754 other header files.
7755
7756 * strstr.c, strerror.c: Deleted.
7757 * Makefile.in: Deleted references.
7758
7759 * config/tc-ns32k.c: Don't include header file for string
7760 declarations; leave that to ho-*.h.
7761
7762Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com)
7763
7764 * config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
7765 imported from FSF sources.
7766
7767 * messages.c (strerror): Declare unconditionally.
7768
7769 * as.h: Delete alloca and register definitions.
7770
7771 * config/atof-ieee.c (mask): Now const.
7772
7773 * obstack.c, obstack.h: Deleted.
7774
7775 * as.h (flag_readonly_data_in_text): New flag.
7776 * as.c (main): Set it for -R.
7777
7778 * as.h (flag_suppress_warnings): New flag.
7779 * as.c (main): Set it for -W.
7780 * messages.c (as_warn): Check it instead of flagseen['W'].
7781
7782 * as.h (flag_always_generate_output): New flag.
7783 * as.c (main): Set it for -Z.
7784
7785 * config/tc-sparc.h: Define NEED_FX_R_TYPE.
7786 * config/tc-a29k.h: Ditto.
7787 * write.h (struct fix): Don't conditionalize fx_r_type field on TC
7788 macros.
7789
7790 * as.h: Merged ANSI and non-ANSI function decls, using PARAMS
7791 macro.
7792 * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
7793 obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
7794 write.h: Likewise.
7795 * read.c: Likewise.
7796
7797 * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in
7798 xrealloc from xrealloc.c.
7799 * xrealloc.c: Deleted.
7800 * Makefile.in (REAL_SOURCES, OBJS): Adjusted.
7801
7802 * configure.in: For host CPU a29k, rs6000, vax, consider using bsd
7803 or vms ho- files.
7804
7805 * config/ho-sysv.h (setbuffer, HO_USG): Deleted.
7806
7807 * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
7808 don't initialize it with NULL.
7809
7810 * config/ho-vax.h (M_VAX): Deleted; was unused.
7811
7812 * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
7813 New files imported from FSF version, contributed by Eric Youngdale.
7814 * README-vms-dbg, config/vms: Deleted.
7815
7816 * ChangeLog, config/ChangeLog: Merged.
7817
7818 * config/*tahoe*, configure.in: Tahoe support brought in from FSF
7819 version.
7820
7821 * input-file.c (input_file_open): Eliminate call to setvbuf.
7822 [USG] (setbuffer): Deleted macro.
7823
6efd877d
KR
7824Mon Nov 23 11:00:16 1992 Ken Raeburn (raeburn@cygnus.com)
7825
7826 * all files: Whitespace changes for GNU indentation style, done by
7f2cb270 7827 GNU `indent'. Some cleanup still needed, especially of comments.
6efd877d
KR
7828
7829 * configure.in: No te-386bsd.h file exists; don't try to use it.
7830
7f2cb270
KR
7831 * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
7832
7833 * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
7834 could be doing emulation.
7835
0cca30f3 7836Thu Nov 19 11:47:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
132239bf 7837
0cca30f3
KR
7838 z8000 documentation
7839 * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
7840 all modified.
7841
6efd877d
KR
7842Tue Nov 10 09:49:24 1992 Ian Lance Taylor (ian@cygnus.com)
7843
7844 * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
7845
7846 * subsegs.h: add extern to segment_info declaration.
7847
7848 * read.h: added extern declarations for comment_chars,
7849 line_comment_chars, and line_separator_chars.
7850 read.c, app.c: removed definitions of comment_chars,
7851 line_comment_chars, and line_separator_chars.
7852
7f2cb270
KR
7853 * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
7854 still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
7855 the register name.
7856 (insert_reg): put REGISTER_PREFIX before register names before
7857 putting them in the symbol table.
7858 * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
7859 M68KCOFF.
7860
7861 * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
7862 section.
7863
7864 * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
7865 comment_chars, line_comment_chars and line_seperator_chars
7866 consistently const, and always initialized them. Included read.h.
7867
7868Thu Nov 5 17:55:41 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
7869
7870 * tc-sparc.c (sparc_ip): Add code to flag error if an absolute
7871 constant will not fit in an immediate field.
7872 (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
7873
7874Wed Nov 4 07:50:46 1992 Ken Raeburn (raeburn@cygnus.com)
7875
7876 * obj-coff.c (callj_table): Delete global variable.
7877 (obj_emit_relocations): Define it locally here, and only if
7878 TC_I960 is defined.
7879
7880 * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
7881 (m68k_ip): Don't warn about bignum used as float bit-pattern.
7882
7883 * obj-coff.c: Replaced ANSI and non-ANSI function declarations
7884 with a single set using PARAMS macro.
7885
7886 * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
7887 of 2.
7888
7889 * tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
7890
7891 * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
7892 so widening works consistently.
7893
6efd877d
KR
7894Wed Oct 28 08:52:34 1992 Ken Raeburn (raeburn@cygnus.com)
7895
7896 * version.c: Put conditional "const" before version_string, not
7897 before dummy function for VMS. Now version 1.91.03.
7898
7899 * app.c (do_scrub_next_char): Need double-\ before `000' to show
7900 printed rep of null character.
7901
7f2cb270
KR
7902Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com)
7903
7904 * obj-coffbfd.c (write_object_file): check return value of
7905 bfd_close_all_done.
7906
559d9aac
ILT
7907Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com)
7908
7f2cb270
KR
7909 * Support for i386-sysv.
7910 obj-coffbfd.c (do_relocs_for, write_object_file): set segment
7911 addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can
7912 be used to set them all to zero as was done before.
7913 (fill_section): segment addresses now set in write_object_file.
7914 (fill_section): Don't set STYP_NOLOAD for .bss section.
7915 (fixup_segment): 386 uses strange common symbol format.
7916 tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
7917 compatibility with SVR3.2 linker.
6efd877d
KR
7918 * configure.in: i386-sysv and i386-sco use coffbfd.
7919
559d9aac
ILT
7920 * app.c (do_scrub_next_char): discard whitespace after a label.
7921
0f8b9790
DZ
7922Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7923
7924 * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
7925 hosts, use the sysv configuration for solaris2
7926
7f2cb270
KR
7927Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7928
132239bf 7929 fix i960+non-bfd coff bit rot.
7f2cb270
KR
7930 * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
7931 support for C source listings. (obj_coff_endef): look in the right
7932 part of the symbol for the symbol name
7933
7934 * tc-m68k.c (get_num): make it work for all segments, not just the
7935 first three.
7936
984cf2d7
ME
7937Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
7938
7939 * configure.in: recognize i386-*-bsd emulation.
7940
7941Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7942
7943 * configure.in: use the cpu-vendor-os triple for host and target
7944
7f2cb270
KR
7945Tue Sep 29 12:22:52 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7946
7947 * obj-coffbfd.c (write_object_file): don't fixup for the z8k
7948 * tc-z8k.c: lots of bug fixes
7949
7950Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com)
7951
7952 * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
7953 #elif, since it is not supported by old compilers.
7954 ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
7955 couple of expressions in tc-m68k.c.
7956
984cf2d7
ME
7957Mon Sep 28 21:18:24 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
7958
7959 * read.c (cons): If NO_RELOC is defined, use it.
7960
7f2cb270
KR
7961 * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
7962
7963Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com)
7964
7965 * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
7966 local labels to start with a .) and set REGISTER_PREFIX to %.
7967 tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
7968
5a0fc1d4
JG
7969Fri Sep 25 17:53:43 1992 John Gilmore (gnu@cygnus.com)
7970
7971 * messages.c: Comment changes.
7972
4959cb7b
KR
7973Fri Sep 25 14:12:58 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
7974
7975 * as.h: Test if __STDC__ is defined only, don't test its value.
7976 * messages.c: If __STDC__ is not defined, define NO_STDARG.
7977
5e9d510e
BK
7978Thu Sep 24 12:42:32 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
7979
7980 * listing.c (debugging_pseudo): Add stabs and stabn as things to
7981 ignore.
7982
7f2cb270
KR
7983Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com)
7984
7985 * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
7986 sections starting from zero, rather than making them consecutive.
7987 This makes subsequent reloc calculations easier, esp if the object
7988 format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
7989 allocate lcomm in .data rather than in .bss. It seems that some
7990 tools can't cope with a non-zero sized bss before linkage.
132239bf 7991
7f2cb270
KR
7992Tue Sep 22 15:10:51 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
7993
7994 * tc-m68k.c: Replace "enum m68k_architecture" with "int"
7995 throughout. That enum no longer means what we thought it meant.
7996
7997 * tc-m68k.c (md_assemble, md_parse_option): Handle new
7998 "-mno-688[58]1" options.
7999
8000 * tc-m68k.c: Added CPU32 support.
8001
8002Fri Sep 18 08:02:18 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8003
8004 * tc-m68k.c (m68k_ip): An(disp) is not pc relative.
8005
569dac15
JW
8006Tue Sep 15 17:25:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
8007
8008 * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
8009 Change LIBDEPS dependence to LIBS.
8010
efbfb612
ILT
8011Tue Sep 15 15:32:02 1992 Ian Lance Taylor (ian@cygnus.com)
8012
8013 * Makefile.in (install): if $(tooldir) exists, install as in
8014 $(tooldir)/bin.
8015
987b1491
ILT
8016Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com)
8017
ca5e9d49
ILT
8018 * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
8019 .word is < -32768 or > 32767. The -J flag causes the error to be
8020 ignored. This is to catch over-sized switches generated by gcc on
8021 systems which don't support the broken .word hack.
8022 as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
8023 write.c (fixup_segment): check for signed .word overflow if
8024 WARN_SIGNED_OVERFLOW_WORD.
8025
987b1491
ILT
8026 * write.c (fixup_segment): fixed missing parens in expression
8027 checking for byte or word overflow.
8028
7f2cb270
KR
8029 * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
8030 obj-coffbfd.c (fixup_segment): check for signed .word overflow if
8031 WARN_SIGNED_OVERFLOW_WORD.
8032
8033 * obj-coffbfd.c (fixup_segment): fixed missing parens in
8034 expression checking for byte or word overflow.
8035
8036Fri Sep 11 10:21:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8037
8038 Support for i386 coff
132239bf 8039 * obj-coffbfd.h : added stuff
7f2cb270
KR
8040 * tc-i386.c (tc_coff_fix2rtype): new function
8041 * tc-i386.h : new coff defines
8042
b1520b1f
ILT
8043Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com)
8044
8045 * input-scrub.c (input_scrub_push): call input_file_begin, not
8046 input_scrub_begin.
8047 messages.c (as_perror): print ": " between the passed in error and
8048 the strerror, like perror does.
8049
b53ccaac
ILT
8050Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com)
8051
8052 * Makefile.in: use gas_target instead of modifying target_cpu.
8053 From Steve Chamberlain:
8054 Makefile.in: Handle m68*-*-coff*.
8055 read.c, read.h: add mult argument to s_space
8056
7f2cb270
KR
8057 * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
8058 Motorola and MIT syntax; gas can now assemble either type of
8059 file.
8060 tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
8061 From Steve Chamberlain:
8062 m68kcoff.mt: for m68k COFF.
8063 obj-coffbfd.c: (fixup_mdeps) added
8064 (size_section) removed bad sanity check
8065 (fill_section) added rs_machine_dependent case
8066 (write_object_file) call fixup_mdeps
8067 (fixup_segment) set fx_subsy to 0.
8068 obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
8069 handle m68k.
8070 tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
8071 pseudo ops.
8072
db4d20e5
KR
8073Tue Sep 8 17:10:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
8074
8075 * Makefile.in (LIBS): Include opcode library.
8076
e53ab768
KR
8077Fri Sep 4 18:20:56 1992 Ken Raeburn (raeburn@cygnus.com)
8078
8079 * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
8080 including zero are accepted, pass +0.0.
8081
7e10f53c
ILT
8082Sun Aug 30 21:24:46 1992 Ian Lance Taylor (ian@cygnus.com)
8083
8084 * Makefile.in: map "as" through program_transform_name when
8085 installing.
8086
0cca30f3
KR
8087 * doc/Makefile.in: map "as" through program_transform_name when
8088 installing.
8089
b0952e12
JW
8090Sat Aug 29 12:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
8091
8092 * Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
8093
7f2cb270
KR
8094Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com)
8095
8096 * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
8097 tc-i960.c (md_ri_to_chars): Always output bout object file in
8098 little endian byte order (used to use endianness of host).
8099
b2f221a9
KR
8100Tue Aug 25 15:50:48 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
8101
8102 * config/tc-m68k.c (init_table): Now const. Always include 68851
8103 data, so that "bc" is available to 68040 cache instructions.
8104 Added "tt0", "tt1", and 68ec030 variants.
8105 (md_assemble): Complain if 68000 (only) and 68881 are specified.
8106 (enum _register): Added TT0, TT1.
8107 (m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass
8108 line number correctly in "internal error" messages. Don't print
8109 architecture-mismatch message for operand errors.
8110
8111 From Colin Smith (colin@wrs.com):
8112 * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
8113 than install_operand.
8114
ab737e51
SC
8115Tue Aug 25 15:13:48 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8116
8117 * listing.c (buffer_line): rewind to the start of include
8118 files, they might be included twice.
8119
7f2cb270
KR
8120 * z8k.c, z8k.h, z8k.mt: z8000 support stuff
8121
7121231f
ILT
8122Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com)
8123
8124 * Makefile.in: defined TARGET_CPU for C code so that it can choose
8125 one element of a family.
8126
7f2cb270
KR
8127 * tc-m68k.c: use TARGET_CPU to choose default cpu type.
8128
8129 * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
8130 so that we can assemble hand-written libgcc code.
8131
4772861e
KR
8132Fri Aug 21 14:38:44 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
8133
8134 * messages.c (as_warn): Use fputs, not fprintf, with a buffer that
8135 has already been formatted (but may still contain %-characters).
8136 (as_bad): Likewise.
8137
7f2cb270
KR
8138Wed Aug 19 11:20:59 1992 Ian Lance Taylor (ian@cygnus.com)
8139
8140 * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
8141 written with indirection on the last two operands, which can be
8142 either data or address registers. Added a new operand type 'r'
8143 which accepts either register type. Added '(' to notend stuff in
8144 tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
8145
09952cd9
KR
8146Wed Aug 19 09:25:09 1992 Ken Raeburn (raeburn@cygnus.com)
8147
8148 * as.h (enum _relax_state): Start off at one, not zero, to better
8149 catch uninitialized-variable errors.
8150 (linkrelax): Declare new variable.
8151
8152 * messages.c (warning_count, error_count): Default initializer is
8153 sufficient.
8154
8155 * write.c: Merged some declarations, using PARMS macro.
8156 (text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
8157 data_last_frag): No longer static.
8158 (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
8159 defined, call it. Change segments before calling fixup_segment.
8160 (relax_align): If linkrelax, provide extra padding.
8161
8162 * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
8163 their not having symbols associated.
8164
8165 * tc-i960.c (norelax, instrument_branches): Default initializer is
8166 sufficient.
8167 (linkrelax): Delete variable definition.
8168 (mem_fmt): Call fix_new with NO_RELOC.
8169 (tc_bout_fix_to_chars): Handle alignment relocs.
8170 (i960_handle_align): New function.
8171 * tc-i960.h (linkrelax): Delete declaration.
8172 (HANDLE_ALIGN): New macro; calls i960_handle_align.
8173 (NEED_FX_R_TYPE, NO_RELOC): New macros.
8174
a457f4d9
KR
8175Tue Aug 18 14:59:21 1992 Ken Raeburn (raeburn@cygnus.com)
8176
8177 * config/sparc.mt: New file. Grab sparc opcode table from bfd
8178 library.
8179
4b857710
ILT
8180Tue Aug 18 14:16:38 1992 Ian Lance Taylor (ian@cygnus.com)
8181
8182 * Makefile.in: always create installation directories. Removed
8183 MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
8184 FLAGS_TO_PASS to recursive makes.
8185
0cca30f3
KR
8186 * doc/Makefile.in: always create installation directories.
8187
f7e9bc5a
SC
8188Mon Aug 17 15:09:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8189
8190 * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
8191 being used with args swapped, causing occasional lossage when
8192 refilling buffers after an include file.
8193
c1c28543
KR
8194Mon Aug 17 13:18:51 1992 Ken Raeburn (raeburn@cygnus.com)
8195
8196 * messages.c (as_tsktsk): Use correct ANSI form for stdarg
8197 version. Discard bogus DONTDEF version.
8198 (as_warn, as_bad, as_fatal): Likewise.
8199
2e20e59a
KR
8200Fri Aug 14 18:31:14 1992 Ken Raeburn (raeburn@cygnus.com)
8201
8202 * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
8203 selected architecture, print a message saying so and listing what
8204 processors support it, rather than saying "operands mismatch".
8205
c8c7e0bf
KR
8206Thu Aug 13 13:53:19 1992 Ken Raeburn (raeburn@cygnus.com)
8207
8208 * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
8209
8210 * config/ho-rs6000.h (M_RS6000): Don't define it.
8211 (free): Declare it.
8212 (BROKEN_ASSERT): Define it if not __STDC__.
8213
7f2cb270
KR
8214Tue Aug 11 12:58:14 1992 Ken Raeburn (raeburn@cygnus.com)
8215
8216 * sparc.mt: New file.
8217
8218Mon Aug 10 14:37:08 1992 Per Bothner (bothner@cygnus.com)
8219
8220 * tc-m68k.c: ".align N" means align to N-byte boundary *only*
8221 if TN_SUN3; otherwise align to 2**N-byte bounary.
8222
7fd3560a
SC
8223Thu Aug 6 12:10:39 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8224
8225 * read.c (s_fill): make the .fill size clamped error a warn and
8226 fix bug where 0's were always placed.
8227
7f2cb270
KR
8228 * config/tc-h8300.c: if a :8 is seen after an operand, fill top
8229 two bytes of any constant with 0xff:
8230
62594bd7
SC
8231Wed Aug 5 12:02:40 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8232
8233 * config/tc-m68k.c (md_pseudo_table): fix the .align thing
4f3569fa 8234 the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
62594bd7 8235
7f2cb270
KR
8236Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com)
8237
8238 * tc-m68k.c (try_index): Error if index scaling specified and
8239 assembling for an older CPU than a 68020.
8240
680227f3
KR
8241Sat Aug 1 19:10:13 1992 Ken Raeburn (raeburn@cygnus.com)
8242
8243 * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
8244 fx_offset into account.
8245
c51ccfd5
KR
8246Fri Jul 31 21:53:28 1992 Ken Raeburn (raeburn@cygnus.com)
8247
8248 * configure.in (mips host): Accept "ultrix" with version number.
8249
8250 * expr.c (floating_constant): Separate "=-" to avoid confusing
8251 ancient or broken compilers.
8252
8253 * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
8254 processor/opcode mismatch, so reword the error message.
8255 (md_assemble): If no CPU has been set (even if FPU/PMMU
8256 characteristics have been), default to 68020. Don't need extra
8257 quotes around error string.
8258
14f1fc24
JW
8259Fri Jul 31 12:26:34 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
8260
8261 * read.c (potable): Revert sac's incorrect change made Jul 13.
8262 Align really is supposed to be ptwo not nbytes.
8263
8264Mon Jul 20 02:51:59 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
8265
8266 * Makefile.in: _Do_ include libiberty. (from sef)
8267
8268Fri Jul 17 15:15:28 1992 Ken Raeburn (raeburn@cygnus.com)
8269
8270 * expr.c (integer_constant): Handle "0f" and "0b" label references
8271 properly.
8272
462088b8
SC
8273Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8274
8275 * write.c (fixup_segment): if relaxing, don't do anything.
8276 * config/obj-bout.[ch] : maintain the a_relaxable file header info
8277 * config/tc-i960.c: new option -linkrelax
8278
8279Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8280
8281 * expr.c (expr): allow SEG_BSS in expressions
8282 * read.c (potable): align should be nbytes, not ptwo!
8283 * write.c (write_object_file): extra glue for new bss attributes
8284 (relax_segment): SEG_BSS is ok now
8285 * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
8286
7f2cb270
KR
8287Mon Jul 6 17:09:32 1992 Steve Chamberlain (sac@cygnus.com)
8288
8289 * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
8290
462088b8
SC
8291Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
8292
8293 * configure.in: recognize m680x0 as having sun3 emulation mode for
8294 vxworks environment.
8295
8296
0b0b5dba
DHW
8297Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
8298
8299 * Makefile.in: Add program_suffix (parallel to program_prefix)
8300
7c2d4011
SC
8301Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8302
8303 * app.c (process_escape): new function to handle escapes the right
8304 way, (do_scrub_next_char): use new function
8305 * cond.c (s_ifdef): do ifdef/ifndef right
8306 * read.c (s_fill): make the , expressions optional like the doc
8307 says
8308 * config/tc-h8300.[ch]: better warnings
8309
90d49457
SC
8310Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8311
65bfcf2e
SC
8312 * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
8313 as data0_frchainP
8314
8315 * write.c (write_object_file): various changes to handle data in
132239bf 8316 the BSS segment in much the same was as stuff in the DATA segment.
65bfcf2e 8317
7f2cb270
KR
8318 * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
8319 pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
8320 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
8321 the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
8322 it into SEG_BSS
462088b8 8323
f8701a3f
SC
8324Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8325
8326 * expr.c(expr): allow SEG_REGISTER in expressions.
8327 * read.c(pseudo_set): register expressions can be the source of a
8328 set.
8329 * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
8330 goto SEG_TEXT (if a.out)
8331 * write.c (write_object_file): If a.out don't use the old way for
8332 -R.
8333 * config/obj-a.out (s_sect): complain if the user tries to use a
8334 subsegment with a value which might interfere with out -R hackery.
8335 * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
8336 rather than use ugly if tree. (init_regtable): insert register
8337 names into symbol table.
8338
ebfb4167
MT
8339Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com)
8340
8341 * write.c (write_object_file): keep the fix_tail clean, which
8342 fixes a bug in -R where relocations were being lost.
8343
8344Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
8345
8346 * configure.in: recognize m680x0 as having sun3 emulation mode for
8347 vxworks environment.
8348
8349Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com)
8350
8351 * configure.in: recognize m680x0 as an m68k
8352
dfd53fe9
JW
8353Thu May 28 11:22:02 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
8354
8355 * configure.in: Recognize sparclite as a sparc variant.
8356
7f2cb270
KR
8357 * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new
8358 -Asparclite flag.
8359
d312e231
SC
8360Tue May 26 16:47:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8361
8362 * config/tc-a29k.c: lint
8363 * listing.c, expr.c: patches from Andrew Smith
8364
0cca30f3
KR
8365Thu May 14 17:22:48 1992 K. Richard Pixley (rich@rtl.cygnus.com)
8366
8367 * doc/Makefile.in: use m4 rather than gm4.
8368
7f2cb270
KR
8369Mon May 4 18:56:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8370
8371 * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
8372 calc the base of relocs correctly.
8373 * tc-a29k.c (parse_operand): allow expressions to be in any section.
8374
d312e231
SC
8375Mon Apr 27 13:13:31 1992 K. Richard Pixley (rich@cygnus.com)
8376
8377 * as.c, write.c: use -K rather than -k for the broken word warning
8378 option.
8379
fa493b93
RP
8380Tue Apr 21 13:35:30 1992 K. Richard Pixley (rich@cygnus.com)
8381
8382 * Makefile.in: do not print recursion lines.
8383
d96c09ed
RP
8384Wed Apr 15 21:19:31 1992 K. Richard Pixley (rich@rtl.cygnus.com)
8385
8386 * Makefile.in: the tooldir copy of gas goes directly in tooldir.
8387
8388Tue Apr 14 14:50:22 1992 Ken Raeburn (Raeburn@Cygnus.COM)
8389
8390 * write.c (write_object_file): For b.out format, round up section
8391 start addresses to match required alignment.
8392
81484684
KR
8393Thu Apr 9 05:45:29 1992 Ken Raeburn (Raeburn@Cygnus.COM)
8394
8395 * Makefile.in (install): Install into $(tooldir)/bin, since that's
8396 where gcc looks for it.
8397
3876b4c5
SEF
8398Tue Apr 7 15:12:15 1992 Sean Eric Fagan (sef@cygnus.com)
8399
8400 * Makefile.in: Changed some lines to be less confusing for some
8401 makes.
8402
8403 * input-file.c: Conditionalize on _IOFBF, not VMS.
8404
8405 * read.c, write.c: Change a series of ifdef/elif to
8406 ifdef/else/ifdef etc.
8407
8408Fri Mar 27 12:21:16 1992 K. Richard Pixley (rich@cygnus.com)
8409
8410 * symbols.c (fb_label_init): fix sizeof to memset.
8411
95a925b8
RP
8412Fri Mar 13 15:45:44 1992 K. Richard Pixley (rich@cygnus.com)
8413
3876b4c5
SEF
8414 * Makefile.in: install the man page.
8415
95a925b8
RP
8416 * Makefile.in: pass down MAKEINFO explicitly on info.
8417
0cca30f3
KR
8418 * doc/Makefile.in: use $(MAKEINFO) not makeinfo.
8419
5d53038b
SC
8420Fri Mar 13 08:03:03 1992 Steve Chamberlain (sac@thepub.cygnus.com)
8421
8422 * flonum-const.c: renamed flonum-konst.c to stop dos name
8423 conflict.
8424
7f2cb270
KR
8425Thu Mar 12 04:42:38 1992 K. Richard Pixley (rich@cygnus.com)
8426
8427 * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
132239bf 8428 tc-m68k.h to te-sun3.h.
7f2cb270 8429
8c1b25e4
RP
8430Wed Mar 11 23:32:42 1992 K. Richard Pixley (rich@cygnus.com)
8431
8432 * configure.in: vxworks68 gets te-sun3.h.
8433
8434 * expr.c: remove limitation that local_labels_dollar or
8435 local_labels_fb must be < 10.
8436
8437 * symbols.c: remove local_labels_dollar, replace with a function
8438 interface for a sparse array. All users adjusted.
8439
7f2cb270
KR
8440 * te-sun3.h: add LOCAL_LABELS_DOLLAR.
8441
0cca30f3
KR
8442Sat Mar 7 00:06:25 1992 K. Richard Pixley (rich@rtl.cygnus.com)
8443
8444 * doc/Makefile.in: commented out line for building as-all.texinfo.
8445 This is temporary.
8446
8447 * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
8448
8c1b25e4
RP
8449Fri Mar 6 21:57:18 1992 K. Richard Pixley (rich@cygnus.com)
8450
8451 * Makefile.in: added check target.
8452
8453Tue Mar 3 15:45:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
8454
8455 * Makefile.in: added tooldir and program_prefix.
8456
8457Sun Mar 1 04:43:19 1992 Michael Tiemann (tiemann@cygnus.com)
8458
8459 * write.{c,h} (fix_new): Make these declarations consistent.
8460
1651b22d
MT
8461Sat Feb 29 13:59:10 1992 Michael Tiemann (tiemann@cygnus.com)
8462
8463 * Makefile.in (strerror.o): Add rule so that broken Sun make can
8464 work in subdirs.
8465
5373c439
SC
8466Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com)
8467
8468 * read.c, obj-coffbfd.c : fix h8300 specific bit rot
8469
8470 * expr.c (operand): if can't work out what sort of operand it is,
8471 then look through FLT_CHARS for a hint.
8472
8c1b25e4
RP
8473Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
8474
8475 * Makefile.in, configure.in: removed traces of namesubdir,
8476 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
8477 copyrights to '92, changed some from Cygnus to FSF.
8478
0cca30f3
KR
8479 * doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
8480 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
8481 copyrights to '92, changed some from Cygnus to FSF.
8482
f24f7577
SC
8483Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
8484
14d3e47b
SC
8485 * expr.c: If an expression is single comma, then return with
8486 SEG_ABSENT rather than an error - since the sparc front end does
132239bf 8487 really strange things with things like fbge,a
14d3e47b 8488
f24f7577
SC
8489 * as.h: include bfd.h if using many sections
8490 * expr.c: LOCAL_LABELS_FB had been changed to lower case - so
8491 local labels didn't work.
8492 * listing.c (list_symbol_table): don't core dump when there's no
8493 symbol there.
8494 * write.c, write.h: call fix_new with the right number of args on
8495 the H8.
8496 * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
8497 errors nices
8498
c593cf41
SC
8499Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com)
8500
8501 * app.c: MRI compatibility - allow single quote to start a string.
8502 * as.c: fix typo recently introduced.
8503 * as.h : Don't include aout/reloc.h - it's not right for COFF!
8504 * expr.c: Much rewriting, to accomodate MRI syntax for
8505 expressions. Also easier to read now.
8506 * listing.c: Put back defuns
8507 * read.c: modified to accept MRI syntax, put back listing pseudo
8508 ops so that an assembler built with NO_LISTING ignores list ops
8509 rather than pukes.
8510 * write.c, write.h: fixs - only keep a reloc type in a fix if the target
8511 machine is a SPARC or a 29K.
8512 * config/obj-aout.c: added s_sect pseudo op
8513 * config/obj-coffbfd.c: lints, set the filehdr flags right and
8514 fill in the timestamp.
8515 * config/obj-coffbfd.h: Since we don't include aout/reloc.h
8516 anymore, define all the relocs which the tc-<x> bit will use so we
8517 can translate from them to the coff types.
8518 * config/tc-a29k.c: reloc_type isn't ane enum any more
8519 * config/tc-m68k.c: Added NO_RELOC definition.
8520
2d97273c
RP
8521Fri Feb 21 06:21:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
8522
c593cf41
SC
8523 * Makefile.in: put header files before C source for TAGS; remove
8524 references to non-existent syscalls.h.
8525
2d97273c
RP
8526 * read.c, write.c subsegs.c: back out the .bss changes.
8527
7f2cb270
KR
8528 * obj-aout.c: do not include stab.gnu.h if NO_LISTING.
8529
8530 * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
8531
8532 * a.out.h: removed.
8533
6d5460ab
RP
8534Fri Feb 21 01:08:48 1992 Minh Tran-Le (TRANLE@INTELLICORP.COM)
8535
8536 * symbols.c (local_label_name): symbols now start with ^A.
8537
8538 * read.c, subsegs.c, write.c obj-coff.c: added handling of
8539 `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
8540 generate these sections. .align: will use NOP_OPCODE or 0
8541 for padding. This is just for being nice to the
8542 disassembler.
8543
8544 * expr.c (operand): changed to generate local label "\001L0"
8545 starting with a ^A so that it is recognized as a local label.
8546
8547 * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
8548
7f2cb270
KR
8549 * tc-i386.c: tc-i386.c: added handling of the following opcodes:
8550 i/o opcodes - inb, inw, outb and outw. string manipulation with
8551 att syntax - scmp, slod, smov, ssca, ssto.
8552
8553 * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
8554 to just after .file .
8555
8556 In obj_crawl_symbol_chain() where it tries to put the external
8557 symbols apart, with the condition:
8558 (!S_IS_DEFINED(symbolP) &&
8559 !S_IS_DEBUG(symbolP) &&
8560 !SF_GET_STATICS(symbolP))
8561 it was moving too many symbols out. So I switch it back to the
8562 condition:
8563 (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
8564
8565 In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
8566 so that we don't use the F_RELFLG which make the linker complain
8567 that somebody has stripped the relocation info.
8568
8569 Also, the AIX ld program require that the relocation table
8570 is sorted by r_vaddr like the standard ATT assembler does.
8571
8572 [he also changed the sizeof(struct ...)'s into the coff
8573 style FOOSZ macros. I'm not sure this is right, but I can't
8574 remember why. xoxorich.]
8575
d6e344db
RP
8576Fri Feb 21 01:08:48 1992 K. Richard Pixley (rich@cygnus.com)
8577
8578 * Makefile.in, configure.in, doc: use the doc. Build it, install
8579 it, clean it, etc.
8580
eb9eacd3
RP
8581Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com)
8582
aa3782d2
RP
8583 * read.c: white space and comments only.
8584
f816adbc
RP
8585 * configure.in: use the new atof-ns32.c for ns32k.
8586
eb9eacd3
RP
8587 * write.c: comment change only.
8588
7f2cb270
KR
8589 * tc-m88k.[hc]: pulled in from hack's unfinished work. These
8590 aren't yet integrated.
8591
8592 * tc-i860.[hc]: blew off the dust. Something must still be done
8593 about conflicting relocation types.
8594
8595 * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
8596 real thing.
8597
8598 * tc-i960.c, tc-sparc.c: white space and comments only.
8599
8600 * tc-a29k.h: delete duplicate macro definition.
8601
8602 * new file atof-ns32k.c copied from hack's last unreleased gas.
8603
542e1629 8604Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com)
b3ca913f 8605
eb9eacd3
RP
8606 * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
8607 rather than abort.
132239bf 8608
542e1629
RP
8609 * nearly everything. flush ChangeLog, package as gas-1.92.1.
8610 ChangeLog's prior to this are sketchy at best. I have logs.
8611 They just aren't ChangeLogs.
33e61c95
ILT
8612
8613\f
8614Local Variables:
de442a3c
ILT
8615mode: indented-text
8616left-margin: 8
8617fill-column: 74
33e61c95
ILT
8618version-control: never
8619End:
This page took 0.505201 seconds and 4 git commands to generate.