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