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