* app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined,
[deliverable/binutils-gdb.git] / gas / ChangeLog
1 Wed Feb 9 13:08:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2
3 * app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined,
4 don't treat backslash specially inside strings.
5 * read.c (next_char_of_string): Likewise.
6
7 Wed Feb 9 09:42:45 1994 Stan Shebs (shebs@andros.cygnus.com)
8
9 * config/obj-coffbfd.c (obj_coff_init_stab_section): Use memset
10 instead of memcpy to zero the initial stab symbol, duh.
11 * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
12 * config/obj-som.c (obj_som_init_stab_section): Ditto.
13
14 Tue Feb 8 17:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
15
16 * write.c (fixup_segment): Use as_bad_where, not as_bad.
17
18 * subsegs.c (subseg_set_rest): Call memset with the arguments in
19 the right order. Explicitly clear fix_root and fix_tail fields.
20
21 Tue Feb 8 16:00:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
22
23 * config/obj-coff.c (coff_frob_symbol): For abs_symbol, set *punt
24 and do nothing else.
25
26 * symbols.c (symbol_begin): Initialize value of abs_symbol
27 properly.
28
29 * write.c (adjust_reloc_syms): Use abs_symbol instead of calling
30 section_symbol.
31
32 * ecoff.c (ecoff_build_debug): Fix "/*" in comment to silence
33 complaint from "gcc -Wall".
34
35 * configure.in (alpha-*-netware*): New target, like alpha-*-osf*.
36
37 * config/tc-alpha.c (GP_ADJUSTMENT): Move definition to start of
38 file.
39 (tc_gen_reloc): Remove uninitialized variable `code', and code
40 that tried to use it (incorrectly). For LITERAL reloc, set addend
41 to negative of GP value.
42 (load_symbol_address): Don't adjust return value by GP_ADJUSTMENT.
43
44 * write.c (write_relocs): Print some sensible error message if
45 bfd_perform_relocation returns bfd_reloc_overflow.
46
47 Mon Feb 7 15:49:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
48
49 * configure.in (hppa*-*elf*): New configuration for PA ELF.
50 (hppa*-*-osf*): Default object format is SOM.
51
52 Mon Feb 7 16:07:35 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
53
54 * config/tc-alpha.c (md_atof): Warn that floating-point values
55 might not assemble properly.
56
57 * configure.in (target alpha-*-osf*): Don't set "dev=yes" any
58 more.
59
60 * config/tc-alpha.c (load_expression): Parenthesize operations in
61 range checking, to avoid precedence questions.
62
63 * config/tc-alpha.c (addr32): New static variable.
64 (md_parse_option): Set it for "-32addr".
65 (load_symbol_address): If addr32 is set, use ldl instead of ldq.
66
67 * atof-generic.c (atof_generic): Calculate maximum_useful_digits
68 and more_than_enough_bits_for_digits in integer arithmetic, to
69 eliminate the only sources of dependence on floating point
70 support, which doesn't work yet on the Alpha.
71
72 Mon Feb 7 03:56:05 1994 Ken Raeburn (raeburn@cambridge.cygnus.com)
73
74 * ecoff.c (ecoff_build_debug) [TC_ALPHA]: Specify version stamp as
75 0x30b for Alpha for now, until ".verstamp" is handled.
76
77 * literal.c (add_to_literal_pool): Use seginfo->frchainP, which
78 actually refers to the literal pool section, rather than
79 frchain_now, which refers to whatever section the assembler was
80 in.
81
82 * write.c (fixup_segment): Only do range checking if size of fixup
83 is smaller than word size. Otherwise, we always wind up with
84 zeros.
85
86 * config/tc-alpha.c (md_section_align): Change second argument and
87 return type to valueT, to agree with tc.h.
88 (alpha_do_align): Local static array nop_pattern is now unsigned
89 char, to avoid overflow warnings.
90 * config/tc-alpha.h (md_section_align): Delete declaration.
91
92 * config/obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for
93 output bfd is non-null before indirecting through it.
94
95 * config/tc-alpha.c (alpha_frob_ecoff_data): Renamed from
96 alpha_frob_file.
97 * config/tc-alpha.h (tc_frob_file): Macro deleted.
98 * config/obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call
99 alpha_frob_ecoff_data, then fill in optional-header info with gp
100 value and register masks.
101
102 Sun Feb 6 16:13:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
103
104 * configure.in (hiux): Fixes from m-kasahr@sramhc.sra.co.JP.
105
106 * config/obj-som.c (obj_som_init_stab_section): Same change
107 as coffbfd and elf below. Zero the initial stab symbol after
108 allocating it.
109
110 Sat Feb 5 12:30:32 1994 Stan Shebs (shebs@andros.cygnus.com)
111
112 * config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the
113 initial stab symbol after allocating it.
114 * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
115
116 Sat Feb 5 11:53:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
117
118 * config/tc-hppa.c (pa_ip): addb[tf] should only accept
119 non-negated condition completers. Add support for addb pseudo-op
120 which accepts both negated and non-negated completers.
121
122 Sat Feb 5 00:15:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
123
124 * configure.in (rs6000*): Use cpu_type ppc.
125 (ppc-*-aix*): New target; use coff and force bfd_gas.
126 * config/tc-ppc.h, config/tc-ppc.c: New files for PowerPC/POWER
127 (RS/6000) support. At the moment, only XCOFF is supported.
128
129 * config/obj-coff.c (SA_SET_SYM_ENDNDX): Made non-static.
130 (S_SET_DATA_TYPE): Likewise.
131 (coff_last_function): Renamed from local static last_functionP in
132 coff_frob_symbol and made externally visible.
133 (coff_frob_symbol): New local static set_end; use it to try to
134 avoid calling SA_SET_SYM_ENDNDX on a symbol that will be punted.
135 * config/obj-coff.h (S_SET_DATA_TYPE): Declare.
136 (SA_SET_SYM_ENDNDX): Declare.
137 (coff_last_function): Declare.
138
139 * expr.c (operand): If DOLLAR_DOT is defined, accept `$' as
140 equivalent to `.' to mean the current location.
141
142 * read.c (LEX_BR): If not defined, define as 0.
143 (lex_type): Use LEX_BR as the type of `{',`}',`[',`]'.
144
145 * symbols.c (symbol_new): If tc_canonicalize_symbol_name is
146 defined, call it with preserved_copy_of_name. If
147 tc_symbol_new_hook is defined, call it on the new symbol.
148 (symbol_find_base): If tc_canonicalize_symbol_name is defined,
149 call it on a copy of the name argument.
150
151 * write.c (write_object_file): Simplified usage of obj_frob_symbol
152 and tc_frob_symbol. Always call both if the symbol is going to be
153 output.
154
155 * write.c (relax_segment): Use %ld rather than %d when printing
156 fragP->fr_var, and cast it to long.
157
158 Changed relocs to be based on subsegments (when BFD_ASSEMBLER).
159 * subsegs.h (struct frchain): If BFD_ASSEMBLER, added new fields
160 fix_root and fix_tail.
161 (segment_info_type): If BFD_ASSEMBLER, don't define fix_tail
162 field.
163 * write.c (fix_new_internal): If BFD_ASSEMBLER, set fix_rootP and
164 fix_tailP based on frchain_now, not seg_info (now_seg).
165 (chain_frchains_together_1): Chain the subsegment relocs together.
166 * subsegs.c (subseg_change): Don't clear fix_tail field.
167 (subseg_get): Likewise.
168 * literal.c (add_to_literal_pool): Look through the relocs via
169 frchain_now, not seginfo.
170
171 Thu Feb 3 23:07:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
172
173 * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Changed
174 ecoff_undefined to ecoff_extern_size.
175 * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Likewise.
176 * config/tc-mips.c (s_extern): Set ecoff_extern_size to the
177 external symbol size, rathern than setting the symbol value.
178 (md_estimate_size_before_relax): Check both ecoff_extern_size and
179 symbol value to see if GP referencing can be used.
180 * ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not
181 ecoff_undefined.
182 (ecoff_frob_symbol): Don't check ecoff_undefined.
183 (ecoff_build_symbols): Get size of an undefined symbol from
184 sym->ecoff_extern_size, not S_GET_VALUE (sym).
185
186 Wed Feb 2 13:55:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
187
188 * Makefile.in: Avoid bug in losing hpux sed.
189
190 Wed Feb 2 11:40:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
191
192 * config/tc-mips.c (file_mips_isa): New static variable.
193 (md_begin): Set it.
194 (s_mipsset): Add support for .set mipN to set the ISA level.
195
196 * gasp.c (kinfo): Fully bracket initializer.
197
198 Tue Feb 1 19:28:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
199
200 * gasp.c (malloc): Don't declare, since host.h or system header
201 files may declare it differently.
202
203 * config/atof-ieee.c (int_to_gen): Now static.
204
205 * config/ho-i386aix.h: Include sys/types.h and stdlib.h, not
206 ho-sysv.h. Based loosely on a patch from Minh Tran-Le.
207
208 Tue Feb 1 10:50:17 1994 Steve Chamberlain (sac@jonny.cygnus.com)
209
210 * gasp.c: Include host.h.
211
212 Tue Feb 1 12:13:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
213
214 * config/tc-mips.c (mips_ip): Make an unsupported instruction a
215 warning, not an error.
216
217 * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
218 dot_bss_symbol): Don't define if BFD_ASSEMBLER.
219 (obj_symbol_to_chars): bfd_coff_swap_aux_out now takes more
220 arguments.
221 (coff_line_base): Renamed from line_base. Changed all uses.
222 (coff_add_linesym): Renamed from add_line_sym. Made non-static.
223 Changed all uses.
224 * config/obj-coff.h: If TC_PPC, include coff/rs6000.h.
225 (S_SET_STORAGE_CLASS, S_GET_STORAGE_CLASS): Declare if
226 BFD_ASSEMBLER.
227 (coff_line_base): Declare.
228 (coff_add_linesym): Declare if BFD_ASSEMBLER.
229 * config/obj-coffbfd.c (symbol_to_chars): bfd_coff_swap_aux_out
230 now takes more arguments.
231
232 Mon Jan 31 17:55:14 1994 Stan Shebs (shebs@andros.cygnus.com)
233
234 * as.c (statistics_flag): Renamed from quiet_flag.
235 (main): Get statistics with --statistics instead of -noquiet.
236
237 Mon Jan 31 07:19:30 1994 Steve Chamberlain (sac@jonny.cygnus.com)
238
239 * Makefile.in: Support for Gnu ASsembler Preprocessor.
240 * gasp.c: New file.
241 * read.c (s_lcomm): Align lcomm data.
242 * config/tc-z8k.c (tc_reloc_mangle): Don't allow subtraction
243 from different sections.
244
245 Sun Jan 30 14:58:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
246
247 * write.c (write_object_file): If tc_frob_file is defined, call it
248 just before calling obj_frob_file.
249 * config/tc-alpha.c (alpha_gp_value): Renamed from gp_value
250 (references changed), and made non-static.
251 (getExpression): Return void.
252 (select_gp_value): Abort if gp_value is non-zero. Delete call to
253 non-existent bfd_set_gp_value.
254 (alpha_validate_fix): Function deleted.
255 (alpha_frob_symbol): Function deleted.
256 (alpha_local_label): Function deleted.
257 (alpha_frob_file): Renamed from alpha_end.
258 * config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix,
259 alpha_local_label, alpha_end): Declarations deleted.
260 (alpha_gp_value, alpha_frob_file): Declare.
261 (tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted.
262 (LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label.
263 (md_convert_frag): Simplified slightly.
264 (tc_frob_file): New macro.
265
266 * read.c (do_align): New function, most of guts of s_align_*
267 functions. Look for md_do_align macro, give it a chance to bypass
268 all but recording of section alignment.
269 (s_align_bytes, s_align_ptwo): Call do_align.
270 (s_lcomm) [TC_ALPHA]: Align object to largest power of two that
271 divides object size.
272
273 * frags.c (frag_align_pattern): New function.
274 (frag_align): Rewrite for clarity.
275
276 * config/tc-vax.c (md_assemble): Handle O_constant expression.
277 (vip_begin): Returns pointer to const char. Cast hash_insert arg
278 to PTR to avoid compiler complaints about const.
279 (md_begin): Local variable errtxt must point to const.
280
281 * configure.in: Handle host vax-*-ultrix* like vax-*-bsd*. Don't
282 bother with *-*-ultrix or *-*-sysv*, except *-*-sysv, since only
283 the last has an existing host support file. Do handle vax-bsd and
284 vax-ultrix targets.
285
286 Fri Jan 28 11:26:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
287
288 * config/obj-coff.c (obj_coff_section_header_append): Do not
289 declare if BFD_ASSEMBLER.
290 (stack_pop): Correct test for stack underflow.
291 (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
292 obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Declare
293 type of ignored argument to avoid gcc warning.
294 (align): Removed unused function.
295
296 Thu Jan 27 18:14:19 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
297
298 * config/tc-alpha.c, config/tc-alpha.h, config/alpha-opcode.h: New
299 files, based on port of gas-1.38 contributed by CMU, using a.out
300 variant. Updated for gas-2.x and ECOFF. Floating-point constants
301 are still broken, bootstrap testing incomplete.
302
303 * literal.c: Comment changes.
304
305 * listing.c (listing_source_file): Check for null listing_tail
306 before indirecting through it.
307
308 * expr.h (struct expressionS): Added struct tag.
309
310 * as.h: If __GNUC__ and inline are both undefined, define inline
311 away.
312
313 * write.c (cvt_frag_to_fill): Don't assume that fr_var for
314 rs_align or rs_org frags will be 1.
315 (relax_segment): For rs_align, if fr_var is not 1, complain if
316 required padding is not a multiple of the size of the pad pattern.
317 (fixup_segment): Leave gp-relative relocations alone. For pcrel
318 relocations referring to the same segment, clear fx_pcrel when
319 clearing fx_addsy.
320 * as.h: Adjust comments on rs_align.
321
322 * atof-generic.c: Some reformatting.
323 (atof_generic): Be careful when mixing signed/unsigned values of
324 different sizes.
325
326 * write.c, config/obj-{aout,bout,coff*}.c, config/tc-sparc.c:
327 Query the fx_done field instead of fx_addsy to see if the fixup
328 still needs to be applied. Set fx_done and clear fx_addsy both,
329 for now. If TC_HANDLES_FX_DONE isn't defined, assume md_apply_fix
330 will only clear fx_addsy, and set fx_done accordingly after
331 returning.
332 * config/tc-sparc.h (TC_HANDLES_FX_DONE): Define.
333 * config/tc-sparc.c (md_apply_fix): Set fx_done for non-pcrel fix
334 with no fx_addsy.
335
336 * symbols.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
337 Deleted.
338 (symbol_begin): Moved to end of file, so function inlining can
339 work better.
340 (fb_label_count, fb_label_max): Default C static initializers are
341 sufficient.
342 * symbols.h (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
343 Declarations deleted.
344 * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
345 dot_bss_symbol): Defined here, static.
346
347 * config/obj-aout.c [BFD_ASSEMBLER]: Undef NO_RELOC before
348 including aout/aout64.h.
349
350 * write.c (write_object_file): If EMIT_SECTION_SYMBOLS is false,
351 don't write out a section symbol even if it's used in a
352 relocation; assume relocations will handle section numbers
353 somehow. Rename "punt_it" label to "punt_it_if_unused" to reflect
354 it's true use.
355 (EMIT_SECTION_SYMBOLS): Default to 1.
356 (adjust_reloc_syms): Don't create a new symbol for an absolute
357 reference; just use the absolute section symbol.
358 (write_relocs): Make printout of reloc values dependent on flag
359 DEBUG3, not DEBUG2.
360 * config/obj-aout.h (EMIT_SECTION_SYMBOLS): Define as 0.
361 * config/obj-ecoff.h (EMIT_SECTION_SYMBOLS): Ditto.
362
363 Thu Jan 27 16:43:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
364
365 * read.c (lex_type): No longer make '{' a valid character for
366 symbol names.
367
368 * as.c (main): Print long values using %ld.
369
370 * messages.c (as_warn_internal): New static function.
371 (as_warn, 3 versions): Use as_warn_internal.
372 (as_warn_where, 3 versions): New function.
373 * as.h (as_warn_where): Declare.
374
375 Tue Jan 25 18:30:34 1994 Stan Shebs (shebs@andros.cygnus.com)
376
377 * as.c (quiet_flag): New flag.
378 (main): If -noquiet given, display execution time and memory used.
379
380 Tue Jan 25 15:53:11 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
381
382 * doc/{all.texi,as.texinfo}: Add documentation for HPPA port.
383
384 Mon Jan 24 19:18:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
385
386 * ecoff.c (ecoff_frob_symbol): New function. Put undefined
387 symbols of known size in the undefined section. Put small common
388 symbols in a .scommon section.
389 * ecoff.h (ecoff_frob_symbol): Declare.
390 * config/obj-ecoff.h (obj_frob_symbol): Define.
391 * config/obj-elf.c (obj_elf_write_symbol_p, obj_elf_write_symbol,
392 obj_elf_frob_symbol): Removed unused functions.
393 * config/obj-elf.h (obj_frob_symbol, obj_write_symbol): Removed
394 unused macros.
395 (obj_elf_frob_symbol, obj_elf_write_symbol): Removed declarations
396 of unused functions.
397 (obj_frob_symbol): Define if ECOFF_DEBUGGING.
398
399 * tc-mips.c (g_switch_seen): New static variable.
400 (md_parse_option): Set g_switch_seen for -G option.
401 (s_option): If creating PIC code, force the GP size to be 0. Warn
402 if -G switch used with a non-zero value.
403
404 * symbols.c (S_IS_COMMON): Use bfd_is_com_section rather than
405 comparing against bfd_com_section.
406
407 Mon Jan 24 14:12:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
408
409 * read.c (s_lcomm): Treat Alpha like MIPS in handling of .sbss
410 section.
411
412 Thu Jan 20 13:17:58 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
413
414 * expr.c (operand): For floating point operand with unusual fp
415 char from FLT_CHARS, preserve the character. Patch from Lisa
416 Repka.
417
418 Wed Jan 19 23:15:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
419
420 * config/tc-mips.c (md_pseudo_table): Add all data allocation
421 pseudo-ops: .hword, .int, .long, .octa, .quad, .short, .single.
422
423 Tue Jan 18 15:51:59 1994 Steve Chamberlain (sac@jonny.cygnus.com)
424
425 * config/obj-coffbfd.c (obj_coff_endef): For C_EFCN, C_BLOCK and
426 C_FCN assume .val has been set to .
427
428 Tue Jan 18 16:19:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
429
430 * config/tc-hppa.c: Disable multiple $CODE$ subspace code. It
431 confuses GDB for some unknown reason.
432 * cofnig/obj-som.c: Likewise.
433
434 Tue Jan 18 19:05:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
435
436 * literal.c (add_to_literal_pool): Handle duplicates of values
437 already written to literal pool.
438
439 Tue Jan 18 17:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
440
441 * config/obj-aout.c (obj_aout_frob_symbol): Try to get symbols
442 with explicitly marked stabs through BFD: if a symbol marked
443 N_UNDF | N_EXT is in the absolute section, move it to the
444 undefined section; move a symbol marked N_INDR into
445 bfd_ind_section and set the BSF_INDIRECT flag; set the
446 BSF_WARNING flag for a symbol makred N_WARNING.
447
448 Mon Jan 17 15:40:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
449
450 * ecoff.h (ecoff_set_gp_prolog_size): Declare.
451 * ecoff.c (ecoff_set_gp_prolog_size): Return type is void.
452
453 Mon Jan 17 00:18:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
454
455 * config/tc-hppa.c (pa_ip): Explicitly check for comma before 'u'
456 and 'f' template operand.
457
458 * config/tc-hppa.c (pa_ip): Handle 'N', 'O', 'o', '0', '1', 'u',
459 and '2' in copr and sfu instruction templates.
460
461 Sun Jan 16 16:44:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
462
463 * as.h (subseg_force_new): Add prototype.
464
465 Sat Jan 15 09:20:55 1994 Doug Evans (dje@canuck.cygnus.com)
466
467 * app.c (do_scrub_next_char): Allow lines like " foolab :".
468
469 * read.c (emit_expr): Fix computation of mask.
470 * config/obj-elf.c (obj_elf_section): Fix loop termination test.
471
472 Thu Jan 13 16:15:15 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
473
474 * ecoff.c (ecoff_set_gp_prolog_size): New function.
475 (current_file_idx): New static variable.
476 (add_file): Use and increment current_file_idx instead of indx
477 parameter.
478
479 * struc-symbol.h (struct symbol): Make all bitfields unsigned.
480
481 * config/tc-i960.c (i960_validate_fix): Added argument
482 add_symbolPP. Indirect through it to get "add_symbolP".
483 * config/tc-i960.h (i960_validate_fix): Supply prototype.
484 (TC_VALIDATE_FIX): Pass address of add_symbolP.
485
486 * configure.in (i386-*-netbsd*): New target, using te-netbsd.h.
487 (i386-*-netbsd0.8): New target, like 386bsd.
488
489 * configure.in: Set BFDDEF in Makefile to "define" or "undef".
490 * Makefile.in (config.h): Protect against multiple inclusions.
491 Define or undef BFD_ASSEMBLER as specified by $(BFDDEF).
492 (ALL_CFLAGS): Omit $(BFDDEF).
493 * as.h: Include config.h.
494 (struct symbol): Added forward declaration.
495 (add_to_literal_pool): Fix declaration.
496 * as.c: Don't include config.h.
497
498 * literal.c (add_to_literal_pool): Take symbol and addend as
499 arguments, instead of expression, for now. Fix calculation of
500 offset to return.
501
502 * subsegs.h (segment_info_type) [NEED_LITERAL_POOL]: Add field
503 literal_pool_size.
504
505 Thu Jan 13 12:14:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu
506
507 * subsegs.c (subseg_get): Accept new argument "force_new". If
508 set then a new segment is always created. All callers changed.
509 (subseg_force_new): New function. Similar to subseg_new, but
510 always force a new segment to be created.
511
512 * config/obj-som.c (som_frob_file): Call adjust_code_sections
513 for each section.
514 (adjust_code_sections): New function. Adjusts the VMA for all the
515 $CODE$ subspaces.
516
517 * config/tc-hppa.c (md_assemble): Also handle creating a fixup
518 for the unwind descriptors if a function's label follows the
519 .PROC and .ENTRY directives.
520 (pa_entry): Don't set BSF_FUNCTION for the label symbol here; it
521 is done elsewhere. Don't create a fixup for the unwind
522 descriptors if the function's label has not been defined yet.
523 (pa_proc): For SOM, place each procedure within a new $CODE$
524 subspace. Adjust the segment and frag for the associated
525 function label if it exists.
526
527 Wed Jan 12 22:05:33 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
528
529 * config/tc-hppa.c (hppa_fix_struct): Add new "segment" field.
530 (hppa_fix_new): Initialize segment field.
531 (md_apply_fix): Do nothing for pc-relative fixup which involves
532 crossing a segment boundary.
533 (pa_procend): Undefine the current label after handling .PROC
534 and .PROCEND directives.
535 (dummy_symbol): Make type "symbolS *". Change references as
536 appropriate.
537
538 Wed Jan 12 13:29:31 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
539
540 * read.c (read_a_source_file): Cast array argument to unsigned
541 char.
542 * write.c (adjust_reloc_syms): Remove unused variable symseginfo.
543 (write_object_file): Don't define punt_it if it won't be used.
544 (fixup_segment): Don't define skip if it won't be used.
545
546 * config/tc-mips.h (TARGET_FORMAT): Define as mips_target_format.
547 (mips_target_format): Declare.
548 * config/tc-mips.c (mips_target_format): Define with appropriate
549 default definition.
550 (md_parse_option): If -EL or -EB is used, change byte_order and
551 mips_target_format as appropriate.
552
553 Tue Jan 11 21:52:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
554
555 * app.c (do_scrub_next_char): Another attempt to fix bugs
556 dealing with labels without colons (for HPPA and MRI).
557
558 Tue Jan 11 17:01:06 1994 Doug Evans (dje@canuck.cygnus.com)
559
560 * expr.c (integer_constant): Fix computation of too_many_digits.
561 Variable digit_2 renamed to start. Fix check for whether number
562 will fit in 32 bits.
563 * read.c (emit_expr): Use valueT instead of long.
564
565 Tue Jan 11 13:01:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
566
567 * config/obj-elf.c: If TC_MIPS, include elf/mips.h.
568 (special_sections): Define.
569 (obj_elf_special_section): Get default types and attributes from
570 list of special sections.
571 * config/tc-mips.c (ELF_TC_SPECIAL_SECTIONS): Define.
572
573 * config/obj-ecoff.c (ecoff_frob_file): Force .sdata and .sbss
574 sections to be close together.
575
576 * config/tc-mips.c (macro): Corrected $at warnings in a couple of
577 spots.
578
579 * listing.c (listing_prev_line): New function.
580 * listing.c: Include subsegs.h.
581 (listing_prev_line): New function.
582 (calc_hex): Reset byte_in_frag to zero for each new frag.
583 * config/tc-mips.c (append_insn): Call listing_prev_line after
584 emitting nop instructions.
585 * Makefile.in (listing.o): Depends upon subsegs.h.
586
587 Mon Jan 10 09:52:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
588
589 * config/tc-hppa.c (pa_ip): Put check for missing label on .PROC
590 here. Handle case where label may be defined after the .PROC.
591 (pa_proc): It is not an error if the procedure's label isn't
592 defined before the .PROC directive.
593
594 Sun Jan 9 04:43:30 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
595
596 * config/te-netbsd.h: New file.
597 * config/tc-i386.h (TARGET_FORMAT) [TE_NetBSD]: Use bfd target
598 a.out-netbsd-386 for this configuration.
599
600 Fri Jan 7 17:38:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
601
602 * ecoff.c (ecoff_stab): Don't clobber the ECOFF symbol information
603 with the associated stabs information.
604 (ecoff_build_symbols): Never set the type of stabs symbols to
605 st_Global. Don't update the symbol index or ifd if the gas symbol
606 is not the same as the ECOFF symbol (which is now the case for
607 stabs symbols).
608
609 Fri Jan 7 11:14:07 1994 Stan Shebs (shebs@andros.cygnus.com)
610
611 * config/tc-mips.c (macro): Add a LOSING_COMPILER ifdef that
612 splits the function.
613 (macro2): New function, if LOSING_COMPILER defined.
614
615 Fri Jan 7 09:38:25 1994 Steve Chamberlain (sac@cygnus.com)
616
617 * config/obj-coffbfd.c (fill_section): Don't ever fill past the
618 end of a section. (write_object_file): Temporary fix - setup
619 stdoutput.
620
621 Thu Jan 6 18:05:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
622
623 * config/tc-sparc.c (tc_gen_reloc): Fix handling of addends in
624 non-pcrel_offset relocations.
625
626 Thu Jan 6 01:06:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
627
628 * config/tc-mips.c (mips_ip): Warn about using $1 as well as $at
629 without .set noat.
630
631 Wed Jan 5 14:22:22 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
632
633 * literal.c: New file.
634 * Makefile.in (REAL_SOURCES, OBJS): List it.
635
636 * as.h (DEBUG): Don't define.
637 (struct expressionS, struct fix): Declare in case they're used in
638 prototypes.
639 (add_to_literal_pool) [BFD_ASSEMBLER]: Declare.
640
641 * config/tc-mips.h (TARGET_FORMAT) [OBJ_AOUT]: Fix for new names
642 in bfd.
643
644 * subsegs.c (subseg_get): New function. Creates segment if
645 needed, returns pointer, but doesn't change current segment.
646 (subseg_new): Use it.
647
648 Tue Jan 4 15:12:43 1994 Stan Shebs (shebs@andros.cygnus.com)
649
650 * Makefile.in (INCLUDES): Add $(srcdir)/.. to places to search.
651 * config/obj-ecoff.c: Include files as "bfd/" instead of "../bfd/".
652 * app.c, flonum.h, hex-value.c (const): Change #if to be more
653 portable.
654
655 Tue Jan 4 22:11:34 1994 Rob Savoye (rob@darkstar.cygnus.com)
656
657 * config/ho-vsta.h, configure.in, .Sanitize: Add support for VSTa
658 micro-kernel.
659
660 Thu Dec 30 15:27:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
661
662 * write.c (write_relocs): bfd_perform_relocation now takes an
663 additional argument, to return an error string (which we ignore).
664
665 Wed Dec 29 14:37:26 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
666
667 * write.h (struct fix): Field tc_fix_data should be type PTR, not
668 void*, for compatibility with non-ANSI compilers. Added
669 single-bit field "fx_done".
670
671 Sun Dec 26 14:31:47 1993 Torbjorn Granlund (tege@adder.cygnus.com)
672
673 * tc-hppa.c (pre_defined_registers): Convert to lower case.
674 Delete spurious register names "%r4L", etc.
675 (selector_table): Sort and convert to lower case.
676 (cons_fix_new_hppa): `reloc_type' => `rel_type'.
677 (pa_ip): Always use strcmp for non-text and strcasecmp for text.
678 (reg_name_search): Rewrite to call strcasecmp only once per
679 iteration.
680 (pa_chk_field_selector): Rewrite to use binary search.
681 (pa_parse_neg_add_cmpltr): Use strcasecmp for completer comparisons.
682 (pa_parse_space_stmt): $TEXT$ and $PRIVATE$ are symbols; use case
683 sensitive comparisons.
684 (pa_parse_space_stmt): Canonicalize strncasecmp arg to lower case.
685 (pa_space): "$text$" => "$TEXT$"; "$private$" => "$PRIVATE$". Use
686 case sensitive comparison for all symbolic names.
687 (pa_subspace): Canonicalize strncasecmp arg to lower case.
688 (pa_subspace_start): Use case sensitive comparison for symbolic names.
689
690 Mon Dec 20 10:37:48 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
691
692 * write.c (adjust_reloc_syms) [RELOC_REQUIRES_SYMBOL]: If no
693 symbol is present (i.e., relocation against absolute), create a
694 phony local symbol, and use it in the reloc.
695 (fixup_segment): When adjusting a reloc with an absolute symbol,
696 have TC_FORCE_RELOCATION control clearing add_symbolP too.
697 * config/tc-sparc.h (RELOC_REQUIRES_SYMBOL): Define, for OBJ_COFF.
698
699 * symbols.c (S_IS_EXTERNAL, S_IS_LOCAL): Don't use both BSF_EXPORT
700 and BSF_GLOBAL, since they're the same.
701
702 * as.c (main): Only invoke md_end if it's defined as a macro.
703 * tc.h (md_end): Don't declare it.
704 * config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do
705 anything.
706 * config/tc-vax.c (vip_end): Deleted null function.
707 * config/tc-mips.c (md_mips_end): Renamed from md_end.
708 * config/tc-mips.h (md_mips_end): Declare.
709 (md_end): New macro, calls md_mips_end.
710
711 * write.c (write_object_file): Don't close output file.
712 * as.c (main): Close output file (if needed) after calling
713 listing_print, which should be after calling write_object_file,
714 which sets the frag addresses.
715
716 * config/obj-coff.c (obj_coff_dim, obj_coff_endef, obj_coff_line,
717 obj_coff_scl, obj_coff_size, obj_coff_tag, obj_coff_type,
718 obj_coff_val): Add unused int argument to satisfy prototypes; goes
719 with Ian's 10 Sep changes.
720 (S_GET_DATA_TYPE, S_SET_DATA_TYPE, S_GET_STORAGE_CLASS,
721 S_SET_STORAGE_CLASS): Now function instead of macros.
722 (obj_emit_lineno) [BFD_ASSEMBLER]: Deleted.
723 (tag_insert): Local var ERROR_STRING is const. Use "const" not
724 "CONST" for argument NAME. Fixed prototype.
725 (coff_frob_symbol): Removed explicit "#if 1" directive. If
726 S_IS_EXTERNAL, set storage class to C_EXT.
727 (s_get_name): Use "const" not "CONST".
728 * config/obj-coff.h (S_GET_DATA_TYPE, S_SET_DATA_TYPE,
729 S_GET_STORAGE_CLASS, S_SET_STORAGE_CLASS): Deleted.
730 (obj_emit_lineno): Declare only for non-BFD_ASSEMBLER. For
731 BFD_ASSEMBLER, define as macro that aborts.
732 (obj_extra_stuff, tc_headers_hook): Declare only for
733 non-BFD_ASSEMBLER.
734 (coff_frob_symbol): Fix prototype.
735
736 Sun Dec 19 00:37:20 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
737
738 * config/tc-sparc.c (tc_gen_reloc): Test of pcrel_offset had sense
739 reversed.
740
741 Thu Dec 16 21:13:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
742
743 * config/tc-hppa.c (md_begin): Initialize "dummy_label".
744 (tc_gen_reloc, SOM version): For relocations which have no symbol,
745 set sym_ptr_ptr to dummy_label. Avoids lossage in generic BFD code.
746
747 Thu Dec 16 16:07:56 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
748
749 * read.c (lex_type): No longer make '[' a valid character for
750 symbol names.
751
752 * config/tc-vax.c (tc_aout_fix_to_chars): Local variable
753 NBYTES_R_LENGTH now const.
754
755 * config/obj-*.c, config/tc-*.c: Omit superfluous "return"
756 statements at ends of functions. Don't check for null return from
757 hash_new, since it won't return at all if there's no memory
758 available. Also, check for null return from hash_insert, rather
759 than zero-length string, as success indicator.
760
761 * subsegs.c (section_symbol): New function.
762 * subsegs.h (section_symbol): Declare.
763 * write.c (adjust_reloc_syms): Use it.
764
765 Wed Dec 15 15:39:53 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
766
767 * Makefile.in (RUNTEST): New variable.
768 (CHECKFLAGS): Pass it down.
769
770 * ecoff.c (ecoff_directive_frame): Permit extra trailing operands;
771 unused for now, but supplied by Alpha OSF1 compiler.
772
773 * as.h: Protect against multiple inclusions.
774 (int_to_gen): Don't declare.
775
776 * config/atof-vax.c (atof_vax): NULL is not a valid character
777 constant.
778
779 Tue Dec 14 21:38:25 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
780
781 * configure.in (hppa*-*-osf*): Do not consider this a developmental
782 configuration.
783
784 * config/tc-hppa.c (md_apply_fix): Handle cases where no
785 relocation will be emitted for 32bit formats.
786
787 Mon Dec 13 23:33:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
788
789 * config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust
790 for any of the 'T' field selectors.
791
792 Sat Dec 11 11:23:12 1993 Steve Chamberlain (sac@thepub.cygnus.com)
793
794 * config/tc-h8500.c (build_bytes): Get reloc type right for a
795 %page operation. (md_assemble): Don't modify input_line_pointer.
796 (mdcoff_sizemachdep): New function.
797 * config/tc-h8500.h (TC_COFF_SIZEMACHDEP): New macro.
798 * config/tc-z8k.c (get_operand): Delete bogus check.
799
800 Wed Dec 8 16:31:51 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
801
802 * write.c (number_to_chars_*): Delete bogus range check.
803
804 * output-file.c (TARGET_ARCH): No default.
805
806 Tue Dec 7 16:02:53 1993 Steve Chamberlain (sac@jonny.cygnus.com)
807
808 * config/tc-sh.c (md_convert_frag): Truncate disps before calling
809 md_number_to_chars. (md_assemble): Don't modify
810 input_line_pointer.
811
812 Mon Dec 6 11:49:03 1993 Doug Evans (dje@canuck.cygnus.com)
813
814 * config/tc-h8300.c (md_assemble): Don't update input_line_pointer.
815
816 Mon Dec 6 11:20:02 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
817
818 * config/obj-som.[ch] (obj_read_begin_hook): Remove last change.
819 Breaks with the HP compilers.
820
821 * config/tc-hppa.c (struct call_info): Remove fields which were
822 set but never used. Remove all code which sets those fields.
823 (struct subspace_dictionary_chain): Likewise.
824 (struct space_dictionary_chain): Likewise.
825 (pa_desc): Delete useless function. Delete all references.
826 (hppa_tc_make_sections): No need to count the number of symbols for
827 the symbol extension section.
828
829 Sun Dec 5 17:05:29 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
830
831 * config/obj-som.c (obj_som_version): Pass version string to
832 SOM BFD backend.
833 (obj_som_copyright): New function. Much like obj_som_version.
834
835 * config/tc-hppa.c (obj_copyright): Define as appropriate for
836 SOM and ELF.
837 (pa_copyright): Just a stub now.
838
839 * config/obj-som.c (obj_read_begin_hook): Delete unused function.
840 * config/obj-som.h (obj_read_begin_hook): Provide dummy definition.
841 (TARGET_SYMBOL_FIELDS): Delete. SOM isn't making use of them.
842
843 * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation
844 expansion due to rounding mode selectors. Handle R_[RDSN]_MODE
845 relocations for selecting the current rounding mode.
846
847 * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
848 e_rlsel field selectors.
849
850 Fri Dec 3 18:33:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
851
852 * config/obj-elf.h: If ECOFF_DEBUGGING, undef
853 SEPARATE_STAB_SECTIONS and INIT_STAB_SECTION, and define
854 OBJ_PROCESS_STAB to call ecoff_stab.
855 * config/obj-elf.c: Don't compile obj_elf_init_stab_section if
856 INIT_STAB_SECTION is not defined.
857
858 Fri Dec 3 10:56:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
859
860 * config/tc-hppa.c (md_apply_fix): Delete old wrapper function.
861 (md_apply_fix_1): Rename to md_apply_fix. Fix argument decls.
862 Fix comments in various places. Always return a value.
863 Avoid dereferencing a NULL fx_addsy.
864 (hppa_force_relocation): Avoid dereferencing a NULL fx_addsy.
865
866 Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
867
868 * tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should
869 be either 0 or 2 (no static link or static link required). Always
870 assume no static link.
871
872 Thu Dec 2 11:52:21 1993 Ken Raeburn (raeburn@cygnus.com)
873
874 * config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be
875 dependent on howto fields, not on format flavour.
876
877 * struc-symbol.h (struct symbol): New fields sy_obj and sy_tc,
878 defined as types OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those
879 macros are defined.
880 * config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define.
881 (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define.
882 (sy_tc, sy_obj): Define so that the fields look like they used to,
883 until all references get changed.
884
885 * write.c (fixup_segment): Lots of variables no longer register.
886 Reordered some code for easier reading.
887 * config/obj-coff.c (obj_coff_dim): dim_index no longer register.
888 Deleted superfluous return statement.
889 (obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type,
890 obj_coff_val, tag_init, tag_insert): Deleted superfluous return
891 statement.
892 (align, obj_coff_section): Deleted debugging printfs.
893 * config/tc-i386.c (md_assemble): Discard some register decls.
894 Use assignment rather than memcpy to copy template.
895 (op_hash, reg_hash, prefix_hash): Default C initialization of
896 statics is sufficient.
897 * config/tc-sparc.c (print_insn): Array Reloc is now const, and
898 points to const.
899
900 * config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if
901 TE_LYNX; use coff-sparc otherwise.
902 [USE_NATIVE_HEADERS]: Delete this code; it isn't used.
903
904 * write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined,
905 before processing a fixup. Call TC_ADJUST_RELOC_COUNT just before
906 returning. Remove some i960-coff-specific code.
907 (TC_ADJUST_RELOC_COUNT): Default to doing nothing.
908 * config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define.
909 (i960_validate_fix): Declare.
910 (TC_VALIDATE_FIX): Define.
911 * config/tc-i960.c (i960_validate_fix): New function.
912
913 * write.c (number_to_chars_littleendian): New function. Write out
914 bytes in little endian order, doing size and range checking.
915 (number_to_chars_bigendian): New function, similar.
916 * write.h: Declare them.
917 * config/tc-*.c (md_number_to_chars): Use them.
918 * config/tc-vax.c (md_apply_fix): Ditto.
919 * config/tc-i386.c (md_apply_fix): Ditto.
920
921 * config/obj-coff.c: Rearranged code for handling line number
922 data.
923 (line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case,
924 since the usage is different from non-BFD_ASSEMBLER case.
925 (in_function, clear_function, set_function): New macros, to
926 combine some of the functionality implemented in differnet ways in
927 BFD_ASSEMBLER and non-... code. Used in other functions that used
928 to check function_lineoff &c.
929 (obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER,
930 one for not. Non-BFD_ASSEMBLER version now has temporary variable
931 to contain char* pointer pointed to by char** argument. Always
932 follow CROSS_COMPILE code; easier to read that way.
933 (obj_coff_ln): Don't call add_lineno or c_line_new if appline is
934 set.
935 (obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for
936 ".bf", it's been done elsewhere.
937 (coff_frob_symbol): If ilne number data is pending, call
938 add_linesym to flush it.
939 (coff_frob_file): Don't do that here.
940 * config/obj-coff.h (coff_frob_file): Declare.
941 (obj_frob_file): Define, to call it.
942
943 * config/tc-sparc.h (md_create_short_jump, md_create_long_jump,
944 md_estimate_size_before_relax: Define them as macros calling
945 as_fatal.
946 * config/tc-sparc.c: Don't define them as functions.
947
948 * configure.in: Handle target alpha-*-osf*. (No cpu files yet.)
949
950 Wed Dec 1 23:37:14 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
951
952 * Makefile (clean): Depend on clean-here.
953
954 Wed Dec 1 11:35:21 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
955
956 * config/ho-go32.h: Include fopen-bin.h.
957 * as.h: If FOPEN_WB isn't defined, include fopen-same.h.
958 * output-file.c (output_file_create): Use FOPEN_WB instead of "w".
959 * input-file.c (input_file_open): Use FOPEN_RT instead of "r".
960 * listing.c (file_info): Use FOPEN_RB instead of "rb".
961 * read.c (s_include): Use FOPEN_RT instead of "r".
962
963 * stabs.c: Include obstack.h.
964
965 * tc.h (md_create_long_jump): Don't declare if it's already
966 defined as a macro.
967 (md_create_short_jump, md_estimate_size_before_relax): Ditto.
968
969 * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_errmsg instead
970 of strerror. Clear bfd_error.
971
972 * config/te-lynx.h (LOCAL_LABELS_FB): Define, if not already
973 defined.
974
975 Wed Dec 1 10:41:56 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
976
977 * config/tc-hppa.c (hppa_elf_mark_end_of_function): New function.
978 (pa_process_exit, pa_procend): Call it for ELF objects.
979
980 Wed Dec 1 12:10:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
981
982 * config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d
983 case. See comment. From wilson@cygnus.com: for M_L_DAB, set
984 coproc before doing goto ld.
985
986 Tue Nov 30 13:40:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
987
988 * write.c (TC_FORCE_RELOCATION): Provide a default definition.
989 (fixup_segment): Allow the target machine to specify that a
990 relocation must be generated for a particular fixup. Remove
991 #ifndef TC_HPPA hack.
992
993 * config/tc-hppa.h (TC_FORCE_RELOCATION): Define.
994
995 * config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to
996 be NULL. Only fixup_segment is supposed to do that.
997 (hppa_force_relocation): New function.
998
999 Tue Nov 30 11:21:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1000
1001 * Makefile.in (stabs.o): Added dependencies.
1002
1003 * config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab.
1004
1005 Sun Nov 28 12:11:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1006
1007 * app.c (do_scrub_next_char): Output a TAB before any
1008 .app* directive.
1009
1010 * config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol
1011 exists before trying to peek at its name.
1012 (pa_space): Do not call pa_align_subseg. See hppa/unsorted/align3.s
1013 for testcase.
1014 (pa_align_subseg): Delete unused/unwanted function.
1015
1016 Sat Nov 27 22:49:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1017
1018 * read.c (read_a_source_file): Fix test for when to stick a colon
1019 on the end of a label. Make code conditional on either MRI or
1020 LABELS_WITHOUT_COLONS.
1021
1022 * app.c (do_scrub_next_char): If a line begins with whitespace, leave
1023 the single whitespace character alone. Eat all others.
1024
1025 * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define.
1026
1027 Wed Nov 24 01:22:54 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1028
1029 * config/tc-hppa.c (pa_procend): Do not call process_exit.
1030 (exit_processing_complete): Delete unwanted variable and all
1031 references.
1032
1033 Wed Nov 24 02:31:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1034
1035 * ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext.
1036 Changed to not actually build the external symbol information, as
1037 that is now done by the ECOFF back end.
1038 (ecoff_build_debug): Changed accordingly.
1039 * ecoff.h (obj_ecoff_set_ext): Declare. obj-format.c function
1040 called by ecoff_setup_ext.
1041 * config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0,
1042 set corresponding pointer to NULL. Don't set raw_size and
1043 raw_syments.
1044 (obj_ecoff_set_sym_index): Removed.
1045 (obj_ecoff_set_ext): New function.
1046 * config/obj-ecoff.h (obj_set_sym_index): Don't define.
1047 (obj_ecoff_set_sym_index): Don't declare.
1048 * config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr,
1049 elf_set_index): New functions used for ECOFF_DEBUGGING.
1050 (elf_frob_file): Reworked ECOFF debug generation to use
1051 new functions in bfd/ecofflink.c.
1052
1053 Sun Nov 21 23:54:52 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1054
1055 * config/tc-hppa.c (pa_def_subspaces): Only create the unwind
1056 subspace for ELF. In the SOM world, the linker is responsible
1057 for creating the unwind subspaces.
1058
1059 Fri Nov 19 16:25:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1060
1061 * config/obj-coffbfd.c: Use PARAMS rather than EXFUN.
1062 (yank_symbols): Don't call S_SET_EXTERNAL if the storage class is
1063 already set. Fixes .def var; .val external_var; .scl 3; .endef.
1064 (adjust_stab_section): Make static. Declare return type. Remove
1065 unused variables.
1066
1067 * config/tc-i386.h: Declare tc_coff_fix2rtype and
1068 tc_coff_sizemachdep.
1069
1070 Fri Nov 19 04:33:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1071
1072 * write.c (write_object_file): Disable obj_check_file_symbols
1073 hook; only back end using it wasn't using it correctly.
1074 (write_object_file): Always call obj_frob_symbol and
1075 tc_frob_symbol; always retain symbol if it's used by a relocation,
1076 regardless of what these routines indicate.
1077 * config/obj-coff.c (coff_frob_symbol): Renamed from
1078 coff_check_file_symbols.
1079 * config/obj-coff.h (obj_check_file_symbols): Deleted.
1080 (coff_frob_symbol): Declare.
1081 (obj_frob_symbol): Call it.
1082
1083 * config/obj-coff.c (obj_crawl_symbol_chain, obj_emit_strings,
1084 obj_pre_write_hook): Don't define for BFD_ASSEMBLER.
1085 (c_section_header): Ditto. Delete superfluous return at end of
1086 function.
1087
1088 * config/obj-coff.h [TC_SPARC]: Include coff/sparc.h, and specify
1089 coff-sparc-lynx.
1090 (SA_GET_SYM_TAGNDX): Use BFD_HEADERS version for BFD_ASSEMBLER
1091 too.
1092 (c_section_header): Rewrite prototype so that it contains no
1093 preprocessing directives. Don't declare it at all if
1094 BFD_ASSEMBLER.
1095
1096 * configure.in (sparc*-*-lynxos): New target, using coff and
1097 BFD_ASSEMBLER.
1098
1099 * stabs.c: New file.
1100 * Makefile.in (REAL_SOURCES, OBJS): List it.
1101 * read.c (STAB_SECTION_NAME, STAB_STRING_SECTION_NAME,
1102 get_stab_string_offset, s_stab_generic, s_stab, s_xstab, s_desc):
1103 Moved to new file.
1104
1105 * config/tc-sparc.c (tc_gen_reloc): Handle coff files like elf
1106 files.
1107
1108 Wed Nov 17 17:23:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1109
1110 * configure.in (mips-*-irix5*): New target. Use elf and mips-big.
1111 * config/obj-elf.c: If ECOFF_DEBUGGING, include ecoff.h.
1112 (obj_pseudo_table): If ECOFF_DEBUGGING, define ECOFF
1113 pseudo-ops.
1114 (obj_read_begin_hook): If ECOFF_DEBUGGING, call
1115 ecoff_read_begin_hook.
1116 (obj_symbol_new_hook): If ECOFF_DEBUGGING, call
1117 ecoff_symbol_new_hook.
1118 (obj_elf_init_stab_section): Cast alloca result.
1119 (elf_frob_file): If ECOFF_DEBUGGING, finish up ECOFF debugging
1120 information and write it out into .mdebug section.
1121 * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): New macro.
1122 (TARGET_SYMBOL_FIELDS): Use ELF_TARGET_SYMBOL_FIELDS.
1123 (ECOFF_DEBUGGING): Define if TC_MIPS.
1124 (TARGET_SYMBOL_FIELDS): If ECOFF_DEBUGGING, override to add
1125 fields required by ECOFF.
1126 * config/tc-mips.c: Check ECOFF_DEBUGGING rather than
1127 OBJ_ECOFF in many cases.
1128 (mips_any_noreorder): New variable.
1129 (mips_cprestore_offset): Initialize to -1.
1130 (mips_frame_reg): New variable.
1131 (RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1,
1132 RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros.
1133 (md_pseudo_table): Handle "gpword" and "cpadd".
1134 (md_begin): Initialize ok to false. If OBJ_ELF, set alignment
1135 of text, data and bss sections to 4. Set alignment of
1136 .reginfo section to 2. If ECOFF_DEBUGGING, create .mdebug
1137 section.
1138 (ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment
1139 check.
1140 (append_insn, macro_build, macro_build_lui): Take place
1141 argument. Changed all callers.
1142 (append_insn): If appending a nop, don't emit one.
1143 (macro_build): Changed assertion for 'i', 'j', 'o' case.
1144 (gp_reference): Removed.
1145 (load_address): New function.
1146 (macro): If mips_noreorder is used, set mips_any_noreorder.
1147 Extensive changes to handle GP and PIC symbols differently.
1148 Build both possible code choices using a variant frag, and
1149 make a final decision at the end of assembly when all
1150 information is known. Added PIC support for all symbol
1151 references.
1152 (mips_ip): Don't permit anything but a number after $ for a
1153 coprocessor register. Don't use .lit4 or .lit8 sections when
1154 generating PIC code. If OBJ_ELF, set alignment of .lit4 or
1155 .lit8 section to 4.
1156 (md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs.
1157 (s_change_sec): Set alignment of ELF .rodata or .sdata section
1158 to 4.
1159 (s_mipsset): If .set noreorder, set mips_any_noreorder.
1160 (s_cpload): Ignore .cpload if not generating PIC code. Warn
1161 if .cpload is not in noreorder section.
1162 (s_cprestore): Ignore .cprestore if not generating PIC code.
1163 (s_gpword, s_cpadd): New functions.
1164 (tc_get_register): Added frame argument; if true, set
1165 mips_frame_reg to return value. Changed all callers.
1166 (md_estimate_size_before_relax): Don't error out, but instead
1167 determine how much a frag should grow.
1168 (tc_gen_reloc): Return multiple relocs if appropriate, as
1169 determined by md_estimate_size_before_relax.
1170 (md_convert_frag): New function.
1171 (mips_elf_final_processing): Set ELF header flags based on
1172 mips_any_noreorder and mips_pic.
1173 * config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define.
1174 (MAX_RELOC_EXPANSION): Define to be 3.
1175 (md_relax_frag): Define to be 0.
1176 (md_convert_frag): Don't define.
1177 (tc_get_register): Changed declaration.
1178
1179 * ecoff.h, ecoff.c: New files pulled out of config/obj-ecoff.c to
1180 support generating ECOFF debugging information for MIPS ELF
1181 targets. Compiled only if ECOFF_DEBUGGING is defined. Changed
1182 handling of external symbols: it now always generates exactly
1183 those external symbols that are defined in the global symbol list.
1184 * Makefile.in (REAL_SOURCES): Added ecoff.c.
1185 (REAL_HEADERS): Added ecoff.h.
1186 (OBJS): Added ecoff.o.
1187 (ecoff.o): New target.
1188 * config/obj-ecoff.c: Almost entirely moved into ecoff.c.
1189 Remaining code mostly just calls ecoff.c code.
1190 * config/obj-ecoff.h: Define ECOFF_DEBUGGING.
1191 (TARGET_SYMBOL_FIELDS): Make ecoff_symbol a pointer to a
1192 struct localsym.
1193 (obj_read_begin_hook, obj_symbol_new_hook): Define to call
1194 functions in ecoff.c.
1195 (ecoff_stab): Don't declare (now declared in ecoff.h).
1196 (obj_set_sym_index): Define.
1197 (obj_ecoff_set_sym_index): Declare.
1198
1199 * frags.h (frag_grow): Declare.
1200 * frags.c (frag_grow): Made non-static.
1201
1202 * write.c (is_dnrange): Do not define if md_relax_frag is defined.
1203 (relax_segment): If md_relax_frag is defined, use it to handle a
1204 frag of type rs_machine_dependent rather than looking through
1205 md_relax_table.
1206
1207 * read.c (read_a_source_file): If we find a bad pseudo-op,
1208 do a continue to go on to the next line rather than a break.
1209 Removed duplicate bad pseudo-op code which was never executed.
1210
1211 * read.c (s_lcomm): Do not require a comma after the name.
1212
1213 * subsegs.h (segment_info_type): Changed hadone field to bitfield.
1214 Added bss bitfield.
1215 * as.c (perform_an_assembly_pass): Set bss flag for bss_section.
1216 * read.c (s_lcomm): Set bss flag for .sbss section if used.
1217 * write.c (relax_and_size_seg): Don't set SEC_HAS_CONTENTS for a
1218 bss section. Set SEC_RELOC if there are any relocations, even for
1219 a zero size section.
1220
1221 * write.c (write_relocs): In RELOC_EXPANSION_POSSIBLE case, base
1222 data offset on reloc[0]->address rather than reloc[j]->address, so
1223 that multiple relocs can affect different memory locations.
1224
1225 * write.c (chain_frchains_together, relax_and_size_seg,
1226 adjust_reloc_syms, write_relocs): Make third argument PTR, not
1227 char *, to match definition of bfd_map_over_sections.
1228
1229 * app.c (do_scrub_next_char): Don't interpret a comment character
1230 as starting a CPP line directive unless it is a '#' and is the
1231 very first characters on the line (i.e., do not permit leading
1232 whitespace).
1233
1234 * messages.c (identify): Make file argument non-const, to match
1235 callers.
1236
1237 Tue Nov 16 20:38:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1238
1239 * config/tc-hppa.c (pa_ip): Fix thinko in 21bit range check.
1240
1241 Sat Nov 13 18:22:48 1993 Steve Chamberlain (sac@jonny.cygnus.com)
1242
1243 * config/tc-sh.c (md_apply_fix): Cope with IMM16 type too.
1244 * config/tc-z8k.c (build_bytes, md_apply_fix): Understand nDISP7
1245 relocs.
1246
1247 Fri Nov 12 16:51:47 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1248
1249 * config/tc-hppa.[ch]: Fix assorted trivial indention problems.
1250 * config/obj-som.c (obj_som_version): Add missing ';'.
1251 (som_frob_file): Delete whitespace at EOL.
1252
1253 Fri Nov 12 15:26:21 1993 Ken Raeburn (raeburn@cygnus.com)
1254
1255 * Makefile.in (VERSION): Updated following 2.2 release.
1256
1257 Fri Nov 12 14:52:17 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1258
1259 * config/tc-hppa.c (hppa_fix_struct): Use a real type for the
1260 field selector, rather than an int. All uses of field selectors
1261 fixed.
1262 (tc_gen_reloc): For SOM PLABELs, always set addend to zero for now.
1263 (md_apply_fix_1): Do not call hppa_field_adjust for any PLABEL
1264 field.
1265
1266 Thu Nov 11 15:49:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1267
1268 * config/tc-hppa.c (pa_type_args): For .import statements,
1269 silently ignore attempt to change the symbol type for a function
1270 from ST_ENTRY to ST_CODE on .import.
1271
1272 Wed Nov 10 16:19:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1273
1274 * write.h (fixS): Rename fx_callj field to fx_tcbit.
1275 * write.c, config/obj-coff.c, config/obj-coffbfd.c,
1276 config/tc-i960.c: Corresponding changes.
1277
1278 Tue Nov 9 00:49:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1279
1280 * Makefile.in (distclean): Delete config-stamp and config.h
1281
1282 * config/tc-hppa.c (evaluate_absolute): Avoid relying on
1283 ANSI-C features.
1284
1285 * config/tc-hppa.c (pa_type_args): Renamed from pa_export_args.
1286 Accept new argument "is_export". All callers changed. When
1287 processing a .export directive for a function, do not allow
1288 the user to set the type to "CODE", instead warn and set the
1289 type to "ENTRY".
1290
1291 Mon Nov 8 12:05:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1292
1293 * config/tc-mips.c (mips_ip, printInsn): Handle 'k' (from Ted
1294 Lemon <mellon@pepper.ncd.com>).
1295 (mips_ip): Permit odd numbered floating point registers if -mips3.
1296 (macro): Use BFD_RELOC_MIPS_LITERAL relocation for M_LI_SS.
1297
1298 Mon Nov 8 07:45:01 1993 Doug Evans (dje@canuck.cygnus.com)
1299
1300 * configure.in: Remove h8300h, we have multilib now.
1301
1302 Mon Nov 8 06:09:18 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
1303
1304 * configure.in: Support generic netware as being ELF format.
1305 Recognise unixware if the user supplies it.
1306
1307 Sun Nov 7 01:02:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1308
1309 * First cut at cleaning up PA instruction parsing.
1310 * config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to
1311 insn structure as an argument, and a pointer to a string. All
1312 callers changed. Always read any field selector here. Call
1313 evaluate absolute to get a return value.
1314 (evaluate_absolute): Addept pointer to insn structure as its
1315 argument. All callers changed.
1316 (INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield
1317 into an instruction and continuing the main pa_ip loop.
1318 (CHECK_FIELD): New macro for simple range checking of fields.
1319 (pa_ip): Delete unused variables. Use INSERT_FIELD_AND_CONTINUE
1320 and CHECK_FIELD. All immediate fields now pass through
1321 pa_get_absolute_expression which will also handle field selectors.
1322 Delete dead code. Simplify.
1323 (md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are
1324 applied are in range. Use bfd_put_32 rather than inserting each
1325 byte of the fixed instrution into the buffer ourselves.
1326
1327 * write.c (fixup_segment): Delete {SEG,GLOBAL}_DIFF_ALLOWED code,
1328 it was PA specific and is no longer needed (it's now handled
1329 within the PA backend).
1330 * config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition.
1331 * config/tc-hppa.c (fix_new_hppa): If the subtract symbol for
1332 a fixup is $global$ change it to NULL as $global$ is really only
1333 needed long enough to determine the base type of relocation to use.
1334
1335 * config/tc-hppa.c (create_new_subspace): Initialize subspace_defined.
1336
1337 * config/tc-hppa.c (pa-ip, case 'z'): Make field selectors work
1338 for 'z' operands (target of ble branch).
1339
1340 Sat Nov 6 22:41:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1341
1342 * config/tc-hppa.c: (update_subspace): Fix type and name of last
1343 parameter. All callers fixed.
1344 (md_begin, pa_chk_field_selector, pa_entry): Lint.
1345
1346 * config/tc-hppa.c (cons_fix_new_hppa): Reset field selector
1347 to default state after it's been used.
1348
1349 Fri Nov 5 12:08:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1350
1351 * config/obj-som.c (obj_som_init_stab_section): Change
1352 space/subspace sort keys for the stab sections so as to avoid
1353 bugs in the hp linker and pxdb.
1354
1355 Thu Nov 4 17:00:05 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1356
1357 * write.c (chain_frchains_together): Update pointer to last
1358 frag for a segment in the seginfo structure.
1359
1360 Thu Nov 04 09:09:35 1993 Jeffrey Wheat (cassidy@cygnus.com)
1361
1362 * Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS
1363
1364 Wed Nov 3 12:16:27 1993 Ken Raeburn (raeburn@rover.cygnus.com)
1365
1366 * write.c (fixup_segment): Handle conversion of subtraction to
1367 pc-relative addressing even if pc-relative flag is already set.
1368
1369 * config/tc-m68k.c (m68k_ip_op): Use strchr, not index. Don't
1370 declare either.
1371
1372 * doc/Makefile.in (distclean): Delete intermediate files from dvi
1373 build, but not the dvi or info files.
1374 * Makefile.in (clean-here): New target; cleans up current
1375 directory only.
1376 (distclean): Use it instead of clean.
1377
1378 * read.c (s_xstab): Don't use alloca.
1379
1380 * messages.c (identify): New routine; print message identifying
1381 following messages as coming from assembler.
1382 (as_show_where, as_bad_internal, as_bad_where): Call it.
1383 (as_fatal): Don't need to identify program any more.
1384
1385 Tue Nov 2 18:04:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1386
1387 * read.c (s_lcomm): Put small objects in .sbss for MIPS ELF as
1388 well as MIPS ECOFF.
1389 (get_stab_string_offset): Remove unused variable aligned.
1390
1391 Tue Nov 2 15:07:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1392
1393 * tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the
1394 predefined register table.
1395 (pa_parse_number): Handle %rp in common register shortcut code.
1396 Consistently set return value to -1 for an error. Clean up error
1397 messages and only print them when "print_errors" is true. Handle
1398 empty string case like the HP assembler -- assume a value of
1399 zero.
1400
1401 * config/ho-hpux.h: Do not include ho-sysv.h. Instead include
1402 standard hpux include files to pick up various function decls.
1403
1404 * config/ho-hppaosf.h: Delete _IO* macros. They are defined in
1405 stdio.h. Delete bogus declaration of free. Get path to
1406 alloca-conf.h right.
1407
1408 Tue Nov 2 13:57:30 1993 Ken Raeburn (raeburn@rover.cygnus.com)
1409
1410 * expr.c (operand): Fix checks for characters following "0b" or
1411 "0f".
1412
1413 Mon Nov 1 21:37:04 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1414
1415 * config/obj-som.h (obj_attach_unwind_info): Define as a hook
1416 so GAS can attach unwind descriptor information to a BFD symbol.
1417 * config/tc-hppa.c (fix_new_hppa): If necessary attach unwind
1418 descriptor information to the BFD symbol.
1419 (md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied",
1420 they are simply markers. Make R_HPPA_UNWIND_* handling OBJ_ELF
1421 dependent.
1422 (pa_build_unwind_subspace): Whole function is OBJ_ELF dependent.
1423 (pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM.
1424 (pa_exit): Likewise, but built a R_HPPA_EXIT relocation. Do not
1425 build "end-of-function" symbols for SOM, they are not needed.
1426
1427 * config/tc-hppa.c (process_exit): Create temporary symbols with
1428 correct prefixes so they can be eliminated later.
1429
1430 * config/tc-hppa.c (call_info struct): Delete unused "frame" field.
1431 (pa_callinfo): Insert framesize into the unwind information as
1432 soon as it's available.
1433 (pa_build_unwind_subspace): Do not insert framesize into the unwind
1434 information here.
1435
1436 * Add support for marker type relocations. These mark areas
1437 of interest to the linker. ENTRY/EXIT relocations for SOM are
1438 an example of marker relocations.
1439 * write.c (write_relocs): Instead of assuming size of a relocation
1440 is 4 bytes, pick up the size from relocation itself.
1441 (fixup_segment): Do not complain that a value is too small for
1442 marker relocations.
1443
1444 * struc-symbol.h: Add new "sy_used" field to the symbol structure.
1445 * expr.c (operand): Set sy_used for any symbol used as an operand.
1446 (expr): Likewise for any symbol used in an expression.
1447 * config/tc-hppa.h (tc_frob_symbol): Define. Punt imported
1448 symbols which are never used and absolute symbols which local scope.
1449
1450 * config/obj-som.h (obj_frob_file): Define.
1451 * config/obj-som.c (obj_som_init_stab_section): Set alignment
1452 of stab sections. Make space for the special stab entry.
1453 (adjust_stab_sections): Adjust the special entry in the
1454 stabs section.
1455 (som_frob_file): New function. Simply calls adjust_stab_sections
1456 for each section.
1457
1458 Mon Nov 1 17:54:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1459
1460 * config/tc-mips.c (PIC_CALL_REG, SP, FP): Define.
1461 (mips_pic, mips_cprestore_offset): New static variables.
1462 (md_pseudo_table): Handle .abicalls, .cpload, and .cprestore.
1463 Ignore .bgnb and .endb.
1464 (gp_reference): _gp_disp is never addressed off GP.
1465 (macro_build): Ignore macros while searching for insn. For cases
1466 i, j, and o, accept the reloc type as an argument rather than
1467 assuming BFD_RELOC_LO16. Don't try to convert BFD_RELOC_LO16 to
1468 BFD_RELOC_MIPS_GPREL. Added new case a.
1469 (set_at, load_register, macro): Changed calls to macro_build to
1470 pass new argument for i, j and o cases.
1471 (macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A. These require
1472 special handling when generating SVR4 PIC code.
1473 (mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT
1474 rather than hard coded constants.
1475 (md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and
1476 BFD_RELOC_MIPS_CALL16.
1477 (s_option): Set mips_pic based on .option picN.
1478 (s_abicalls): New function; set mips_pic to 2.
1479 (s_cpload): New function; handle .cpload.
1480 (s_cprestore): New function; handle .cprestore.
1481
1482 * config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb,
1483 .endb and .verstamp, setting them to s_ignore.
1484
1485 Sun Oct 31 00:36:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1486
1487 * config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined
1488 field. Define SUBSPACE_DEFINED accessor macro.
1489 (pa_subspace): Allow user to override subspace attributes for
1490 built-in subspaces. Set ssd_defined at the end of fcn -- that
1491 way the attributes can only be changed once. Pass newly allocated
1492 name to is_defined_subspace, not a pointer to the input line.
1493 Fix typo in space/subspace rework.
1494 (is_defined_subspace): Delete unused 2nd arg. All callers changed.
1495
1496 * config/tc-hppa.c (pa_import): If currently in the text segment
1497 and a symbol is imported without type information, set BSF_FUNCTION
1498 for the symbol.
1499 * write.c (relax_and_size_seg): Correct test to determine if
1500 the section's size was rounded up.
1501
1502 * config/obj-som.h (obj_set_symbol_type): Define a hook so GAS
1503 can properly set all the SOM symbol types.
1504 * config/tc-hppa.c (pa_symbol_type): New enum to represent the
1505 symbol types which can be set from an IMPORT/EXPORT statement.
1506 (pa_export_args): Set the pa_symbol_type type based on arguments.
1507 If defined, call obj_set_symbol_type to pass this information on
1508 to the BFD backend.
1509
1510 * read.c (get_stab_string_offset): Set SEC_DEBUGGING for any
1511 stab section we make.
1512 (s_stab_generic): Likewise.
1513
1514 Sat Oct 30 14:26:20 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1515
1516 * Allow backends to override the value of the fake label.
1517 * write.h (LOCAL_LABEL): Delete DOT_LABEL_PREFIX code. Instead
1518 assume backends will define LOCAL_LABEL if anything other than
1519 'L' is used to denote a local label.
1520 (FAKE_LABEL_NAME): New macro. Defines the default name used for
1521 the "fake" label.
1522 * expr.c (make_expr_symbol): Delete DOT_LABEL_PREFIX code
1523 and instead simply use the string defined by FAKE_LABEL_NAME.
1524 (operand): Likewise.
1525 * read.c (s_stab_generic): Likewise.
1526 * config/tc-hppa.h (FAKE_LABEL_NAME): Define as L$0\001 so it's
1527 known to be a local label.
1528 * config/tc-i386.h (DOT_LABEL_PREFIX): Delete.
1529 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
1530 * config/tc-m68k.h (DOT_LABEL_PREFIX): Delete.
1531 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
1532 * config/te-sco386.h (DOT_LABEL_PREFIX): Delete.
1533 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
1534
1535 Rework space/subspace handling in PA code to fully support
1536 SOM spaces/subspaces.
1537 * config/tc-hppa.c (USE_ALIASES): New object-format dependent define
1538 to control the use of space/subspace name aliases.
1539 (update_subspace): Accept space chain entry for containing space
1540 as a new parameter. All callers changed.
1541 (pa_get_label): Use current_space rather than pa_segment_to_space.
1542 (pa_define_label): Likewise.
1543 (pa_undefine_label): Likewise.
1544 (md_begin): Change into the (possibly modified) text_section.
1545 (pa_parse_space_stmt): Create a new segment/space if create_flag
1546 is true, and the space name is not one of the two predefined spaces.
1547 (pa_subspace): Use current_space rather than a lookup via
1548 pa_segment_to_space. Reset BFD section flags as required by
1549 the .subspace directive. Likewise for the section alignment.
1550 Pass the current space to update_subspace and create_new_subspace.
1551 (pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES
1552 is true. When not using aliases, create a BFD section for each
1553 subspace encountered. When not using aliases replace the default
1554 text, data, and bss segments with new ones.
1555 (create_new_subspace): When not using aliases each subspace has a
1556 section/segment and subsegments are not needed, so set the subsegment
1557 to zero.
1558
1559 * config/tc-hppa.c (pa_parse_space_stmt): If needed, call
1560 obj_set_section_attributes to pass space attributes to the
1561 BFD backend.
1562 (create_new_space): Likewise.
1563 (create_new_subspace): Likewise for subspace attributes using
1564 obj_set_subsection_attributes.
1565 (update_subspace): Likewise for subspace attributes using
1566 obj_set_subsection_attributes.
1567
1568 * config/tc-hppa.c (pa_parse_space_stmt): Get segment and sort key
1569 for $TEXT$ and $PRIVATE$ from the default space structure.
1570
1571 * config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION
1572 as appropriate for the given type.
1573
1574 * config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling
1575 SOM relocations.
1576
1577 * config/tc-hppa.c (pa_comm): Delete incorrect check for symbol
1578 redefinition.
1579
1580 * config/obj-som.[ch]: New files for SOM support. Note SOM
1581 support is not yet complete in GAS or BFD.
1582
1583 * config/ho-hppabsd.h: Delete IO* macros, they are defined in
1584 stdio.h. Delete declaration of free. Include stdlib.h, unistd.h,
1585 and string.h.
1586
1587 Fri Oct 29 13:26:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1588
1589 * Allow backends to override the section names used for embedded
1590 stabs support. Needed for SOM.
1591 * read.c (STAB_SECTION_NAME): Default the name of the stab section
1592 to ".stab".
1593 (STAB_STRING_SECTION_NAME): Likewise for the stab strings section.
1594 (get_stab_string_offset): Is now passed the full name for the
1595 stab string section rather than a name prefix. All references
1596 changed.
1597 (s_stab_generic): New argument for the stab string section name.
1598 all references changed.
1599 (s_xstab): Append "str" to the stab section name to get the
1600 stab string section name.
1601 * config/obj-coffbfd.c (obj_coff_init_stab_section): Append "str"
1602 to stab section name to get the stab string section name. Pass
1603 the full name of the stab string section to get_stab_string_offset.
1604 * config/obj-elf.c (obj_elf_init_stab_section): Likewise.
1605
1606 * config/tc-hppa.c (md_begin): Disable "-R" option to fold
1607 textand data segments. Warn user "-R" is unsupported on the
1608 PA.
1609
1610 Thu Oct 28 12:36:13 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1611
1612 * config/tc-hppa.c (md_pseudo_table): Default alignment is 8 for
1613 .align and .ALIGN directives.
1614
1615 * config/tc-hppa.c (pa_space): Do not report an error for a .space
1616 directive which does not define a "well-known" space and does
1617 not include a space number as an argument.
1618
1619 * config/tc-hppa.c (pa_def_subspaces): Correct initialization of the
1620 "defined", "loadable", "code_only" and "space_index" fields.
1621 (pa_def_spaces): Correct initialization of the "spnum", "defined",
1622 and "private" fields.
1623
1624 * write.h (struct fix): Add new tc_fix_data field for the various
1625 backends to attach machine dependent fixup information to.
1626 * write.c (fix_new_internal): Initialize new tc_fix_data field.
1627 * config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and
1628 fx_next fields.
1629 (hppa_find_hppa_fix): Delete unnecessary function. Fix all
1630 callers to get HPPA fixup information from the tc_fix_data field
1631 in the GAS fixup.
1632 (hppa_fix_root): Delete unnecessary variable.
1633 (fix_new_hppa): Attach HPPA fixup data to the GAS fixup.
1634
1635 * config/tc-hppa.c (pa_set_start_symbol); Delete unwanted
1636 function. Fix all callers.
1637 (subspace_dictionary_chain): Delete unused ssd_start_sym field.
1638
1639 * config/tc-hppa.c (hppa_fix_adjustable): New function to determine
1640 if a particular fixup is adjustable.
1641 * config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to
1642 perform the real work.
1643
1644 * config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out
1645 of OBJ_XXX conditionals.
1646 (MAX_RELOC_EXPANSION): Likewise.
1647
1648 * config/tc-hppa.c (log2): Renamed from is_power_of_2. Fix all
1649 callers. Now returns log2 (N) for positive N which are an exact
1650 power of two or -1 for an error.
1651
1652 * config/tc-hppa.c (pa_callinfo): Range check values provided for
1653 ENTRY_GR, ENTRY_FR and ENTRY_SR. Properly adjust vaues before
1654 inserting them into the unwind table.
1655
1656 * config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references.
1657 (hppa_gen_reloc_type): New object format dependent macro.
1658 (pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF
1659 conditional. The code can (and will) be shared between SOM & ELF
1660 formats in the near future.
1661 (cons_fix_new_hppa, md_apply_fix_1): Likewise.
1662 (pa_build_unwind_subspace, process_exit, pa_exit): Likewise.
1663 (tc_gen_reloc): Use hppa_gen_reloc rather than an object format
1664 specific call.
1665
1666 * config/tc-hppa.c (pa_comm): Set the segment for a common symbol
1667 to bfd_und_section.
1668
1669 * config/obj-elf.h (obj_elf_version): Add extern prototype.
1670
1671 * configure.in (hppa-*-bsd*): New configuration.
1672 BFD is always used for GAS generating SOM objects.
1673
1674 * write.c (adjust_reloc_syms): Set sy_used_in_reloc if an
1675 adjustment is rejected by the target machine.
1676
1677 * config/tc-hppa.c (pa_big_cons): Delete function and its
1678 declaration. All callers changed to use pa_cons.
1679
1680 * write.c (fixup_segment): Fix indention and open/close brace
1681 problem.
1682
1683 From Pete Hoogenboom:
1684 * config/tc-hppa.c (md_atof): Return a NULL on success rather than
1685 an empty string.
1686
1687 * config/tc-hppa.c (pa_parse_space_stmt): Advance
1688 input_line_poitner when an invalid argument is encountered.
1689
1690 Thu Oct 28 13:09:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1691
1692 * config/tc-a29k.c (md_begin): When opcodes are mashed together in
1693 the table, require that the one without bit 0x1000000 set come
1694 first. Require further that it be case 'b' or 'P'. The a29k
1695 opcode table already meets these constraints.
1696 (machine_ip): When handling case 'i' or 'A', make sure that the
1697 appropriate opcode really exists by looking at the next entry in
1698 the opcode table.
1699
1700 Wed Oct 27 11:48:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1701
1702 * config/tc-m68k.c (m68k_ip): Adjust offsets for PC relative
1703 fixups. Add 6 for long 7.3 case, 2 for short 7.2 case.
1704
1705 * config/obj-ecoff.c (obj_ecoff_ent): Ignore an optional number
1706 after a .ent directive.
1707
1708 * config/tc-mips.c (mips_ip): Handle '>' case (shift amount
1709 between 32 and 63 for double shift instruction). Do & 0x1f rather
1710 than % 32.
1711 (printInsn): Handle '>'.
1712
1713 Tue Oct 26 16:58:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1714
1715 * config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol
1716 number in the right place. Untested. Probably does not work for
1717 cross assembly. From cagney@cs.adelaide.edu.au (Andrew Cagney).
1718
1719 * config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses
1720 an illegal offset of 0 or -1.
1721
1722 * config/obj-elf.c (obj_elf_init_stab_section): Align .stab
1723 section to a longword boundary.
1724
1725 Tue Oct 26 10:24:31 1993 Ken Raeburn (raeburn@cygnus.com)
1726
1727 * Makefile.in (CHECKFLAGS): Pass down RUNTESTFLAGS.
1728
1729 From Jeff Law:
1730 * config/tc-hppa.c (tc_gen_reloc): ELF32_HPPA_R_ADDEND ->
1731 HPPA_R_ADDEND.
1732
1733 Mon Oct 25 11:17:58 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
1734
1735 * config/tc-sh.c (build_Mbytes): Write the relocs to the correct
1736 address. (md_assemble): Make error handling a bit more graceful.
1737 (md_apply_fix): Don't warn on non aligned displacement.
1738
1739 * config/tc-z8k.c (get_specific, built_bytes): Understand all the
1740 aspects of lda.
1741
1742 Mon Oct 25 10:20:31 1993 Ken Raeburn (raeburn@rover.cygnus.com)
1743
1744 * doc/Makefile.in (install-info): Use "$<*" so VPATH will find
1745 as.info* even if they're in $(srcdir) (e.g., for FSF
1746 distributions).
1747
1748 * write.c (write_relocs): For relocs that are pc_relative and
1749 pcrel_offset and not partial_inplace, adjust reloc->addend to
1750 compensate for a bfd_perform_relocation bug.
1751
1752 * config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code.
1753 * config/tc-sparc.c: Ditto.
1754 (tc_gen_reloc): Include fx_offset for pcrel fixups.
1755
1756 Sun Oct 24 16:49:00 1993 Jim Wilson (wilson@x1.cygnus.com)
1757
1758 * tc-mips.c (md_pseudo_table): Add dword pseudo op.
1759
1760 Fri Oct 22 20:40:56 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
1761
1762 * messages.c: replaced all variables called Format with 'format',
1763 for consistency throughout
1764
1765 * configure.in: handle mips*- instead of mips, mips*el for little
1766 endian configurations
1767
1768 Fri Oct 22 14:45:49 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1769
1770 * input-scrub.c (physical_input_file, logical_input_file,
1771 physical_input_line, logical_input_line): Made static.
1772 (as_where): Return current file name and line number, don't print
1773 them out.
1774 * messages.c (as_show_where): New static function. Other
1775 functions use it instead of as_where.
1776 (as_bad_internal): New static function.
1777 (as_bad): Use as_bad_internal.
1778 (as_bad_where): New function, like as_bad but taking a file name
1779 and line number.
1780 * as.h (as_bad_where): Declare.
1781 (as_where): Change prototype for new arguments.
1782 * write.h (fixS): Added fields fx_file and fx_line.
1783 * write.c (fix_new_internal): Save file and line number in fix.
1784 (fixup_segment): Use as_bad_where, not as_bad.
1785 * input-file.c (f_in, file_name): Made static.
1786 * cond.c (struct file_line): Just use file and line fields.
1787 (s_else): Use as_where and as_bad_where, not get_file_line and
1788 set_file_line.
1789 (get_file_line, set_file_line): Removed.
1790 * listing.c (listing_newline): Use as_where.
1791 * config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where.
1792 * config/obj-ecoff.c (add_file): Use as_where.
1793 * config/obj-elf.c (obj_elf_init_stab_section): Use as_where.
1794 * config/tc-m68k.c (md_apply_fix_2): Use as_bad_where.
1795 * config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert.
1796
1797 Thu Oct 21 12:52:01 1993 Ken Raeburn (raeburn@cygnus.com)
1798
1799 * config/tc-m68k.h: Don't define REGISTER_PREFIX or
1800 OPTIONAL_REGISTER_PREFIX if either is already defined.
1801
1802 * config/tc-m68k.c (m68k_ip): Delete some code in "#if 0".
1803
1804 * configure.in: Set bfd_gas for all sparc targets. Added facility
1805 for keeping or rejecting configurations still under development;
1806 default is to assume production environment, and reject configs
1807 still being worked on. Mark Elf configurations (except sparc and
1808 i386) as developmental. Deleted cases matching some generic names
1809 in favor of more specific names. (E.g., when we get Alpha
1810 support, we'll still only support VMS for Vax.)
1811
1812 * config/tc-sparc.h (md_end): New macro.
1813 * config/tc-sparc.c (md_end): Function deleted.
1814 (BFD_RELOC_*): Delete macros that used to help keep the non-bfd
1815 version compiling. All sparc targets will use bfd now.
1816 * tc.h (md_end): Don't declare if it's defined as a macro.
1817
1818 Changes from Jeff Law and Peter Hoogenboom:
1819
1820 * read.c (next_char_of_string): Limit octal character constants to
1821 three digits.
1822
1823 * config/tc-hppa.h: Major cleanup. Use GNU-style comments. Warn
1824 against placing additional object-file dependent code here. Warn
1825 against contaminating all of GAS with the internals of tc-hppa.c
1826 through inclusion of tc-hppa.h. Delete all forward declarations
1827 for functions only used within tc-hppa.c, likewise for structures,
1828 variables, and #defines. Try to group OBJ_ELF and OBJ_SOM
1829 conditional code in a few small places.
1830
1831 * config/tc-hppa.c: Major cleanup. Use GNU-style comments. Group
1832 structures, global variables, forward declarations together.
1833 Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM
1834 conditional code -- try to group conditional code together
1835 into a few places. Make all functions and variables which
1836 are only used within tc-hppa.c static. PARAMize all functions.
1837 Add comments to functions. Delete unused functions, variables,
1838 #defines, etc. Delete unused members within structures. Delete
1839 ldil;ble hacks -- it is believed they were installed to work
1840 around old gas bugs. Avoid using mixed case for local
1841 functions, variables, and structures. Fix formatting problems
1842 not found by GNU-indent. Add FIXME notices for things which
1843 should be worked on the near future. Delete lots of old
1844 useless (1.36 PA-SOM) code.
1845
1846 * config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type
1847 field of the fixS structure. Needed to build unwind
1848 descriptors correctly.
1849
1850 * write.c: (fixup_segment): Allow expressions such as
1851 sym1-sym2+const as long as sym2 is $global$.
1852
1853 * write.c (adjust_reloc_syms): Provide a hook so that a target
1854 cpu configuration can reject certain relocation reductions.
1855 * tc-hppa.h (tc_fix_adjustable): New macro. Only accept relocations
1856 which do not involve function symbols.
1857
1858 * config/tc-hppa.h: Reindent with GNU-indent. Delete references
1859 to OBJ_OSFROSE. Fix typos (OBJ_SOME -> OBJ_SOM). Delete unused
1860 STAB_FIXUP macro.
1861 * config/tc-hppa.c: Likewise.
1862
1863 * config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead
1864 of elf32_symbol_type.
1865 (pa_export_args): Likewise.
1866 (elf_hppa_final_processing): Likewise.
1867 (pa_desc): Do not call obj_elf_desc. (Is pa_desc even needed
1868 anymore?)
1869 (hppa_tc_make_sections): Do not declare elf_get_symtab_map any
1870 ore.
1871
1872 * config/tc-hppa.c: (md_section_align): Align all sections to
1873 a multiple of the section alignment rather than always a
1874 multiple of 8.
1875
1876 * config/tc-hppa.c (hppa_tc_symbol): If the argument relocation
1877 bits are zero (eg they specify no relocations), then do not even
1878 bother adding their entries to thesymextn section.
1879
1880 Thu Oct 21 15:44:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1881
1882 * config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
1883 option, which is used by the SunOS make default .s.o rule.
1884
1885 Tue Oct 19 18:13:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1886
1887 * config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable
1888 m68k_aout_machtype.
1889 * config/tc-m68k.c (omagic): Remove obsolete and unused variable.
1890 (m68k_aout_machtype): New variable, if OBJ_AOUT.
1891 (md_assemble): Initialize m68k_aout_machtype based on
1892 current_architecture, if OBJ_AOUT.
1893 (md_parse_option): Remove obsolete reference to omagic.
1894
1895 Thu Oct 14 16:51:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1896
1897 * config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op.
1898 (s_option): Ignore .option O* and .option pic*.
1899 (s_ent): Skip whitespace between symbol and optional digit.
1900 (my_getSmallExpression): Handle ($xx) correctly: assume 0($xx).
1901
1902 * app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape
1903 characters in state 6.
1904 * read.c (next_char_of_string): Accept \Xh* and \xh* where h* are
1905 hexidecimal digits.
1906
1907 * config/tc-i386.c (md_apply_fix_1): Make cross segment calls work
1908 for ELF by hacking around bizarre bfd_perform_relocation behaviour
1909 that I don't dare change.
1910
1911 Thu Oct 14 11:33:25 1993 Michael Meissner (meissner@osf.org)
1912
1913 * config/tc-i386.c: (md_begin): Do not zero static arrays. Don't
1914 call strchr for each character to see if it is a special char,
1915 instead add a second loop over special_chars. Set alignment
1916 of text, data and bss sections to 4.
1917 (pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be
1918 used again.
1919 (reloc): Don't return 8 and 16 bit non-PC relative relocations on
1920 ELF, since the ELF object format does not have these type of
1921 relocations. Change the abort into as as_bad and return
1922 BFD_RELOC_NONE to silence compiler warnings.
1923 (md_assemble): Keep track of the instruction size. Allow white
1924 space between the $ and the constant for compatibility with older
1925 gases and other assemblers.
1926 (i386_operand): Skip spaces between $ and expression.
1927 (tc_gen_reloc): Don't allow anything but 32 bit relocations on
1928 ELF. Convert abort into an as_bad and assert into as_fatal.
1929
1930 Wed Oct 13 16:50:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1931
1932 * config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If
1933 sub_symbolP is in the current segment, convert to a PC-relative
1934 fixup and discard the symbol.
1935
1936 Wed Oct 13 14:00:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1937
1938 * config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol
1939 for st_StaticProc just like st_Proc.
1940
1941 * write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT
1942 so that OBJ_BOUT doesn't forget to adjust all the fragments in the
1943 .bss section.
1944
1945 Tue Oct 12 17:26:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1946
1947 * config/tc-mips.c: If OBJ_ELF, include elf/mips.h.
1948 (mips_regmask_frag): New static variable, if OBJ_ELF.
1949 (md_begin): If OBJ_ELF, create .reginfo section and set
1950 mips_regmask_frag to a frag.
1951 (mips_elf_final_processing): New function, if OBJ_ELF. Set
1952 mips_regmask_frag to register mask information.
1953 * config/tc-mips.h (elf_tc_final_processing): New macro, defined
1954 if OBJ_ELF.
1955
1956 Tue Oct 12 03:33:26 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1957
1958 * messages.c (as_fatal): Use myname when printing messages.
1959
1960 * config/tc-i960.c (md_begin): Use null pointer, not empty string,
1961 as initial "return" value in case hashing isn't needed.
1962
1963 * config/tc-a29k.c (md_atof): Return null, not empty string, on
1964 success.
1965 * config/tc-h8300.c (md_atof), config/tc-h8500.c (md_atof),
1966 config/tc-hppa.c (md_atof), config/tc-i860.c (md_atof),
1967 config/tc-i960.c (md_atof), config/tc-m88k.c (md_atof),
1968 config/tc-ns32k.c (md_atof), config/tc-sh.c (md_atof): Ditto.
1969
1970 Mon Oct 11 16:46:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
1971
1972 fix for pr 3571
1973 * config/tc-h8300.c (get_specific): Special action if 8 bit
1974 address seen. (check_operand): Don't complain if truncating top
1975 bits of an 8 bit address. (build_bytes): Allow an immediate and
1976 an absolute in the same insn.
1977
1978 Mon Oct 11 17:18:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1979
1980 * write.c (write_contents): Don't crash if seginfo is NULL.
1981
1982 * config/obj-ecoff.c (ecoff_frob_file): Write out register masks
1983 by modifying .reginfo section, not by directly modifying BFD
1984 backend data.
1985
1986 Mon Oct 11 14:11:32 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
1987
1988 * config/ho-sunos.h: remove extern time declaration
1989
1990 Mon Oct 11 16:14:43 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1991
1992 * messages.c (as_fatal): Do mention that it's the assembler that
1993 got the fatal error.
1994
1995 Fri Oct 8 14:09:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1996
1997 * config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
1998 hold register masks.
1999 (md_begin): Initialize them to zero.
2000 (append_insn): Update mips_gprmask and mips_cprmask. Also add
2001 register variables pinfo and prev_pinfo.
2002 * config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
2003 * config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
2004 and cprmask from mips_gprmask and mips_cprmask.
2005
2006 * config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
2007 * config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
2008 (various): Change all references to GP references to apply if
2009 GPOPT, not if OBJ_ECOFF.
2010 (s_change_sec): Rearrange somewhat. If OBJ_ELF, use .rodata
2011 instead of .rdata. If OBJ_ELF, set section flags for .rodata and
2012 .sdata sections.
2013 (s_frame, s_loc, s_mask): Comment out entire functions, rather
2014 than just body. They're not used anyhow.
2015 * configure.in: Set cpu_type to mips for mips*. Accept
2016 mips-*-elfl* and mips-*-elf*.
2017
2018 Thu Oct 7 18:36:29 1993 Michael Meissner (meissner@osf.org)
2019
2020 * config/obj-elf.c (obj_elf_common): Allow the alignment field to
2021 not be specified.
2022
2023 Wed Oct 6 13:01:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2024
2025 * config/tc-mips.c (cons_fix_new_mips): New function. Turn
2026 BFD_RELOC_64 into BFD_RELOC_32.
2027 * config/tc-mips.h (TC_CONS_FIX_NEW): Define.
2028 (cons_fix_new_mips): Declare.
2029
2030 Changes to let cons handle bignums like general expressions.
2031 * expr.h (expressionS): New field X_unsigned.
2032 * expr.c (operand): Initialize X_unsigned to 1. Set it to 0 for
2033 unary minus case.
2034 (expr) Fix typo resultP to right if missing operand. Set
2035 X_unsigned to 1 when building new expression.
2036 * read.c (potable): Make "octa" and "quad" call cons, not
2037 big_cons.
2038 (cons): Handle bignums. If given an O_constant (small integer) to
2039 fill a big space, turn it into a bignum.
2040 (parse_bitfield_cons): Set X_unsigned field.
2041 (bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
2042 Removed.
2043 * read.h (big_cons): Remove prototype.
2044 * symbols.c (resolve_symbol_value): Don't give a warning if a
2045 symbol in expr_section can not be resolved.
2046 (S_SET_VALUE): Clear X_unsigned.
2047 * write.c (write_object_file): If resolve_symbol_value failed on a
2048 symbol we are writing out, give a warning.
2049 * config/tc-h8500.c (parse_reglist): Set X_unsigned.
2050 * config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
2051 call pa_cons, not pa_big_cons.
2052 (pa_big_cons): Remove.
2053 * config/tc-hppa.h (pa_big_cons): Remove declaration.
2054 * config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
2055 not big_cons.
2056
2057 Tue Oct 5 10:53:36 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
2058
2059 * doc/as.texinfo (Copying): new node, to handle the recent changes
2060 in the texinfo/gpl.texinfo file
2061
2062 Mon Oct 4 17:10:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2063
2064 * read.c (big_cons): Handle "0" correctly.
2065
2066 * config/tc-mips.c (md_begin): Set target_big_endian correctly.
2067
2068 Mon Oct 4 15:37:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2069
2070 * config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should
2071 have pc-relative fixup.
2072 (md_parse_option): Move "-k" case down near "-pic" case.
2073
2074 * configure.in: Alphabetize list of cpu type alternatives. Enable
2075 OS values of "linux*elf*" and "linux*coff*" to select those
2076 formats, with linux emulation. Don't bother checking for upper-
2077 or mixed-case versions of "ose".
2078
2079 Thu Sep 30 11:05:35 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
2080
2081 * config/z8k.c (md_pseudo_table): add "unseg".
2082
2083 Wed Sep 29 16:15:11 1993 K. Richard Pixley (rich@sendai.cygnus.com)
2084
2085 * config/m88k-opcode.h (m88k_opcodes): correct a few mistakes
2086 found while extending the dissassembler.
2087
2088 Tue Sep 28 12:02:04 1993 Stan Shebs (shebs@rtl.cygnus.com)
2089
2090 * configure.in: Split i386 LynxOS out from other coff targets,
2091 add a specific Lynx emulation.
2092 Add m68k LynxOS target.
2093 * config/tc-i386.c: Define specific Lynx target format.
2094 * config/tc-m68k.c: Define specific Lynx target format.
2095 * config/te-lynx.h: New file.
2096
2097 * config/obj-coffbfd.h: Don't set TARGET_FORMAT to be
2098 "coff-{i386,m68k}" if TARGET_FORMAT already defined.
2099 (INIT_STAB_SECTION): Define.
2100 * config/obj-coffbfd.c: Include <time.h>.
2101 (write_object_file): Look for .stab sections and call
2102 adjust_stab_section.
2103 (adjust_stab_section): New function, fills in the first symbol
2104 of a stab section with number of symbols and string table size.
2105 (obj_coff_init_stab_section): New function, creates the initial
2106 symbol for a stab section.
2107
2108 Mon Sep 27 15:21:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2109
2110 * config/atof-vax.c (md_atof): Return null on success instead of
2111 empty string.
2112 * config/atof-tahoe.c (md_atof): Ditto.
2113 * read.c (float_cons): Expect a null pointer for success, not an
2114 empty string.
2115
2116 * hash.c (hash_insert, hash_jam, hash_grow): Return null pointer
2117 on success, instead of empty string. All callers changed.
2118
2119 * config/tc-vax.c: Use PARAMS in declarations.
2120 (vip_op): Use NULL instead of empty string for success in error
2121 and warning fields.
2122
2123 Sun Sep 26 23:45:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2124
2125 * expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols
2126 in different defined segments.
2127
2128 * write.c (relax_segment): Localize "aim" variable. If
2129 DIFF_EXPR_OK, don't impose checks on symbol segment types.
2130 (fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current
2131 segment, convert to a PC-relative fixup and discard the symbol.
2132
2133 * config/tc-m68k.c (flag_want_pic): New variable, mostly ignored.
2134 (md_parse_option) [TE_SUN3]: Set it for "-k".
2135 (m68k_ip): Generate proper fixup for mode 7.3.
2136 * config/tc-m68k.h (DIFF_EXPR_OK): Define.
2137
2138 Sat Sep 25 05:08:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2139
2140 * config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved
2141 earlier in the file.
2142 (insop, add_exp): Now defined as functions, for readability.
2143 (insop): Now takes two arguments; callers changed.
2144
2145 Fri Sep 24 12:37:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
2146
2147 * config/tc-m88k.c (get_o6): new function.
2148 (get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
2149 get_vec9, getval, get_pcr, calcop, match_name): make static and
2150 prototype.
2151 (s_file): remove extraneous forward decl.
2152 (md_begin): add const to retval decl.
2153 (calcop): cope with instructions without arguments. Handle 'o'
2154 type argument, the o6 field of the prot insn.
2155 (md_estimate_size_before_relax): return a dummy value.
2156
2157 * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
2158 in bits 10 through 7. flt.[dxs]s requires an r register in the
2159 second argument. New instruction lda.x. New instruction muls
2160 (alias for mul).
2161
2162 Fri Sep 24 13:43:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2163
2164 * Makefile.in (distclean): Recurse like clean.
2165 * doc/Makefile.in (distclean): New target.
2166
2167 * config/tc-mips.c (md_begin): Set BFD architecture and machine
2168 based on MIPS ISA level.
2169
2170 Thu Sep 23 17:58:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2171
2172 * as.c (main): "exhausted", not "exhuasted".
2173
2174 * struc-symbol.h (struct symbol): Add sy_used_in_reloc field.
2175 * write.c (adjust_reloc_syms): Set sy_used_in_reloc.
2176 (write_object_file): Never strip symbols with sy_used_in_reloc
2177 set.
2178
2179 * config/obj-elf.c (obj_elf_section): Rewrote to handle both
2180 Solaris and SVR4 style .section pseudo-ops.
2181 (obj_elf_ident): Set SEC_READONLY for .comment section.
2182 * config/tc-sparc.c (md_apply_fix): If this is ELF, and we're
2183 generating a reloc, don't apply a fix.
2184
2185 Thu Sep 23 13:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2186
2187 * config/obj-coffbfd.c (relax_align): Now static.
2188
2189 Mon Sep 20 19:23:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2190
2191 * read.c (get_stab_string_offset): Make non-static. Make
2192 arguments const. Don't align strings to 4 byte boundaries.
2193 * read.h: Declare get_stab_string_offset.
2194 * config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
2195 SEC_LOAD for progbits section.
2196 (obj_elf_init_stab_section): New function.
2197 (adjust_stab_sections): Add casts to avoid warnings.
2198 * config/obj-elf.h (INIT_STAB_SECTION): Call
2199 obj_elf_init_stab_section.
2200 (OBJ_PROCESS_STAB): Removed definition.
2201
2202 Fri Sep 17 18:12:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2203
2204 * config/obj-elf.h (S_GET_SIZE): Define.
2205 (obj_frob_forward_symbol): Define.
2206 * config/tc-i386.c (line_comment_chars): Initialize in all cases.
2207
2208 Thu Sep 16 14:23:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2209
2210 * tc.h: Declare tc_gen_reloc differently depending upon
2211 RELOC_EXPANSION_POSSIBLE.
2212 * config/obj-elf.c (obj_elf_section): Only set flags when first
2213 creating the section.
2214
2215 Wed Sep 15 12:15:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2216
2217 * config/tc-mips.c (append_insn): Don't swap a trap instruction
2218 with a branch.
2219
2220 Tue Sep 14 13:31:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2221
2222 * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
2223 set previous_section and previous_subsection and then call s_data
2224 and s_text, respectively.
2225 (obj_pseudo_table): Add data and text.
2226 (obj_elf_section): Add SEC_LOAD to default initialization of
2227 flags. Treat .rodata1 like .rodata. Set SEC_LOAD as well as
2228 SEC_ALLOC for "alloc" string. Don't bother trying to find the
2229 section; just use subseg_new.
2230
2231 * read.c (change_to_section): Removed. This is now done by
2232 subseg_new.
2233 (get_stab_string_offset): Rearranged somewhat. Create the section
2234 using subseg_new. Store the string index in seg_info, rather than
2235 in a static variable. Force the first string to be empty. Use
2236 frag_more rather than FRAG_APPEND_1_CHAR.
2237 (s_stab_generic): Rewrote.
2238 * subsegs.h (segment_info_type): Added stabu union.
2239 * subsegs.c (subseg_new): Initialize stab_string_size to 0.
2240 * config/obj-aout.c: Don't include aout/stab_gnu.h.
2241 (obj_aout_stab, obj_aout_desc): Removed.
2242 (obj_pseudo_table): Removed desc and stabX entries.
2243 * config/obj-bout.c: Same changes as config/obj-aout.c.
2244 * config/obj-bout.h (S_SET_TYPE): Define.
2245 (tc_bout_fix_to_chars): Declare.
2246 * config/obj-coff.c (obj_coff_stab): Removed.
2247 (obj_pseudo_table): Removed desc and stabX entries.
2248 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
2249 * config/obj-coffbfd.c (current_stab_symbol): Removed.
2250 * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
2251 n_other, n_desc and n_value fields.
2252 (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
2253 (MAKE_STAB_SYMBOL): Removed.
2254 * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
2255 Changed arguments and removed parsing code.
2256 (obj_pseudo_table): Removed stabX entries.
2257 * config/obj-ecoff.h (ecoff_stab): Declare.
2258 (OBJ_PROCESS_STAB): Define.
2259 * config/obj-elf.c: Don't include aout/stab_gnu.h.
2260 (obj_elf_stab, obj_elf_xstab, obj_elf_desc,
2261 elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
2262 Removed.
2263 (obj_pseudo_table): Removed desc, stabX and xstabs entries.
2264 (obj_elf_version): Use subseg_new, not bfd_make_section. Don't
2265 set SEC_LOAD for .note section.
2266 (adjust_stab_sections): Get frag pointer from seg_info, rather
2267 than looking through frags.
2268 * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
2269 (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
2270 Define.
2271 * config/obj-vms.c (obj_aout_stab): Removed.
2272 (obj_pseudo_table): Removed stabX entries.
2273 * config/obj-vms.h (S_SET_TYPE): Define.
2274
2275 * as.h: Declare listing.
2276 * read.c: Don't declare listing.
2277 (emit_expr): Cast fix_new_exp argument.
2278 (parse_bitfield_cons): Correct printf format.
2279 * symbols.c (symbol_new): Add cast to avoid warning.
2280 * write.h: Declare text_last_frag and data_last_frag.
2281 * config/obj-bout.c (obj_bout_line): Added dummy argument.
2282 * config/obj-coffbfd.c: Add some casts to avoid warnings.
2283 * config/tc-a29k.c: Likewise.
2284 * config/tc-i960.c: Likewise. Also fully bracket structure
2285 initializations, fix printf formats, and remove unused variables.
2286
2287 Mon Sep 13 16:48:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2288
2289 * read.c (s_desc): Only compile and use if S_SET_DESC is defined.
2290 * struc-symbol.h: Declare verify_symbol_chain and
2291 verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS.
2292 * symbols.c (verify_symbol_chain): Removed useless expression.
2293 * write.c (headers, the_object_file): Only use if not
2294 BFD_ASSEMBLER and not BFD.
2295 (fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or
2296 not BFD.
2297 (merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and
2298 not OBJ_AOUT).
2299 * write.h: Declare relax_segment.
2300 * config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made
2301 static.
2302 (stack_top): Commented out, since it's not used.
2303 Fixed up pseudo-op functions to take an ignored int argument.
2304 (size_section): Added default BAD_CASE to switch.
2305 Changed bzero calls to memset.
2306 * config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME
2307 (s), not on s itself.
2308 * config/tc-a29k.c (s_use): Take ignored int argument. Only
2309 define if OBJ_COFF is not defined.
2310 * config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make
2311 argument signed again.
2312 * config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int
2313 argument.
2314 (m68k_ip): Fully bracket initialization of archs.
2315 Correct several formats for __LINE__ to be %d rather than %s.
2316 (init_table): Fully bracket initialization.
2317 Cast values larger than 0x7f assigned to fr_opcode to char.
2318
2319 * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
2320 Wrote non-BFD_ASSEMBLER subseg_new. Now subseg_new always takes a
2321 section name, and subseg_set always takes a segT. Changed all
2322 callers as appropriate.
2323 * config/obj-coffbfd.c (change_to_section): Renamed to
2324 obj_coff_add_segment. Corrected. Made callers use subseg_new.
2325 * config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
2326 Define.
2327
2328 Mon Sep 13 13:15:03 1993 Doug Evans (dje@canuck.cygnus.com)
2329
2330 * config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'.
2331
2332 Fri Sep 10 11:22:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2333
2334 * config/obj-elf.h (S_SET_SIZE): Actually set the size.
2335
2336 Gcc lint.
2337 * Added a number of casts to function calls.
2338 * app.c (do_scrub_begin), as.c (main), expr.c (integer_constant,
2339 operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY,
2340 read_a_source_file, s_align_bytes, demand_empty_rest_of_line,
2341 ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore),
2342 read.h (is_name_beginner, is_part_of_name), config/obj-elf.c
2343 (obj_elf_section), config/tc-i386.c (parse_register),
2344 config/tc-sparc.c (isoctal, s_proc): Cast char
2345 array indices to unsigned char.
2346 * app.c (process_escape): Make static. Add prototype. Change
2347 argument from char to int.
2348 * as.c: Include output-file.h for prototypes. Comment out unused
2349 function got_sig.
2350 * Makefile.in (as.o): Depend on output-file.h.
2351 * as.h (BAD_CASE): Cast val argument to long, and use %ld.
2352 (pseudo_typeS): Add prototype to poc_handler field.
2353 (print_version_id): Add prototype.
2354 (xmalloc, xrealloc): Change size arguments to unsigned long.
2355 (do_scrub_next_char): Add prototypes for function arguments.
2356 (had_errors, had_warnings, scrub_from_file): Remove duplicate
2357 declarations.
2358 * atof-generic.c (atof_generic): Make size variables unsigned.
2359 * cond.c (ignore_input): Removed unused local variable ptr.
2360 * expr.c (floating_constant, integer_constant): Make static. Add
2361 prototypes.
2362 * flonum-copy.c (flonum_copy): Make size variables unsigned.
2363 * frags.h: Add prototype for frag_init.
2364 * hash.h, hash.c: Change hash values from char * to PTR, make hash
2365 strings const, make returned error strings const char *. Added
2366 prototypes for functions.
2367 * input-file.h, input-file.c (input_file_buffer_size): Return
2368 unsigned int.
2369 * input-scrub.c (buffer_length): Make unsigned.
2370 (input_scrub_push, input_scrub_pop): Make static.
2371 * listing.c (list_symbol_table): Cast sprintf argument to unsigned
2372 long and use %lx. Print name of segment rather than address of
2373 structure.
2374 (listing_list, listing_title): Change argument to int.
2375 (listing_eject, listing_flags, listing_psize): Add int argument.
2376 * listing.h: Corresponding declaration changes.
2377 * obj.h (obj_emit_symbols): Rename prototype argument to avoid
2378 shadowing.
2379 * read.h: Change get_absolute_expression prototype to return
2380 offsetT. Add prototype for next_char_of_string. Various
2381 prototype changes.
2382 * read.c: Remove prototype for next_char_of_string.
2383 (pobegin): Make errtxt const. Make new_length, tmp_len and num
2384 unsigned.
2385 (s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill,
2386 s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument.
2387 Change all callers.
2388 (s_comm): Change temp from valueT to offsetT. Cast to long when
2389 printing and use %ld (only for error messages anyhow).
2390 (s_long, s_int): Remove unused functions.
2391 (cons): Change argument to int.
2392 (emit_expr): Use %lx when printing longs.
2393 (get_absolute_expression): Return offsetT, not long.
2394 (get_stab_string_offset): Comment out unless
2395 SEPARATE_STAB_SECTIONS.
2396 (s_stab_generic): Remove unused offset. Define seg_is_new only
2397 if SEPARATE_STAB_SECTIONS. Use toP only in local block.
2398 * struc-symbol.h (verify_symbol_chain_2): Add prototype.
2399 * symbols.c: Remove nested comment.
2400 (symbol_new): Rename value to valu.
2401 (colon): Use %ld and cast to long in error message.
2402 * symbols.h: Remove duplicate verify_symbol_chain declaration.
2403 * tc.h: Remove unused md_emit_relocations declaration.
2404 (tc_gen_reloc): Add declaration.
2405 * write.c (cvt_frag_to_fill): Change first argument name depending
2406 on BFD_ASSEMBLER.
2407 (write_relocs): Remove unused offset, frags. Remove tc_gen_reloc
2408 declarations. Make n unsigned.
2409 (write_contents): Remove unused i, n, relocs, fixp. Rename frags
2410 to f to avoid shadowing.
2411 (write_object_file): Define fragP only if not BFD_ASSEMBLER or not
2412 WORKING_DOT_WORD. Remove unused keep. Only declare punt and
2413 punt_it if they will be used. Make i and n unsigned.
2414 (fixup_segment): Cast to long and use %ld in error message.
2415 * xmalloc.c (xmalloc, xrealloc): Make size argument unsigned.
2416 * config/obj-aout.h: Remove nested comment. Add prototype for
2417 obj_aout_frob_symbol.
2418 (obj_aout_line, obj_aout_desc): Add int argument.
2419 * config/obj-ecoff.c: Changed build routines to use an unsigned
2420 offset.
2421 (add_string): Make len unsigned long.
2422 (obj_ecoff_stab): Use %lu in error message.
2423 * config/obj-elf.c (obj_elf_common): Comment out unused label
2424 allocate_bss.
2425 (obj_elf_frob_symbol): Return 0 (currently broken).
2426 (obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type,
2427 obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common,
2428 obj_elf_line, obj_elf_previous): Add int argument.
2429 (obj_elf_write_symbol_p): Make static.
2430 * config/obj-elf.h (obj_elf_write_symbol): Add prototype.
2431 * config/tc-hppa.h: Remove declarations of functions declared in
2432 read.h.
2433 * config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT.
2434 (s_bss): Add int argument.
2435 (fits_in_signed_byte, smallest_imm_type): Make argument unsigned.
2436 (dummy): Remove unused function.
2437 (md_assemble): Rename local o to op to avoid shadowing.
2438 (tc_gen_reloc): Rename local reloc to rel to avoid shadowing.
2439 * config/tc-m68k.c (s_data1, s_data2): Add int argument.
2440 * config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use
2441 %ld in error messages.
2442 * config/tc-sparc.c: Remove duplicate declarations.
2443 (getExpression): Rewrite condition to avoid empty conditional
2444 body.
2445 (s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int
2446 argument.
2447
2448 Thu Sep 9 17:10:00 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2449
2450 Changes from Jeff Law:
2451
2452 * config/tc-hppa.c (md_assemble): Fix typo.
2453 (pa_ip): Delete unused variables and labels. Do not check for
2454 unsigned values being < 0, it can't happen.
2455 (is_same_frag): Return a value in recursive call case.
2456 (pa_callinfo): Delete unused variables and labels.
2457 (pa_comm): Likewise.
2458 (pa_copyright): Likewise.
2459 (pa_export): Likewise.
2460 (pa_import): Likewise.
2461 (pa_param): Likewise.
2462 (pa_space): Likewise.
2463 (pa_subspace): Likewise.
2464
2465 Thu Sep 9 15:05:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2466
2467 * read.c (get_stab_string_offset, s_stab_generic): If
2468 BFD_ASSEMBLER, call subseg_set rather than subseg_new.
2469
2470 Wed Sep 8 15:09:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2471
2472 * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
2473 default flag values.
2474
2475 Tue Sep 7 10:22:52 1993 Stan Shebs (shebs@rtl.cygnus.com)
2476
2477 * read.c: (change_to_section): Don't include body if not MANY_SECTIONS.
2478
2479 * read.c: (s_stab, s_xstab, s_desc): New functions to parse
2480 various stab-related directives.
2481 * read.h: (s_stab, s_xstab, s_desc): New function prototypes.
2482 * write.c: (merge_data_into_text): Fix ifdef tangle.
2483 * config/obj-coffbfd.c (current_stab_symbol): Fake symbol
2484 for stab reader to use.
2485 * config/obj-coffbfdh.h (obj_symbol_type): Added fields for
2486 stab reader, macros to access.
2487
2488 Fri Sep 3 16:44:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2489
2490 * config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type.
2491
2492 * config/tc-hppa.h (struct default_subspace_dict, struct
2493 default_space_dict): Field "sort" is now unsigned char.
2494
2495 * config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align
2496 columns for easier reading.
2497 (bcmp, index): Deleted USG-specific definitions. Should be dealt
2498 with in ho-*.h, or in libiberty. Changed mention of index to
2499 strchr.
2500 (label_symbolP, label_symbol_defined, callinfo_found,
2501 within_entry_exit, exit_processing_complete, within_procedure,
2502 pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc,
2503 label_symbols_rootP, pa_get_label, pa_label_is_defined,
2504 pa_undefine_label): Now static.
2505 (movers): Now const, in addition to pointing to const data.
2506 * config/tc-hppa.h (label_symbolS_rootP, pa_get_label,
2507 pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc):
2508 Delete declarations.
2509
2510 Merged more changes from Jeff Law and Pete Hoogenboom:
2511
2512 * config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove
2513 entries for .stab and .stabstr.
2514
2515 * config/obj-elf.c: (elf_stab_symbol_string): Set the
2516 SEC_LOAD attribute for the .stabstr section.
2517 (obj_elf_stab_generic): Set the SEC_LOAD attribute for the
2518 .stab section.
2519 (obj_elf_stab_generic): Change '#if 1' to '#if 0'.
2520 (obj_elf_stab_generic): Incorrect byte count on call to
2521 md_number_to_chars function.
2522
2523 * config/tc-hppa.c (hppa_tc_symbol): Static functions need
2524 argument relocation bits too.
2525
2526 * config/tc-hppa.c (pa_stringer): Correctly handle escaping
2527 characters which should appear unaltered in the output string (for
2528 example an escaped double-quote).
2529
2530 * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always
2531 initialize name.
2532 (pa_parse_neg_cmpsub_cmpltr): Likewise.
2533 (pa_parse_nonneg_add_cmpltr): Likewise.
2534 (pa_parse_neg_add_cmpltr): Likewise.
2535
2536 * config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype
2537 for now.
2538 (cons_fix_new_hppa): Likewise.
2539 * config/tc-hppa.c (md_apply_fix): Fix type of valp to match
2540 prototype.
2541
2542 * config/tc-hppa.c: Include libhppa.h.
2543
2544 * config/tc-hppa.h: Delete extern declarations of functions
2545 found in libhppa.h.
2546
2547 * config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef
2548 OBJ_ELF conditionals.
2549 * config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels
2550 on the PA.
2551
2552 Thu Sep 2 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2553
2554 * config/tc-mips.c (macro_build): Accept 'z', and ignore it.
2555 (macro): Use "z,s,t" for div instructions to match corresponding
2556 change in opcode table.
2557 (mips_ip): Added 'z'--must be zero register.
2558
2559 Wed Sep 1 15:56:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2560
2561 * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare
2562 tc_gen_reloc correctly.
2563
2564 * configure.in: Use "case" instead of "if" when possible. Rewrote
2565 Makefile editing to reduce work done. Treat "hppa*" as "hppa".
2566
2567 Wed Sep 1 12:19:07 1993 K. Richard Pixley (rich@sendai.cygnus.com)
2568
2569 * config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for
2570 section type of data. 'd' seems to be used for m88k.
2571
2572 Wed Aug 25 22:33:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2573
2574 * config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons,
2575 s_mips_space): Set insn_label to NULL to avoid changing it at the
2576 next .align statement.
2577 (append_insn): Don't swap jal with instruction that sets the
2578 register that jal sets.
2579
2580 Wed Aug 25 16:15:57 1993 K. Richard Pixley (rich@sendai.cygnus.com)
2581
2582 * configure.in: recognize m88110.
2583
2584 Wed Aug 25 13:37:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2585
2586 Merged changes from Pete Hoogenboom and Jeff Law at Utah:
2587 * config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should
2588 not be on for .hppa_unwind.
2589 (md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS.
2590 (pa_param): New function to handle .PARAM directives.
2591 (pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr
2592 functions. Handle '|' for movb; allow movb,n.
2593 (pa_parse_nonneg_cmpsub_cmpltr): Delete old useless
2594 version. Handle cases where no completer exists for
2595 comb,n or addb,n.
2596 (pa_parse_neg_cmpsub_cmpltr): Handle cases where no
2597 completer exists for comb,n or addb,n. Make logic
2598 mirror that of pa_parse_nonneg_cmpsub_cmpltr.
2599 (pa_parse_nonneg_add_cmpltr): Likewise.
2600 (pa_parse_neg_add_cmpltr): Likewise.
2601 * tc-hppa.h (pa_param): Declare.
2602
2603 Tue Aug 24 15:41:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2604
2605 * config/tc-hppa.c (hppa_tc_make_symextn_section): Now static.
2606 Added forward declaration.
2607
2608 Merged changes from Pete Hoogenboom and Jeff Law at Utah:
2609
2610 * config/obj-elf.c (elf_frob_file): Arguments were incorrect on
2611 call to elf_tc_make_sections.
2612 (obj_elf_version): A .note section shouldn't have the SEC_ALLOC
2613 attribute.
2614
2615 * config/tc-hppa.c (hppa_tc_make_sections): Add some processing to
2616 handle symbol extension sections.
2617
2618 * config/tc-hppa.c (pa_build_symextn_section): New function to
2619 create a symbol extension section.
2620 (pa_export_args): Make call to pa_build_symextn_section.
2621 (hppa_tc_symbol, hppa_tc_make_sections,
2622 hppa_tc_make_symextn_section): New functions.
2623 * config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections
2624 macros.
2625
2626 * read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the
2627 BFD_ASSEMBLER branch as well.
2628
2629 * config/tc-hppa.h: If ELF is the target object format, define
2630 some ELF- and hppa-specific types and constants.
2631
2632 * config/tc-hppa.c (getExpression): Fix a typo.
2633
2634 * read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine
2635 if a `=' is part of an instruction.
2636 (read_a_source_file): Handle case where end-of-line markers are
2637 also used within instructions.
2638 * config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define.
2639
2640 * config/tc-hppa.c (md_apply_fix_1): Keep relocations for
2641 out-of-range branches/'calls using "bl" or calls which may need
2642 argument relocation stubs. Do not need/keep relocations for
2643 conditional branches.
2644 (elf_hppa_final_processing): Fix calculation of function size.
2645
2646 * config/obj-elf.c (obj_elf_version): Mark .note section as
2647 READONLY.
2648
2649 * config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the
2650 address of exp, to expression.
2651 (pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on.
2652 (md_apply_fix_1): Delete unwanted comments.
2653 (process_exit): Symbols marking the end of a function are always
2654 BSF_LOCAL.
2655
2656 * config/tc-hppa.c: Include elf32-hppa.h from BFD tree.
2657 (pa_space): Declare and initialize gdb_section.
2658
2659 * config/obj-elf.c (elf_frob_file): Change
2660 elf_tc_final_processing_hook to elf_tc_final_processing.
2661
2662 * config/tc-hppa.c (fix_new_hppa): Fix argument list to match
2663 argument type declarations.
2664 (getExpression): Fix typo.
2665 (pa_export_args): Change elf_symbol_type to elf32_symbol_type.
2666 (elf_hppa_final_processing): Likewise. Name changed from
2667 elf_hppa_final_processing_hook.
2668 (start_symbol_root, start_symbol_last): Deleted.
2669
2670 * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo.
2671
2672 * config/tc-hppa.h: Replace "symbolS" with "struct symbol" to
2673 avoid changing include ordering.
2674
2675 * config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'.
2676
2677 Mon Aug 23 12:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2678
2679 * config/tc-mips.c (set_at): Added unsignedp argument. Use
2680 load_register.
2681 (set_at_unsigned): Removed; changed callers to use set_at.
2682 (load_register): Removed unused ip argument. Changed callers.
2683 (append_insn): Don't swap branch and branch likely.
2684 (macro_build): Handle 'u'.
2685 (load_register): Handle 64 bit constants.
2686 (macro): Added M_DABS, removed M_ABSU. Numerous changes to
2687 support 64 bit constants.
2688 (mips_ip): Use hex constants in range checks for clarity.
2689 (md_number_to_chars): Support 8 byte values.
2690
2691 Fri Aug 20 16:50:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
2692
2693 * config/tc-m88k.h: updated copyrights.
2694 (TC_CONS_RELOC): declare to be RELOC_32.
2695
2696 Fri Aug 20 11:16:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2697
2698 * config/tc-mips.c (mips_isa): New static variable.
2699 (md_begin): Initialize mips_isa based on TARGET_CPU. Don't sanity
2700 check macros. Set text alignment and GP size here.
2701 (md_assemble): Don't set text alignment and GP size here.
2702 (append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
2703 Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S. Add
2704 a NOP after a branch likely.
2705 (mips_emit_delays): Don't insert NOPS for load delays if mips_isa
2706 >= 2.
2707 (macro): Support r6000 and r4000 macros.
2708 (mips_ip): Check insn ISA level against mips_isa before using it.
2709 Added 'x' case for ignored register.
2710 (md_parse_option): Handle -mipsN and -mcpu=XX.
2711
2712 Fri Aug 20 01:26:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2713
2714 * config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero".
2715
2716 Thu Aug 19 12:15:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2717
2718 * config/tc-sparc.c (s_local): Function moved and renamed...
2719 * config/obj-elf.c (obj_elf_local): ...to here.
2720 * config/tc-sparc.c (md_pseudo_table), config/obj-elf.c
2721 (obj_pseudo_table): Move handling of ".local".
2722
2723 * tc.h (md_parse_option): Don't declare if defined as a macro.
2724
2725 * config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as
2726 BFD_RELOC_NONE.
2727 (md_parse_option): New macro, converted from function.
2728 * config/tc-i386.c (md_parse_option): Function deleted.
2729 (comment_chars) [OBJ_ELF]: Include "/".
2730 (line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
2731 (md_assemble): Cast 0xe9 to char explicitly, to avoid compiler
2732 warning.
2733 (md_assemble, md_estimate_size_before_relax, md_create_long_jump):
2734 Call reloc for fix_new type, or use correct enumerator, instead of
2735 always using NO_RELOC.
2736 (i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
2737 tests for valid section.
2738 (md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start
2739 address.
2740 (md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
2741 symbol, compensate for location of reloc.
2742 (reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define
2743 to return zero.
2744
2745 Wed Aug 18 16:51:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2746
2747 * config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h.
2748 (obj_elf_weak): New function.
2749 (obj_pseudo_table): Handle ".weak".
2750 (obj_elf_section): If section directive includes a string, ignore
2751 it for now. Accept "progbits" flag.
2752 (obj_elf_type): Accept `@' before flag name.
2753
2754 * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)'
2755 condition.
2756 (fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather
2757 than checking for bfd_com_section directly.
2758 (fixup_segment): Simplify range check.
2759 (fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition
2760 test.
2761
2762 * symbols.h (S_SET_WEAK): Declare.
2763 * symbols.c (S_SET_WEAK): New function.
2764 (S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT,
2765 it's not a separate flag any more. Clear BSF_WEAK.
2766
2767 * read.c (potable): Treat "string" like "asciz".
2768
2769 Wed Aug 18 15:30:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2770
2771 * config/tc-mips.c (append_insn): Don't swap branch instructions
2772 if .set nobopt or .set volatile.
2773 (gp_reference): .lit8 and .lit4 are accessed via the GP register.
2774 (macro): Added cases M_LI_S, M_LI_SS. Fixed M_LI_D and M_LI_DD.
2775 (mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
2776 * config/obj-ecoff.c: Renamed some variables to avoid shadow
2777 warnings.
2778
2779 Mon Aug 16 14:16:02 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
2780
2781 * config/obj-coff.h (S_IS_COMMON): add missing backslash
2782
2783 * configure.in (z8k-*-{coff,sim}): use coffbfd for this target
2784
2785 Thu Aug 12 11:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2786
2787 * config/tc-mips.c (mips_ip): Suggested by
2788 davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
2789 names for 'E' and 'G' argument types (coprocessor registers) and
2790 don't warn if $1 is used on the coprocessor.
2791 (macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
2792
2793 Mon Aug 9 12:09:14 1993 Doug Evans (dje@canuck.cygnus.com)
2794
2795 * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
2796 * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
2797 BFD_RELOC_16.
2798 * config/tc-sparc.h (WORKING_DOT_WORD): Define.
2799
2800 Mon Aug 9 13:36:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2801
2802 * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
2803 defined or BFD is not.
2804 (relax_and_size_all_segments): Declare local variable fragP.
2805
2806 Fri Aug 6 15:22:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2807
2808 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
2809 bytes with real values, not zeros.
2810
2811 Fri Aug 6 10:57:59 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2812
2813 * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
2814 targets, using ecoff and mips-big.
2815
2816 * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
2817 Johnson): Added case for 'C' for coprocessor instruction codes.
2818
2819 Thu Aug 5 13:08:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2820
2821 * config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
2822
2823 * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
2824
2825 * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
2826 for verifying symbol chain.
2827 (merge_data_into_text, relax_and_size_all_segments): New
2828 functions, split out from write_object_file.
2829
2830 Tue Aug 3 15:43:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2831
2832 * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
2833 debug section is new, allocate an extra 12 bytes at its start. If
2834 ".stabs" type is N_SO, fill in filename symbol field of that first
2835 entry. Return early if "goof", to simplify later code slightly.
2836 (adjust_stab_sections): New function.
2837 (elf_frob_file): Apply adjust_stab_sections to each section.
2838
2839 * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
2840 static.
2841 * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
2842 * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
2843 and "popsection", and call cons for "uaword" and "uahalf".
2844
2845 * config/obj-elf.c (obj_elf_version): Use English in error
2846 messages.
2847
2848 Tue Aug 3 11:29:06 1993 Ian Lance Taylor (ian@cygnus.com)
2849
2850 * config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the
2851 swapping routines and external structure sizes via the
2852 ecoff_backend information. No longer includes coff/mips.h.
2853
2854 Mon Aug 2 17:35:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2855
2856 * config/obj-ecoff.c (get_tag): Save tag name in permanent memory
2857 and in hash_ptr->string.
2858
2859 * app.c (do_scrub_next_char): Reset state to 0 after .appline if
2860 file name is not seen.
2861
2862 Thu Jul 29 22:21:28 1993 Ian Lance Taylor (ian@cygnus.com)
2863
2864 * write.c: Don't use short int in a prototype.
2865
2866 * expr.c (operand): Make return value simply depend on contents of
2867 returned expression.
2868
2869 Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
2870
2871 * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
2872
2873 Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
2874
2875 * config/ho-sunos.h: remove some old function decls that conflict
2876 w/ ANSI, and which weren't needed anyway
2877
2878 Wed Jul 28 16:34:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2879
2880 * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
2881 and disabled since it breaks Ian's new symbol-value code.
2882
2883 * expr.c (integer_constant): Accept more digits if BFD64.
2884
2885 Wed Jul 28 11:30:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2886
2887 * config/tc-m68k.c (m68k_ip): If we have a normal constant when we
2888 expect a bignum, turn it into a bignum. Output extra zeroes
2889 before a short bignum, rather than after.
2890
2891 Tue Jul 27 15:54:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2892
2893 * symbols.c (symbol_new): Conditionalize verify_symbol_chain call
2894 on DEBUG_SYMS, not DEBUG.
2895 (symbol_remove): Likewise.
2896 (symbol_insert): Likewise.
2897
2898 Tue Jul 27 08:45:05 1993 Ian Lance Taylor (ian@cygnus.com)
2899
2900 * config/tc-mips.c (mips_optimize): New static variable.
2901 (append_insn): If mips_optimize == 0, always insert NOP
2902 instructions. If mips_optimize < 2, don't swap branches.
2903 (md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
2904
2905 Mon Jul 26 18:02:43 1993 K. Richard Pixley (rich@sendai.cygnus.com)
2906
2907 * Makefile.in (clean): if testsuite does not exist, then skip it.
2908
2909 Fri Jul 23 14:13:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2910
2911 * config/tc-mips.c (prev_insn_unreordered,
2912 prev_prev_insn_unreordered): New static variables.
2913 (append_insn): Don't swap branch instruction if
2914 prev_prev_insn_unreordered (see comment).
2915 (mips_no_prev_insn): Clear the unreordered variables.
2916 (s_mipsset): When turning on reordering, set the unreordered
2917 variables.
2918
2919 Fri Jul 23 13:09:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2920
2921 * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
2922 are also magic, and have special default flag settings.
2923 (obj_elf_frob_symbol): Since the return value from this function
2924 isn't used, don't bother calling obj_elf_write_symbol_p, since it
2925 doesn't accomplish anything else.
2926
2927 * config/tc-sparc.c (md_section_align): Round up section size only
2928 for a.out format.
2929
2930 * symbols.c: Don't define DEBUG by default.
2931
2932 Thu Jul 22 12:09:41 1993 Ian Lance Taylor (ian@cygnus.com)
2933
2934 * write.c (fix_new_exp): Handle a O_uminus expression.
2935
2936 * expr.c (expr): Don't let absolute_section override
2937 undefined_section for the return value.
2938
2939 * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
2940 pseudo-op with a poc_handler field of NULL, ignore it and treat it
2941 as an instruction instead.
2942 * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
2943 poc_handler field.
2944
2945 * config/tc-h8500.c (md_begin): Use a local variable when
2946 initializing md_relax_table to avoid warnings about modifying a
2947 supposedly const data structure.
2948
2949 Thu Jul 22 10:58:51 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
2950
2951 * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
2952 is defined.
2953
2954 Wed Jul 21 17:32:02 1993 Fred Fish (fnf@deneb.cygnus.com)
2955
2956 * configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv.
2957 * configure.in (case ${generic_target}): Add i[34]86-*-sysv4*
2958 case to set obj_format=elf. Must go before i386-*-sysv* case that
2959 sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and
2960 *-*-solaris case, and move to before *-sysv* case that wants to
2961 set obj_format to coff.
2962 * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
2963 'exp->X_op'.
2964 * config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for
2965 BFD_ASSEMBLER case.
2966
2967 Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2968
2969 * config/obj-aout.c: Include aout/aout64.h.
2970 (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
2971 symbol, so that BFD doesn't tamper with the type.
2972
2973 * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
2974 up opcodes as pseudo-ops even if they don't start with '.'.
2975 * config/tc-m88k.h (NO_PSEUDO_DOT): Define.
2976 * config/tc-m88k.c (md_assemble): Removed special pseudo-op
2977 handling.
2978 (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
2979 Output the low 16 bits for RELOC_HI16, not the high 16 bits.
2980 * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
2981 r_offset field of the reloc to the fixup offset.
2982 (fixup_segments): If TC_M88K, don't warn about fixup overflows.
2983 * doc/as.texinfo: Minor updates.
2984
2985 Tue Jul 20 19:28:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2986
2987 * Extensive changes to permit symbols to contain any expression
2988 type and to delay the computation of the expression until the
2989 value is actually needed. This permits setting symbols to values
2990 calculated based on object code size. Expressions were changed to
2991 no longer be in a section, to stop the overloading of segment and
2992 expression type that previously occurred.
2993
2994 * as.c (big_section, pass1_section, diff_section, absent_section):
2995 Removed.
2996 (expr_section): Added (used for dummy symbols which hold
2997 intermediate expression values).
2998 (perform_an_assembly_pass): Create expr_section, do not create the
2999 sections now removed.
3000 * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
3001 SEG_DIFFERENCE. Added SEG_EXPR.
3002 (SEG_NORMAL): Corresponding changes.
3003 * subsegs.c (seg_name, subsegs_begin): Changed accordingly.
3004 * write.c (write_object_file): Ditto.
3005 * config/obj-aout.c (seg_N_TYPE): Ditto.
3006 * config/obj-bout.c (seg_N_TYPE): Ditto.
3007 * config/obj-coff.c (seg_N_TYPE): Ditto.
3008 * config/obj-coffbfd.c (seg_N_TYPE): Ditto.
3009 * config/obj-vms.c (seg_N_TYPE): Ditto.
3010
3011 * expr.h (operatorT): Moved in from expr.c, added some values.
3012 (expressionS): Added X_op field, removed X_seg field; renamed
3013 X_subtract_symbol to X_op_symbol.
3014 * expr.c: Extensive changes to assign expression types rather than
3015 sections and to simplify the parsing.
3016 * write.c (fix_new_internal): New static function.
3017 (fix_new): Removed sub_symbol argument.
3018 (fix_new_exp): New function, takes expression argument.
3019 * write.h: Prototype changes for fix_new and fix_new_exp.
3020 * cond.c (s_if): Changed accordingly.
3021 * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
3022 parse_repeat_cons, get_segmented_expression,
3023 get_known_segmented_expression, get_absolute_expression): Ditto.
3024 * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
3025 Ditto.
3026 * write.c (write_object_file): Ditto.
3027 * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
3028 * config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
3029 obj_coff_endef, yank_symbols): Ditto.
3030 * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
3031 * config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
3032 print_insn, md_operand): Ditto.
3033 * config/tc-h8300.c (parse_exp, colonmod24, check_operand,
3034 do_a_fix_imm, build_bytes): Ditto.
3035 * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
3036 get_specific, check, insert, md_convert_frag): Ditto.
3037 * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
3038 md_assemble, pa_ip, getExpression, getAbsoluteExpression,
3039 evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
3040 process_exit): Ditto.
3041 * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
3042 is_complex): Ditto.
3043 * config/tc-i386.c (pe, md_assemble, i386_operand,
3044 md_estimate_size_before_relax, md_create_long_jump): Ditto.
3045 * config/tc-i860.c (md_assemble, getExpression, print_insn):
3046 Ditto.
3047 * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
3048 get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
3049 i960_handle_align): Ditto.
3050 * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
3051 subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
3052 md_estimate_size_before_relax, md_create_long_jump, get_num):
3053 Ditto.
3054 * config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
3055 md_create_short_jump, md_create_long_jump): Ditto.
3056 * config/tc-mips.c (md_assemble, append_insn, gp_reference,
3057 macro_build, macro, my_getExpression): Ditto. Also removed
3058 get_optional_absolute_expression; just use get_absolute_expression
3059 instead.
3060 * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
3061 fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
3062 * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
3063 * config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
3064 Ditto.
3065 * config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
3066 print_insn): Ditto.
3067 * config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
3068 tip_op, md_assemble): Ditto.
3069 * config/tc-vax.c (seg_of_operand, md_assemble,
3070 md_estimate_size_before_relax, md_create_long_jump): Ditto.
3071 * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
3072
3073 Tue Jul 20 12:17:16 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
3074
3075 * configure.in: i386-lynx is the same as i386-coff
3076
3077 Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
3078
3079 * config/obj-elf.c (obj_elf_previous): New function.
3080 (previous_section, previous_subsection): New vars.
3081 (obj_elf_section): Save current place in case DWARF code wants us
3082 to pop back to it. Handle unquoted section name as well as quoted
3083 section name. Don't crash on invalid strings.
3084 (obj_pseudo_table): Handle new pseudos "previous", "2byte", and
3085 "4byte".
3086
3087 * config/obj-elf.h: Don't include struc-symbol.h.
3088 (obj_elf_frob_symbol): Declare arg as struct symbol *.
3089
3090 * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
3091 "L" or "_.L_".
3092
3093 * write.c (write_relocs): New function, split off from
3094 write_contents. Use memset instead of bzero.
3095 (write_object_file): Apply write_relocs to each section before
3096 applying write_contents.
3097
3098 * read.c (read_begin): Call obstack_begin with values closer to 1K
3099 multiples.
3100 (read_a_source_file, big_cons, float_cons): Use memcpy instead of
3101 bcopy.
3102
3103 Mon Jul 19 14:30:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3104
3105 * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
3106 calculating opP->isiz; this permits the expression size to be
3107 determined as well, later on.
3108
3109 * expr.c (clean_up_expression): Don't cancel the subtraction of
3110 undefined symbols.
3111
3112 * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
3113 switch to text section rather than data section.
3114
3115 Mon Jul 19 12:35:39 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3116
3117 * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
3118 expression (to take the pc-rel instruction itself into account)
3119 before using the expression, instead of after.
3120
3121 Fri Jul 16 08:56:04 1993 Ian Lance Taylor (ian@cygnus.com)
3122
3123 * read.c (float_cons): Simplified parsing logic. If
3124 REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
3125
3126 * symbols.c (colon): Rather than a special case for TC_HPPA,
3127 use new macro tc_frob_label.
3128 * config/tc-hppa.h (tc_frob_label): Define.
3129
3130 * config/tc-mips.c: Many changes to support simple assembler
3131 optimization.
3132 (insn_label, prev_insn, prev_prev_insn, dummy_opcode,
3133 prev_insn_valid, prev_insn_frag, prev_insn_where,
3134 prev_insn_fixp, prev_insn_is_delay_slot): New static
3135 variables.
3136 (insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
3137 mips_align, s_stringer, s_mips_space): New static functions.
3138 (mips_define_label): New global function.
3139 (md_pseudo_table): For "ascii", "asciz", "asciiz", call
3140 s_stringer. Changed argument to float_cons from 0 or 1 to 'f'
3141 or 'd'. For "space" call s_mips_space.
3142 (md_begin): Call mips_no_prev_insn.
3143 (append_insn): Only insert necessary NOP instructions.
3144 (macro): Call mips_emit_delays before setting mips_noreorder.
3145 Increment and decrement mips_noreorder rather than using
3146 save_reorder_condition. Don't bother to use noreorder in
3147 M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
3148 (md_atof): Handle floating point numbers correctly for both
3149 big and little endian targets.
3150 (s_align, s_cons): Call mips_align rather than frag_align.
3151 (s_change_seg, s_cons): Call mips_emit_delays.
3152 (s_float_cons): Let float_cons do the work.
3153 (s_mipsset): Call mips_emit_delays when setting noreorder.
3154 * config/tc-mips.h (tc_frob_label): Define to be
3155 mips_define_label.
3156
3157 * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
3158 ecoff_frob_files): Consistently use S_GET_VALUE rather than
3159 bfd_asymbol_value. Warn if taking difference of symbols in
3160 different segments.
3161
3162 Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3163
3164 * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
3165 with a warning.
3166
3167 * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
3168 by md_pcrel_from if we are relocating against a symbol (we still
3169 need md_pcrel_from for a PC relative relocation within the same
3170 file).
3171 * config/tc-m88k.c (md_pcrel_from): Corrected return value.
3172 (omagic): Removed unused variable.
3173
3174 * Preliminary support for m88k-coff.
3175 * configure.in (m88k-*-coff*): New target. Use coffbfd and
3176 m88kcoff.
3177 * config/m88kcoff.mt: New file.
3178 * read.c (lex_type): New macro LEX_AT to set lex type of '@'.
3179 (pseudo_set): Handle difference of symbols in different fragments
3180 by saving the entire expression as the value of the symbol.
3181 * symbols.c (resolve_symbol_value): Resolve difference
3182 expressions.
3183 * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
3184 "sdef" as a synonym for "def".
3185 * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
3186 TARGET_FORMAT.
3187 (S_IS_LOCAL): Any symbol which includes \001 in the name is local.
3188 * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
3189 m88k port up to date, and to add COFF support.
3190
3191 Wed Jul 14 15:09:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3192
3193 * Removed sy_forward and replaced it with an undefined expression
3194 as the value of a symbol.
3195 * struc-symbol.h (struct symbol): Removed sy_forward field. Added
3196 sy_resolved and sy_resolving single bit fields.
3197 * symbols.c (symbol_new): Don't initialize sy_forward field.
3198 (resolve_symbol_value): New function to adjust symbol value by
3199 fragment address, using recursion to resolve forward symbols.
3200 * symbols.h: Added prototype for new function.
3201 * read.c (pseudo_set): Set symbolP->sy_value to an undefined
3202 expression rather than setting symbolP->sy_forward.
3203 * write.c (write_object_file): Use resolve_symbol_value on
3204 symbols, keeping the common case (the old behaviour) inline.
3205 * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
3206 handling (subsumed by write.c change).
3207 * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
3208 sy_value rather than sy_forward.
3209 * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
3210 expression segment rather than sy_forward.
3211 (yank_symbols): Use resolve_symbol_value.
3212 (crawl_symbols): Removed extra pass over symbols.
3213 * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
3214 config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
3215 symbols which handled sy_forward; use resolve_symbol_value
3216 instead.
3217 * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
3218 Define.
3219 * config/obj-elf.c (obj_elf_stab_generic): Check expression
3220 segment rather than sy_forward.
3221 * config/obj-vms.c (VMS_Check_For_Main): Don't initialize
3222 sy_forward; do initialize sy_resolved and sy_resolving.
3223 * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
3224
3225 * Changes to keep a full expression as the value of a symbol, not
3226 just a longword:
3227 * struc-symbol.h: New field sy_value.
3228 * as.h: Include expr.h before struc-symbol.h.
3229 * expr.h: Use struct symbol rather than symbolS.
3230 * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
3231 of sy_value field; compile unconditionally, not just if
3232 BFD_ASSEMBLER.
3233 * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
3234 * write.c (write_object_file): Set BFD symbol value to gas symbol
3235 value.
3236 * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
3237 config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
3238 (S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
3239 * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
3240 * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
3241 S_GET_VALUE rather than ost_entry.n_value.
3242 * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
3243 (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
3244 config/obj-coffbfd.c (symbol_to_chars): Get value to write out
3245 using S_GET_VALUE--don't assume it is already set.
3246 * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
3247 symbol value.
3248 * config/obj-vms.c (various): Don't assign directly to
3249 S_GET_VALUE; use S_SET_VALUE instead.
3250
3251 Wed Jul 14 09:35:23 1993 Doug Evans (dje@canuck.cygnus.com)
3252
3253 * configure.in: Recognize h8300h.
3254
3255 Tue Jul 13 12:09:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
3256
3257 * config/tc-h8500.c (line_comment_chars): Add hash.
3258 (parse_exp, skip_colonthing, build_bytes): Add support for
3259 R_H8500_HIGH16 relocation type.
3260
3261 Mon Jul 12 11:15:34 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
3262
3263 * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
3264 attribute name. Handle `execinstr' attribute.
3265
3266 Mon Jul 12 07:22:28 1993 Ian Lance Taylor (ian@cygnus.com)
3267
3268 * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
3269 there is another alternative for the instruction.
3270
3271 Fri Jul 9 17:31:34 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
3272
3273 * doc/as.texinfo: updates for H8/300H
3274
3275 Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com)
3276
3277 * config/tc-i960.c (md_create_short_jump, md_create_long_jump,
3278 md_number_to_chars, md_section_align): Adjusted to use valueT,
3279 addressT, to match tc.h.
3280
3281 Thu Jul 8 14:15:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3282
3283 * config/tc-sparc.c (s_common): Revamp to handle both syntaxes,
3284 independent of format.
3285
3286 Thu Jul 8 07:25:25 1993 Doug Evans (dje@canuck.cygnus.com)
3287
3288 * config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h.
3289
3290 Wed Jul 7 18:11:07 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
3291
3292 * configure.in: define CROSS=-DCROSS_COMPILE if it is a cross
3293 build; also recognize h8300-*-coff
3294
3295 Wed Jul 7 10:21:24 1993 Ian Lance Taylor (ian@cygnus.com)
3296
3297 * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
3298 core just because somebody uses a label before it is defined.
3299
3300 * config/mips-opcode.h: Moved to opcode/mips.h.
3301 * config/tc-mips.c: Include opcode/mips.h rather than
3302 mips-opcode.h.
3303 (append_insn): An extra NOP is only needed after instructions
3304 which set HI or LO, not after instructions which read it.
3305 (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
3306 (macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
3307 * config/tc-mips.h (struct mips_opcode): Don't define.
3308 * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
3309 Set to $(srcdir)/../include/opcode/mips.h.
3310
3311 Get the MIPS assembler up to speed with other gas changes:
3312
3313 * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
3314 Removed; don't change the symbol value.
3315 (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
3316 bfd_asymbol_value rather than S_GET_VALUE to include section
3317 vma in symbol value.
3318 (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
3319 doesn't output them. Set the vma of sections.
3320 * config/obj-ecoff.h: Don't define obj_frob_symbol.
3321 * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
3322 longer necessary.
3323 (various): use valueT rather than long.
3324
3325 Wed Jul 7 08:33:30 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3326
3327 * as.h (valueT): Typedef moved here.
3328 * struc-symbol.h (valueT): ...from here.
3329 * write.c (write_object_file): Locals from_addr, to_addr,
3330 table_addr are now addressT. Supply prototype for bfd_alloc for
3331 now.
3332 (fixup_segment): Local add_number is now valueT. Correct some
3333 range-checking bugs.
3334 (relax_align): Type `int' should be sufficient for the exponent.
3335 (fix_new): Argument offset is type offsetT. Locals size and
3336 newsize are type valueT.
3337 * write.h (struct fix): Fields fx_offset and fx_addnumber are now
3338 type valueT.
3339 (fix_new): Fix prototype.
3340 * symbols.c (symbol_new): Symbol value is type valueT.
3341 (S_SET_VALUE, S_GET_VALUE): Likewise.
3342 (S_IS_*): Specify int return type explicitly.
3343 * symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed
3344 prototypes.
3345 * read.c (s_comm): Values read are type valueT.
3346 * expr.h (expressionS): Field X_add_number is an offsetT.
3347 * tc.h (md_create_long_jump, md_create_short_jump,
3348 md_section_align): Addresses are now type addressT.
3349 (md_number_to_chars, md_apply_fix): Pass value as valueT.
3350 * config/tc-i386.c (md_create_short_jump, md_create_long_jump,
3351 md_number_to_chars, md_section_align): Adjusted.
3352 * config/tc-sparc.c (sparc_ip): Initialize `len' variable to make
3353 gcc shut up.
3354 (md_create_short_jump, md_create_long_jump, md_number_to_chars,
3355 md_section_align): Adjusted.
3356
3357 * config/tc-sparc.c (s_reserve): Permit use for other than a.out
3358 format.
3359 (s_common): Handle Solaris-2 version.
3360
3361 * config/ho-generic.h (free): Returns void if __STDC__.
3362
3363 * config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file,
3364 elf_file_symbol): Declare.
3365
3366 * expr.c (floating_constant, integer_constant): Now return void.
3367
3368 Thu Jul 1 12:13:43 1993 Ian Lance Taylor (ian@cygnus.com)
3369
3370 * configure.in: Match on sparc*-fujitsu-none rather than
3371 sparclite*-fujitsu-none.
3372
3373 Wed Jun 30 11:12:02 1993 Ian Lance Taylor (ian@cygnus.com)
3374
3375 * read.c (cons): Conditionalize parsing of expression. Move
3376 putting value into object file into separate function. Separate
3377 out MRI and WANT_BITFIELDS cases into separate functions.
3378 (emit_expr): New function to write data into object file.
3379 Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
3380 processor types.
3381 (parse_bitfield_cons): New function to parse bitfield expressions
3382 as used by i960 assemblers. Only compiled if
3383 BITFIELD_CONS_EXPRESSIONS is defined.
3384 (parse_mri_cons): New function to parse MRI style strings. Only
3385 compiled if MRI is defined.
3386 (parse_repeat_cons): New function to parse repeat counts. Only
3387 compiled if REPEAT_CONS_EXPRESSIONS is defined.
3388 * read.h (emit_expr): Added declaration of new function.
3389 * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
3390 * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
3391 * config/tc-hppa.c (parse_cons_expression_hppa): New function to
3392 parse a HPPA expression, rather than special case in cons
3393 function.
3394 (cons_fix_new_hppa): New function to emit an HPPA fixup, rather
3395 than special case in emit_expr function.
3396 * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
3397 Define to use new functions from tc-hppa.c.
3398 * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
3399 (WANT_BITFIELDS): Removed; now obsolete.
3400 * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
3401 * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
3402 NS32K fixup, rather than special case in emit_expr function.
3403 * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
3404 cons_fix_new_ns32k. Also use PARAMS rather than checking
3405 __STDC__.
3406 * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.
3407
3408 * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
3409 Don't core dump if gas has no information about a section.
3410
3411 Wed Jun 30 06:21:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3412
3413 * write.c (relax_and_size_seg): Always fully process a section.
3414 Section size is last frag's (vm)address plus its size. If no
3415 relocations are present, force SEC_RELOC flag clear.
3416 (dump_section_relocs): New debugging routine.
3417 (adjust_reloc_syms): New routine, broken out from write_contents.
3418 Don't adjust relocs that are already relative to section symbol.
3419 Look for obj_fix_adjustable macro to know what else to skip,
3420 instead of obj_write_symbol. Look for section symbol stored in
3421 section information.
3422 (write_object_file): Map adjust_reloc_syms over all sections.
3423 (write_contents): Clear SEC_RELOC flag if no relocations are
3424 found.
3425
3426 * as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to
3427 keep it quiet.
3428
3429 * write.c (remove_subsegs): Don't define for BFD_ASSEMBLER.
3430
3431 Fri Jun 25 14:42:53 1993 K. Richard Pixley (rich@sendai.cygnus.com)
3432
3433 * Makefile.in (all, dvi, info, install-info, clean-info): do not
3434 echo recursion lines.
3435 (install-info, clean-info): collapse into the dvi and info rule.
3436
3437 Fri Jun 25 03:43:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
3438
3439 * as.h (strstr): Disable declaration for now.
3440 (fprint_value, sprint_value): Declare.
3441
3442 * subsegs.c (subseg_new_rest): Use memset to clear new frag.
3443 (subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields.
3444
3445 * expr.c (expr_part): Made sanity checks a.out-specific.
3446 (expr): Disabled sanity checks.
3447
3448 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for
3449 section symbol.
3450 * subsegs.c (subseg_change): Initialize section symbol pointer
3451 when setting up a new section.
3452
3453 * symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata
3454 field back at gas symbol structure.
3455
3456 * symbols.c (colon): Cast obstack_next_free value to char* before
3457 doing arithmetic on it.
3458 * subsegs.c (subseg_new_rest): Likewise.
3459 * as.h (frag_now_fix): Likewise.
3460
3461 * config/obj-elf.c (elf_file_symbol): Use subseg_new instead of
3462 calling bfd_make_section_old_way directly, and call subseg_set
3463 instead of subseg_change. Now returns void.
3464 (obj_elf_write_symbol): Only check local symbols for now.
3465 (elf_stab_symbol): Now static and void, and disabled until it
3466 works completely.
3467 (obj_elf_size): For expression values, fail silently for now.
3468 (obj_symbol_new_hook): Do nothing.
3469
3470 * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22
3471 relocation.
3472 (s_local) [OBJ_ELF]: New function.
3473 (md_pseudo_table) [OBJ_ELF]: Call it for "local".
3474 (s_common): Rearrange to handle Solaris .common pseudo, which may
3475 sometimes use bss space instead of common.
3476 * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field.
3477
3478 Thu Jun 24 16:33:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3479
3480 * configure.in: set host config to hpux for hppa*-hp-hpux
3481
3482 Thu Jun 24 13:35:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
3483
3484 * app.c (app_pop, app_push): Fix bug reported by Chris Arthur.
3485
3486 Tue Jun 22 01:04:23 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
3487
3488 * subsegs.c (subseg_new): Don't special-case a.out -R flag here.
3489 * config/obj-aout.c (s_sect): Do it here.
3490
3491 * as.h (BAD_CASE): Don't make some lame compilers think we want
3492 substitution inside strings.
3493
3494 * as.c (print_version_id): New function, split off from main.
3495 (main): Call it.
3496 * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id
3497 for -V. Ignore -Q and -s options for now.
3498
3499 Mon Jun 21 17:37:59 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3500
3501 * Makefile.in: make installation & builds work again for crosses
3502
3503 Sun Jun 20 18:18:26 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
3504
3505 * listing.c (list_symbol_table): Rewrite to print wide (>32 bits)
3506 symbol values correctly.
3507
3508 * write.c (write_object_file): Deleted unused variables.
3509 (fixup_segment): Use sprint_value.
3510
3511 * messages.c (sprint_value, fprint_value): New routines.
3512
3513 * config/obj-elf.c (elf_stab_symbol): Now returns void.
3514 (obj_elf_stab_generic): Fix typo in logic.
3515
3516 * Makefile.in (INCLUDES): Look in ../bfd for bfd.h.
3517
3518 * as.h (addressT, offsetT): New types, using BFD types if
3519 available.
3520 (relax_addressT, struct frag): Use them.
3521 * struc-symbol.h (valueT, struct broken_word): Likewise.
3522
3523 * as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
3524 * subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
3525
3526 Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
3527
3528 * Makefile.in: canonicalize install.sh; for use within
3529 this directory (and subdirs)
3530
3531 Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se)
3532
3533 * m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
3534 specified, should have both S1 and S2 fields identical
3535 If only finding the problem was as fast as fixing the bug !!!!
3536
3537 Tue Jun 15 16:01:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3538
3539 * write.c (write_contents): Do write out non-loadable sections.
3540 Debug sections can fall in this category.
3541
3542 * read.c (s_app_file): Call elf_file_symbol for ELF files.
3543 * config/obj-elf.c (elf_file_symbol): New function.
3544
3545 * config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_...,
3546 added argument to specify section base name.
3547 (obj_elf_stab_generic): Renamed from ..._stab. New argument
3548 specifies section base name.
3549 (obj_elf_stab): New function, calls obj_elf_stab_generic with
3550 ".stab" as section base name.
3551 (obj_elf_xstab): New function, calls obj_elf_stab_generic.
3552 (obj_elf_type): Handle "object". Use bitwise-or to merge in
3553 symbol flags rather than simply replacing, so global/local flags
3554 are preserved.
3555 (obj_elf_ident): Rewrite.
3556
3557 Tue Jun 15 17:03:25 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
3558
3559 * Makefile.in: remove parentdir support; use INSTALL_XFORM
3560
3561 Wed Jun 9 11:26:07 1993 Ian Lance Taylor (ian@cygnus.com)
3562
3563 * config/tc-i386.c (md_pseudo_table): .align uses a power of two
3564 for any a.out target, not just Linux and 386BSD.
3565 * config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out
3566 target.
3567
3568 Mon Jun 7 13:33:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3569
3570 * config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h. They
3571 don't exist or duplicate other inclusions.
3572
3573 * config/tc-vax.h (NO_RELOC): Define.
3574
3575 Sat Jun 5 19:32:52 1993 Torbjorn Granlund (tege@nada.kth.se)
3576
3577 * gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions.
3578 * gas/config/tc-m88k.c (get_reg): New arg reg_prefix. Compare first
3579 char to reg_prefix instead of to 'r'.
3580 (calcop): Change calls to get_reg.
3581 (calcop): Handle new case 'x' to set reg_prefix.
3582 (calcop): Set reg_prefix to 'r' after each call to get_reg.
3583 (cmpslot): Add 88110 conditions.
3584
3585 * gas/config/m88k-opcode.h: Swap cases for "rot" for consistency.
3586
3587 * gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer
3588 before returning.
3589
3590 * gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics
3591 adjacent; mov.s and mov.d swapped.
3592 (m88k_opcodes): Fix typo `r2' -> `2'.
3593
3594 Fri Jun 4 15:59:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
3595
3596 * config/h8300.c: Support for H8/300-H opcodes.
3597
3598 * config/obj-coffbfd.c (w_strings): String table length is 4
3599 bytes, no matter what the host int size is.
3600
3601 * configure.in (alpha-*-osf*): New.
3602
3603 Fri Jun 4 07:51:18 1993 Ian Lance Taylor (ian@cygnus.com)
3604
3605 * configure.in (mips-*-ecoffl*): New target; use ecoff and
3606 mips-lit.
3607 (mips-*-ecoff*): Added trailing '*'.
3608
3609 * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
3610 first FDR in a file to be zero.
3611
3612 Thu Jun 3 14:09:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3613
3614 * Makefile.in (VERSION): Jump to 2.1.4.
3615
3616 * config/ho-hppabsd.h: New file, from Peter Hoogenboom.
3617
3618 * config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for
3619 ECOFF format.
3620
3621 Tue Jun 1 15:21:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3622
3623 * config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a
3624 separate '851 mmu.
3625
3626 * config/obj-elf.c, config/obj-elf.h: Update for new type, macro,
3627 and routine names. Assuming 32 bits for now.
3628
3629 * config/obj-elf.c (elf_frob_file): Look for macro
3630 elf_tc_final_processing_hook, instead of assuming a function
3631 always exists.
3632 * config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from
3633 tc_final_processing_hook.
3634 * config/tc-hppa.h (elf_tc_final_processing_hook): Use it.
3635
3636 * config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros
3637 moved here from obj-elf.h.
3638 * config/obj-elf.h: Don't include CPU-specific header files.
3639
3640 Sun May 30 16:49:37 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu)
3641
3642 * configure.in: configurations should match on 'hppa*' not 'hppa'.
3643
3644 * read.c: Add support for HPPA assembly language syntax (denoted
3645 with '#ifdef TC_HPPA').
3646
3647 * symbols.c: Add support for HPPA assembly language syntax (denoted
3648 with '#ifdef TC_HPPA').
3649
3650 * write.c (write_contents): Add support for HPPA-style
3651 relocations.
3652
3653 * config/obj-elf.c: Stab symbols weren't written properly.
3654 (obj_elf_version):
3655 (obj_elf_desc):
3656 (obj_elf_write_symbol):
3657 (obj_elf_write_symbol_p):
3658 (obj_elf_frob_symbol):
3659 (elf_stab_symbol):
3660 (elf_frob_file):
3661
3662 * config/tc-hppa.c: Support for HPPA symbol extension sections.
3663 Remove some unused code. Support for HPPA assembly language
3664 syntax.
3665
3666 * app.c:
3667
3668 * symbols.c:
3669
3670 * config/obj-elf.h:
3671 (obj_write_symbol):
3672 (obj_frob_file):
3673 (elf_tc_symbol):
3674 (elf_tc_make_sections):
3675
3676 * config/tc-hppa.h:
3677
3678 Sun May 30 21:44:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
3679
3680 * config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume
3681 hash_new will have succeeded if it returns.
3682 * config/tc-a29k.c (md_begin): Likewise.
3683
3684 * config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is
3685 const.
3686 (mode_from_disp_size, opcode_suffic_to_type): Now inline under
3687 gcc.
3688 (fits_in_{signed,unsigned}_{byte,word}): Likewise.
3689
3690 * expr.c: Delete register declarations; gcc ignores them anyways.
3691
3692 Fri May 28 19:03:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3693
3694 * hash.c (hash_new): Use xmalloc, since many callers don't check
3695 for failure.
3696
3697 Thu May 27 13:02:15 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3698
3699 * frags.c (zero_address_frag, bss_address_frag): These are
3700 external.
3701
3702 * tc.h (md_reloc_size): This is const.
3703 * config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c
3704 (md_reloc_size): Now const.
3705
3706 * config/aout_gnu.h (enum machine_type, enum reloc_type): Delete
3707 trailing commas.
3708 * as.h (enum _segT): Ditto.
3709
3710 * struc-symbol.h (N_TYPE_seg): This should be const.
3711
3712 Thu May 27 11:43:59 1993 Michael Meissner (meissner@osf.org)
3713
3714 * config/obj-ecoff.c (add_file): Cast file_name to char * in
3715 listing_source_file call.
3716
3717 * config/obj-elf.c (elf_stab_symbol_string): Cast first argument
3718 of subseg_new call to eliminate const attribute.
3719 (obj_elf_stab): Ditto.
3720 (obj_symbol_new_hook): Cast first argument of bzero call to char *.
3721
3722 * read.c (s_align_bytes): Properly record alignment.
3723
3724 * expr.c (__): Undefine __ macro before use, since OSF/1 uses it
3725 for the prototype/no prototype macro.
3726
3727 * as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be
3728 void.
3729
3730 * as.h (relax_stateT enum): Delete trailing comma.
3731
3732 Thu May 27 11:07:50 1993 Ian Lance Taylor (ian@cygnus.com)
3733
3734 * app.c (do_scrub_begin): Let line_comment_chars override
3735 comment_chars.
3736 (do_scrub_next_char): If a line comment character is not at the
3737 start of a line, treat it as a comment character if it is one.
3738 For a CPP line comment use pseudo-op .appline rather than .line.
3739 * input-scrub.c (logical_input_line): Make int rather than
3740 unsigned.
3741 (input_scrub_push, input_scrub_begin): Initialize
3742 logical_input_line to -1 rather than 0.
3743 (bump_line_counters): Increment logical_input_line.
3744 (new_logical_line): If line_number is -2, decrement
3745 logical_input_line.
3746 (as_where): Use logical_input_line even if it is 0.
3747 * read.h (s_app_file prototype): Now takes an int argument.
3748 * read.c (potable): Make .appfile call s_app_file with 1. New
3749 .appline pseudo-op calls s_app_line.
3750 (s_app_file): If .appfile, call new_logical_line with -2 to
3751 account for newline inserted by do_scrub_next_char. If listing,
3752 call listing_source_file.
3753 (s_app_line): New function to handle fake pseudo-op .appline.
3754 * config/obj-coff.c (obj_pseudo_table): Make .appline call
3755 obj_coff_ln.
3756 (obj_coff_ln): Added argument to indicate whether .appline.
3757 * config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
3758 obj_coff_ln.
3759 (obj_coff_ln): Added argument to indicate whether .appline.
3760 * config/tc-mips.c (s_file): Pass argument to s_app_file.
3761
3762 Tue May 25 11:59:07 1993 Ian Lance Taylor (ian@cygnus.com)
3763
3764 * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast.
3765
3766 Thu May 20 19:14:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3767
3768 * config/tc-m68k.c (md_apply_fix_2): Straighten out check for
3769 invalid values.
3770
3771 Wed May 19 07:33:17 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
3772
3773 * config/tc-h5000.c (build_bytes): Understand @rd mode and build
3774 relocations correctly.
3775
3776 Mon May 17 15:06:26 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
3777
3778 * Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because
3779 it's wrong.
3780
3781 * config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn
3782 if value is out of range.
3783
3784 Patch from Minh Tran-Le:
3785 * config/tc-i386.c (i386_operand): For in/out port register used
3786 as base reg, include InOutPortReg in operand type.
3787 (MATCH): Accept overlap value of InOutPortReg.
3788
3789 Mon May 17 09:29:34 1993 Ian Lance Taylor (ian@cygnus.com)
3790
3791 * config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab):
3792 Add calls to listing routines to produce combined source/assembler
3793 listings.
3794 (obj_ecoff_stab): Create a file pointer if none used yet.
3795 (ecoff_frob_file): Set symcount to correct value.
3796
3797 Fri May 14 06:53:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
3798
3799 * Makefile.in (VERSION): Bump to version 2.1, in preparation for
3800 release.
3801
3802 * config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE):
3803 Define in terms of constants, not C structure sizes.
3804
3805 * config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files.
3806
3807 Thu May 13 17:01:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3808
3809 * config/obj-aout.c (obj_header_append): Don't define if it's
3810 defined as a macro.
3811 * config/obj-hp300.h (obj_header_append): Define it as a macro.
3812 * config/obj-hp300.c (hp300_header_append): New function.
3813
3814 * Makefile.in (distclean): Don't bother cleaning up doc files;
3815 they aren't going to be in this directory.
3816
3817 Thu May 13 07:51:35 1993 Ian Lance Taylor (ian@cygnus.com)
3818
3819 * config/obj-ecoff.c (ecoff_build_symbols): Handle absolute
3820 symbols.
3821
3822 * tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
3823 * config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
3824
3825 Mon May 10 06:01:12 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
3826
3827 * config/obj-vms.c (VMS_Symbol_type_list): Don't bother with
3828 initialization.
3829
3830 * configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff.
3831
3832 Wed May 5 14:00:49 1993 Ian Lance Taylor (ian@cygnus.com)
3833
3834 * config/tc-mips.c (macro): Correct floating point double word
3835 loads and stores for big endian target.
3836
3837 Wed May 5 08:39:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
3838
3839 * config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_*
3840 calls. Deleted some unused code.
3841 * config/obj-coff.c: Likewise.
3842
3843 ELF support, mostly contributed by Utah:
3844 * config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line,
3845 obj_elf_type): Rewrite.
3846 (obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol,
3847 obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size):
3848 New functions.
3849 (obj_elf_ident): Dummy.
3850 * config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol,
3851 TARGET_SYMBOL_FIELDS): New macros.
3852 (gdb_section): New variable decl.
3853
3854 * config/tc-i386.c (md_atof): Return zero, not empty string, on
3855 success.
3856
3857 BFD_ASSEMBLER conditional changes:
3858 * config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header):
3859 Don't define these.
3860 (SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions.
3861 (fetch_coff_debug_section): Ditto.
3862 (obj_coff_endef): Call fetch_coff_debug_section.
3863 (struct line_no): New type.
3864 (c_symbol_merge): New way for copying aux fields.
3865 (c_dot_file_symbol): Put symbol in absolute section, and set flag
3866 BSF_DEBUGGING.
3867 (function_lineoff): New symbol.
3868 (function_lineoff, text_lineno_number, our_lineno_number,
3869 lineno_lastP): Don't define.
3870 (c_line_new): Don't define.
3871 (obj_emit_lineno, obj_coff_endef): Use abort calls as, uh,
3872 placeholders, until
3873 line-number recording gets implemented.
3874 (obj_new_symbol_hook): New code for handling aux fields.
3875 (add_lineno, add_linesym): New functions.
3876 (obj_coff_ln): Call add_lineno, not c_line_new.
3877 (obj_coff_endef): New code for handling symbol names. New lineno
3878 code. Look for section name "*DEBUG*" for debugging section.
3879 (align, coff_check_file_symbols, obj_coff_section,
3880 coff_frob_file): New functions.
3881 * config/obj-coff.h: Reordered some includes.
3882 (BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg,
3883 DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't
3884 define these.
3885 (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros.
3886 (SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing
3887 aux entries. Most SA_* macros now use it unconditionally.
3888 (S_*): Use `bsym' field, and access BFD private data.
3889 (SF_*): Use `sy_flags' symbol field for most of these.
3890 (H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't
3891 define.
3892 (*_section_header): Don't define.
3893 * config/tc-i386.c (md_convert_frag, md_apply_fix): Changed
3894 interface.
3895 (tc_gen_reloc) [I386COFF]: New function.
3896 (tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define.
3897 * config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New
3898 macros.
3899
3900 * config/obj-coff.c (stack_init): Don't do assignments inside
3901 conditions.
3902 (obj_coff_def): Simplified handling of symbol name a bit.
3903 (tag_insert): Name argument is now pointer to CONST.
3904 (obj_crawl_symbol_chain): Commented out.
3905
3906 * config/obj-coff.h: Use PARAMS macro in prototypes.
3907
3908 * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect
3909 through frchainP pointer if it is null.
3910
3911 * configure.in: Warn if BFD mode is explicitly turned off but is
3912 required by specified target.
3913 (mips ecoff targets): Don't need to set bfd_gas here; it gets
3914 taken care of later.
3915
3916 * config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward
3917 field.
3918 (yank_symbols): Merge symbols only if sy_forward is null.
3919
3920 * config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already
3921 defined.
3922
3923 * tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not
3924 pointer.
3925 * config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto.
3926
3927 * config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting
3928 with "." is a local label.
3929
3930 * config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config
3931 files.
3932
3933 * config/te-linux.h, config/te-386bsd.h: New config files.
3934 * configure.in (i386-*-linux, i386-*-bsd): Use them.
3935 * config/tc-i386.h (TARGET_FORMAT): Select format based on target
3936 environment.
3937 (DOT_LABEL_PREFIX): Don't define for 386bsd or Linux.
3938
3939 Wed May 5 13:14:01 1993 Ian Lance Taylor (ian@cygnus.com)
3940
3941 * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
3942 to want it that way.
3943 (ecoff_build_symbols): Turn local st_Proc symbols into
3944 st_StaticProc symbols. Set index field of external st_Proc and
3945 st_staticProc symbols correctly.
3946 * config/tc-mips.h (NO_LISTING): Don't define. People might want
3947 listings.
3948
3949 Tue May 4 21:22:54 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3950
3951 * config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New
3952 files.
3953 * configure.in (m68k-*-hpux): Use them.
3954
3955 * config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if
3956 defined, otherwise zero.
3957
3958 * config/aout_gnu.h (OMAGIC): Don't define if already defined.
3959
3960 Mon May 3 15:59:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
3961
3962 * config/tc-sparc.c (sparc_ip): Allow any abs expression as an
3963 address space number.
3964
3965 Wed Apr 28 19:11:22 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
3966
3967 * config/obj-aout.h (TARGET_DEFAULT): Don't default this at all.
3968
3969 * config/tc-a29k.c: Include ctype.h.
3970 (define_some_regs): Added special-purpose registers for 29050.
3971
3972 * config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/".
3973
3974 * config/obj-coffbfd.c (fill_section): Don't set STYP_REG here.
3975 (change_to_section): Set it here instead.
3976
3977 Wed Apr 28 13:40:29 1993 Ian Lance Taylor (ian@rtl.cygnus.com)
3978
3979 * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
3980 hasn't been seen yet.
3981 (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
3982
3983 Mon Apr 26 18:29:05 1993 Steve Chamberlain (sac@thepub.cygnus.com)
3984
3985 * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi
3986 SH.
3987
3988 Mon Apr 26 12:28:27 1993 Ian Lance Taylor (ian@cygnus.com)
3989
3990 * expr.c (operand): Fix unary plus operator (previously was the
3991 same as '~' operator!).
3992
3993 Wed Apr 21 00:20:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3994
3995 * write.c (cvt_frag_to_fill): Define even if BFD is defined.
3996 (write_object_file): Do define if BFD_ASSEMBLER. Invoke
3997 obj_check_file_symbols if defined. Call verify_symbol_chain_2
3998 instead of open-coding it. Fix some bugs in patching up symbol
3999 chain.
4000 (relax_segment): Make some code we "ought to be able to" use for
4001 all targets no longer conditionalized on ns32k target; instead, do
4002 it always, and if the appropriate conditions fail, abort.
4003
4004 * symbols.c (DEBUG): Enabled.
4005 (symbol_new): Make sure bfd_make_empty_symbol works.
4006 (verify_symbol_chain_2): New funcion; takes one symbol as
4007 argument, anywhere in the chain.
4008 (dollar_label*): Use default initializers.
4009
4010 * as.c (perform_an_assembly_pass): Call md_begin here...
4011 (main): ...and not here.
4012
4013 * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
4014 (tc_frob_symbol): New macro: Get rid of symbols in reg_section.
4015
4016 * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
4017 (add_fix, add_frag): Now functions instead of macros.
4018 (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
4019 s_data1, s_data2, s_bss): Use new *_section names, for
4020 compatibility with BFD_ASSEMBLER mode; rewrite switch statements
4021 to handle non-integral segT.
4022 (tc_coff_fix2rtype, tc_aout_fix_to_chars,
4023 tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
4024 (tc_gen_reloc): New routine for BFD_ASSEMBLER.
4025 (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
4026 md_apply_fix_2; new md_apply_fix definition varies interface
4027 depending on BFD_ASSEMBLER.
4028 (md_convert_frag, md_convert_frag_1): Likewise. Use new *_section
4029 names.
4030
4031 * config/obj-vms.c: Include config.h.
4032 (version_string): Delete declaration.
4033 (Write_VMS_MHD_Records): Use GAS_VERSION instead.
4034 (vms_resolve_symbol_redef): New function, taken from VMS code in
4035 symbols.c.
4036 (_doprnt): Deleted.
4037 (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
4038 VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
4039 VMS_Psect_Spec): Fixed to compiler under traditional C.
4040 * config/obj-vms.h: Use PARAMS macro.
4041 (vms_resolve_symbol_redef): Declare.
4042 (RESOLVE_SYMBOL_REDEFINITION): New macro.
4043 * symbols.c (colon): Remove some VMS-specific code, look for
4044 RESOLVE_SYMBOL_REDEFINITION macro instead.
4045
4046 * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
4047 instructions.
4048
4049 * config/tc-i386.c: Reordered some functions so inlining might
4050 work. Use PARAMS in function declarations.
4051 (reloc): New routine.
4052 (md_assemble): Rearrange switch statements to work with
4053 non-integral segT.
4054
4055 * struc-symbol.h [BFD_ASSEMBLER]: Undefine
4056 SYMBOLS_NEED_BACKPOINTERS before defining it.
4057
4058 * subsegs.c (subseg_new_rest): Now static.
4059
4060 * read.c (pseudo_set): Better error message for difference of
4061 symbols in different frags.
4062
4063 * Makefile.in (check): Pass down some new variables, indicating
4064 pathname or program name for cc, nm, objdump.
4065
4066 * as.h (OUTPUT_FLAVOR): New macro.
4067 * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
4068
4069 * configure.in: Initialize bfd_gas properly. Warn that ELF
4070 support is incomplete.
4071
4072 Thu Apr 15 22:39:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4073
4074 * read.c (float_cons): Accept null pointer return from md_atof.
4075 * config/tc-m68k.c (md_atof): Return null for success.
4076 * config/tc-sparc.c (md_atof): Ditto.
4077
4078 Thu Apr 15 16:04:39 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
4079
4080 * doc/as.texinfo: formatting and comment cleanups; show SPARC
4081 alternative options in same style as other machines; simplify some
4082 conditional use; include GPL as separate file (from texinfo dir)
4083
4084 * doc/Makefile.in: (as.info) include directory containing GPL in
4085 makeinfo search path
4086
4087 * doc/h8.texi: new file; conditional settings for GAS manual
4088 on Hitachi chips
4089
4090 Tue Apr 13 15:31:40 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
4091
4092 * doc/as.texinfo: mention SPARC architecture options.
4093
4094 Fri Apr 9 17:43:11 1993 Ken Raeburn (raeburn@cygnus.com)
4095
4096 * configure.in: Rearranged whitespace in per-host/per-target
4097 sections. Added hooks for dropping in HPPA support (not included
4098 yet). Separate out overrides of variables based on target format
4099 and bfd-gas selection from actual target-specific commands. Add
4100 error message for recognized but unsupported format name.
4101
4102 Fri Apr 9 09:05:47 1993 Ian Lance Taylor (ian@cygnus.com)
4103
4104 * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
4105 symbolic header match cline in FDR; the native linker seems to
4106 want that.
4107
4108 Thu Apr 8 15:51:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4109
4110 * doc/Makefile.in: as.texinfo is in $(srcdir). Use
4111 $(srcdir)/as.texinfo explicitly in several places
4112
4113 Thu Apr 8 15:15:02 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
4114
4115 * doc/Makefile.in: update dvi, clean targets for new source
4116 file structure
4117
4118 Thu Apr 8 12:52:46 1993 Ian Lance Taylor (ian@cygnus.com)
4119
4120 * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
4121 rather than undefining know.
4122 * configure.in: Match ultrix*, not just ultrix.
4123
4124 Wed Apr 7 20:18:10 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
4125
4126 * doc/as.texinfo: converted conditional markup to use new
4127 Texinfo facilities, avoiding m4.
4128
4129 * doc/as-all.texinfo, all.m4, pretex.m4: deleted.
4130
4131 * doc/Makefile.in: recast doc configuration to use a link to an
4132 included texinfo file.
4133
4134 * doc/all.texi: settings for generic form of documentation.
4135
4136 Tue Apr 6 11:56:21 1993 Ian Lance Taylor (ian@cygnus.com)
4137
4138 * read.c (cons): Zero out frag when creating reloc.
4139
4140 Mon Apr 5 09:41:58 1993 Ian Lance Taylor (ian@cygnus.com)
4141
4142 * config/tc-mips.c (gp_reference): Certain magic symbols can never
4143 be referenced off the GP register.
4144
4145 * app.c (do_scrub_next_char): Handle states 9 and 10 correctly
4146 when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
4147 LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
4148
4149 * config/te-irix.h: New file; irix needs a different LOCAL_LABEL
4150 definition from other MIPS targets.
4151 * configure.in (mips-*-irix): Use emulation irix.
4152
4153 Sun Apr 4 15:21:09 1993 Steve Chamberlain (sac@thepub.cygnus.com)
4154
4155 * config/tc-h8500.c: Get relax size of branch instructions right,
4156 (get_operand): Parse @sp+ correctly.
4157
4158 Fri Apr 2 15:59:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4159
4160 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
4161 COFF section header field.
4162
4163 * configure.in: Print error message if host or target is not
4164 supported.
4165
4166 * configure.in: If with-bfd-assembler, use obj-coff instead of
4167 obj-coffbfd.
4168
4169 * config/ho-generic.h: Include string.h.
4170
4171 Fri Apr 2 08:54:57 1993 Ian Lance Taylor (ian@cygnus.com)
4172
4173 * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
4174 '$' as local, for any object file format.
4175
4176 * config/tc-mips.c (macro): Optimizations to branching code and a
4177 couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph
4178 Campbell).
4179
4180 * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
4181 * configure.in (mips-sgi-irix*): Set gas_host to irix.
4182
4183 Wed Mar 31 17:53:54 1993 Ian Lance Taylor (ian@cygnus.com)
4184
4185 * subsegs.c (subseg_new): Set output_section of new section.
4186 * as.c (perform_an_assemly_pass): Don't set output_section here.
4187 * expr.c (expr_part, expr): Turn off section assertions for ECOFF,
4188 since it has additional sections.
4189 * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
4190 not bss_section.
4191 * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
4192 ecoff_undefined field.
4193 * config/obj-ecoff.c (obj_symbol_new_hook): Initialize
4194 ecoff_undefined field.
4195 (add_file): If using stabs, just output a stabs symbol rather than
4196 creating a new fdr.
4197 (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
4198 it with get_absolute_expression, rather than skipping it by hand.
4199 (obj_ecoff_loc): If using stabs, just output a stabs symbol rather
4200 than ECOFF line number information.
4201 (obj_ecoff_stab): Accept non-zero values for stabs line number.
4202 (ecoff_build_symbols): Set ifilesym correctly. Set storage class
4203 to small, undefined and/or readonly sections if appropriate.
4204 Don't output symbol names containing \001 characters.
4205 (ecoff_frob_file): Make sure at least one fdr is output.
4206 * config/tc-mips.h: Define TC_MIPS.
4207 * config/tc-mips.c (g_switch_value): New static variable.
4208 (md_assemble): Set gp size of output BFD.
4209 (gp_reference): New function; returns 1 if expression can be
4210 accesssed via gp. Always returns 0 if not using ECOFF.
4211 (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
4212 possible.
4213 (macro): Generate sequences using gp if possible.
4214 (md_parse_option): Ignore -EL and -EB. Parse -G.
4215 (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
4216 (s_change_sec): Handle .rdata and .sdata for ECOFF.
4217 (s_extern): Mark symbol as external. Set ecoff_undefined field.
4218
4219 Tue Mar 30 10:11:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4220
4221 * output-file.c (output_file_create): Don't call as_perror for
4222 filename rejected by application.
4223
4224 * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
4225 the output file.
4226
4227 * doc/as.texinfo: Don't use @value in node names for the moment;
4228 references don't appear to work right.
4229
4230 * as.h (const, volatile): Put these definitions back, and use
4231 them.
4232
4233 * doc/as.texinfo: First pass at using new texinfo features --
4234 variables, conditional tests. Far from complete.
4235
4236 Mon Mar 29 16:05:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4237
4238 * read.c: Temporary hack to handle some 64-bit constants. This
4239 should be redone later.
4240 (target_big_endian): Declare.
4241 (big_cons): If it's set, reverse order of bytes being copied.
4242 * config/tc-sparc.c (md_begin): Set target_big_endian.
4243
4244 * read.c (s_ignore): Delete declaration of is_end_of_line.
4245
4246 * config/obj-coffbfd.c (yank_symbols): Build list of file symbol
4247 forward pointers properly.
4248
4249 Mon Mar 29 13:47:33 1993 Steve Chamberlain (sac@thepub.cygnus.com)
4250
4251 * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
4252 wasn't being stored into scnhdr.
4253 * config/obj-coffbfd.h: Add prototype of s_get_segment.
4254 * read.c (TC_START_LABEL): Default definition.
4255 (read_a_source_file): Use TC_START_LABEL macro to work out
4256 if a label has been seen.
4257
4258 Mon Mar 29 12:56:56 1993 Ian Lance Taylor (ian@cygnus.com)
4259
4260 * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
4261 the bottom (make expands variables in dependencies when the
4262 dependencies are read, not when they are used).
4263
4264 * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
4265 a29k .bss section; the mondfe program doesn't like it.
4266
4267 Sun Mar 28 08:12:53 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
4268
4269 * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
4270 const.
4271 (current_architecture): Don't need initializer.
4272
4273 Fri Mar 26 08:12:48 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4274
4275 * doc/none.m4: Define Z8000.
4276 * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir). Remove the
4277 texinfo file before recreating it.
4278 (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
4279 this directory.
4280 (srcdir): Delete second, bogus definition.
4281 (as.info): Look for as-*.texinfo in current directory rather than
4282 in $(srcdir).
4283 (as.dvi): Ditto.
4284 (dvi): New rule.
4285 * doc/configure.in: Create links to all as-*.texinfo files in the
4286 source directory, if that's not the current directory.
4287
4288 * configure.in (per-host): Accept MIPS host with BSD version
4289 number.
4290 (per-target): Classify i486 as i386. Use generic cpu_type instead
4291 of target_cpu in selecting format etc.
4292
4293 * app.c (do_scrub_next_char): Use .appfile, not .app-file.
4294 * read.c (potable): Change .app-file to .appfile.
4295
4296 * config/ho-decstatn.h: Renamed from ho-decstation.h.
4297 * configure.in: Adjusted.
4298
4299 * config/obj-bfd-sunos.*: Unused; deleted.
4300
4301 * Makefile.in (version.c, vers-stamp): Deleted.
4302 (config.h): Define GAS_VERSION.
4303 * as.c (version_string): Deleted declaration.
4304 (main): Look for GAS_VERSION instead.
4305
4306 * doc/as.texinfo: Updated description of -a* (listing) options,
4307 and describe how to pass them through from gcc.
4308
4309 * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
4310 process relocs if there aren't any relocs to process. Avoids
4311 malloc/free bug on SCO too.
4312
4313 * as.h: Move local include files below system include files, to
4314 avoid some redefinition complaints on some systems.
4315 (const, volatile): Don't need these conditionally defined if we
4316 use CONST and VOLATILE from ansidecl.h.
4317 (seg_name): Use CONST, not const.
4318
4319 Fri Mar 26 10:22:04 1993 Ian Lance Taylor (ian@cygnus.com)
4320
4321 * config/tc-mips.c: Reindented to GNU standards.
4322
4323 Thu Mar 25 08:59:14 1993 Ian Lance Taylor (ian@cygnus.com)
4324
4325 * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
4326 (fixup_segment): Add a29k special case; the linker is not prepared
4327 to see a segment offset here.
4328
4329 * app.c (do_scrub_next_char): Added new state, 10, modifying state
4330 9 to only keep a space in between identifier characters.
4331
4332 Wed Mar 24 02:16:22 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
4333
4334 * Makefile.in: add dvi target; as-$(config).texinfo might live in
4335 srcdir, might be in objdir.
4336
4337 * doc/Makefile.in: dvi depends on as.dvi
4338
4339 Mon Mar 22 23:59:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4340
4341 * Makefile.in: add installcheck target
4342
4343 Mon Mar 22 10:19:00 1993 Ian Lance Taylor (ian@cygnus.com)
4344
4345 * config/tc-mips.c (macro): Use $AT for any floating point load.
4346
4347 Sat Mar 20 12:50:51 1993 Ken Raeburn (raeburn@urth.cygnus.com)
4348
4349 * config/tc-m68k.c (m68k_ip): For operand type 'M', reject
4350 bignums, but don't emit error message.
4351
4352 Fri Mar 19 21:02:19 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
4353
4354 * Makefile.in (targ-cpu.o): Depend on config.h.
4355
4356 Wed Mar 17 16:44:06 1993 Ian Lance Taylor (ian@cygnus.com)
4357
4358 * app.c (do_scrub_next_char): Added new state, 9, to avoid
4359 dropping a space immediately following an identifier.
4360 * expr.c, write.c: Rewrote assert expressions to not use multiple
4361 lines; I don't think that can be done portably.
4362 * config/tc-mips.c (macro): Use $AT if target register is zero in
4363 load instruction, which it can be for a floating point load.
4364
4365 Mon Mar 15 12:17:28 1993 Ian Lance Taylor (ian@cygnus.com)
4366
4367 * write.c (write_contents): Compute the relocs before writing out
4368 the section contents.
4369 * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
4370 symbol table and values right.
4371 * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
4372 with $L is local.
4373 * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
4374 by the section vma.
4375
4376 * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
4377 z8k-opc.h, not z8k.h.
4378
4379 * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
4380 symbol.
4381
4382 Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4383
4384 * configure.in: recognize sparc-sun-solaris2* instead of -solaris2
4385
4386 Fri Mar 12 12:00:07 1993 Ian Lance Taylor (ian@cygnus.com)
4387
4388 * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
4389 to be on a single line.
4390
4391 Thu Mar 11 17:56:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4392
4393 * Makefile.in (config.h): Create file, writing out definitions of
4394 target cpu, alias, and canonical name.
4395 (ALL_CFLAGS): No longer define TARGET_CPU.
4396
4397 * Makefile.in (check): Print a message, instead of quitting
4398 silently.
4399
4400 * as.c (main): Don't catch any signals, for now.
4401
4402 * version.c: Deleted.
4403 * Makefile.in: Generate it, putting in only the version number
4404 itself.
4405 (VERSION): New variable.
4406 * as.c: Include config.h.
4407 (main): Reformatted version string. Include target alias. Don't
4408 print if not requested (i.e., unknown -v argument).
4409
4410 * as.c (stralloc): Deleted.
4411 (main): Call strdup instead.
4412
4413 * configure.in: Handle all 68300 series chips.
4414 * config/tc-m68k.c: Include config.h.
4415 (md_assemble): Assume TARGET_CPU is defined. Accept some 68300
4416 series cpus as defaults.
4417 (md_parse_option): Accept some m68300 series CPUs as defaults.
4418
4419 Wed Mar 10 17:41:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4420
4421 * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
4422 not already defined.
4423 (main, got_sig): Use them.
4424 * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
4425 values.
4426
4427 Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
4428
4429 * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
4430 support.
4431
4432 * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
4433 OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
4434 (struct loc, struct proc, struct file): Moved to tc-mips.c within
4435 #ifndef OBJ_ECOFF block, since ECOFF uses different versions.
4436 * config/tc-mips.c: Rearranged for ECOFF support. Added
4437 prototypes for all static functions. Moved existing minimal
4438 debugging format support info #ifndef OBJ_ECOFF blocks.
4439 (macro_build_lui): Eliminated sign_extend argument, because ECOFF
4440 does not support a non sign extended high 16 bits reloc. Adjusted
4441 all callers accordingly.
4442 (tc_get_register): Renamed from get_register, and made non-static.
4443
4444 * config/mips-big.mt, config/mips-lit.mt: New files. Define
4445 TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
4446 respectively.
4447 * configure.in (mips-*-bsd*): Use gas_target mips-lit.
4448 (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
4449 obj_format ecoff and gas_target mips-lit or mips-big.
4450
4451 Tue Mar 9 07:43:01 1993 Ken Raeburn (raeburn@cygnus.com)
4452
4453 * version.c: Bump to version 2.0.1.
4454
4455 Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
4456
4457 * write.c (chain_frchains_together): Check that seg_info (section)
4458 is not NULL.
4459 (write_object_file): Call obj_frob_file after setting the symbols,
4460 not before.
4461
4462 Tue Mar 9 00:00:00 1993 Ken Raeburn (raeburn@cygnus.com)
4463
4464 * Version 2.0 released.
4465
4466 Mon Mar 8 14:57:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4467
4468 * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
4469
4470 Fri Mar 5 09:05:55 1993 Ian Lance Taylor (ian@cygnus.com)
4471
4472 * read.h: Define stringer here.
4473 read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
4474 places.
4475
4476 Thu Mar 4 11:52:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
4477
4478 * read.c (s_space): Multiply repeat count by mult, not fill.
4479
4480 Thu Mar 4 05:20:42 1993 Ken Raeburn (raeburn@cygnus.com)
4481
4482 * read.c: Include ctype.h.
4483
4484 Wed Mar 3 10:41:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4485
4486 Patches from Eric Youngdale:
4487 * make-gas.com: Find obstack.obj if it's not in the current
4488 directory.
4489 * read.c (s_ignore): Don't declare is_end_of_line. It's
4490 redundant, and triggers a VMS gcc compiler bug.
4491
4492 * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
4493 current segment as an argument. (Ignored in all cases but VMS.)
4494 All callers and definitions changed.
4495
4496 Tue Mar 2 11:56:19 1993 Ian Lance Taylor (ian@cygnus.com)
4497
4498 * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
4499 case compile again.
4500
4501 Tue Mar 2 08:53:34 1993 Ken Raeburn (raeburn@cygnus.com)
4502
4503 * config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
4504 so "~0x80" won't be rejected.
4505
4506 * config/obj-elf.c: No longer include elf/reloc.h.
4507 (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
4508 (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
4509 routines.
4510 (obj_elf_xstab): New routine.
4511 (obj_elf_set_size): Call as_warn, not fprintf. Pass desired
4512 argument to s_ignore. Put "#if 0" around unused code.
4513 (obj_pseudo_table): Use s_ignore instead of do-nothing routines.
4514 Call elf_xstabs for .stabs and .xstabs operators.
4515
4516 * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
4517
4518 * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
4519 present.
4520
4521 * configure.in: mips-bsd configuration was missing format spec.
4522 Should use aout.
4523
4524 * Makefile.in (Makefile): Depends on configure.in.
4525
4526 * config/tc-mips.c (append_insn): Don't check for alignment of
4527 frag in memory; alignment of instructions in section is a separate
4528 matter.
4529
4530 * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
4531 C availability.
4532
4533 * listing.h: Always provide function declarations, not macros, so
4534 pcc won't lose.
4535
4536 Tue Mar 2 00:50:43 1993 John Gilmore (gnu@cygnus.com)
4537
4538 * CONTRIBUTORS: Update Gilmore entry.
4539
4540 Wed Feb 24 14:58:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4541
4542 * frags.c (frag_init): New function.
4543 (zero_address_frag, bss_address_frag): Now initialized at run
4544 time.
4545 * as.c (main): Call frag_init.
4546
4547 Wed Feb 24 10:32:42 1993 Ian Lance Taylor (ian@cygnus.com)
4548
4549 * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
4550 Don't unget ch2 if we didn't get it.
4551
4552 Wed Feb 24 04:14:07 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
4553
4554 * doc/Makefile.in (TEXIDIR): Updated for new layout.
4555
4556 * config/tc-sparc.c (s_common): Add support for ELF version.
4557 (tc_gen_reloc) [BFD_ASSEMBLER]: New function.
4558 * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
4559 New macros.
4560 (md_convert_frag): New macro.
4561
4562 * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
4563 symbol, fix the offset so "+2" isn't required.
4564
4565 * config/tc-i960.c (line_comment_chars, line_separator_chars):
4566 Define as common/bss.
4567 (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
4568 initializers are sufficient.
4569
4570 * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
4571 (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
4572 (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
4573 (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
4574 * config/obj-aout.c: Use PARAMS macro for declarations. Remove
4575 "IGNORE_DEBUG" conditional, since both branches are identical.
4576 Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
4577 referencing symbol structure members.
4578 (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
4579
4580 * as.h (struct frag): Reordered a couple of fields for better
4581 packing.
4582
4583 * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
4584 section info.
4585 (write_contents) [BFD_ASSEMBLER]: New function.
4586 (write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call
4587 fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call
4588 obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
4589 (fixup_segment): Make sure common-section symbols get treated the
4590 same as undefined symbols.
4591 (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
4592 bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from
4593 section info.
4594 * write.h (fix_new): Update prototype.
4595
4596 * tc.h (md_operand, md_convert_frag, tc_headers_hook,
4597 md_section_align, md_undefined_symbol): Don't provide prototypes
4598 if these are defined as macros.
4599 (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
4600 section passed.
4601
4602 * symbols.c (symbol_new): Argument NAME is now pointer to const.
4603 Simplified STRIP_UNDERSCORE code. Remove assumptions about null
4604 pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new
4605 BFD symbol.
4606 (colon): Display other/desc fields of redefined symbol only if
4607 S_GET_OTHER and S_GET_DESC are defined.
4608 (symbol_make): Argument NAME is now pointer to const.
4609 (symbol_find, symbol_find_base): Likewise.
4610 (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
4611 * symbols.h: Fix prototypes for new const arguments. Add
4612 prototypes for BFD_ASSEMBLER S_* functions.
4613
4614 * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
4615 for changing to an existing section.
4616 (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
4617 called by subseg_new and subseg_set.
4618 (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
4619 given section name and subseg number.
4620 (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
4621 new section/subsection.
4622
4623 * read.c: Don't include ctype.h.
4624 (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
4625 for now; should be machine-dependent.
4626
4627 * configure.in: Accept *-*-elf and *-*-solaris* as ELF format
4628 targets, forcing BFD use.
4629
4630 Wed Feb 17 18:59:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4631
4632 * config/tc-sparc.c: Use PARAMS macro for static function
4633 declarations. Use BFD_RELOC_ macros everywhere, with
4634 compatibility macros declared for non-BFD mode.
4635 (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
4636 instead of enum reloc_type.
4637 (emit_sparc_reloc): Commented-out function deleted.
4638 (md_convert_frag): Deleted.
4639 (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
4640 (md_apply_fix): Changed calling sequence (conditionally) for BFD
4641 version.
4642 * config/tc-sparc.h (md_convert_frag): New macro.
4643
4644 * config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
4645 not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
4646 of referencing fields directly.
4647
4648 * write.c (cvt_frag_to_fill): New function; extracted from
4649 write_object_file.
4650 (write_object_file) [! BFD_ASSEMBLER]: Call it.
4651 (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
4652 and set its size and flags.
4653
4654 * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
4655 fields with BFD equivalents. Turn on back-pointers, and add
4656 target-specific fields at end.
4657
4658 Thu Feb 11 09:20:37 1993 Ian Lance Taylor (ian@cygnus.com)
4659
4660 * config/obj-coffbfd.c (fill_section): Don't set vaddr here.
4661 (write_object_file): Set it here instead, so that fixup_segment
4662 can see the correct value.
4663
4664 Mon Feb 8 13:56:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4665
4666 * write.c (write_object_file): Check for errors and warnings and
4667 bail out before processing contents.
4668 (chain_frchains_together_1): New function, does most of the work
4669 of remove_subsegs.
4670 (chain_frchains_together) [BFD_ASSEMBLER]: New function.
4671 (remove_subsegs) [! BFD]: Call it.
4672 (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
4673 structures and routines.
4674
4675 * config/obj-elf.*: New files.
4676
4677 * config/mips.mt, config/rs6000.mt: Deleted.
4678
4679 * config/h8300.mt: Don't specify compiler here.
4680
4681 * config/z8k.mt: The z8k code depends on the z8k opcode table,
4682 not the h8300 one.
4683 * config/tc-z8k.h: Comment fix.
4684
4685 * write.c: Reordered some functions for better inlining.
4686 (fixup_segment): Linkrelax code is no longer conditional on
4687 TC_I960.
4688
4689 Thu Feb 4 12:45:16 1993 Steve Chamberlain (sac@thepub.cygnus.com)
4690
4691 * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
4692 obj-coffbfd.h}: support for the H8/500
4693
4694 Wed Feb 3 19:28:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4695
4696 * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
4697 * write.c (write_object_file): Not here.
4698 (fix_new): Initialize fx_addnumber.
4699
4700 * listing.c: Don't include target-cpu.h explicitly, since as.h
4701 includes it.
4702
4703 Thu Jan 28 00:35:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
4704
4705 * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
4706 *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
4707 (struct fix): Reordered fields for compactness and efficiency.
4708 Converted some logical fields to 1-bit fields.
4709
4710 * config/obj-aout.h: Use PARAMS.
4711 [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
4712 N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
4713
4714 * read.c: Don't include listing.h; as.h includes it. Removed
4715 DONTDEF code.
4716 [BFD_ASSEMBLER]: Include subsegs.h.
4717 (old_buffer, new_broken_words): Default initialization is
4718 sufficient.
4719
4720 * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
4721 to 0, define stdoutput.
4722 (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
4723 Call bfd_set_arch_mach.
4724 (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
4725 bfd_close_all_done. Call bfd_perror on failure.
4726 (output_file_append) [BFD_ASSEMBLER]: Don't define.
4727
4728 * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
4729
4730 * subsegs.h (segment_info_type): Always define. Omit field scnhdr
4731 if not MANY_SEGMENTS. Define new field bfd_section if
4732 BFD_ASSEMBLER.
4733 (seg_info): New macro.
4734
4735 * expr.c, input-scrub.c: Use PARAMS macro. Deleted unused
4736 variables, and some irrelevant comments.
4737
4738 * Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
4739 (LIBS): Include $(BFDLIB). Don't bother with $(CLIB).
4740 * configure.in: Permit --with-bfd-assembler now, with a warning.
4741 Variable need_bfd is now a boolean, as is new variable bfd_gas.
4742 Set BFDDEF and BFDLIB in Makefile when appropriate.
4743
4744 * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
4745 (main): Refer to flag_always_generate_output instead of
4746 flagseen['Z'].
4747
4748 * as.c (main) [BFD_ASSEMBLER]: Open output bfd.
4749 (*_section) [BFD_ASSEMBLER]: Define them.
4750 (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
4751 set section flags when appropriate.
4752 * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
4753 section is not absolute, undefined, or an assembler internal one.
4754 (absolute_section, undefined_section): Always define.
4755 * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
4756 switch statements into if-else trees.
4757 * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
4758 SEG_BSS and SEG_DATA.
4759
4760 * as.h (frag_now_fix): New macro.
4761 * symbols.c (colon): Use it.
4762
4763 Wed Jan 27 21:43:53 PST 1993 Ralph Campbell (ralphc@pyramid.com)
4764
4765 * config/tc-mips.c: Added mips support for mips-dec-bsd.
4766 * config/tc-mips.h: Added mips support for mips-dec-bsd.
4767 * config/ho-mipsbsd.h: Added mips support for mips-dec-bsd.
4768 * config/mips-opcode.h: Added mips support for mips-dec-bsd.
4769 * configure.in: Added mips support for mips-dec-bsd.
4770 * atof-generic.c: Define TRUE and FALSE if not defined.
4771
4772 Thu Jan 21 12:48:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4773
4774 * version.c: Bumped version number to 1.93.05.
4775
4776 Wed Jan 20 17:11:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4777
4778 * config/obj-coff.c (obj_emit_relocations): Don't use #elif.
4779 (obj_emit_lineno): Don't need return at end of void function.
4780 (obj_symbol_new_hook): Ditto.
4781
4782 * config/tc-m68k.c: Removed some unused code.
4783 (tc_aout_fix_to_chars): Array nbytes_r_length is now const.
4784
4785 * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
4786 offset field is set.
4787
4788 Fri Jan 8 05:44:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4789
4790 * config/tc-sparc.c (architecture_requested, warn_on_bump,
4791 md_relax_table): Use default zero initialization.
4792 (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
4793 latter, instead of selecting with preprocessor conditionals.
4794
4795 Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4796
4797 * configure.in: recognise all sparclite variants
4798
4799 Thu Jan 7 05:25:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4800
4801 * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
4802 accidentally changed to use subseg_change where it should have
4803 been subseg_new.
4804
4805 Tue Jan 5 08:42:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4806
4807 * expr.c (operand): If character other than comma or newline is a
4808 logical end-of-line character, use the newline case.
4809 From Eric Youngdale:
4810 (operand): Set X_add_number field for floating-point numbers.
4811 (operand): Treat zero byte as end-of-operand.
4812
4813 * configure.in (per-target): Look for with_bfd_assembler option.
4814 For now, only accept "no", until the merge is done.
4815
4816 Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil):
4817 * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
4818 config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
4819 * read.c: Finish conversion to S_* macros in the VMS only
4820 parts of the program. Add "const" modifier to hex_value.
4821 * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
4822 "ifdef OBJ_VMS".
4823 * expr.c: Add "const" modifier to hex_value.
4824 * symbols.c: Finish conversion to S_* macros in the VMS only
4825 parts of the program. Add "const" modifier to
4826 md_[long,short]_jump_size. Remove declaration of const_flag
4827 (which will be declared in obj-vms.h).
4828 * write.c: Add "const" modifier to md_[long,short]_jump_size.
4829 Fix arguments to VMS_write_object_file.
4830 * config-gas.com: New file. Script for VMS systems to set up the
4831 configuration to build gas for VMS, and create config.status.
4832 * make-gas.com: Redone to work with new scheme.
4833 * obj-vms.c: Patch to fix bug where we were not correctly parsing the
4834 stabs directives.
4835 * obj-vms.c: Define macros COPY_LONG and COPY_SHORT which
4836 will swap bytes if needed on a big endian system. Use throughout
4837 as needed.
4838 * obj-vms.c (obj_aout_stab): Add code to generate listing file.
4839 * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
4840 types of malformed stabs. Change parsing algorithm so that we are
4841 more certain of having all of the information that we need on hand.
4842 * obj-vms.c (final_forward_reference): New function, used to help
4843 resolve the data types of as many struct elements as possible
4844 when some part of the struct is not fully defined by the compiler.
4845 * obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation
4846 stabs directives.
4847 * obj-vms.c (VMS_write_object_file): Define all vtable psects
4848 as symbols as well in the object file. Look for external functions
4849 that start with "__vt.", and turn them into variables, since the
4850 g++ compiler is incapable of doing this.
4851 * tc-vax.c: Add '1' option for backward compatibility with older GCC
4852 versions.
4853 * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
4854 * input-scrub.c (as_where): Fix bug where as would crash if we did not
4855 have the name of the source file yet.
4856 * config/ho-vms.h: define HO_VMS, not HO_VAX.
4857
4858 Mon Jan 4 05:17:26 1993 Ken Raeburn (raeburn@cygnus.com)
4859
4860 * read.c (s_data): Always use "data_section", since it'll map to
4861 SEG_DATA or SEG_E1 if needed.
4862 (s_lcomm): Likewise with bss_section.
4863 (s_fill): Use memset, not bzero.
4864
4865 Thu Dec 31 04:29:27 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
4866
4867 * read.c: Deleted some code under "#ifdef DONTDEF" that was for
4868 handling GDB symbol table data.
4869
4870 * config/obj-aout.h (segment_name): Delete definition.
4871 (seg_name): Delete declaration.
4872 * config/obj-bout.h (segment_name, seg_name): Ditto.
4873 * config/obj-vms.h (segment_name, seg_name): Ditto.
4874 * config/obj-coff.h (segment_name): Ditto.
4875 * config/obj-coffbfd.h (segment_name): Ditto.
4876
4877 * Changes for BFD_ASSEMBLER:
4878 * obj.h (obj_crawl_symbol_chain): Declare only if not
4879 BFD_ASSEMBLER.
4880 (obj_header_append, obj_pre_write_hook): Ditto.
4881 * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
4882 (segT) [BFD_ASSEMBLER]: New typedef for "asection *".
4883 (segment_name) If BFD_ASSEMBLER, look up BFD section name;
4884 otherwise, use seg_name array.
4885 (seg_name): Declare only if not BFD_ASSEMBLER.
4886 (section_alignment): Declare only if not BFD_ASSEMBLER.
4887 (big_section, reg_section, pass1_section, diff_section,
4888 absent_section, text_section, data_section, bss_section): If
4889 BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
4890 mapping to segT enum values.
4891 (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
4892 if these are used or defined, if BFD_ASSEMBLER.
4893 (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
4894 subseg_new split into two functions.
4895 (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
4896
4897 * as.h (volatile): Don't define if already defined.
4898 (had_errors, had_warnings): Provide prototypes for ANSI C even if
4899 NO_STDARG.
4900 (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
4901 declare with format attribute for -Wformat checking.
4902
4903 Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com)
4904
4905 * app.c, config/tc-*.c: Don't include read.h, since it is already
4906 included by as.h.
4907
4908 * These are based on patches from Minh Tran-le
4909 <mtranle@paris.intellicorp.com>.
4910 * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use
4911 obj_format coffbfd and gas_target i386coff for target.
4912 (i[34]86-*-isc*): New host (uses sysv).
4913 * config/i386aix.mt: Removed (no longer used).
4914 * config/mh-i386aix (RANLIB): Use true rather than /bin/true.
4915 (MINUS_G): Removed.
4916 (LDFLAGS): Added, defined as -shlib.
4917 * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
4918 * config/te-sco386.h (LOCAL_LABEL): Don't define.
4919 (DOT_LABEL_PREFIX): Define.
4920 * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
4921 name rather than L0\001.
4922 * read.c (s_lcomm): Make a frag in SEG_BSS rather than using
4923 local_bss_counter.
4924 * symbols.c, symbols.h (local_bss_counter): Removed.
4925 * write.c (write_object_file): bss no longer uses
4926 local_bss_counter. Pass correct data and bss size to
4927 VMS_write_object_file.
4928 * config/obj-vms.c (VMS_write_object_file): Accept bss size as
4929 argument, rather than using local_bss_counter.
4930 * config/tc-m88k.c (s_bss): Don't use local_bss_counter.
4931 * config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
4932 * config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
4933 (size_section): Restored sanity check.
4934 (do_relocs_for): Base section address on s_paddr rather than
4935 computing it. Adjust a29k R_IHIHALF special case to account for
4936 section paddr (used to require paddr to be zero). If there are no
4937 reclos, set s_relptr to 0. Set relocation size in object_headers.
4938 (fill_section): Always set s_vaddr here, removing
4939 ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set
4940 NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
4941 Set STYP_INFO for .comment.
4942 (coff_header_append): Use object headers and H_{SET,GET}_* macros.
4943 Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
4944 (crawl_symbols): Handle 8 character section name correctly. Use
4945 H_{SET,GET}_* macros.
4946 (do_linenos_for): Set lineno size in object_headers.
4947 (write_object_file): Use H_{SET,GET}_* macros. Don't bother to
4948 set s_vaddr here. If string_byte_count remains 4, set it back to
4949 0, and only write strings out if there are some. Call
4950 fill_section before do_relocs_for and do_linenos_for.
4951 (obj_coff_section): Handle optional quoted second argument giving
4952 section characteristics.
4953 (obj_coff_bss): Added to handle .bss.
4954 (obj_coff_ident): Added to handle .ident (puts string in .comment
4955 section).
4956 (obj_coff_lcomm): Put common symbols in .bss, not .data.
4957 (fixup_mdeps): Change to segment. Call frag_wane after
4958 md_convert_frag.
4959 (fixup_segment): Explicitly check S_IS_COMMON before making 386
4960 adjustment (already happened only for common symbols, but this is
4961 clearer).
4962 * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
4963 * config/tc-i386.c (s_bss): Don't use if I386COFF.
4964 (md_pseudo_table): Ignore .optim and .noopt.
4965 (tc_coff_sizemachdep): New function.
4966 * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
4967 compatibility.
4968 (LOCAL_LABEL): Removed definition.
4969 (DOT_LABEL_PREFIX): Defined.
4970
4971 Mon Dec 28 10:32:05 1992 Ken Raeburn (raeburn@cygnus.com)
4972
4973 * app.c (app_push): Use memcpy, not bcopy.
4974 (do_scrub_next_char): For \", return " not '.
4975 (symbol_chars): Now const.
4976
4977 * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
4978 and "0b". If LOCAL_LABELS_DOLLAR, check for "0$".
4979
4980 * config/obj-coff.h: Don't use #elif.
4981
4982 * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
4983 have it. (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.)
4984
4985 Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com)
4986
4987 * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
4988 already defined.
4989
4990 Tue Dec 15 12:40:11 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4991
4992 * app.c (do_scrub_begin): allow single quote strings if so
4993 configured.
4994
4995 * config/*z8k*: checkpoint
4996
4997 Sun Dec 13 00:04:38 1992 Ian Lance Taylor (ian@cygnus.com)
4998
4999 * read.c (read_a_source_file): avoid calling xmalloc (0).
5000
5001 Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com)
5002
5003 * listing.c: Call xmalloc, not malloc; don't declare malloc.
5004
5005 * Changes to support SCO 3.2v4:
5006 * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
5007 SEG_BSS, fill with NOP_OPCODE.
5008 * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
5009 * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
5010 using ZERO_BASED_SEGMENTS.
5011 (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
5012 never set segment address for SEG_E2 (.bss) and don't write out
5013 SEG_E2 contents. Set .init and .fini sections to STYP_TEXT.
5014 (obj_coff_endef): Don't merge labels or symbols awaiting forward
5015 definitions, and don't merge tags with non-tags. Check for .bf
5016 rather than just checking whether the second character is b and
5017 the third character is f.
5018 (obj_coff_val): gcc can generate values which we don't handle
5019 correctly; discard information for now, since it only affects the
5020 debugging information.
5021 (tag_find_or_name): Don't insert tags in the symbol table.
5022 (yank_symbols): Don't merge labels.
5023 (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
5024 already defined. Fill subsegments with NOP_OPCODE, not 0. Don't
5025 set segment address if ZERO_BASED_SEGMENTS.
5026 (obj_coff_section): Accept and ignore a trailing quoted string, as
5027 used in AT&T i386 syntax.
5028 (fixup_segment): Take segment as argument. On the i386, adjust PC
5029 relative addends by the segment vaddr.
5030 * tc-i386.h: Define SUB_SEGMENT_ALIGN.
5031 * tc-a29k.h: Define ZERO_BASED_SEGMENTS.
5032 * tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
5033
5034 Tue Dec 8 00:06:48 1992 Ken Raeburn (raeburn@rtl.cygnus.com)
5035
5036 * config/obj-coffbfd.c: Include libcoff.h.
5037
5038 * version.c: Now version 1.93.
5039
5040 Mon Dec 7 00:39:09 1992 Ken Raeburn (raeburn@cygnus.com)
5041
5042 * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
5043 power-of-two alignment for .align.
5044
5045 * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
5046 and leave everything else alone.
5047
5048 Fri Dec 4 16:58:42 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
5049
5050 * Makefile.in (as.new): Don't bother saving as.old.
5051
5052 * write.c: Conditionalize on OBJ_VMS, not VMS.
5053 (magic_number_for_object_file): Don't define if OBJ_VMS.
5054
5055 * config/obj-vms.c: Changes for traditional C.
5056
5057 Thu Dec 3 01:24:07 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
5058
5059 * config/ho-generic.h (malloc, realloc): Declare.
5060
5061 * Lots of comment/whitespace changes.
5062
5063 * write.h (struct fix): Some fields reordered, narrowed.
5064
5065 * read.c (MASK_CHAR): Define using C types, not magic number.
5066
5067 * as.c, input-file.c: Deleted some unused code.
5068
5069 * app.c, as.h: Doc fix.
5070
5071 * flonum-konst.c, flonum-mult.c: Include ansidecl.h.
5072
5073 * as.h (xmalloc): Argument is long.
5074
5075 * xmalloc.c (error): Remove declaration; as.h takes care of it.
5076
5077 * doc/as.texinfo: Regrouped documentation of some command-line
5078 options. Updated options documentation for m68k. Some minor
5079 wording/punctuation changes.
5080
5081 Mon Nov 30 11:42:11 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
5082
5083 * configure.in: Accept target OS "vms".
5084
5085 * symbols.c: Merged ANSI and non-ANSI function decls, using
5086 PARAMS macro.
5087
5088 * xmalloc.c: Just include as.h, don't bother trying to figure out
5089 other header files.
5090
5091 * strstr.c, strerror.c: Deleted.
5092 * Makefile.in: Deleted references.
5093
5094 * config/tc-ns32k.c: Don't include header file for string
5095 declarations; leave that to ho-*.h.
5096
5097 Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com)
5098
5099 * config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
5100 imported from FSF sources.
5101
5102 * messages.c (strerror): Declare unconditionally.
5103
5104 * as.h: Delete alloca and register definitions.
5105
5106 * config/atof-ieee.c (mask): Now const.
5107
5108 * obstack.c, obstack.h: Deleted.
5109
5110 * as.h (flag_readonly_data_in_text): New flag.
5111 * as.c (main): Set it for -R.
5112
5113 * as.h (flag_suppress_warnings): New flag.
5114 * as.c (main): Set it for -W.
5115 * messages.c (as_warn): Check it instead of flagseen['W'].
5116
5117 * as.h (flag_always_generate_output): New flag.
5118 * as.c (main): Set it for -Z.
5119
5120 * config/tc-sparc.h: Define NEED_FX_R_TYPE.
5121 * config/tc-a29k.h: Ditto.
5122 * write.h (struct fix): Don't conditionalize fx_r_type field on TC
5123 macros.
5124
5125 * as.h: Merged ANSI and non-ANSI function decls, using PARAMS
5126 macro.
5127 * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
5128 obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
5129 write.h: Likewise.
5130 * read.c: Likewise.
5131
5132 * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in
5133 xrealloc from xrealloc.c.
5134 * xrealloc.c: Deleted.
5135 * Makefile.in (REAL_SOURCES, OBJS): Adjusted.
5136
5137 * configure.in: For host CPU a29k, rs6000, vax, consider using bsd
5138 or vms ho- files.
5139
5140 * config/ho-sysv.h (setbuffer, HO_USG): Deleted.
5141
5142 * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
5143 don't initialize it with NULL.
5144
5145 * config/ho-vax.h (M_VAX): Deleted; was unused.
5146
5147 * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
5148 New files imported from FSF version, contributed by Eric Youngdale.
5149 * README-vms-dbg, config/vms: Deleted.
5150
5151 * ChangeLog, config/ChangeLog: Merged.
5152
5153 * config/*tahoe*, configure.in: Tahoe support brought in from FSF
5154 version.
5155
5156 * input-file.c (input_file_open): Eliminate call to setvbuf.
5157 [USG] (setbuffer): Deleted macro.
5158
5159 Mon Nov 23 11:00:16 1992 Ken Raeburn (raeburn@cygnus.com)
5160
5161 * all files: Whitespace changes for GNU indentation style, done by
5162 GNU `indent'. Some cleanup still needed, especially of comments.
5163
5164 * configure.in: No te-386bsd.h file exists; don't try to use it.
5165
5166 * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
5167
5168 * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
5169 could be doing emulation.
5170
5171 Thu Nov 19 11:47:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5172
5173 z8000 documentation
5174 * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
5175 all modified.
5176
5177 Tue Nov 10 09:49:24 1992 Ian Lance Taylor (ian@cygnus.com)
5178
5179 * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
5180
5181 * subsegs.h: add extern to segment_info declaration.
5182
5183 * read.h: added extern declarations for comment_chars,
5184 line_comment_chars, and line_separator_chars.
5185 read.c, app.c: removed definitions of comment_chars,
5186 line_comment_chars, and line_separator_chars.
5187
5188 * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
5189 still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
5190 the register name.
5191 (insert_reg): put REGISTER_PREFIX before register names before
5192 putting them in the symbol table.
5193 * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
5194 M68KCOFF.
5195
5196 * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
5197 section.
5198
5199 * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
5200 comment_chars, line_comment_chars and line_seperator_chars
5201 consistently const, and always initialized them. Included read.h.
5202
5203 Thu Nov 5 17:55:41 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
5204
5205 * tc-sparc.c (sparc_ip): Add code to flag error if an absolute
5206 constant will not fit in an immediate field.
5207 (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
5208
5209 Wed Nov 4 07:50:46 1992 Ken Raeburn (raeburn@cygnus.com)
5210
5211 * obj-coff.c (callj_table): Delete global variable.
5212 (obj_emit_relocations): Define it locally here, and only if
5213 TC_I960 is defined.
5214
5215 * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
5216 (m68k_ip): Don't warn about bignum used as float bit-pattern.
5217
5218 * obj-coff.c: Replaced ANSI and non-ANSI function declarations
5219 with a single set using PARAMS macro.
5220
5221 * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
5222 of 2.
5223
5224 * tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
5225
5226 * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
5227 so widening works consistently.
5228
5229 Wed Oct 28 08:52:34 1992 Ken Raeburn (raeburn@cygnus.com)
5230
5231 * version.c: Put conditional "const" before version_string, not
5232 before dummy function for VMS. Now version 1.91.03.
5233
5234 * app.c (do_scrub_next_char): Need double-\ before `000' to show
5235 printed rep of null character.
5236
5237 Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com)
5238
5239 * obj-coffbfd.c (write_object_file): check return value of
5240 bfd_close_all_done.
5241
5242 Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com)
5243
5244 * Support for i386-sysv.
5245 obj-coffbfd.c (do_relocs_for, write_object_file): set segment
5246 addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can
5247 be used to set them all to zero as was done before.
5248 (fill_section): segment addresses now set in write_object_file.
5249 (fill_section): Don't set STYP_NOLOAD for .bss section.
5250 (fixup_segment): 386 uses strange common symbol format.
5251 tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
5252 compatibility with SVR3.2 linker.
5253 * configure.in: i386-sysv and i386-sco use coffbfd.
5254
5255 * app.c (do_scrub_next_char): discard whitespace after a label.
5256
5257 Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
5258
5259 * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
5260 hosts, use the sysv configuration for solaris2
5261
5262 Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5263
5264 fix i960+non-bfd coff bit rot.
5265 * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
5266 support for C source listings. (obj_coff_endef): look in the right
5267 part of the symbol for the symbol name
5268
5269 * tc-m68k.c (get_num): make it work for all segments, not just the
5270 first three.
5271
5272 Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
5273
5274 * configure.in: recognize i386-*-bsd emulation.
5275
5276 Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
5277
5278 * configure.in: use the cpu-vendor-os triple for host and target
5279
5280 Tue Sep 29 12:22:52 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5281
5282 * obj-coffbfd.c (write_object_file): don't fixup for the z8k
5283 * tc-z8k.c: lots of bug fixes
5284
5285 Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com)
5286
5287 * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
5288 #elif, since it is not supported by old compilers.
5289 ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
5290 couple of expressions in tc-m68k.c.
5291
5292 Mon Sep 28 21:18:24 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
5293
5294 * read.c (cons): If NO_RELOC is defined, use it.
5295
5296 * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
5297
5298 Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com)
5299
5300 * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
5301 local labels to start with a .) and set REGISTER_PREFIX to %.
5302 tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
5303
5304 Fri Sep 25 17:53:43 1992 John Gilmore (gnu@cygnus.com)
5305
5306 * messages.c: Comment changes.
5307
5308 Fri Sep 25 14:12:58 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
5309
5310 * as.h: Test if __STDC__ is defined only, don't test its value.
5311 * messages.c: If __STDC__ is not defined, define NO_STDARG.
5312
5313 Thu Sep 24 12:42:32 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
5314
5315 * listing.c (debugging_pseudo): Add stabs and stabn as things to
5316 ignore.
5317
5318 Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com)
5319
5320 * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
5321 sections starting from zero, rather than making them consecutive.
5322 This makes subsequent reloc calculations easier, esp if the object
5323 format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
5324 allocate lcomm in .data rather than in .bss. It seems that some
5325 tools can't cope with a non-zero sized bss before linkage.
5326
5327 Tue Sep 22 15:10:51 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
5328
5329 * tc-m68k.c: Replace "enum m68k_architecture" with "int"
5330 throughout. That enum no longer means what we thought it meant.
5331
5332 * tc-m68k.c (md_assemble, md_parse_option): Handle new
5333 "-mno-688[58]1" options.
5334
5335 * tc-m68k.c: Added CPU32 support.
5336
5337 Fri Sep 18 08:02:18 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5338
5339 * tc-m68k.c (m68k_ip): An(disp) is not pc relative.
5340
5341 Tue Sep 15 17:25:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
5342
5343 * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
5344 Change LIBDEPS dependence to LIBS.
5345
5346 Tue Sep 15 15:32:02 1992 Ian Lance Taylor (ian@cygnus.com)
5347
5348 * Makefile.in (install): if $(tooldir) exists, install as in
5349 $(tooldir)/bin.
5350
5351 Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com)
5352
5353 * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
5354 .word is < -32768 or > 32767. The -J flag causes the error to be
5355 ignored. This is to catch over-sized switches generated by gcc on
5356 systems which don't support the broken .word hack.
5357 as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
5358 write.c (fixup_segment): check for signed .word overflow if
5359 WARN_SIGNED_OVERFLOW_WORD.
5360
5361 * write.c (fixup_segment): fixed missing parens in expression
5362 checking for byte or word overflow.
5363
5364 * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
5365 obj-coffbfd.c (fixup_segment): check for signed .word overflow if
5366 WARN_SIGNED_OVERFLOW_WORD.
5367
5368 * obj-coffbfd.c (fixup_segment): fixed missing parens in
5369 expression checking for byte or word overflow.
5370
5371 Fri Sep 11 10:21:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5372
5373 Support for i386 coff
5374 * obj-coffbfd.h : added stuff
5375 * tc-i386.c (tc_coff_fix2rtype): new function
5376 * tc-i386.h : new coff defines
5377
5378 Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com)
5379
5380 * input-scrub.c (input_scrub_push): call input_file_begin, not
5381 input_scrub_begin.
5382 messages.c (as_perror): print ": " between the passed in error and
5383 the strerror, like perror does.
5384
5385 Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com)
5386
5387 * Makefile.in: use gas_target instead of modifying target_cpu.
5388 From Steve Chamberlain:
5389 Makefile.in: Handle m68*-*-coff*.
5390 read.c, read.h: add mult argument to s_space
5391
5392 * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
5393 Motorola and MIT syntax; gas can now assemble either type of
5394 file.
5395 tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
5396 From Steve Chamberlain:
5397 m68kcoff.mt: for m68k COFF.
5398 obj-coffbfd.c: (fixup_mdeps) added
5399 (size_section) removed bad sanity check
5400 (fill_section) added rs_machine_dependent case
5401 (write_object_file) call fixup_mdeps
5402 (fixup_segment) set fx_subsy to 0.
5403 obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
5404 handle m68k.
5405 tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
5406 pseudo ops.
5407
5408 Tue Sep 8 17:10:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
5409
5410 * Makefile.in (LIBS): Include opcode library.
5411
5412 Fri Sep 4 18:20:56 1992 Ken Raeburn (raeburn@cygnus.com)
5413
5414 * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
5415 including zero are accepted, pass +0.0.
5416
5417 Sun Aug 30 21:24:46 1992 Ian Lance Taylor (ian@cygnus.com)
5418
5419 * Makefile.in: map "as" through program_transform_name when
5420 installing.
5421
5422 * doc/Makefile.in: map "as" through program_transform_name when
5423 installing.
5424
5425 Sat Aug 29 12:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
5426
5427 * Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
5428
5429 Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com)
5430
5431 * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
5432 tc-i960.c (md_ri_to_chars): Always output bout object file in
5433 little endian byte order (used to use endianness of host).
5434
5435 Tue Aug 25 15:50:48 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
5436
5437 * config/tc-m68k.c (init_table): Now const. Always include 68851
5438 data, so that "bc" is available to 68040 cache instructions.
5439 Added "tt0", "tt1", and 68ec030 variants.
5440 (md_assemble): Complain if 68000 (only) and 68881 are specified.
5441 (enum _register): Added TT0, TT1.
5442 (m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass
5443 line number correctly in "internal error" messages. Don't print
5444 architecture-mismatch message for operand errors.
5445
5446 From Colin Smith (colin@wrs.com):
5447 * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
5448 than install_operand.
5449
5450 Tue Aug 25 15:13:48 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5451
5452 * listing.c (buffer_line): rewind to the start of include
5453 files, they might be included twice.
5454
5455 * z8k.c, z8k.h, z8k.mt: z8000 support stuff
5456
5457 Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com)
5458
5459 * Makefile.in: defined TARGET_CPU for C code so that it can choose
5460 one element of a family.
5461
5462 * tc-m68k.c: use TARGET_CPU to choose default cpu type.
5463
5464 * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
5465 so that we can assemble hand-written libgcc code.
5466
5467 Fri Aug 21 14:38:44 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
5468
5469 * messages.c (as_warn): Use fputs, not fprintf, with a buffer that
5470 has already been formatted (but may still contain %-characters).
5471 (as_bad): Likewise.
5472
5473 Wed Aug 19 11:20:59 1992 Ian Lance Taylor (ian@cygnus.com)
5474
5475 * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
5476 written with indirection on the last two operands, which can be
5477 either data or address registers. Added a new operand type 'r'
5478 which accepts either register type. Added '(' to notend stuff in
5479 tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
5480
5481 Wed Aug 19 09:25:09 1992 Ken Raeburn (raeburn@cygnus.com)
5482
5483 * as.h (enum _relax_state): Start off at one, not zero, to better
5484 catch uninitialized-variable errors.
5485 (linkrelax): Declare new variable.
5486
5487 * messages.c (warning_count, error_count): Default initializer is
5488 sufficient.
5489
5490 * write.c: Merged some declarations, using PARMS macro.
5491 (text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
5492 data_last_frag): No longer static.
5493 (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
5494 defined, call it. Change segments before calling fixup_segment.
5495 (relax_align): If linkrelax, provide extra padding.
5496
5497 * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
5498 their not having symbols associated.
5499
5500 * tc-i960.c (norelax, instrument_branches): Default initializer is
5501 sufficient.
5502 (linkrelax): Delete variable definition.
5503 (mem_fmt): Call fix_new with NO_RELOC.
5504 (tc_bout_fix_to_chars): Handle alignment relocs.
5505 (i960_handle_align): New function.
5506 * tc-i960.h (linkrelax): Delete declaration.
5507 (HANDLE_ALIGN): New macro; calls i960_handle_align.
5508 (NEED_FX_R_TYPE, NO_RELOC): New macros.
5509
5510 Tue Aug 18 14:59:21 1992 Ken Raeburn (raeburn@cygnus.com)
5511
5512 * config/sparc.mt: New file. Grab sparc opcode table from bfd
5513 library.
5514
5515 Tue Aug 18 14:16:38 1992 Ian Lance Taylor (ian@cygnus.com)
5516
5517 * Makefile.in: always create installation directories. Removed
5518 MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
5519 FLAGS_TO_PASS to recursive makes.
5520
5521 * doc/Makefile.in: always create installation directories.
5522
5523 Mon Aug 17 15:09:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5524
5525 * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
5526 being used with args swapped, causing occasional lossage when
5527 refilling buffers after an include file.
5528
5529 Mon Aug 17 13:18:51 1992 Ken Raeburn (raeburn@cygnus.com)
5530
5531 * messages.c (as_tsktsk): Use correct ANSI form for stdarg
5532 version. Discard bogus DONTDEF version.
5533 (as_warn, as_bad, as_fatal): Likewise.
5534
5535 Fri Aug 14 18:31:14 1992 Ken Raeburn (raeburn@cygnus.com)
5536
5537 * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
5538 selected architecture, print a message saying so and listing what
5539 processors support it, rather than saying "operands mismatch".
5540
5541 Thu Aug 13 13:53:19 1992 Ken Raeburn (raeburn@cygnus.com)
5542
5543 * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
5544
5545 * config/ho-rs6000.h (M_RS6000): Don't define it.
5546 (free): Declare it.
5547 (BROKEN_ASSERT): Define it if not __STDC__.
5548
5549 Tue Aug 11 12:58:14 1992 Ken Raeburn (raeburn@cygnus.com)
5550
5551 * sparc.mt: New file.
5552
5553 Mon Aug 10 14:37:08 1992 Per Bothner (bothner@cygnus.com)
5554
5555 * tc-m68k.c: ".align N" means align to N-byte boundary *only*
5556 if TN_SUN3; otherwise align to 2**N-byte bounary.
5557
5558 Thu Aug 6 12:10:39 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5559
5560 * read.c (s_fill): make the .fill size clamped error a warn and
5561 fix bug where 0's were always placed.
5562
5563 * config/tc-h8300.c: if a :8 is seen after an operand, fill top
5564 two bytes of any constant with 0xff:
5565
5566 Wed Aug 5 12:02:40 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5567
5568 * config/tc-m68k.c (md_pseudo_table): fix the .align thing
5569 the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
5570
5571 Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com)
5572
5573 * tc-m68k.c (try_index): Error if index scaling specified and
5574 assembling for an older CPU than a 68020.
5575
5576 Sat Aug 1 19:10:13 1992 Ken Raeburn (raeburn@cygnus.com)
5577
5578 * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
5579 fx_offset into account.
5580
5581 Fri Jul 31 21:53:28 1992 Ken Raeburn (raeburn@cygnus.com)
5582
5583 * configure.in (mips host): Accept "ultrix" with version number.
5584
5585 * expr.c (floating_constant): Separate "=-" to avoid confusing
5586 ancient or broken compilers.
5587
5588 * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
5589 processor/opcode mismatch, so reword the error message.
5590 (md_assemble): If no CPU has been set (even if FPU/PMMU
5591 characteristics have been), default to 68020. Don't need extra
5592 quotes around error string.
5593
5594 Fri Jul 31 12:26:34 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
5595
5596 * read.c (potable): Revert sac's incorrect change made Jul 13.
5597 Align really is supposed to be ptwo not nbytes.
5598
5599 Mon Jul 20 02:51:59 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
5600
5601 * Makefile.in: _Do_ include libiberty. (from sef)
5602
5603 Fri Jul 17 15:15:28 1992 Ken Raeburn (raeburn@cygnus.com)
5604
5605 * expr.c (integer_constant): Handle "0f" and "0b" label references
5606 properly.
5607
5608 Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5609
5610 * write.c (fixup_segment): if relaxing, don't do anything.
5611 * config/obj-bout.[ch] : maintain the a_relaxable file header info
5612 * config/tc-i960.c: new option -linkrelax
5613
5614 Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5615
5616 * expr.c (expr): allow SEG_BSS in expressions
5617 * read.c (potable): align should be nbytes, not ptwo!
5618 * write.c (write_object_file): extra glue for new bss attributes
5619 (relax_segment): SEG_BSS is ok now
5620 * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
5621
5622 Mon Jul 6 17:09:32 1992 Steve Chamberlain (sac@cygnus.com)
5623
5624 * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
5625
5626 Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
5627
5628 * configure.in: recognize m680x0 as having sun3 emulation mode for
5629 vxworks environment.
5630
5631
5632 Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
5633
5634 * Makefile.in: Add program_suffix (parallel to program_prefix)
5635
5636 Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5637
5638 * app.c (process_escape): new function to handle escapes the right
5639 way, (do_scrub_next_char): use new function
5640 * cond.c (s_ifdef): do ifdef/ifndef right
5641 * read.c (s_fill): make the , expressions optional like the doc
5642 says
5643 * config/tc-h8300.[ch]: better warnings
5644
5645 Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5646
5647 * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
5648 as data0_frchainP
5649
5650 * write.c (write_object_file): various changes to handle data in
5651 the BSS segment in much the same was as stuff in the DATA segment.
5652
5653 * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
5654 pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
5655 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
5656 the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
5657 it into SEG_BSS
5658
5659 Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5660
5661 * expr.c(expr): allow SEG_REGISTER in expressions.
5662 * read.c(pseudo_set): register expressions can be the source of a
5663 set.
5664 * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
5665 goto SEG_TEXT (if a.out)
5666 * write.c (write_object_file): If a.out don't use the old way for
5667 -R.
5668 * config/obj-a.out (s_sect): complain if the user tries to use a
5669 subsegment with a value which might interfere with out -R hackery.
5670 * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
5671 rather than use ugly if tree. (init_regtable): insert register
5672 names into symbol table.
5673
5674 Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com)
5675
5676 * write.c (write_object_file): keep the fix_tail clean, which
5677 fixes a bug in -R where relocations were being lost.
5678
5679 Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
5680
5681 * configure.in: recognize m680x0 as having sun3 emulation mode for
5682 vxworks environment.
5683
5684 Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com)
5685
5686 * configure.in: recognize m680x0 as an m68k
5687
5688 Thu May 28 11:22:02 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
5689
5690 * configure.in: Recognize sparclite as a sparc variant.
5691
5692 * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new
5693 -Asparclite flag.
5694
5695 Tue May 26 16:47:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5696
5697 * config/tc-a29k.c: lint
5698 * listing.c, expr.c: patches from Andrew Smith
5699
5700 Thu May 14 17:22:48 1992 K. Richard Pixley (rich@rtl.cygnus.com)
5701
5702 * doc/Makefile.in: use m4 rather than gm4.
5703
5704 Mon May 4 18:56:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5705
5706 * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
5707 calc the base of relocs correctly.
5708 * tc-a29k.c (parse_operand): allow expressions to be in any section.
5709
5710 Mon Apr 27 13:13:31 1992 K. Richard Pixley (rich@cygnus.com)
5711
5712 * as.c, write.c: use -K rather than -k for the broken word warning
5713 option.
5714
5715 Tue Apr 21 13:35:30 1992 K. Richard Pixley (rich@cygnus.com)
5716
5717 * Makefile.in: do not print recursion lines.
5718
5719 Wed Apr 15 21:19:31 1992 K. Richard Pixley (rich@rtl.cygnus.com)
5720
5721 * Makefile.in: the tooldir copy of gas goes directly in tooldir.
5722
5723 Tue Apr 14 14:50:22 1992 Ken Raeburn (Raeburn@Cygnus.COM)
5724
5725 * write.c (write_object_file): For b.out format, round up section
5726 start addresses to match required alignment.
5727
5728 Thu Apr 9 05:45:29 1992 Ken Raeburn (Raeburn@Cygnus.COM)
5729
5730 * Makefile.in (install): Install into $(tooldir)/bin, since that's
5731 where gcc looks for it.
5732
5733 Tue Apr 7 15:12:15 1992 Sean Eric Fagan (sef@cygnus.com)
5734
5735 * Makefile.in: Changed some lines to be less confusing for some
5736 makes.
5737
5738 * input-file.c: Conditionalize on _IOFBF, not VMS.
5739
5740 * read.c, write.c: Change a series of ifdef/elif to
5741 ifdef/else/ifdef etc.
5742
5743 Fri Mar 27 12:21:16 1992 K. Richard Pixley (rich@cygnus.com)
5744
5745 * symbols.c (fb_label_init): fix sizeof to memset.
5746
5747 Fri Mar 13 15:45:44 1992 K. Richard Pixley (rich@cygnus.com)
5748
5749 * Makefile.in: install the man page.
5750
5751 * Makefile.in: pass down MAKEINFO explicitly on info.
5752
5753 * doc/Makefile.in: use $(MAKEINFO) not makeinfo.
5754
5755 Fri Mar 13 08:03:03 1992 Steve Chamberlain (sac@thepub.cygnus.com)
5756
5757 * flonum-const.c: renamed flonum-konst.c to stop dos name
5758 conflict.
5759
5760 Thu Mar 12 04:42:38 1992 K. Richard Pixley (rich@cygnus.com)
5761
5762 * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
5763 tc-m68k.h to te-sun3.h.
5764
5765 Wed Mar 11 23:32:42 1992 K. Richard Pixley (rich@cygnus.com)
5766
5767 * configure.in: vxworks68 gets te-sun3.h.
5768
5769 * expr.c: remove limitation that local_labels_dollar or
5770 local_labels_fb must be < 10.
5771
5772 * symbols.c: remove local_labels_dollar, replace with a function
5773 interface for a sparse array. All users adjusted.
5774
5775 * te-sun3.h: add LOCAL_LABELS_DOLLAR.
5776
5777 Sat Mar 7 00:06:25 1992 K. Richard Pixley (rich@rtl.cygnus.com)
5778
5779 * doc/Makefile.in: commented out line for building as-all.texinfo.
5780 This is temporary.
5781
5782 * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
5783
5784 Fri Mar 6 21:57:18 1992 K. Richard Pixley (rich@cygnus.com)
5785
5786 * Makefile.in: added check target.
5787
5788 Tue Mar 3 15:45:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
5789
5790 * Makefile.in: added tooldir and program_prefix.
5791
5792 Sun Mar 1 04:43:19 1992 Michael Tiemann (tiemann@cygnus.com)
5793
5794 * write.{c,h} (fix_new): Make these declarations consistent.
5795
5796 Sat Feb 29 13:59:10 1992 Michael Tiemann (tiemann@cygnus.com)
5797
5798 * Makefile.in (strerror.o): Add rule so that broken Sun make can
5799 work in subdirs.
5800
5801 Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com)
5802
5803 * read.c, obj-coffbfd.c : fix h8300 specific bit rot
5804
5805 * expr.c (operand): if can't work out what sort of operand it is,
5806 then look through FLT_CHARS for a hint.
5807
5808 Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
5809
5810 * Makefile.in, configure.in: removed traces of namesubdir,
5811 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
5812 copyrights to '92, changed some from Cygnus to FSF.
5813
5814 * doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
5815 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
5816 copyrights to '92, changed some from Cygnus to FSF.
5817
5818 Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
5819
5820 * expr.c: If an expression is single comma, then return with
5821 SEG_ABSENT rather than an error - since the sparc front end does
5822 really strange things with things like fbge,a
5823
5824 * as.h: include bfd.h if using many sections
5825 * expr.c: LOCAL_LABELS_FB had been changed to lower case - so
5826 local labels didn't work.
5827 * listing.c (list_symbol_table): don't core dump when there's no
5828 symbol there.
5829 * write.c, write.h: call fix_new with the right number of args on
5830 the H8.
5831 * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
5832 errors nices
5833
5834 Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com)
5835
5836 * app.c: MRI compatibility - allow single quote to start a string.
5837 * as.c: fix typo recently introduced.
5838 * as.h : Don't include aout/reloc.h - it's not right for COFF!
5839 * expr.c: Much rewriting, to accomodate MRI syntax for
5840 expressions. Also easier to read now.
5841 * listing.c: Put back defuns
5842 * read.c: modified to accept MRI syntax, put back listing pseudo
5843 ops so that an assembler built with NO_LISTING ignores list ops
5844 rather than pukes.
5845 * write.c, write.h: fixs - only keep a reloc type in a fix if the target
5846 machine is a SPARC or a 29K.
5847 * config/obj-aout.c: added s_sect pseudo op
5848 * config/obj-coffbfd.c: lints, set the filehdr flags right and
5849 fill in the timestamp.
5850 * config/obj-coffbfd.h: Since we don't include aout/reloc.h
5851 anymore, define all the relocs which the tc-<x> bit will use so we
5852 can translate from them to the coff types.
5853 * config/tc-a29k.c: reloc_type isn't ane enum any more
5854 * config/tc-m68k.c: Added NO_RELOC definition.
5855
5856 Fri Feb 21 06:21:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
5857
5858 * Makefile.in: put header files before C source for TAGS; remove
5859 references to non-existent syscalls.h.
5860
5861 * read.c, write.c subsegs.c: back out the .bss changes.
5862
5863 * obj-aout.c: do not include stab.gnu.h if NO_LISTING.
5864
5865 * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
5866
5867 * a.out.h: removed.
5868
5869 Fri Feb 21 01:08:48 1992 Minh Tran-Le (TRANLE@INTELLICORP.COM)
5870
5871 * symbols.c (local_label_name): symbols now start with ^A.
5872
5873 * read.c, subsegs.c, write.c obj-coff.c: added handling of
5874 `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
5875 generate these sections. .align: will use NOP_OPCODE or 0
5876 for padding. This is just for being nice to the
5877 disassembler.
5878
5879 * expr.c (operand): changed to generate local label "\001L0"
5880 starting with a ^A so that it is recognized as a local label.
5881
5882 * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
5883
5884 * tc-i386.c: tc-i386.c: added handling of the following opcodes:
5885 i/o opcodes - inb, inw, outb and outw. string manipulation with
5886 att syntax - scmp, slod, smov, ssca, ssto.
5887
5888 * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
5889 to just after .file .
5890
5891 In obj_crawl_symbol_chain() where it tries to put the external
5892 symbols apart, with the condition:
5893 (!S_IS_DEFINED(symbolP) &&
5894 !S_IS_DEBUG(symbolP) &&
5895 !SF_GET_STATICS(symbolP))
5896 it was moving too many symbols out. So I switch it back to the
5897 condition:
5898 (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
5899
5900 In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
5901 so that we don't use the F_RELFLG which make the linker complain
5902 that somebody has stripped the relocation info.
5903
5904 Also, the AIX ld program require that the relocation table
5905 is sorted by r_vaddr like the standard ATT assembler does.
5906
5907 [he also changed the sizeof(struct ...)'s into the coff
5908 style FOOSZ macros. I'm not sure this is right, but I can't
5909 remember why. xoxorich.]
5910
5911 Fri Feb 21 01:08:48 1992 K. Richard Pixley (rich@cygnus.com)
5912
5913 * Makefile.in, configure.in, doc: use the doc. Build it, install
5914 it, clean it, etc.
5915
5916 Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com)
5917
5918 * read.c: white space and comments only.
5919
5920 * configure.in: use the new atof-ns32.c for ns32k.
5921
5922 * write.c: comment change only.
5923
5924 * tc-m88k.[hc]: pulled in from hack's unfinished work. These
5925 aren't yet integrated.
5926
5927 * tc-i860.[hc]: blew off the dust. Something must still be done
5928 about conflicting relocation types.
5929
5930 * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
5931 real thing.
5932
5933 * tc-i960.c, tc-sparc.c: white space and comments only.
5934
5935 * tc-a29k.h: delete duplicate macro definition.
5936
5937 * new file atof-ns32k.c copied from hack's last unreleased gas.
5938
5939 Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com)
5940
5941 * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
5942 rather than abort.
5943
5944 * nearly everything. flush ChangeLog, package as gas-1.92.1.
5945 ChangeLog's prior to this are sketchy at best. I have logs.
5946 They just aren't ChangeLogs.
This page took 0.145318 seconds and 5 git commands to generate.