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