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