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