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