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